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