摘要:為盡量保留有價值的證據,并實現較大的數據縮減,設計了一種主動證據選取存儲方法。根據IDS日志對安全事件進行分類,針對不同類型的安全事件選取并存儲不同的網絡數據作為證據存儲,實現證據量與代價的折中。
關鍵詞:主動取證; 入侵檢測系統; 計算機證據;日志
中圖分類號:TP393.08文獻標志碼:A
文章編號:1001-3695(2007)05-0278-02
0引言
隨著計算機因特網的廣泛應用,計算機犯罪事件也頻繁發生。計算機犯罪已經成為刑事案件的一個新方向。打擊犯罪的關鍵在于獲得充分、可靠和強有力的證據。因此計算機取證逐漸成為人們研究與關注的焦點。
計算機證據是指以計算機形式存在并作為證據使用的一切材料及其派生物。計算機取證[1]是運用計算機及相關科學技術的原理、方法獲取與計算機相關的證據,以證明某個客觀事實存在的過程。主動取證的目標是要建立適當的系統自動發現收集、過濾可疑數據,并實現高效、安全可靠地存儲數據,在必要時供查詢或提供自動分析報告。Bradford等人總結了支持在企業內針對內部用戶建立這類系統的基本原理[2]。
入侵檢測系統(IDS)由于其內在的優點已經成為網絡安全解決方案中的重要組成部分,并獲得廣泛應用。目前的IDS會產生大量獨立的、原始的報警信息。這些報警信息除了具有海量的特點外,誤報率和漏報率較高。從法律角度來看,其報警日志作為證據證明力不強。網絡數據證據的獲取屬于事實中取證,即在犯罪事件進行或證據的傳輸中截獲。隨著網絡帶寬的不斷增加,網絡上傳輸的數據越來越多,形成了海量數據。本文提出了一種基于入侵檢測的計算機證據獲取方法,在已有的網絡入侵檢測的基礎上,采取主動取證與IDS緊密結合,實時獲取網絡數據,有選擇地存儲網絡數據,使之成為日后追蹤調查的證據,既能提供比較充分可靠、有說服力的法律證據,又節省了存儲空間的開支。
1主動取證
由于計算機系統(或網絡)中大量的數據、信息都是使用后就完全丟掉了,計算機系統中潛在的證據還可能被黑客刪除,也可能隨條件改變而消失。一種為司法界接受、無爭議的方法[3]是獲取全部的網絡數據,在出現犯罪活動的情況下將相關數據篩選出來作為證據?;谶@種主動取證的方法,通過實時數據捕捉、收集對入侵者的活動進行實時監視和記錄就顯得十分重要(捕捉、收集、保留是否違法不在本文討論范圍)。但詳細記錄全部數據對于存儲空間的要求是比較高的,一般的服務器至多只能存儲幾天到一個星期的數據,采用其他介質存儲還會產生大量數據垃圾以及物理垃圾(如光盤)。
另外文獻[4]提出對計算機犯罪行為進行檢測,從而記錄有關證據。該設想比較理想化,以現階段的技術和法律現狀,難以實現;從另一角度來說,如果可以較準確地檢測犯罪行為,則可以阻止該犯罪行為。
蜜罐技術[5]也是一種主動應對入侵策略的系統,它可以模擬多種操作系統或者系統漏洞引誘黑客進行攻擊。但是它的目標是更多地獲取黑客攻擊信息,研究黑客攻擊技術手段。
IDS[6]是一種基于主動策略的網絡安全系統。但由于現有的IDS本身還在變化中,遠未達到成熟,絕大多數的商業IDS工作原理與病毒檢測相似,自身帶有一定規模和數量的入侵特征模式庫,可以定期更新。這種方式僅對已知的攻擊手段有效果?,F有的IDS錯報率偏高,并缺少對檢測結果的進一步說明和分析,實際上是一種對可疑入侵的預警。因此本文在存儲數據時根據IDS日志報警信息,針對不同類型攻擊產生的網絡數據的特征選擇不同的證據信息進行存儲,以實現證據量與代價之比的最大化。
2IDS日志分類與證據選取
為了處理海量的IDS報警日志,采用文獻[7]提出的一種基于模糊綜合評判的入侵檢測系統報警處理方法。該方法通過報警是否與其他報警相關來篩選報警,即去掉與其他報警不相關的報警,并且可以通過模糊綜合評判的方法調整隸屬度閾值來降低報警信息的丟失程度。這個方法使入侵檢測系統報警處理后得到有效直觀的結果,降低了入侵檢測系統的誤報率,減少了報警日志信息數量,縮小了存儲網絡數據目標范圍,減輕了日志分類的工作量。
報警類型分類是根據攻擊形式產生的網絡數據的特征來劃分的。對于不同特征的網絡數據采用不同的存儲形式,保存作為證據必須的信息,其他信息不保存,從而可以節約大量存儲空間。
攻擊者為了獲取活動主機、開放服務、操作系統、安全漏洞等關鍵信息,通常在攻擊之前對系統進行掃描,包括Ping掃描、端口掃描、操作系統辯識和安全漏洞掃描。這類活動會產生大量相似的網絡數據,其作用是測試系統,只是變化IP或端口。因此只要保存該類網絡數據的報頭部分主要信息,即時間戳、源IP、目的IP、協議、源端口、目的端口,而不需要數據內容就可以作為入侵證據。
黑客攻擊往往采用多種不同的手段。拒絕服務攻擊的類型按其攻擊形式劃分包括導致異常型和資源耗盡型。其中資源耗盡型拒絕服務攻擊通過消耗大量資源使得攻擊目標由于資源耗盡不能提供正常的服務。根據資源類型的不同又可分為帶寬耗盡和系統資源耗盡兩類。帶寬耗盡攻擊的本質是攻擊者通過放大等技巧消耗掉目標網絡的所有可用帶寬。著名的如Smurf攻擊,冒充目標網絡向多個廣播地址發送Ping包,造成數量龐大的Ping響應湮沒而攻擊目標網絡。系統資源耗盡型攻擊是指對系統內存、CPU或程序中的其他資源進行消耗,使其無法滿足正常服務的需求。著名的Syn Flood攻擊即是通過向目標服務發送大量的Syn包造成服務的連接隊列耗盡,無法再為其他正常的連接請求提供服務。分布式拒絕服務攻擊則通過控制多臺傀儡主機,利用它們的帶寬資源集中向攻擊目標發動總攻,從而耗盡其帶寬或系統資源的攻擊形式。由于拒絕服務攻擊和分布式拒絕攻擊的原理都是通過耗盡資源達到徹底破壞的攻擊目的,必然引起網絡流量的異常。根據這些特征,在保存這些大量網絡數據時,除保存報頭部分主要信息外,記錄Window、SEQ、ID部分用來提取攻擊特征,并設置一個字段統計同IP產生數據包數量,用于流量分析。
另一類網絡數據是由會造成緩沖區溢出的攻擊產生的。緩沖區溢出攻擊的原理是通過往程序的緩沖區寫入超出其邊界的內容,造成緩沖區溢出,使得程序轉而執行其他攻擊者指定的代碼。通常是為攻擊者打開遠程連接的ShellCode,以達到攻擊目標。有的拒絕服務攻擊也是利用緩沖區溢出,如Ping of Death攻擊。由于部分操作系統接收到長度大于65 535 Bytes的網絡數據時會造成內存溢出、系統崩潰、重啟、內核失敗等后果,從而達到拒絕服務攻擊的目的。由于這一類網絡數據的數據部分是為了達到溢出目的而填塞的無意義的超長內容,除記錄報頭部分主要信息外,記錄其網絡數據內容長度及數據部分的前16 Bytes,就可以證明此網絡數據是一個非法填塞無意義內容的超長網絡數據,不需要占用過多空間記錄其全部網絡數據內容。
其他類型攻擊,如欺騙技術,包括獲取口令、惡意代碼、網絡欺騙(IP欺騙、會話劫持、ARP重定向和RIP路由欺騙協議等)、同步漏洞攻擊、信任漏洞攻擊等,由于網絡數據沒有明顯的個性特征,其數據內容也有作為證據的價值,作為一類全部保存數據信息。對于IDS沒有報警的網絡數據,則根據服務器性能設置保存時間,超過該保存時間的數據則作丟棄處理。
3實驗結果與分析
為了真實地評估實際運行的效果,有必要進行仿真實驗測試。測試平臺描述為:①系統平臺:P4 2.6 GHz,512 MB DDR,Windows 2000 Server,Snort 2.3.3;②測試數據集:LLS_DDOS_1.0-inside.dump。
Snort[8]是目前最受關注的一個代碼開放網絡入侵檢測系統(NIDS)。它能夠進行協議分析,檢測網絡的原始傳輸數據,分析捕獲的報文,通過匹配入侵行為特征或者從網絡活動的角度檢測異常行為,對攻擊進行實時報警。Snort是基于規則檢測的入侵檢測工具。它使用一種簡單的規則描述語言,針對每一種入侵行為提煉出它的特征值并按照規范寫成檢驗規則,從而形成一個規則數據庫。 將捕獲的報文按照規則庫逐一進行匹配,若匹配成功,則認為該入侵行為成立。它的檢測能力能對付絕大多數基于單包的網絡攻擊。每條報警信息至少包括的信息有:①報警的類型,由一個唯一的報警類型編號(SID)表示;②報警的創建時間;③報警的源地址,即報警的源IP和端口;④報警的目的地址,即報警的目的IP和端口。本實驗采用的Snort 2.3.3作為檢測系統入侵的工具。
LLS_DDOS_1.0-inside.dump 是2000 DARPA[11]提供的入侵檢測數據集,包含探測、查點、安裝后門、DDoS攻擊等一系列攻擊,共計642 211條網絡數據記錄。
用Snort讀取LLS_DDOS_1.0-inside.dump后產生84 258條原始報警;用文獻[7]的方法預處理之后得到241條報警;根據SID將報警的入侵行為分類,相應數據分類存儲后總數為1 863條。相關數據比較如表2所示。
4結束語
利用IDS日志的報警信息分類與網絡數據保存條件進行關聯,并且對不同類型攻擊產生的網絡數據的特征采取不同的存儲,一方面盡量保證了證據的真實性、可靠性;另一方面減少了保存的網絡數據總量和占用空間,取得了一定的效果。進一步的研究工作如下:
①本文只依據IDS檢測報警的預警保存相關的網絡數據,可進一步研究潛在安全事件的相關證據獲取。②可以利用其他日志綜合后分析存儲有關聯的網絡數據以獲取需要的證據。
參考文獻:
[1]陳龍,王國胤. 計算機取證技術綜述[J]. 重慶郵電學院學報, 2005,17(6):736-741.
[2]BRADFORD P G, BROWN M, PERFUE J, et al. Towards proactive computer-system forensics: proceedings of the International Confe ̄rence on Information Technology:Coding and Computing [C].[S.l.]:[s.n.],2004:648-652.
[3]丁麗萍, 王永吉. 計算機取證的相關法律技術問題研究[J]. 軟件學報, 2005,16(2): 260-275.
[4]丁麗萍. 基于網絡數據流的計算機取證技術[J]. 信息網絡安全, 2005(6):74-76.
[5]HOLZ T,RAYNAL F.Detecting honeypots and other suspicious environments: proceeching of the 6th Annual IEEE,Systems, Man and Cybernetics (SMC) Information Assurance Workshop[C].[S.l.]:[s.n.], 2005:29-36.
[6]蔣建春,馬恒太. 網絡安全入侵檢測:研究綜述[J]. 軟件學報, 2000,11(11):1460-1466.
[7]何云鵬,吳渝,王國胤. 一種基于模糊綜合評判的入侵檢測系統報警處理方法[J].計算機科學,2005,32(8A): 108-111.
[8]楊忠寶,楊宏宇. Snort報文嗅探和報文解析實現的剖析[J]. 計算機工程,2005,31(13):104-106,114.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”