大話蜜罐日志分析
一、前言
在部署蜜罐之后,會(huì)產(chǎn)生大量的日志,對(duì)于威脅情報(bào)而言,我們需要通過(guò)這些日志來(lái)提取其中的有用的數(shù)據(jù),本文將會(huì)描述提取那些數(shù)據(jù)用來(lái)完成分析。
部署蜜罐之后會(huì)生成描述發(fā)生的事件的日志記錄。能夠收集到的安全事件將取決于我們部署的蜜罐的類型,比如部署SSH蜜罐你將會(huì)收集到一些服務(wù)器安全相關(guān)的日志。因此,我們應(yīng)當(dāng)在采集日志之前先要確定我們采集日志的類型以及采集日志的種類,再根據(jù)這個(gè)來(lái)確定蜜罐的設(shè)計(jì)和部署。如果要捕獲的目標(biāo)是基于與遠(yuǎn)控C&C服務(wù)器來(lái)完成交互的,我們就應(yīng)該考慮使用客戶端蜜罐,如果不是的話,就需要使用服務(wù)器蜜罐。 如果我們調(diào)查特定服務(wù)的協(xié)議以及事務(wù)數(shù)據(jù)的元信息,這時(shí)候我們應(yīng)該去選擇低交互蜜罐。如果我們需要取得的是內(nèi)容、shellcode執(zhí)行和操作系統(tǒng)的完整性,那么我們應(yīng)該使用高交互蜜罐??傊枰诖_定架構(gòu)和部署模型之前明白使用場(chǎng)景。
因此,文章的概述將遵循所呈現(xiàn)的蜜罐分類,并且將另外分成問(wèn)題陳述和相關(guān)聯(lián)的度量。然而,本文僅描述數(shù)據(jù)分析中使用的度量,通常應(yīng)用于基準(zhǔn)蜜罐的性能度量未描述,讀者需要明白這些數(shù)據(jù)的意義,就衡量一個(gè)系統(tǒng)中的CPU,RAM,HDD負(fù)載或可伸縮性數(shù)據(jù)一樣。
一般來(lái)說(shuō),IDS只能被看作是補(bǔ)充分析工具。蜜罐可以帶來(lái)比IDS提供的更多的信息,特別是如果使用基于靜態(tài)簽名的IDS。
二、攻擊畫(huà)像
一次完整的攻擊畫(huà)像應(yīng)該包括:
- 動(dòng)機(jī): 描述攻擊原因的動(dòng)機(jī)
- 攻擊深度和廣度: 攻擊的廣度由受影響的機(jī)器的數(shù)量描述,深度是特定目標(biāo)被分析的程度或攻擊對(duì)系統(tǒng)的影響有多大。
- 攻擊復(fù)雜度: 用來(lái)描述攻擊執(zhí)行的難度
- 隱蔽性: 衡量隱藏攻擊證據(jù)的能力
- 攻擊源 / 根本原因: 攻擊者應(yīng)該盡可能地識(shí)別出攻擊的根源
- 脆弱性: 被攻擊的系統(tǒng)中的脆弱和缺陷
- 工具: 記錄具有一定交互度的攻擊工具
關(guān)于對(duì)蜜罐的攻擊的討論應(yīng)該總是有這樣的基礎(chǔ)。動(dòng)機(jī)通常只能猜測(cè),但是對(duì)高交互蜜罐的動(dòng)作可能會(huì)揭示一些見(jiàn)解。廣度和深度可以從攻擊頻率、攻擊傳播和高相互作用蜜罐通過(guò)感染的程度推斷出。低交互蜜罐的隱藏由非侵入性、持續(xù)性攻擊和高交互蜜罐被安裝的后門(mén)、捕獲的數(shù)據(jù)包的質(zhì)量描述。攻擊源通常可以通過(guò)事務(wù)元信息來(lái)確定,但是所發(fā)現(xiàn)的攻擊的根本原因可能更難以識(shí)別,因?yàn)樗噲D解釋實(shí)際觀察。脆弱性通常通過(guò)利用檢測(cè)技術(shù)來(lái)識(shí)別。這些特性現(xiàn)在將在后面討論。
三、攻擊源
如果攻擊發(fā)生在蜜罐上,必須指定攻擊來(lái)自哪里。攻擊者的識(shí)別獨(dú)立于蜜罐的架構(gòu)或交互類型,并且可以用不同的粒度來(lái)完成。
- IP地址或者IP前綴
- AS號(hào)碼
- 域名、URL、URL類型
- 國(guó)家
- UID、Email
- User-Agent
- 操作系統(tǒng)
然而,在服務(wù)器蜜罐的情況下,必須考慮他們可能已經(jīng)接收到欺騙的IP地址。這可能是一個(gè)有效的IP地址與可達(dá)或不可達(dá)的主機(jī),或者它是一個(gè)不應(yīng)該離開(kāi)本地段的非民用的IP地址,比如廣播地址0.0.0.0。客戶端蜜罐通常使用網(wǎng)址列表生成,并抓取新網(wǎng)址。這些URL背后的資源可能是離線的。此外,我們必須承認(rèn),這種標(biāo)識(shí)符是非??勺兊摹P地址可以從一臺(tái)主機(jī)移動(dòng)到另一臺(tái)主機(jī),因?yàn)镮SP使用IP地址池來(lái)為機(jī)器分配IP地址。這就是為什么一些分析將IP地址與時(shí)間戳組合在一起并將攻擊源定義為一天內(nèi)針對(duì)蜜罐環(huán)境的IP地址的原因。來(lái)自自治系統(tǒng)的IP前綴公告隨時(shí)間改變或可能被劫持。域名系統(tǒng)固有地允許從IP地址和/或主機(jī)的抽象,這可能導(dǎo)致誤導(dǎo)結(jié)果。客戶端蜜罐(例如Monkey-Spider)還基于URL和頁(yè)面內(nèi)容(例如成人內(nèi)容,盜版,錯(cuò)字等)執(zhí)行某種類型的URL分類。該國(guó)家可以從AS注冊(cè)信息中提取,或者一些(商業(yè))第三方產(chǎn)品已經(jīng)用于檢索數(shù)據(jù)。然而,趨勢(shì)表明,通常排名前3個(gè)國(guó)家產(chǎn)生了60%的網(wǎng)絡(luò)流量,哪些國(guó)家被觀察到取決于蜜罐節(jié)點(diǎn)的地理位置。用于識(shí)別即時(shí)消息傳遞網(wǎng)絡(luò)中的垃圾郵件發(fā)送者的另一種方式是通過(guò)用戶名或通告的URL進(jìn)行識(shí)別。垃圾郵件發(fā)送者傾向于創(chuàng)建大量的帳戶,這些帳戶分發(fā)許多不同的URL,然而它們只引導(dǎo)/重定向到一小部分網(wǎng)站。有一種很小的關(guān)聯(lián)存在與垃圾郵件和垃圾郵件發(fā)件人之間,基于支持SIP / VoIP協(xié)議的蜜罐的研究也使用User-Agent的名稱作為攻擊源的指紋。該信息可由具有這種協(xié)議標(biāo)簽的任何協(xié)議使用,然而必須記住,這樣的信息可以被省略并且容易地欺騙。為了推斷攻擊源自哪一種操作系統(tǒng),通常使用諸如p0f帶的被動(dòng)操作系統(tǒng)指紋識(shí)別工具通過(guò)分析分組的組成來(lái)識(shí)別攻擊操作系統(tǒng),因?yàn)槊總€(gè)操作系統(tǒng)略微不同地創(chuàng)建分組。幾乎所有的攻擊向量都是基于Windows的。
四、攻擊目標(biāo)
如果指定誰(shuí)攻擊蜜罐,下一步可能是表征攻擊,更準(zhǔn)確地說(shuō),必須確定攻擊的目標(biāo)。服務(wù)器蜜罐通過(guò)特定服務(wù)對(duì)目標(biāo)進(jìn)行分類,該服務(wù)通常綁定到專用端口。端口序列由IANA管理,并可在官方列表中查看。但是,服務(wù)可能綁定到另一個(gè)端口。因此,區(qū)分端口和服務(wù)很重要,因?yàn)槿肭终呖赡軓?qiáng)制在另一個(gè)端口強(qiáng)制SSH服務(wù),這可以在非22端口上創(chuàng)建和使用SSH服務(wù)來(lái)對(duì)服務(wù)器進(jìn)行操作。大多數(shù)時(shí)候,服務(wù)被綁定到默認(rèn)端口以提高可達(dá)性,這就是為什么許多人將端口視為服務(wù)的代表。如果蜜罐監(jiān)控整個(gè)網(wǎng)絡(luò),則每個(gè)單獨(dú)的IP地址可以被看作是目標(biāo)標(biāo)識(shí)符。這樣的網(wǎng)絡(luò)可以詳細(xì)分類到校園網(wǎng),企業(yè)內(nèi)網(wǎng),ISP網(wǎng)絡(luò)中。
1. 數(shù)據(jù)段關(guān)鍵字:IP地址、端口號(hào)、服務(wù)
客戶端蜜罐使用軟件客戶端,訪問(wèn)潛在的惡意遠(yuǎn)程服務(wù)。因此目標(biāo)通常是特定的客戶端軟件。它可能是一個(gè)模擬的Web瀏覽器,用于低交互蜜罐或一個(gè)真正的插件,如Flash的高交互蜜罐。
2. 數(shù)據(jù)段關(guān)鍵字:客戶端軟件、插件軟件
此外,高交互蜜罐(客戶端和服務(wù)器)允許修改操作系統(tǒng)。因此,必須分析OS特定的更改,需要注意分析這些數(shù)據(jù)可能會(huì)因系統(tǒng)而不同。對(duì)于Linux系統(tǒng),通常意味著加載一些隱藏的內(nèi)核模塊和新的crontab,而對(duì)于Windows系統(tǒng),一般非法的更改會(huì)集中在注冊(cè)表、系統(tǒng)文件和自動(dòng)啟動(dòng)條目。因此,分析可能會(huì)檢查哪個(gè)操作系統(tǒng)最好受到攻擊。
3. 數(shù)據(jù)段關(guān)鍵字:操作系統(tǒng)及其組件
五、攻擊頻率
在部署蜜罐時(shí)必須回答的一個(gè)基本問(wèn)題是,蜜罐是否受到攻擊?有趣的是,蜜罐在被激活幾分鐘后就會(huì)被攻擊。然而,如果蜜罐可以從互聯(lián)網(wǎng)訪問(wèn),如果防火墻阻止到防火墻的所有傳入連接,并且只允許內(nèi)部通信被允許,很少觀察到攻擊,因?yàn)樗鼈儗⒈仨殎?lái)自該特定網(wǎng)絡(luò)中的被感染的主機(jī),因?yàn)榫植颗渲貌划?dāng)。
1. 數(shù)據(jù)段關(guān)鍵字:首次攻擊持續(xù)時(shí)間
可以通過(guò)以下三個(gè)度量來(lái)區(qū)分蠕蟲(chóng)攻擊、botnet攻擊和配置失誤
(1) 時(shí)間源計(jì)數(shù),
(2) 窗口到達(dá)數(shù)量
(3) 到達(dá)間隔分布.
第一個(gè)是通過(guò)每個(gè)時(shí)間間隔的源的數(shù)量來(lái)分析并且顯示出不同的模式。蠕蟲(chóng)攻擊顯示具有陡峭的開(kāi)始和結(jié)束的后勤增長(zhǎng),因?yàn)樗鼈兎浅?焖俸妥灾鞯貍鞑ゲ⑶彝ㄟ^(guò)補(bǔ)丁突然關(guān)閉。botnet顯示類似的特性,然而botnet通常使用輪詢和拉通信的模式和他們的C&C中控服務(wù)器使用每隔幾秒的喚醒時(shí)間來(lái)進(jìn)行鏈接,這么干會(huì)導(dǎo)致更陡峭的曲線。到達(dá)窗口檢查在特定時(shí)間幀中有多少新源已到達(dá)。使用累積分布函數(shù)(CDF)圖可以發(fā)現(xiàn)這些事件之間沒(méi)有差異。為了評(píng)估源到達(dá)特性,數(shù)據(jù)以連續(xù)間隔被分解,每個(gè)間隔具有相等數(shù)量的源(例如,每個(gè)具有10%的新源的10個(gè)間隔)。然后繪制到達(dá)間隔時(shí)間的分布。僵尸攻擊和蠕蟲(chóng)攻擊表現(xiàn)出指數(shù)級(jí)的間諜。此外,源-網(wǎng)分散可能是有趣的。蠕蟲(chóng)攻擊的爆發(fā)具有比僵尸網(wǎng)絡(luò)和錯(cuò)誤配置高得多的分散性。如果考慮IP地址,則可以對(duì)從每個(gè)A類地址聚合看到的源的計(jì)數(shù)來(lái)計(jì)算直方圖,然而可以使用其他聚合。
2. 數(shù)據(jù)段關(guān)鍵字:?jiǎn)挝粫r(shí)間內(nèi)攻擊源數(shù)量、單位時(shí)間內(nèi)新增加的攻擊源數(shù)量 (CDF)、每個(gè)時(shí)間間隔內(nèi)給攻擊源分配的時(shí)間、特定IP段中的攻擊源數(shù)量
組合攻擊源和頻率的另一個(gè)度量是將IP地址的數(shù)量作為每個(gè)地址的攻擊次數(shù)的函數(shù)。該直方圖遵循冪律分布。
3. 數(shù)據(jù)段關(guān)鍵字:每次攻擊的攻擊源數(shù)量
正如我們已經(jīng)澄清的術(shù)語(yǔ)攻擊依賴于使用的蜜罐類型。服務(wù)器蜜罐將任何通信評(píng)估為惡意,因此低交互服務(wù)器蜜罐描述攻擊頻率必然基于網(wǎng)絡(luò)屬性
4. 數(shù)據(jù)段關(guān)鍵字:?jiǎn)挝粫r(shí)間內(nèi)接收到的數(shù)據(jù)包、單位時(shí)間內(nèi)接收到的數(shù)據(jù)大小
測(cè)量顯示,如果TCP是主要協(xié)議,則分組大小相對(duì)恒定,因此接收分組和每個(gè)時(shí)間單位的數(shù)據(jù)之間的比率是可預(yù)測(cè)的。攻擊頻率通常顯示特定峰值,即時(shí)按摩垃圾郵件例如顯示兩個(gè)每日峰值和一個(gè)如果在每周的規(guī)模觀察。此外,攻擊頻率的峰值通??梢枣溄拥絾蝹€(gè)服務(wù),蠕蟲(chóng)活動(dòng)等,這在該特定時(shí)間點(diǎn)被大量利用。
5 數(shù)據(jù)段關(guān)鍵字:?jiǎn)挝粫r(shí)間內(nèi)收到的消息/Email、單位時(shí)間內(nèi)接收到的URL/附件、每個(gè)消息的數(shù)據(jù)大小
對(duì)于高交互式服務(wù)器蜜罐,適用相同的指標(biāo),但是可以通過(guò)操作系統(tǒng)特定的指標(biāo)進(jìn)行擴(kuò)展:
6 數(shù)據(jù)段關(guān)鍵字:?jiǎn)挝粫r(shí)間內(nèi)的EXP利用
由于蜜罐的客戶端只負(fù)責(zé)統(tǒng)計(jì)攻擊數(shù)量,所以應(yīng)當(dāng)獨(dú)立于其交互級(jí)別和每時(shí)間單位的EXP數(shù)量,并且在它們主動(dòng)開(kāi)始通信時(shí)不考慮攻擊頻率的網(wǎng)絡(luò)特征。這意味著,它是預(yù)配置在哪個(gè)速率的客戶端蜜罐進(jìn)行通信請(qǐng)求。所以只考慮利用。
使用的另一個(gè)過(guò)程是數(shù)據(jù)的會(huì)話化。在一個(gè)時(shí)間幀內(nèi)從同一源接收的或不觸發(fā)超時(shí)的所有分組應(yīng)該屬于同一攻擊會(huì)話。 24小時(shí)幀或30分鐘超時(shí)是常見(jiàn)的。此外,可以檢查攻擊發(fā)生與下一次攻擊之間的時(shí)間。該度量的概率密度函數(shù)(PDF)遵循一個(gè)嚴(yán)格的冪律,并且可以通過(guò)帕雷托和指數(shù)分布的混合來(lái)建模。源的生命周期可以被描述為我們看到源在蜜罐上活動(dòng)的完整時(shí)間,這意味著它是從源的第一次發(fā)生到持續(xù)活動(dòng)的時(shí)間跨度,并且可以包括若干會(huì)話。僵尸網(wǎng)絡(luò)和錯(cuò)誤配置導(dǎo)致生命周期短,然而蠕蟲(chóng)證明是持久的,因?yàn)樗鼈兘?jīng)常錯(cuò)過(guò)停止掃描的機(jī)制。如果定期觀察到特定源(意味著它具有頻繁的會(huì)話或一個(gè)長(zhǎng)期進(jìn)行的會(huì)話),則它是一個(gè)存活時(shí)間較長(zhǎng)的源。
基于IDS分類來(lái)區(qū)分它們的會(huì)話:到觸發(fā)IDS警報(bào)的蜜罐的所有業(yè)務(wù)數(shù)據(jù)被標(biāo)記為已知的攻擊會(huì)話,以shellcode的傳輸結(jié)束但不觸發(fā)IDS警報(bào)的所有業(yè)務(wù)數(shù)據(jù)是未知的攻擊會(huì)話。會(huì)話之間的時(shí)間也值得考慮,因?yàn)樗@示活動(dòng)會(huì)話之間的暫停。
7. 數(shù)據(jù)段關(guān)鍵字:?jiǎn)挝粫r(shí)間內(nèi)的Session數(shù)量、Session的持續(xù)時(shí)間、兩個(gè)Session的時(shí)間間隔、源生命周期、單位時(shí)間內(nèi)已知或未知的攻擊Session
它們使用端口的對(duì)數(shù)標(biāo)度將目標(biāo)端口繪制為時(shí)間的函數(shù)。日志規(guī)模是一個(gè)優(yōu)勢(shì),因?yàn)榇蠖鄶?shù)攻擊發(fā)生在較小的公知端口。該曲線顯示跨越離散級(jí)別的跳躍,表示用于SSH,SMB等的眾所周知的端口的端口。類似于會(huì)話的符號(hào)是流?;玖骰诨綢P流,并且由源和目的地IP地址,源和目的地端口,協(xié)議類型組成的5元組來(lái)描述。攻擊頻率還可以通過(guò)基本流的發(fā)生來(lái)描述:如果分組與任何關(guān)鍵字字段的另一個(gè)分組不同或者在超時(shí)之后到達(dá),則認(rèn)為它屬于另一個(gè)流。因此,流是比會(huì)話更嚴(yán)格的要求?;顒?dòng)流是基于源IP地址的基本流的聚合,只有基本流之間的到達(dá)時(shí)間的超時(shí)。因此,它們類似于會(huì)話的定義。
8. 數(shù)據(jù)段關(guān)鍵字:?jiǎn)挝粫r(shí)間內(nèi)的數(shù)據(jù)流數(shù)量、單位時(shí)間內(nèi)活動(dòng)的數(shù)據(jù)流的數(shù)量
六、攻擊演進(jìn)
如果我們觀察特定源,端口,國(guó)家等的某些時(shí)間模式,自動(dòng)檢測(cè)其異常行為可能是重要的,因?yàn)槟切┊惓?赡軜?biāo)記重要事件。這意味著,我們想學(xué)習(xí),正常的行為是什么,并發(fā)現(xiàn)如果這個(gè)正常的行為改變。一種可能的方法是計(jì)算不同時(shí)間集合的比率,并且比較不同天數(shù)或平均比率的那些值。這個(gè)方法對(duì)于識(shí)別僅在特定時(shí)間尺度上可見(jiàn)的時(shí)間趨勢(shì)是有用的。良好的時(shí)間粒度的選擇取決于所研究的攻擊現(xiàn)象的種類:對(duì)于短的高強(qiáng)度攻擊,例如僵尸網(wǎng)絡(luò)探測(cè)器或閃存蠕蟲(chóng),應(yīng)用較小的時(shí)間單位可能更有用,而對(duì)于具有更隱秘的傳播的蠕蟲(chóng)方案應(yīng)該使用更大的時(shí)間單位。
七、攻擊傳播
除了以孤立的方式分析攻擊活動(dòng)之外,還應(yīng)當(dāng)嘗試識(shí)別跨多個(gè)蜜罐的攻擊的傳播,如果部署大的蜜蜂。當(dāng)在一個(gè)平臺(tái)上觀察到一個(gè)攻擊IP地址,然后在另一個(gè)平臺(tái)上觀察時(shí),就會(huì)發(fā)生傳播。由于IP地址池,此檢查是否會(huì)在特定時(shí)間范圍內(nèi)發(fā)生,以獲得更精確的結(jié)果。已經(jīng)早期分布的蜜罐分析表明,從不同的IP子網(wǎng)和不同的地理位置部署大量的蜜罐是有益的[40],因?yàn)樗赡馨l(fā)現(xiàn)攻擊,本地事件可以表征為這樣和傳播可以描繪跨目標(biāo)的攻擊者。
傳播可以通過(guò)傳播圖來(lái)建模,其中節(jié)點(diǎn)表示單個(gè)蜜罐,邊(i; j)描述在節(jié)點(diǎn)i也在節(jié)點(diǎn)j處發(fā)現(xiàn)所看到的IP地址的概率。然而,如果不在同一子網(wǎng)中,節(jié)點(diǎn)往往顯示低的傳播值。
1. 數(shù)據(jù)段關(guān)鍵字:傳播圖
類似的,還可以通過(guò)單維相關(guān)和二維相關(guān)的攻擊的傳播。
如果在至少兩個(gè)傳感器上觀察到攻擊起源,則單維相關(guān)聚集來(lái)自相同起點(diǎn)的攻擊。通過(guò)兩個(gè)可視化分析這種相關(guān)性。首先,創(chuàng)建具有用于所有蜜罐和觀察到的攻擊者的節(jié)點(diǎn)的有向圖。有向邊表示對(duì)蜜罐的攻擊,這意味著多個(gè)邊緣到不同的傳感器標(biāo)記攻擊者在幾個(gè)蜜罐上的存在。其次,計(jì)算在各種蜜罐上觀察到的獨(dú)特攻擊者的比率。
在兩個(gè)以上的傳感器的存在是非常不可能的攻擊者。二維相關(guān)包括作為附加維度的時(shí)間,這意味著必須在特定時(shí)間幀內(nèi)在至少兩個(gè)傳感器上觀察到相互攻擊。如已經(jīng)討論的,由于IP地址池,該時(shí)間幀應(yīng)當(dāng)?shù)陀谝惶臁? 國(guó)外的安全專家認(rèn)為,互聯(lián)網(wǎng)范圍的掃描在過(guò)去幾年中得到了顯著的改進(jìn):像ZMap這樣的工具能夠在大約1小時(shí)內(nèi)對(duì)每個(gè)主機(jī)用一個(gè)探測(cè)器對(duì)一個(gè)端口執(zhí)行IPv4地址空間的完整掃描。因此,為了找到強(qiáng)關(guān)系,可以將時(shí)間框架設(shè)置為1小時(shí)甚至更低。最后,他們使用散點(diǎn)圖,使用一小時(shí)的時(shí)隙,并繪制出存在于多個(gè)傳感器上的唯一攻擊者的數(shù)量,此外,顏色表示攻擊者存在多少傳感器。他們的觀察表明,至少有一個(gè)獨(dú)特的攻擊者針對(duì)每個(gè)時(shí)隙多個(gè)傳感器。
2. 數(shù)據(jù)段關(guān)鍵字:攻擊圖、特殊攻擊者與目標(biāo)傳感器數(shù)量的比率、與每個(gè)時(shí)隙的目標(biāo)相關(guān)的唯一共同攻擊者的數(shù)量
相位圖還可以用于可視化連續(xù)目標(biāo),顯示下一個(gè)目標(biāo)作為特定量的攻擊樣本的最后目標(biāo)的函數(shù)。順序IP地址掃描將在此可視化中顯示為直對(duì)角線。相圖還可以可視化覆蓋,這是特定源的探測(cè)的蜜網(wǎng)IP地址的數(shù)量。全覆蓋可以被識(shí)別為水平線。
3. 數(shù)據(jù)段關(guān)鍵字:連續(xù)攻擊目標(biāo)的相位圖、特定源的相位圖
對(duì)不同目標(biāo)的攻擊可以通過(guò)目標(biāo)網(wǎng)絡(luò)掃描占用空間可視化,該占用空間是計(jì)數(shù)所有攻擊目標(biāo)的攻擊源數(shù)量的圖表。顯然,如果部署許多蜜罐或?qū)⒄麄€(gè)子網(wǎng)重定向到蜜罐,這種可視化效果最好。錯(cuò)誤配置往往顯示熱點(diǎn),蠕蟲(chóng)攻擊和botnet導(dǎo)致均勻分布的模式。此外,第一目的地的偏好可能是有趣的分析,因?yàn)檫@可能揭示在通過(guò)蠕蟲(chóng)和機(jī)器人掃描子網(wǎng)的一些順序。
4. 數(shù)據(jù)段關(guān)鍵字:目標(biāo)網(wǎng)絡(luò)掃描范圍、第一目標(biāo)參考(PDF)
八、攻擊模式
許多數(shù)據(jù)挖掘任務(wù)的一般概念,如通用模式檢測(cè)和聚類,涉及以下過(guò)程具有三個(gè)步驟:
1) 特征選擇/提取,模式表示
2) 適合于數(shù)據(jù)域的模式接近度量的定義
3) 相似分組模式
第一步包括提取表征數(shù)據(jù)集的相關(guān)方面的某些特征,并用適當(dāng)?shù)难b置(例如值的數(shù)組)表示它們。模式的分組或聚類通過(guò)諸如K均值算法的聚類算法來(lái)完成。不幸的是,模式檢測(cè)的規(guī)則不能為所有數(shù)據(jù)類型提供直接的方法。不是每個(gè)算法都可以處理所有的簇形狀或大小,并且運(yùn)行時(shí)或輸出質(zhì)量可能在不同的數(shù)據(jù)維度和類型上嚴(yán)重不同。不同的聚類算法產(chǎn)生不同的數(shù)據(jù)分區(qū),甚至相同的聚類算法依賴于其初始化和可配置參數(shù)。事實(shí)上,模式檢測(cè)的真正技能是選擇適當(dāng)?shù)木垲愃惴?和相似性度量),因?yàn)榇嬖跀?shù)百個(gè)聚類算法。這就是為什么我們?cè)诿酃薰裟J綑z測(cè)領(lǐng)域看到這么多不同的方法,也是任何其他聚類學(xué)科的原因。
網(wǎng)絡(luò)流量聚類和異常檢測(cè)的問(wèn)題不是一個(gè)新的學(xué)科,已經(jīng)被廣泛研究。方法通常結(jié)合入侵檢測(cè)系統(tǒng),統(tǒng)計(jì)(例如移動(dòng)平均模型,主成分分析)或數(shù)據(jù)挖掘和無(wú)監(jiān)督機(jī)器學(xué)習(xí)(例如分層聚類,KNN聚類)來(lái)利用基于簽名的方法。然而,在蜜罐業(yè)務(wù)分析領(lǐng)域只做了一些明確的研究。因此,我們專注于有效地部署和/或分析蜜罐和蜜罐流量的生成日子。 Pouget應(yīng)用廣泛的關(guān)聯(lián)規(guī)則挖掘過(guò)程來(lái)找到觀察到的事件之間有趣的關(guān)系和模式。利用關(guān)聯(lián)規(guī)則的誘導(dǎo),嘗試找到經(jīng)常一起發(fā)生的項(xiàng)目集合,即事件,端口號(hào),IP地址等。它源于客戶行為分析,其試圖基于集合購(gòu)買(mǎi)的項(xiàng)目集來(lái)推薦產(chǎn)品。這意味著關(guān)聯(lián)規(guī)則R聲明如果我們看到特定動(dòng)作a和b,我們可以有信心,用百分比量化,也將觀察到動(dòng)作c:a∩b=> c。應(yīng)用的度量是支持和置信度。支持是包含規(guī)則的所有項(xiàng)目和所有事務(wù)的事務(wù)數(shù)之間的比率。置信度是包括規(guī)則的所有項(xiàng)目和包含前提的事務(wù)的數(shù)量之間的比率。規(guī)則應(yīng)具有最小支持閾值,以便只找到有意義的規(guī)則。
通過(guò)比較時(shí)間行為的相似性,我們會(huì)發(fā)現(xiàn)只有三種模式的攻擊
1) 連續(xù)活動(dòng)
2) 持續(xù)爆發(fā)
3) 短暫峰值
特別地,短暫的尖峰可以導(dǎo)致假相似性測(cè)量,因?yàn)樽帜副淼姆?hào)由于標(biāo)準(zhǔn)化過(guò)程而相對(duì)地選擇。這意味著僅具有幾個(gè)尖峰和許多零或非常小的值的時(shí)間模式具有接近零的平均值。 SAX計(jì)算高相似度,因?yàn)樗羞@些值僅由一個(gè)符號(hào)表示。然而,相似性不是這樣的。因此,全局和局部相似性度量是必要的。
國(guó)外研究員提出了一種在人眼上容易檢測(cè)到的蜜罐上的攻擊模式。它不是基于統(tǒng)計(jì)方法,而是呈現(xiàn)以直觀的方式實(shí)時(shí)觀察網(wǎng)絡(luò)流量信息以用于監(jiān)視或在回放模式中進(jìn)行取證。它是動(dòng)畫(huà)散點(diǎn)圖和平行坐標(biāo)圖的組合。左垂直線表示源IP地址,0.0.0.0在底部,255.255.255.255在頂部。右垂直線表示目的端口,端口0在底部,端口65535在頂部。彩色線連接那些垂直線,每個(gè)分組一行。 UDP數(shù)據(jù)包由藍(lán)色鏈接可視化,TCP數(shù)據(jù)包由綠色鏈接可視化。每個(gè)包也觸發(fā)兩個(gè)條,其高度表示包大小。當(dāng)包變老時(shí),條從豎線移開(kāi)。 可視化對(duì)于可視化入站和出站流量是有用的,并且能夠突出流量比特率,常見(jiàn)攻擊端口和來(lái)源或模式(如重復(fù)發(fā)生的蠕蟲(chóng)攻擊)的差異。
使用主成分分析(PCA)來(lái)分離潛在的活動(dòng)組,并從聚類組中查找異常值。 PCA是一種多元統(tǒng)計(jì)技術(shù),用于將數(shù)據(jù)集的維數(shù)減少為幾個(gè)線性不相關(guān)變量,稱為主成分。
最新的蜜罐攻擊分析的方法是使用無(wú)監(jiān)督的機(jī)器學(xué)習(xí)方法并應(yīng)用魯棒的聚類技術(shù)。最終,此方法將基于集群自動(dòng)創(chuàng)建簽名。這種分析建立在一個(gè)通用的算法,應(yīng)用于識(shí)別生產(chǎn)流量的異常,并改變?yōu)楣ぷ髟诜?wù)器蜜罐流量。 研究員旨在通過(guò)分而治之方法子空間聚類(SSC)和聚類集合的概念來(lái)提高聚類算法的魯棒性。
國(guó)外研究員已經(jīng)證明了經(jīng)典數(shù)據(jù)挖掘和監(jiān)督分類方法在使用公認(rèn)的k最近鄰(KNN)算法,神經(jīng)網(wǎng)絡(luò)和決策樹(shù)的蜜罐數(shù)據(jù)對(duì)數(shù)分析中的有效性。這種分析的目的是區(qū)分互聯(lián)網(wǎng)噪聲,如無(wú)意或已知的網(wǎng)絡(luò)流量,異常和真實(shí)攻擊。因此,他們的設(shè)置不僅包括標(biāo)記為攻擊的蜜罐流量,而且包括標(biāo)記為正常的生產(chǎn)流量。兩種流量類型都用于支持學(xué)習(xí)過(guò)程并對(duì)流量進(jìn)行分類。 KNN使用簡(jiǎn)單的分類原則:對(duì)于未知類的數(shù)據(jù)的每個(gè)實(shí)例,計(jì)算與已知類的數(shù)據(jù)的距離,并且k個(gè)最近鄰居通過(guò)多數(shù)投票決定為未知元素選擇哪個(gè)類。人工神經(jīng)網(wǎng)絡(luò)是由稱為神經(jīng)元的單個(gè)處理單元組成的計(jì)算結(jié)構(gòu)。存在不同形式的神經(jīng)網(wǎng)絡(luò),然而眾所周知的和常用的模型是多層感知器(MLP)。 MLP利用稱為反向傳播的監(jiān)督學(xué)習(xí)技術(shù)來(lái)訓(xùn)練網(wǎng)絡(luò)并且由有向圖中的多層神經(jīng)元組成。決策樹(shù)是機(jī)器學(xué)習(xí)算法,其執(zhí)行將原始數(shù)據(jù)集連續(xù)分割成連續(xù)更均勻的子組。決策樹(shù)中的每個(gè)節(jié)點(diǎn)都類似于分區(qū)決策。因此,決策樹(shù)越高,聚類的細(xì)節(jié)水平越高。對(duì)于可疑或正常的流量的最簡(jiǎn)單的分類,KNN算法太慢而不能產(chǎn)生合理的結(jié)果,神經(jīng)網(wǎng)絡(luò)表現(xiàn)良好并產(chǎn)生良好的結(jié)果,然而具有相當(dāng)高的假陰性份額。決策樹(shù)最好地執(zhí)行并產(chǎn)生正確的結(jié)果,具有很少的假陽(yáng)性和適度數(shù)量的假陰性。
Honeycomb是最著名的HoneyD插件之一,并使用最長(zhǎng)的公共子串(LCS)算法掃描傳入的流量以檢測(cè)包Payload中的重復(fù)模式。此實(shí)現(xiàn)基于后綴樹(shù),后綴樹(shù)用作各種字符串算法的構(gòu)建塊。使用后綴樹(shù),兩個(gè)字符串的最長(zhǎng)公共子串可以直接在線性時(shí)間中找到。例如,可以使用Ukkonen的算法來(lái)生成后綴樹(shù)。Honeycomb執(zhí)行協(xié)議分析,其通過(guò)網(wǎng)絡(luò)和傳輸層報(bào)頭信息(IP地址或端口)對(duì)流量進(jìn)行排序。之后,LCS以兩種不同的方式應(yīng)用:垂直模式檢測(cè)為兩個(gè)連接將傳入的消息分別連接到一個(gè)字符串,然后比較結(jié)果字符串。水平模式檢測(cè)比較兩個(gè)連接在對(duì)話中相同深度的兩個(gè)消息,這意味著LCS被應(yīng)用于第n個(gè)消息。
抽樣是從統(tǒng)計(jì)群體中選擇個(gè)體的子集以估計(jì)總體特征的過(guò)程。連接采樣可以通過(guò)減少帶寬和內(nèi)存需求來(lái)極大地有益于分析,這最終提高了可擴(kuò)展性。 有些研究已經(jīng)表明,來(lái)自蜜罐數(shù)據(jù)的子集性質(zhì)能夠描述整體數(shù)據(jù)的趨勢(shì)和模式,例如找到攻擊者。通過(guò)兩種方法減少數(shù)據(jù)集。第一種方法選擇隨機(jī)流和計(jì)數(shù)相關(guān)的數(shù)據(jù)包。第二種方法僅考慮觀察網(wǎng)絡(luò)的子網(wǎng)。
九、攻擊根源識(shí)別
攻擊根本原因可以被定義為可以被合理地識(shí)別為攻擊起源的最基本的原因。根本原因可以與特定攻擊工具或其變體或配置之一相關(guān)聯(lián)。蜜罐數(shù)據(jù)分析的主要任務(wù)之一是將集群和已識(shí)別的模式分配給根本原因。然而,這不一定是一對(duì)一關(guān)系,因?yàn)殡y以保證所發(fā)現(xiàn)的集群僅由一個(gè)攻擊工具引起,并且一個(gè)攻擊工具不會(huì)引起兩個(gè)集群,例如通過(guò)不同的攻擊配置。最終,一個(gè)集群應(yīng)始終在其形成中保持可解釋。在可以將集群分配給攻擊根本原因之前,必須驗(yàn)證集群的一致性,即如果我們發(fā)現(xiàn)良好(或者說(shuō)是有意義的)集群。毫無(wú)疑問(wèn),不同的攻擊可以在同一端口上創(chuàng)建相同數(shù)量的數(shù)據(jù)包,因此對(duì)事務(wù)數(shù)據(jù)的純統(tǒng)計(jì)分析可能是不夠的。確定相干性的一種可能方式是通過(guò)考慮分組數(shù)據(jù)內(nèi)容。從一個(gè)攻擊源發(fā)送的所有數(shù)據(jù)包的有效載荷可以轉(zhuǎn)換為字符串并連接。這創(chuàng)建了攻擊指紋,然后可以通過(guò)比較指紋與簡(jiǎn)單的字符串距離測(cè)量來(lái)檢查集群一致性。
多態(tài)攻擊是能夠隨著每個(gè)實(shí)例改變其外觀的攻擊。因此,多態(tài)性蠕蟲(chóng)對(duì)蜜罐模式檢測(cè),更具體地對(duì)根本原因識(shí)別提出了很大的挑戰(zhàn),因?yàn)槿湎x(chóng)可能改變用于利用漏洞的攻擊向量,或者攻擊主體可能由于垃圾插入,加密,指令重排序等而改變。因此,基于子字符串和字符串的方法,如LCS,是不夠的。存在不同的方法,然而它們的研究基于相互前提,即盡管多態(tài)性,蠕蟲(chóng)必須具有一些不變的子字符串。事實(shí)上,存在這樣的常量,并且必須找到可用于分類的有意義的字符串。
國(guó)內(nèi)的安全研究員提出了雙蜜罐的設(shè)計(jì)作為蠕蟲(chóng)的對(duì)策。這個(gè)系統(tǒng)的新穎性是能夠區(qū)分蠕蟲(chóng)活動(dòng)和蜜罐上的非攻擊行為,例如錯(cuò)誤配置。這個(gè)系統(tǒng)由兩個(gè)獨(dú)立的蜜罐陣列組成,入站數(shù)組由高交互蜜罐組成,允許妥協(xié),而出站數(shù)組由低交互蜜罐組成。如果受損的入站蜜罐嘗試查找并感染其他受害者,則由蜜罐發(fā)起的所有傳出流量將由網(wǎng)絡(luò)轉(zhuǎn)換器重定向到出站陣列。如果其中一個(gè)出站蜜罐可以看到網(wǎng)絡(luò)流量,那么肯定會(huì)出現(xiàn)入站蜜罐的被攻陷。擴(kuò)展這項(xiàng)工作,國(guó)外的安全研究員提出了雙蜜罐系統(tǒng)來(lái)解決同時(shí)部署兩個(gè)蜜罐的一些局限性。雙蜜罐系統(tǒng)是僅由服務(wù)器高交互蜜罐組成的兩個(gè)蜜罐的組合。
分配攻擊根本原因的另一種方式是通過(guò)確定使用哪個(gè)攻擊工具傳達(dá)攻擊。這可以通過(guò)分析端口序列或TCP初始序列號(hào)(ISN)來(lái)完成。
1. 數(shù)據(jù)段關(guān)鍵字:TCP初始序列號(hào)、端口序列號(hào)
一些攻擊工具總是使用相同的ISN或具有低熵的壞隨機(jī)數(shù)生成器,這使得可以向特定攻擊工具分配一些ISN。此外,蜜罐接收反向散射分組,其是對(duì)欺騙的SYN分組的SYN-ACK響應(yīng),因此擁有ISN + 1。同樣,這些是典型的ISN,可以鏈接到特定的工具。
端口序列分析用來(lái)顯示對(duì)蜜罐的頻繁/重復(fù)攻擊創(chuàng)建大量的數(shù)據(jù),如果應(yīng)用一般統(tǒng)計(jì),這可能導(dǎo)致誤導(dǎo)結(jié)果。然而,仔細(xì)觀察端口序列可以揭示一些隱藏的現(xiàn)象。端口序列是沒(méi)有重復(fù)的端口的按時(shí)間排序的序列,表示攻擊源(Pouget的超時(shí)為1天的IP地址)向特定端口發(fā)送數(shù)據(jù)包的順序,例如:攻擊者發(fā)送TCP請(qǐng)求到端口135 ,再次在135,然后在端口4444創(chuàng)建一個(gè)從4444到135的TCP連接??梢詾閱蝹€(gè)蜜罐或多個(gè)蜜罐上的監(jiān)視器創(chuàng)建端口序列。 初步結(jié)果表明每個(gè)序列通常僅限于一個(gè)端口,并且表示為一組的端口序列幾乎由該集合唯一地標(biāo)識(shí),然而由于一些罕見(jiàn)的情況,有序序列是最好的。 國(guó)外的專家觀察到比唯一目標(biāo)端口多兩倍的端口序列。分布類似于其他度量,因?yàn)榍?個(gè)序列已經(jīng)表征了大約75%的攻擊的活動(dòng)。這些結(jié)果推動(dòng)了進(jìn)一步深入調(diào)查。
在緩沖區(qū)溢出期間,指令計(jì)數(shù)器(EIP)被覆蓋一個(gè)新的返回地址,在該地址可以假定shell代碼。此外,諸如Argos之類的蜜罐跟蹤指令計(jì)數(shù)器(產(chǎn)生故障的EIP)的先前值,該值是在利用攻擊控制之前的最后一個(gè)合法指令。評(píng)估顯示,EIP和引發(fā)故障的EIP的值是漏洞利用工具和操作系統(tǒng)對(duì)的特征。然而,這種分析可能由于主動(dòng)地址空間隨機(jī)化算法的存在而產(chǎn)生較大的偏差。
2. 數(shù)據(jù)段關(guān)鍵字:EIP和引發(fā)故障的EIP
使用不同的受損機(jī)器來(lái)執(zhí)行計(jì)劃的攻擊的各個(gè)階段。這意味著,單個(gè)攻擊者會(huì)在蜜罐上的不同機(jī)器上導(dǎo)致不同的攻擊模式。此外,在某些高交互蜜罐上也存在這種現(xiàn)象。有兩組攻擊機(jī):第一組專門(mén)用于掃描主機(jī)和執(zhí)行字典攻擊。如果它們成功,通常一天后,第二組的機(jī)器出現(xiàn)。該組在IP地址方面與第一組沒(méi)有交集,地理查找甚至揭示不同的國(guó)家。登錄后,第二臺(tái)計(jì)算機(jī)嘗試運(yùn)行自己的服務(wù)或獲取root訪問(wèn)權(quán)限。有趣的是,比較低和高交互蜜罐數(shù)據(jù)集之間的攻擊源表明,相互IP地址僅來(lái)自掃描組,第二個(gè)入侵組也不會(huì)出現(xiàn)在低交互蜜罐上。
一般來(lái)說(shuō),攻擊根本原因識(shí)別需要一個(gè)良好的黑工具知識(shí)或最近參與安全頁(yè)面和郵件頁(yè)面,通常上報(bào)給CVE。這就是為什么可能真的很難分配蜜罐攻擊集群到已知的攻擊工具。此外,由于蠕蟲(chóng)的復(fù)雜性日益增加,因此有必要進(jìn)行有效載荷分析(字節(jié)序列,shellcode命令等)而不是純統(tǒng)計(jì)評(píng)估和僅僅檢測(cè)利用。蜜罐仍然用于收集蠕蟲(chóng),然而,蠕蟲(chóng)的簽名生成演變成其自己廣泛的研究領(lǐng)域,而是入侵檢測(cè)系統(tǒng)的領(lǐng)域。
十、攻擊風(fēng)險(xiǎn)評(píng)估
風(fēng)險(xiǎn)估計(jì)是在高交互蜜罐上完成的,因?yàn)樗梢曰诼┒吹膰?yán)重性和漏洞的分析來(lái)評(píng)估。然而,也可以基于攻擊的范圍對(duì)低交互蜜罐進(jìn)行風(fēng)險(xiǎn)估計(jì),其可以通過(guò)描述通信量的三個(gè)特征來(lái)測(cè)量:攻擊的分組數(shù),攻擊中交換的字節(jié)的數(shù)量和通信持續(xù)時(shí)間。
- Risk = log(nPackets) + log(nBytes) + log(duration+1)
通過(guò)將風(fēng)險(xiǎn)值乘以攻擊所在的子空間數(shù)量來(lái)擴(kuò)展此風(fēng)險(xiǎn)估計(jì),這表明攻擊影響了多少網(wǎng)絡(luò)特征。
- Risk(subspace) = C log(nPackets) + log(nBytes) + log(duration + 1)
SweetBait被設(shè)計(jì)成一個(gè)自動(dòng)響應(yīng)系統(tǒng),防止隨機(jī)IP掃描蠕蟲(chóng)使用低交互蜜罐和高交互蜜罐。蜜罐用于創(chuàng)建簽名,然后發(fā)送到IDS / IPS傳感器,以確定生產(chǎn)環(huán)境上的蠕蟲(chóng)的破壞性。
十一、EXP檢測(cè)
由于高交互蜜罐被積極利用,他們還考慮在他們的分析中利用的漏洞。檢測(cè)利用和查找漏洞的兩個(gè)主要過(guò)程是數(shù)據(jù)驅(qū)動(dòng)技術(shù)或操作系統(tǒng)狀態(tài)監(jiān)視。前者通過(guò)動(dòng)態(tài)污點(diǎn)分析來(lái)檢測(cè)利用,這是基于來(lái)自互聯(lián)網(wǎng)的所有數(shù)據(jù)都是潛在的惡意,因此被標(biāo)記為污染的想法。監(jiān)視污染數(shù)據(jù)的數(shù)據(jù)流。然后將蜜罐的利用規(guī)定為直接執(zhí)行受污染的shellcode。動(dòng)態(tài)污點(diǎn)分析非常準(zhǔn)確和可靠地檢測(cè)利用緩沖區(qū)溢出的攻擊。后者檢查操作系統(tǒng)的狀態(tài),并嘗試在文件系統(tǒng)或進(jìn)程管理中發(fā)現(xiàn)非法操作。如果對(duì)這個(gè)特定位置進(jìn)行修改(有時(shí)甚至是讀取操作),則不會(huì)出現(xiàn)這些修改文件的活動(dòng)執(zhí)行,但這通常是不容易被發(fā)現(xiàn)的??梢酝ㄟ^(guò)識(shí)別修改、比較哈希值或控制敏感調(diào)用的內(nèi)核日志來(lái)比較文件與備份。
十二、蜜罐數(shù)據(jù)分析展望
有趣的是,這個(gè)概述的一個(gè)發(fā)現(xiàn)是大多數(shù)研究者傾向于提出前三個(gè)提出的問(wèn)題,其涉及攻擊源,攻擊目標(biāo)和頻率。此外,在確定來(lái)源或目標(biāo)和描述頻率方面存在共同的共識(shí),因?yàn)樵S多指標(biāo)和分析方法在整個(gè)出版物中重復(fù)使用。這種情況的背后的原因是直接(表觀)信息被評(píng)估,并且在像簡(jiǎn)單查找擴(kuò)展的國(guó)家映射的情況下。直接信息描述觀察結(jié)果,并在通用操作期間記錄在蜜罐日志中:通常蜜罐日志文件包含基于IP信息的攻擊的源,目標(biāo)和時(shí)間戳。重要的是要注意,尤其是對(duì)于IP,沒(méi)有源和目標(biāo)的IP地址的通信是不可能的,并且每個(gè)事件具有時(shí)間戳。因此,基于這些特征提出分析問(wèn)題是直接和自然的。
然而,這種情況對(duì)于剩下的問(wèn)題是不同的,因?yàn)樗麄冊(cè)噲D導(dǎo)出信息。派生信息解釋,評(píng)估或本地化觀察的原因,其根本上比單純的描述更復(fù)雜。由于分析更復(fù)雜,這種研究比簡(jiǎn)單的描述性分析出現(xiàn)得比較晚,方法之間存在較少的重疊。這對(duì)于模式檢測(cè)尤其如此,這可以通過(guò)許多不同的相似性度量和聚類算法(如在子V-G中解釋的)來(lái)完成。這種分析的進(jìn)行正在成為一種跨學(xué)科的方法,因?yàn)闉榱说玫叫畔?,基本統(tǒng)計(jì)通常不再滿足:復(fù)雜的蜜罐網(wǎng)絡(luò)和來(lái)自其他領(lǐng)域的方法,如關(guān)聯(lián)規(guī)則挖掘,神經(jīng)網(wǎng)絡(luò),虛擬機(jī)中的內(nèi)存污染名字幾個(gè),已經(jīng)變得必要。一般來(lái)說(shuō),蜜罐研究和其他研究領(lǐng)域之間的聯(lián)系在過(guò)去幾年里加強(qiáng)了。
【本文是51CTO專欄作者elknot的原創(chuàng)文章,轉(zhuǎn)載請(qǐng)通過(guò)51CTO獲取授權(quán)】