摘 要:日志文件是計算機獲取電子證據的重要資源。文章基于現有日志取證系統片面取證并且未考慮日志信息的安全性的不足,提出了基于日志關聯分析的取證模型,通過事件特征關聯、事件時間序列關聯和事件空間序列關聯各網絡安全設備和應用程序的日志信息,把各種日志信息進行綜合關聯分析,使得到的取證結果更可靠、公正和客觀。
關鍵詞:日志取證;關聯分析;特征關聯;序列關聯
0 引言
隨著信息技術的發展,計算機犯罪案件不斷涌現,計算機取證技術成為人們研究的熱點。計算機取證要解決的關鍵問題是如何從計算機犯罪現場挖掘犯罪方法、犯罪動機、犯罪工具,確定犯罪責任。日志文件是計算機和網絡系統用于記錄發生在計算機本地系統或者網絡中的事件的重要審計憑據,是計算機犯罪線索勘查取證的重要對象,是計算機犯罪中非常重要的線索和證據來源。分析日志數據能及時發現入侵者入侵行為,是提取犯罪證據的重要手段。然而,進行日志分析存在如下困難:日志文件本身并不安全,一旦攻擊者獲得root權限,就可以輕而易舉地修改、破壞或刪除系統所保存的日志記錄,從而使得日志分析失去意義;日志文件的格式與種類具有多樣性,需要統一格式或跨平臺操作;目前還沒有形成比較完善的日志分析策略。本文將從這幾個方面入手,提出了基于日志分析處理策略的取證模型。
1 日志關聯分析取證模型
日志關聯分析是指將所有系統中的日志以統一格式綜合在一起進行考慮。在網絡安全領域中,日志關聯分析是指對網絡全局的日志安全事件數據進行自動、連續分析,根據用戶定義的、可配置的規則來識別網絡威脅和復雜的攻擊模式,從而確定事件真實性、進行事件分級并對事件進行有效響應。日志關聯分析可以用來提高安全操作的可靠性、效率以及可視化程度,并為安全管理和應急響應提供技術手段。
關聯分析需要采集各系統中的原始數據,將采集來的數據進行集中統一管理,根據有關知識進行分析后得到相應的結果。一個典型的日志關聯分析系統應包括如下部件:采集代理,數據庫,日志管理,知識庫,關聯分析,證據提交及證據庫。其關聯取證模型如圖1所示。日志采集代理負責從不同節點收集取證日志信息,日志管理模塊對日志信息進行安全存儲,關聯分析模塊對取證日志信息進行事件特征關聯、事件時間關聯和時間空間關聯,由日志更新方法和日志格式描述規則生成日志知識庫引擎,日志存儲服務器中的日志文件由知識庫引擎驅動生成日志知識數據庫,經日志關聯分析方法處理得到分析結果存入證據庫并打印取證分析報表,并將分析結果反饋到各分布節點。

2 日志取證關鍵部件
2.1 日志收集
日志收集代理是安裝在目標機器或網絡的軟件或硬件,它們根據取證策略收集有關被取證目標的日志詳細情況。日志數據源可分為基于主機的日志數據源、基于網絡的日志數據源、基于網絡安全設備和軟件的日志數據源。日志文件的分布是比較分散的,日志稽查取證往往從網絡傳輸信源、信道、信宿的角度出發進行研究,其中信源是指數據傳輸的起點,信道是數據傳輸經過的中間途徑,信宿是數據傳輸的目的地。常見的信源日志有PC上的各種客戶端軟件的日志,信道日志有網絡節點的路由器日志、隔離設備如防火墻、IDS等設備的日志,信宿日志有各種網絡服務器日志,如Web服務器日志E-Mail服務器日、Ftp服務器日志等。
在可利用的數據源中,各級各類日志包含豐富的證據信息,由于關聯分析需要將多個安全設備上的報警信息集中到一處進行分析,因此需要在各安全設備上設置代理,由代理將安全設備上的信息傳輸到中心數據庫。傳輸的數據有可能是完整的日志數據,也可能是在本地搜集信息并經簡單分析的結果。
2.2 日志管理
產生系統日志的軟件通常為應用系統而不是操作系統,所產生的日志記錄容易遭到惡意的破壞或修改。系統日志通常存儲在系統未經保護的目錄中,并以文本方式存儲,未經加密和校驗處理,沒有防止惡意篡改的有效保護機制。因此,日志文件并不一定是可靠的,入侵者可能會篡改日志文件,從而不能被視為有效的證據。由于日志是直接反映入侵者痕跡的,在計算機取證中扮演著重要的角色,入侵者獲取系統權限竊取機密信息或破壞重要數據后往往會修改或刪除與其相關的日志信息,甚至根據系統的漏洞偽造日志以迷惑系統管理員的審計。
有效的日志數據分析是建立在日志文件本身安全的基礎上的,因此建立一個安全的日志文件管理體制是必要的。圖2為日志管理模塊。各分布節點的原始日志文件經壓縮、加密和MD5簽名后,通過VPN被分別傳輸給專用日志服務器和第三方公認服務器,服務器利用收到的MAC完成對取證日志信息完整性檢驗,并將通過完整性驗證的具有取證價值的日志信息存入相應的遠程日志庫和公證日志庫。考慮到日志文件本身的安全陸,虛框內部分用兩塊網卡進行物理隔離。

2.3 日志數據關聯分析策略
系統日志是對系統的運行狀況按時間順序所作的簡單記錄,僅反映本系統的某些特定事件的操作情況,并不完全反映用戶的全部活動情況。用戶的網絡活動會在很多的系統日志中留下痕跡,如防火墻日志、IDS日志、操作系統日志等,這些不同的日志存在的某種聯系反映了該用戶的活動情況。只有將多個系統的日志結合起來分析,才能準確反映用戶的活動情況。
為了能夠為關聯分析建立一致的分析方法,可使用IDMEF格式對犯罪入侵事件關聯進行建模。在XML文檔中,一種稱為文檔類型定義的格式被用來描述IDMEF數據。當然,關聯功能并不直接處理XML格式表示的事件,而是針對一系列預先準備好的日志數據,一般來說這些數據存儲在日志數據庫中。

日志關聯分析模塊如圖3所示。日志關聯分析可以細分為以下三個步聚:
(1)數據聚合
將數據庫中來自多個設備的不同數據集中的數據歸整于一個數據集中,這樣能在任意時間觀察到所有設備的事件。通過刪除重復數據、歸類相似數據等方式來壓縮數據量,可以將數據保持在一個關聯引擎可以處理的范圍內。
(2)事件特征關聯
從多個日志源采集過來的數據,經過聚合和規范化等操作后,已經可用來進行關聯分析。在計算機取證中,我們挖掘電子證據數據項之間存在的關聯,并在關聯中查找、發現并分析計算機犯罪行為在不同位置、各個目標、行為意圖方面的一些聯系和規律,提取犯罪行為之間的關聯特征(特征可能是經過預處理的統計特征),挖掘不同犯罪形式的特征、同一事件的不同證據間的聯系,為進一步偵察分析和破案提供線索。
基本的數據挖掘算法并不考慮專業領域的知識,結果會產生一些對實際應用無用的規則,并且算法的效率不能滿足要求。Apriori算法在日志關聯取證中有兩個致命的弱點:第一,多次掃描日志數據庫極大地加重了I/O負載,因為每次k循環的侯選集Ck中的每個元素都必須掃描日志數據庫一次來驗證其是否加入Lk。如一個頻繁大項集包含10個項,就至少需要掃描事務數據庫10遍。第二,由Lk-1、產生k-侯選集Ck是指數增長的,如104的L-頻繁項集就可能產生接近107個元素的2一侯選集,如此大的候選集對取證時間和主存空間都是一種挑戰,達不到取證的實時性要求。
針對上述兩個問題,作者對算法改進如下:對事件主次屬性進行約束,對支持度和置信度閥值設置進行修改。經過這樣的處理之后,可以有效縮短證據的分析提取時間。
第一,對事件主次屬性的約束。日志記錄中各個屬性的重要性不同,有的屬性對描述數據起著關鍵作用,有的屬性只提供輔助信息。比如在描述網絡連接的記錄中,每一條記錄表示一個連接,一個網絡連接可以被一個五元組惟一地標識,即<時間戳,源地址,目的地址,源端口,目的端口(服務)>。網絡連接的關鍵屬性可以定義為五元組集合
第二,修改支持度和置信度閥值設置。一種思想是將支持度修改為相對支持度。所謂相對支持度是針對某一個變量而言的。如果定義si是變量Ai的相對支持度,并且變量值對Ai=Vij在整個記錄集中一共出現了Nij次,那么如果包含Ai=Vij的規則覆蓋實例的個數超過Si*Nij個,那么我們認為這條規則滿足支持度約束。這種方法應用在計算機取證分析中,需要有一定的先驗知識,能夠對每個變量Ai設定出合理的相對支持度閥值。另一種思想借鑒了在文獻[1]中提出的一種在多層次概念上挖掘關聯規則的算法,即對同一層次上不同頻繁度屬性進行多級挖掘,其主要思路是:先設置一定的支持度和置信度閥值,對出現頻率高的屬性值進行挖掘,得到相關的模式;然后不斷降低支持度和置信度閥值挖掘出現頻率低的屬性相關的模式。在降低閥值設置的挖掘過程中,我們需要對那些“舊”的屬性值的參與加以限制,避免高頻率屬性值相關模式的大量產生,淹沒低頻率屬性值模式。這里我們作這樣的限制:候選項目集必須包括至少一個“新”的屬性值;每次循環計算挖掘得到的模式必須具有“新”的屬性值。整個過程在閥值降到指定的最低值時終止,這個最低值可以是所有關鍵屬性值中出現頻率最低的屬性值的閥值。
(3)事件序列關聯
入侵行為往往沒有明顯的字符串匹配特征,其中任何單獨的一條報文或者命令都看似正常,但一系列按時間順序排列的報文或者命令就構成了一次攻擊,而且這種攻擊序列在一次攻擊中只出現一次。序列模式挖掘比關聯規則挖掘粒度更大。以某種序列攻擊的多個樣本作為訓練源,可以挖掘出在一個樣本中只出現一次,而在多個樣本中頻繁出現的攻擊行為的特征序列。
考慮到網絡事件在時間和空間上的相關性,可在網絡連接記錄中加入時間的統計屬性,生成序列規則。如:端口掃描攻擊中的TCP SYN掃描,不是進行一次完整的TCP連接,而是只發送一個SYN數據包,如收到SYN/ACK表示商品處于偵聽狀態,如收到RST表示端口沒有處于偵聽狀態。如果先收到SYN,回應SYN/ACK后,未收到ACK應答,查看歷史發現短時間內還有來自相同地址、相同類型的數據包,就有理由認為對方正在進行端口掃描攻擊。口令暴力攻擊也具有明顯的時序特征。比如說使用某一個用戶名自A地址登錄,出現多次登錄失敗,比較歷史記錄發現從B地址登錄的同一用戶,極少出現登錄失敗情況。則可以初步判定從地址A發來的登錄信息在進行口令探測。
通過對這種基于時間和空間的事件序列的分析,可以得到一些計算機犯罪的意圖信息,進而可以發現已經發生的,或者可能發生的計算機犯罪行為和企圖。
2.4 提交證據
關聯分析的目標是綜合分析不同安全設備和應用系統中的日志數據,為取證提供及時、相關并且準確的關聯數據。這些關聯數據將存入相應證據庫,并以特定格式的報告形式提交。
3 結束語
日志文件是計算機取證中獲取電子證據的重要資源。本文探討了現有日志取證系統的不足,提出了基于日志關聯分析的取證模型,通過事件特征關聯、事件時間序列關聯和事件空間序列關聯等綜合取證分析,得到可靠公正客觀的取證結果。如何根據已有日志證據信息重構攻擊者的入侵過程以及以易理解的方式顯示取證結果,這是需要進一步研究的問題。