• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      計(jì)算機(jī)入侵取證中的入侵事件重構(gòu)技術(shù)研究

      2014-09-29 06:14:40季雨辰趙志宏
      計(jì)算機(jī)工程 2014年1期
      關(guān)鍵詞:注冊表日志進(jìn)程

      季雨辰,伏 曉,石 進(jìn),駱 斌,趙志宏

      (1.安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001;2.南京大學(xué) a.軟件學(xué)院;b.國家保密學(xué)院,南京 210093)

      1 概述

      計(jì)算機(jī)取證是一門專門研究如何按照符合法律規(guī)范的方式收集、處理計(jì)算機(jī)犯罪證據(jù)的新興學(xué)科,它能為計(jì)算機(jī)犯罪案件的調(diào)查審理提供關(guān)鍵技術(shù)支撐和主要裁判依據(jù)。入侵取證[1-2]是計(jì)算機(jī)取證中的一個分支,由于入侵取證在計(jì)算機(jī)犯罪中占了很大一部分,且其種類繁多、危害性大,因此近幾年成為信息安全和法學(xué)研究者共同關(guān)注的熱點(diǎn)。

      事件重構(gòu)是計(jì)算機(jī)入侵取證的關(guān)鍵環(huán)節(jié)。事件重構(gòu)通過分析各類可獲得的數(shù)據(jù)確定可能發(fā)生的事件,識別被調(diào)查事件的時間、關(guān)系、功能等因素,重構(gòu)可能的事件序列,重現(xiàn)入侵行為過程,模擬犯罪場景。取證調(diào)查者對被入侵計(jì)算機(jī)進(jìn)行證據(jù)收集、保存和分析后,處理結(jié)果會被提交到法庭上作為法律證據(jù)。但這些證據(jù)的可信度并不高,有時并不足夠成為法庭證據(jù)。通過收集的證據(jù)判斷入侵場景中事件是否發(fā)生,由分析證據(jù)重構(gòu)得到事件發(fā)生的起始,經(jīng)過和結(jié)果才能增加證據(jù)的準(zhǔn)確性、可信度和可靠度,證據(jù)說服力和法律采信度才更高。

      為此,本文論述入侵事件重構(gòu)技術(shù)的最新發(fā)展?fàn)顩r,研究較為流行的入侵事件重構(gòu)方法,總結(jié)并比較各種方法的優(yōu)缺點(diǎn)。

      2 入侵事件重構(gòu)的研究背景

      取證調(diào)查者在事件重構(gòu)時普遍依賴于商業(yè)工具,如EnCase、Forensic Toolkit等,但這些工具的主要任務(wù)還處于從被分析系統(tǒng)中收集證據(jù)的階段。另外,隨著網(wǎng)絡(luò)的迅速發(fā)展,出現(xiàn)了如NetDetector、Wireshark等獲取網(wǎng)絡(luò)通信的工具。但是網(wǎng)絡(luò)日志對加密通信并沒有幫助,通常只提供系統(tǒng)應(yīng)用層的信息。同時,這兩者均基于人工處理,主觀解釋占主要部分,如果基于調(diào)查者的主觀意識,不僅容易出錯,而且分析過程難以重現(xiàn),證據(jù)在法庭上受采納的可能性不高。另一種廣泛使用的方法是使用應(yīng)用層合并的工具,通過查看內(nèi)存和基于狀態(tài)的分析技術(shù)進(jìn)行事件重構(gòu)。不足在于這些方法基于的分析模型要求并不嚴(yán)格,信息極有可能丟失或被漏過,取證過程通常也需要花費(fèi)大量時間。

      除計(jì)算機(jī)入侵外,計(jì)算機(jī)犯罪還有很多,如網(wǎng)絡(luò)騷擾E-mail勒索、保存及散播色情文件等。對于這些犯罪行為的重構(gòu)也是事件重構(gòu)的重要部分。如E-mail勒索,文獻(xiàn)[3]提出了一種基于模擬的方法:首先假設(shè)出所有可能的事件構(gòu)建攻擊樹,再將收集到的信息抽象化,最后基于已有模型(Bruschi和Monga提出的取證圖表)重構(gòu)得到事件序列。與計(jì)算機(jī)入侵相比,這些犯罪過程簡單得多,其重構(gòu)方法并不適用于復(fù)雜的入侵重構(gòu)。因此,對這類方法不予探討。

      3 入侵事件重構(gòu)的證據(jù)來源

      現(xiàn)有事件重構(gòu)的證據(jù)來源可分為針對系統(tǒng)應(yīng)用層對象/事件和操作系統(tǒng)層中的對象/事件2個部分。

      系統(tǒng)應(yīng)用層對象主要包括磁盤鏡像、系統(tǒng)日志文件、注冊表項(xiàng)、文件系統(tǒng)等。除此之外,隨著網(wǎng)絡(luò)使用的日益頻繁,網(wǎng)絡(luò)日志也成為重構(gòu)來源的重要部分。通過Wireshark對自身網(wǎng)絡(luò)通信的檢查如圖 1所示,一些主要的協(xié)議如TCP、IP、HTTP、DNS等,雖然傳輸中進(jìn)行了加密,但仍然可以獲得如IP地址、修改時間等通信信息。

      圖1 Wireshark對2種協(xié)議的檢查

      基于操作系統(tǒng)層對象/事件的重構(gòu)基本基于操作系統(tǒng)內(nèi)核實(shí)現(xiàn)。其原理比較安全,不易被入侵者修改破壞入侵時留下的證據(jù)。重構(gòu)系統(tǒng)通過對系統(tǒng)調(diào)用層事件/對象進(jìn)行監(jiān)視來收集證據(jù)。通常重構(gòu)從一個檢測點(diǎn)開始(比如有可疑內(nèi)容的文件),然后建立一個與危險進(jìn)程或文件有關(guān)的關(guān)系鏈,從而重現(xiàn)入侵攻擊的行為過程。

      3.1 系統(tǒng)應(yīng)用層對象/事件

      3.1.1 日志

      日志是系統(tǒng)所指定對象的某些操作和其操作結(jié)果按時間有序排列的記錄文件或文件集合。每個日志文件都由日志記錄組成,每天的日志記錄描述了一次單獨(dú)的系統(tǒng)事件。

      文獻(xiàn)[4]提出一種依賴于事件關(guān)聯(lián)模型的自動診斷工具,通過分析日志來重構(gòu)攻擊行為。文中將攻擊者的行為定義為原子攻擊,即由多個日志文件得到的一系列事件組成的攻擊系統(tǒng)的單個行為。其關(guān)鍵技術(shù)事件關(guān)聯(lián)模型可以檢測到多步攻擊從而降低誤報(bào)率。其中,事件收集模塊收集日志存到時間庫中;事件預(yù)加工模塊校正日志文件的時間戳,將在同一時間線上的事件相匹配;事件關(guān)聯(lián)模塊發(fā)現(xiàn)具體的攻擊行為,關(guān)聯(lián)得到具體攻擊,生成完整的多步攻擊場景。

      文獻(xiàn)[5]也提出一種基于日志的取證模型。由日志提取出的事件被標(biāo)簽為樹型結(jié)構(gòu),事件由代數(shù)表達(dá)式表示,表達(dá)式中的參數(shù)表示需要分析的相關(guān)信息。通過動態(tài)、線性、基于時間的邏輯公式表示模型的屬性,模擬的攻擊場景以及重構(gòu)的事件序列之間的關(guān)系。

      3.1.2 注冊表

      在Windows注冊表中也存儲了大量的信息,包括核心系統(tǒng)配置、用戶具體配置、安裝應(yīng)用的信息、用戶認(rèn)證的信息等。另外每個注冊表鍵值在被修改時都會記錄下對應(yīng)的時間戳。

      Timothy分析了注冊表的結(jié)構(gòu),Windows中hives文件以樹結(jié)構(gòu)組織,類似于一個文件系統(tǒng)。在注冊表中,值類似于文件系統(tǒng)中的文件,存儲未處理數(shù)據(jù)的名字和類型信息;鍵值類似于目錄,為子鍵和值的父結(jié)點(diǎn)。利用鍵值與值之間的關(guān)系即可以恢復(fù)注冊表中部分被刪除的鍵、鍵值及其他結(jié)構(gòu)。但是當(dāng)一個子鍵被刪除時,刪除后剩余的空閑空間并不是被擦去,而是保留原有位置的子鍵的值。因此,該方法恢復(fù)操作的可信度并不高[6]。

      現(xiàn)在查看注冊表的主要工具包括:AccessData Registry Viewer(選取一些有用的注冊表選項(xiàng)),Protected Storage PassView(自動獲取注冊表中的用戶名和密碼),Register Editor(獲得一些軟件的用戶名,瀏覽器中緩存URL)等[7]。

      3.1.3 文件系統(tǒng)

      文件系統(tǒng)是操作系統(tǒng)中關(guān)鍵文件的集合,研究的主要對象包括文件類型、文件內(nèi)容、對該文件執(zhí)行操作的進(jìn)程、被訪問的形式等。

      文獻(xiàn)[8]提出了一種基于文件系統(tǒng)行為進(jìn)行重構(gòu)時間線的方法,通過監(jiān)視文件系統(tǒng)的操作,在不連續(xù)的時間點(diǎn)獲得系統(tǒng)快照來描述不同的軟件應(yīng)用,并通過神經(jīng)網(wǎng)絡(luò)算法(基于feedforward算法和recurrent算法)分析出的數(shù)據(jù)集,將文件系統(tǒng)進(jìn)行分類從而得到之前運(yùn)行的應(yīng)用程序的可執(zhí)行部分。該方法主要分析日志文件、注冊表項(xiàng)、文件系統(tǒng)和空閑堆棧。不足之處在于不同的應(yīng)用程序需要不同的算法,甚至是同一軟件的不同版本,都需要一個巨大的文件系統(tǒng)行為數(shù)據(jù)庫支持。

      3.2 操作系統(tǒng)層對象/事件

      這部分主要基于實(shí)時取證,不同于以上介紹的事后取證。代表工具[9]包括BackTracker和Forensix,方法以內(nèi)存取證為主。

      3.2.1 工具

      Backtracker是一個由用戶執(zhí)行產(chǎn)生的事件序列的圖形化界面系統(tǒng),實(shí)時地在系統(tǒng)調(diào)用層記錄事件(包括可能影響系統(tǒng)檢測點(diǎn)的事件,如讀、寫、執(zhí)行、創(chuàng)建子進(jìn)程等)和系統(tǒng)對象(包括進(jìn)程、文件以及文件名)。但 Backtracker并不監(jiān)控內(nèi)存映射對象的操作。一旦入侵者獲得管理員權(quán)限,就會被終止。

      SNARE是一種系統(tǒng)入侵分析和報(bào)告環(huán)境,通過動態(tài)讀取Linux中內(nèi)核模塊的守護(hù)進(jìn)程LinuxDaemon解決問題。它把系統(tǒng)調(diào)用(如execve、open、mkdir等)放入信息收集的例程中,收集進(jìn)程和用戶執(zhí)行的一些有疑問的系統(tǒng)調(diào)用信息。SNARE并不提供任何事件重構(gòu)序列的自動分析,只當(dāng)調(diào)查者查看系統(tǒng)事件的高權(quán)限時才會執(zhí)行分析任務(wù)。共享內(nèi)存的存取并不會檢查,同時也沒有提供取證過程中對取證模塊的監(jiān)督保護(hù)機(jī)制。

      Forensix基于SNARE并通過3個關(guān)鍵技術(shù)降低人力管理,提高取證分析的準(zhǔn)確性:在系統(tǒng)調(diào)用層監(jiān)視目標(biāo)系統(tǒng)的執(zhí)行,提供所有行為應(yīng)用的視圖;提供保密的系統(tǒng),通過私有的接口存儲系統(tǒng)調(diào)用層信息流;提供數(shù)據(jù)庫技術(shù)支持高級存儲日志的查詢功能。Forensix使用與 Backtracker相同的系統(tǒng)調(diào)用和對象日志分析技術(shù),區(qū)別在于分析階段Forensix依賴數(shù)據(jù)庫技術(shù)從檢測點(diǎn)還原攻擊重構(gòu)。

      3.2.2 內(nèi)存證據(jù)獲取

      內(nèi)存證據(jù)獲取主要基于硬件和軟件?;谲浖褂貌僮飨到y(tǒng)提供的函數(shù)獲取證據(jù),基于硬件直接訪問內(nèi)存獲取證據(jù)。通常認(rèn)為硬件獲取由于是直接操作而更加安全可靠,但有研究發(fā)現(xiàn)并非如此,文獻(xiàn)[10]提出一種硬件和軟件相結(jié)合的機(jī)制。

      (1)內(nèi)核層應(yīng)用程序

      基于內(nèi)核層的免費(fèi)程序主要包括Memory dd、Windows Memory Toolkit、Memoryze等。但都存在一些問題:實(shí)現(xiàn)的前提是在目標(biāo)主機(jī)上運(yùn)行用戶級代碼,但當(dāng)鏡像程序運(yùn)行時操作系統(tǒng)和其他程序仍在運(yùn)行,內(nèi)存也隨之變化,鏡像并不實(shí)時;魯棒性低,存在許多關(guān)于網(wǎng)頁高度緩存的問題;過于依賴目標(biāo)操作系統(tǒng),容易受到內(nèi)核級別木馬的侵入。針對這些問題,文獻(xiàn)[11]提出將獲取機(jī)制作為操作系統(tǒng)的一個模塊整合到系統(tǒng)內(nèi)核中,每次在系統(tǒng)啟動時裝載模塊,從而調(diào)用特殊的鍵盤操作獲取證據(jù)。

      (2)操作系統(tǒng)注入

      文獻(xiàn)[12]提出在潛在被入侵的主機(jī)操作系統(tǒng)內(nèi)核中插入一個獨(dú)立、具體的操作系統(tǒng)BodySnatcher來獲取內(nèi)存。BodySnatcher會從運(yùn)行的操作系統(tǒng)中搶占全部的硬件控制來獲取主機(jī)內(nèi)存,然后保存正在運(yùn)行的操作系統(tǒng)狀態(tài),在獨(dú)立的內(nèi)存子集中引導(dǎo)子模塊acquisition OS使用主機(jī)硬件中類似的子集作為輸出備份主機(jī)物理內(nèi)存的鏡像。但通過操作系統(tǒng)注入的方法現(xiàn)在只針對特定的平臺,并且在寫出的過程中只限于單核,將會浪費(fèi)大量的時間。因此,盡管想法很好,但技術(shù)上受限很大。

      (3)hibernation文件

      Windows從 2000以后提供了掛起硬盤開機(jī)——休眠(hibernation)模式。當(dāng)系統(tǒng)即將進(jìn)入休眠模式時,系統(tǒng)狀態(tài)包括內(nèi)存和進(jìn)程中的信息會被凍結(jié)并被保存到硬盤上的hibernation文件中(hiberfil.sys),這樣即使斷電也不會丟失數(shù)據(jù)。hibernation文件通常存放在操作系統(tǒng)安裝的根目錄下,并且內(nèi)容永遠(yuǎn)不會被抹去[13]。但hibernation文件只能決定文件中保存了哪些頁,并不能重新生成物理內(nèi)存狀態(tài),因此,不能保證完全保存下物理內(nèi)存。

      (4)虛擬機(jī)

      使用虛擬機(jī)技術(shù)可以暫停運(yùn)行中的操作系統(tǒng)凍結(jié)系統(tǒng)狀態(tài),將虛擬內(nèi)存保存到主機(jī)硬盤上。除此之外,虛擬機(jī)還可以提供包括 CPU、虛擬內(nèi)存和硬盤的快照。實(shí)驗(yàn)證明這樣的內(nèi)存快照在針對構(gòu)建分析性的工具的研究中非常有用[14]。在虛擬機(jī)技術(shù)中,鏡像僅作為虛擬機(jī)鏡像,并沒有解決主機(jī)的鏡像問題?,F(xiàn)在虛擬化技術(shù)應(yīng)用并不廣泛,但隨著基于Internet服務(wù)重要性的提高,可能會有所改變。

      (5)內(nèi)存dump文件

      當(dāng)系統(tǒng)突然停止工作時,Windows2000及以上版本都會在系統(tǒng)硬盤上編寫debug信息(內(nèi)存dump文件)。當(dāng)系統(tǒng)崩潰狀態(tài)被凍結(jié)時,主內(nèi)存和CPU的相關(guān)信息就會被保存到系統(tǒng)根目錄下生成dump文件。dump文件一般可以通過Microsoft Debugging Tools for Windows打開或人工分析。除此之外,還可以使用第三方應(yīng)用程序或內(nèi)置 CrashOnCtrl Scroll的特點(diǎn)。但是使用這個方法會覆蓋系統(tǒng)頁文件,因此,這個方法不能得到完全正確的內(nèi)存映像。

      3.2.3 內(nèi)存證據(jù)分析

      內(nèi)存證據(jù)分析有3個方面:

      (1)進(jìn)程分析

      早期的進(jìn)程分析主要是枚舉出系統(tǒng)上已裝載程序的列表。但是由于直接內(nèi)核對象操作技術(shù)可以對Windows上一些關(guān)鍵數(shù)據(jù)結(jié)構(gòu)(如進(jìn)程的 EPROCESS結(jié)構(gòu)、線程的ETHREAD結(jié)構(gòu)、鏈表等)進(jìn)行操作,如將進(jìn)程從 Active ProcessLinks列表上直接刪除,因此遍歷列表的方法并不可靠。對此文獻(xiàn)[15]提出使用基于簽名的掃描器,通過規(guī)定一系列的規(guī)則來精確地描述系統(tǒng)進(jìn)程或線程的結(jié)構(gòu)。將結(jié)果和標(biāo)準(zhǔn)進(jìn)程列表進(jìn)行比較,如有不同則證明了惡意程序的存在。

      類似的策略還有文獻(xiàn)[16]提出的依賴于非關(guān)鍵對象的特點(diǎn)的可靠模式。在此情況下攻擊者可以在不影響系統(tǒng)的穩(wěn)定的情況下改變非關(guān)鍵域的值。針對這種情況,創(chuàng)建了只對系統(tǒng)功能有關(guān)鍵作用域的簽名來增強(qiáng)簽名的健壯性。

      在以上 2種方法的基礎(chǔ)上,又產(chǎn)生一種將掃描和列表遍歷結(jié)合的技術(shù),依靠內(nèi)核進(jìn)程控制區(qū)域存儲處理器特定的數(shù)據(jù),創(chuàng)建單獨(dú)的堆棧KPRCB,保存與CPU相關(guān)的數(shù)據(jù)和調(diào)度信息,根據(jù)這些信息獲得進(jìn)程列表[17]。

      (2)系統(tǒng)文件分析

      系統(tǒng)文件分析主要通過分析進(jìn)程環(huán)境堆棧檢查已打開文件的列表和由程序引用的 dll列表。PEB通常包含一個Ldr成員和3個雙向列表,保存所有裝載的dll名字、大小和基地址。取證者列舉出每個單獨(dú)的列表即可發(fā)現(xiàn)是否有入侵攻擊,但受限于不同的rootkit。

      文獻(xiàn)[18]提出一種 Windows內(nèi)存?zhèn)浞葜械奶摂M地址描述符樹結(jié)構(gòu), VAD樹將物理內(nèi)存分解為可管理的且有語法意義的單元,而不是運(yùn)行進(jìn)程的頁面目錄,通過讀取VAD樹描述內(nèi)存區(qū)域的備份。當(dāng)一個進(jìn)程用虛擬分配實(shí)際訪問內(nèi)存后,內(nèi)存管理會在VAD樹中創(chuàng)建一項(xiàng)。當(dāng)進(jìn)程試圖找到相應(yīng)的內(nèi)存頁時,會創(chuàng)建對應(yīng)的頁面目錄和頁表項(xiàng),但這只能對運(yùn)行中的進(jìn)程生成VAD樹。進(jìn)程一旦結(jié)束,內(nèi)核會將指向VAD根結(jié)點(diǎn)的指針置零。因此,直接內(nèi)核對象操作攻擊可以不與樹中的VAD結(jié)點(diǎn)相連接,從而將VAD所依賴的數(shù)據(jù)結(jié)構(gòu)隱藏起來躲避入侵檢測。

      (3)系統(tǒng)狀態(tài)分析

      系統(tǒng)狀態(tài)分析主要對 EPROCESS結(jié)構(gòu)進(jìn)行分析。EPROCESS結(jié)構(gòu)為執(zhí)行程序進(jìn)程,在Windows 中每個進(jìn)程都由一個執(zhí)行程序進(jìn)程塊表示,其中保存了很多和系統(tǒng)相關(guān)的重要數(shù)據(jù)。如Starttime和Exittime域表示了進(jìn)程開始和結(jié)束的時間,可以用來創(chuàng)建時間線;組成員 Token可以恢復(fù)安全上下文,獲得與進(jìn)程相關(guān)的權(quán)限、賬號等信息[19]。通常進(jìn)程結(jié)束后會在 ActiveProcessLinks中被刪除,但EPROCESS在進(jìn)程結(jié)束時依然在內(nèi)存中。因此,這類數(shù)據(jù)在程序終止24 h后還能恢復(fù)。

      另外,文獻(xiàn)[20]對DOSKEY結(jié)構(gòu)進(jìn)行分析,將DOSKEY整合在命令行shell中。通過將DOSKEY駐留在內(nèi)存中創(chuàng)建緩沖區(qū),將命令存儲在緩沖區(qū)中,由此獲得入侵時控制臺命令符。

      4 入侵事件重構(gòu)的主要方法

      在現(xiàn)有的重構(gòu)方法中,日志分析和時間線重構(gòu)都基于時間戳,語義完整性分析則根據(jù)數(shù)據(jù)對象之間的因果關(guān)系進(jìn)行重構(gòu)。重構(gòu)模型主要基于有限狀態(tài)機(jī)模型,包括計(jì)算機(jī)歷史模型和確定性狀態(tài)自動機(jī)模型。

      4.1 基于時間戳的日志分析

      日志是描述計(jì)算機(jī)系統(tǒng)行為的記錄,主要包括對操作系統(tǒng)、應(yīng)用程序和用戶的行為。通過日志可以實(shí)現(xiàn)包括對用戶行為的檢測、對異常事件的分析、對系統(tǒng)資源或者網(wǎng)絡(luò)流量的監(jiān)控等。

      日志文件通常由時間戳、信息和子系統(tǒng)所特有的其他信息組成。其中時間戳屬性極為重要。文獻(xiàn)[21]基于時間戳提出一種假設(shè)方法:將歷史時鐘值用公式表示作為一個時鐘假設(shè),假設(shè)可以通過構(gòu)建一個影響時間戳的行為模型來測試時間戳證據(jù)的一致性,而由時間戳證據(jù)得到的時鐘假設(shè)可以證明該假設(shè),并重構(gòu)得到以國內(nèi)時間為準(zhǔn)的事件序列。該方法利用事件之間的因果關(guān)系,由時間戳建立假設(shè)對事件間的關(guān)聯(lián)進(jìn)行測試,從而確定一致性。

      文獻(xiàn)[22]關(guān)注于日志文件中的事件是否偽造。其中證據(jù)被分為可信證據(jù)和不可信證據(jù),可信證據(jù)如網(wǎng)絡(luò)運(yùn)營商(ISP)的網(wǎng)絡(luò)日志,不可信證據(jù)如由計(jì)算機(jī)得到的日志。由可信證據(jù)得到確定的事件序列,其中每一事件都會映射計(jì)算機(jī)上的一或多個事件。一旦由不可信日志得到的事件序列與可信證據(jù)得到的事件序列有矛盾,即可證明日志被篡改偽造。

      另外,日志分析技術(shù)通常由時間戳來重構(gòu)事件序列,但時間戳通常依賴計(jì)算機(jī)時鐘得到,而由此生成相關(guān)事件的過程非常復(fù)雜,如時鐘偏移導(dǎo)致的不確定性、時區(qū)導(dǎo)致的環(huán)境因素及人為因素(如時鐘干預(yù))等都會影響本機(jī)上生成的時間戳。文獻(xiàn)[23]通過比較計(jì)算機(jī)系統(tǒng)時間和國內(nèi)時間的關(guān)系,發(fā)現(xiàn)計(jì)算機(jī)的時間段有許多反常的和無法確定的異常點(diǎn)。由于許多無法預(yù)測的且存在時間很短的變化,時間戳十分復(fù)雜。

      4.2 基于語義的事件重構(gòu)

      語義分析是一種邏輯階段,通過對結(jié)構(gòu)上正確的文本進(jìn)行上下文有關(guān)聯(lián)的性質(zhì)進(jìn)行審查來確定類型是否匹配?;谡Z義的事件重構(gòu)通過對系統(tǒng)中數(shù)據(jù)對象之間已無法改變的關(guān)系進(jìn)行分析,從而檢測語義之間的不一致或關(guān)聯(lián)關(guān)系。如 BackTracker就包含著三角依賴關(guān)系:接受對象(如對文件執(zhí)行讀操作的進(jìn)程)、發(fā)送對象(如被讀的文件)以及事件間的時間間隔。如果事件序列不滿足以上關(guān)系,如發(fā)送對象在接受對象之前,就違反了語義邏輯關(guān)系。

      文獻(xiàn)[24]提出一種自動分析語義完整性工具,通過建立決策樹來發(fā)現(xiàn)數(shù)據(jù)之間的不一致,進(jìn)而假設(shè)得到攻擊場景。其中,數(shù)據(jù)間的不一致為語義矛盾,即違反語義規(guī)則的事實(shí)。語義規(guī)則是由恒定關(guān)系(即系統(tǒng)在管理員權(quán)限下存在的數(shù)據(jù)對象之間的規(guī)范關(guān)系)定義的。而針對數(shù)據(jù)量龐大,使用基于規(guī)則的前向鏈接系統(tǒng),將收集到的證據(jù)利用決策樹得到數(shù)字對象間的恒定關(guān)系,并存入到知識庫中作為推理規(guī)則。如果得到了矛盾的事實(shí),在此基礎(chǔ)上提出一些假設(shè),再通過反向鏈接系統(tǒng)搜索支持假設(shè)的事實(shí)。

      文獻(xiàn)[25]提出一種基于Linux的FACE(Forensics Automated Correlation Engine),從大量的取證目標(biāo)中自動進(jìn)行證據(jù)搜索和與結(jié)果相關(guān)聯(lián)的語義分析。包括:對運(yùn)行中的機(jī)器狀態(tài)進(jìn)行重構(gòu);對網(wǎng)絡(luò)行為分析語義并得到這些行為的來源;將網(wǎng)絡(luò)記錄中的數(shù)據(jù)與開始該行為進(jìn)程的用戶相關(guān)聯(lián)。FACE的主要數(shù)據(jù)對象包括內(nèi)存?zhèn)浞?、網(wǎng)絡(luò)記錄、磁盤鏡像、日志文件和用戶的賬戶/配置文件。另外,F(xiàn)ACE還可以顯示出單個用戶如開放文件、活動的網(wǎng)絡(luò)連接和運(yùn)行進(jìn)程的所有行為,從而得到重構(gòu)數(shù)據(jù)。

      4.3 基于操作系統(tǒng)層對象依賴追蹤技術(shù)的事件重構(gòu)

      這部分的重構(gòu)系統(tǒng)主要通過對系統(tǒng)調(diào)用層的事件和對象進(jìn)行監(jiān)視來收集證據(jù)。

      文獻(xiàn)[26]提出一種通過比較一段時間內(nèi)由獲得的系統(tǒng)狀態(tài)來重構(gòu)數(shù)字事件的方法。其研究對象 Microsoft Windows Restore Point數(shù)據(jù)為操作系統(tǒng)在默認(rèn)情況下自動對注冊表hives文件的快照備份,保存在系統(tǒng)信息目錄下。通過比較數(shù)據(jù)將被占用的狀態(tài)信息組織得到用戶和系統(tǒng)事件的時間表。通過對系統(tǒng)快照間進(jìn)行比較,有效地減少事件間的時間跨度。狀態(tài)間的時間間隔越短,可以被確定的狀態(tài)變化越多。

      另外,文獻(xiàn)[27]通過 Windows中內(nèi)置在操作系統(tǒng)中的windows shell和資源管理器跟蹤用戶打開的窗口屬性。稱這些信息為 shellbag,存放在注冊表中的固定位置(HKEY_USERS),可以關(guān)聯(lián)到用戶最近使用的文件夾的屬性,包括文件夾的值、MRU(Most Recently Used)文件夾的項(xiàng)和值。通過檢查shellbag快照,可以確定用戶和系統(tǒng)之間必然發(fā)生的事件或在某個時間段中必然不會發(fā)生的事件,比較不同狀態(tài)之間的差別即可重構(gòu)用戶行為。

      文獻(xiàn)[28]在Window本身的數(shù)據(jù)來源之外發(fā)現(xiàn)應(yīng)用軟件中的簽名同樣會記錄用戶事件。通過實(shí)驗(yàn)發(fā)現(xiàn),在 IE8、Firefox和MSN Message2009中,通過簽名都能得到對應(yīng)軟件記錄的用戶行為和時間戳,這些記錄都會被保存在程序?qū)?yīng)的注冊表中。

      4.4 基于有限狀態(tài)機(jī)模型的事件重構(gòu)

      有限狀態(tài)機(jī)模型將受懷疑的電腦視為有限狀態(tài)機(jī),假設(shè)入侵者進(jìn)行某種操作行為后計(jì)算機(jī)系統(tǒng)處于某一狀態(tài),則所有可能導(dǎo)致這一狀態(tài)的場景或事件都可以通過逆推回溯得到。文獻(xiàn)[29]曾提到,許多數(shù)字系統(tǒng)如數(shù)字電路、計(jì)算機(jī)程序和通信協(xié)議等都可以在數(shù)學(xué)上用虛擬狀態(tài)機(jī)來描述,以圖來表示,其中每個節(jié)點(diǎn)代表了每種可能狀態(tài),每個箭頭表示每種可能狀態(tài)間的轉(zhuǎn)換。

      4.4.1 計(jì)算機(jī)歷史模型

      文獻(xiàn)[30]認(rèn)為每個系統(tǒng)都可被看作包含大量狀態(tài)和完整過渡功能的FSM。但FSM模型并不直接支持可去除的部分(如外部存儲設(shè)備、協(xié)同處理器、網(wǎng)絡(luò)等),相比一臺計(jì)算機(jī)的狀態(tài)而言過于簡單。同時當(dāng)系統(tǒng)容量或計(jì)算能力變化時,由于靜態(tài)導(dǎo)致一系列參數(shù)都要隨之變化,因此提出計(jì)算機(jī)歷史模型,將一個或多個低級的事件串聯(lián)起狀態(tài)過程。其中,數(shù)字系統(tǒng)為一系列關(guān)聯(lián)的數(shù)字存儲設(shè)備和事件設(shè)備,存儲設(shè)備存儲一個或多個值,事件設(shè)備代表存儲地址狀態(tài)的改變。系統(tǒng)的狀態(tài)代表所有存儲地址的離散值,事件則是系統(tǒng)狀態(tài)的改變。

      在此基礎(chǔ)上,文獻(xiàn)[31]提出基于事件的數(shù)字取證調(diào)查框架。如圖 2所示,框架包括證據(jù)檢查、角色分類、事件重構(gòu)和測試,事件排序以及假設(shè)測試。其中,針對假設(shè)測試,文獻(xiàn)[32]提出在可用的證據(jù)上建立假設(shè),然后通過重構(gòu)工具Virtual Security Testbed(ViSe)在其獨(dú)立的虛擬環(huán)境上重構(gòu)事件進(jìn)行測試。通過VMware對多個操作系統(tǒng)使用ViSe,將事件重構(gòu)測試的重點(diǎn)從建立一個攻擊者的行為轉(zhuǎn)向分析其影響。但VMware并不提供手機(jī)和PDA的嵌入式系統(tǒng)仿真。

      圖2 基于事件的數(shù)字取證調(diào)查框架

      4.4.2 確定性狀態(tài)自動機(jī)模型

      FSM除了靈活性差外,方法中用以回溯過去狀態(tài)的事件場景非常龐大也是一大問題。DFA將系統(tǒng)狀態(tài)間的轉(zhuǎn)換用較簡單的表達(dá)式來代替解決以上問題。在DFA中,狀態(tài)間的轉(zhuǎn)換過程被簡化為三者關(guān)系:(state1, event, state2)。如圖3所示,有2個唯一的轉(zhuǎn)換過程:A-1->B和B-1->B,而該轉(zhuǎn)換過程還可通過表達(dá)式“A-1->B-1->B”定義。另外,定義“證人證詞”為每一種可能的表達(dá)式的限制要求,如圖中的限制為起始狀態(tài)為A-1->B。這樣,F(xiàn)SM中一個可能的表達(dá)式和其限制通過取合集就可得到有限的集合從而構(gòu)建有限的自動機(jī)[33]。

      圖3 確定性狀態(tài)自動機(jī)簡化模型

      5 其他研究

      面對種樣繁多的重構(gòu)模型,如何建立一個標(biāo)準(zhǔn)化平臺來比較各種模型的優(yōu)異顯得越發(fā)重要。文獻(xiàn)[34]提出基于圖靈機(jī)提供一個標(biāo)準(zhǔn)化重構(gòu)平臺檢測其他重構(gòu)的效率及誤差率。該模型將系統(tǒng)分為 2個獨(dú)立部分:(1)由用戶控制;(2)由用戶和處理器重構(gòu)事件,記錄與用戶事件相對應(yīng)的處理器操作,在計(jì)算機(jī)系統(tǒng)原始空白狀態(tài)上模擬用戶的操作重構(gòu)事件。

      此外,基于半導(dǎo)體的內(nèi)存卡(如USB、外接格式存儲介質(zhì)等)由于其便攜的優(yōu)點(diǎn)而變得越來越普及,其輕小短的屬性及非揮發(fā)性閃存使得在生活工作中大量得到使用,如手機(jī)等。未來展望的方向可以延伸到實(shí)時非揮發(fā)性內(nèi)存上[35]。

      與其他網(wǎng)絡(luò)安全管理的相關(guān)產(chǎn)品聯(lián)系起來形成一類更全面、更智能化的綜合技術(shù)也是發(fā)展的一大趨勢。網(wǎng)絡(luò)安全管理中的關(guān)鍵技術(shù)主要包括信息集成、智能分析引擎、協(xié)同及通信規(guī)范3類[36]。

      6 入侵事件重構(gòu)的分析

      6.1 證據(jù)來源比較

      基于系統(tǒng)應(yīng)用層事件/對象的重構(gòu),從證據(jù)獲取上來說較為方便,但其中也包含了大量無用信息。另外,一般系統(tǒng)的日志通常只記錄與應(yīng)用執(zhí)行有關(guān)的事件和對象,由于在用戶空間運(yùn)行很容易喪失記錄能力。注冊表項(xiàng)保存的通常只是文件系統(tǒng)的最后狀態(tài),并不能提供攻擊時系統(tǒng)的狀態(tài)信息,無法保證證據(jù)的可信性。虛擬機(jī)技術(shù)實(shí)現(xiàn)了記錄機(jī)器入侵層事件,但目前的語義并不規(guī)范,還需要大量實(shí)現(xiàn)進(jìn)行分析。網(wǎng)絡(luò)日志對加密通信也沒有足夠的幫助,且提供的是系統(tǒng)應(yīng)用層信息。

      基于操作系統(tǒng)層對象/事件的重構(gòu)可以解決以上的問題。通過內(nèi)存獲取系統(tǒng)當(dāng)前的實(shí)時信息,包括用戶事件、文件、讀寫操作與系統(tǒng)內(nèi)存、進(jìn)程之間的關(guān)聯(lián),并且不容易被入侵者篡改甚至刪除。但內(nèi)存的存儲容量過小,數(shù)據(jù)通常直接覆蓋,而且一旦電源斷開就無法獲取證據(jù)。另外現(xiàn)在使用的主流操作系統(tǒng)如Windows并不開源,數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型、結(jié)構(gòu)功能等不明確,內(nèi)存中數(shù)據(jù)存儲的位置不確定。這在研究時都成為受限制的瓶頸。

      6.2 入侵事件重構(gòu)方法比較

      基于時間戳的日志分析技術(shù)由于各種系統(tǒng)日志、應(yīng)用程序日志、網(wǎng)絡(luò)日志的存在十分普及。除了數(shù)據(jù)量龐大、日志格式繁多的問題外,由于由本地時鐘生成的時間戳與絕對時間不一定完全準(zhǔn)確,會導(dǎo)致重構(gòu)事件序列并不準(zhǔn)確。一旦被入侵者利用,通過修改計(jì)算機(jī)本地時間產(chǎn)生誤導(dǎo)調(diào)查者的事件序列,從而掩蓋入侵者的蹤跡。

      基于語義的事件重構(gòu)將邏輯推理中的一些基本方法與事件重構(gòu)相結(jié)合。關(guān)鍵之處在于找到合理的邏輯關(guān)系,不僅能夠通用、簡單,而且要誤報(bào)率低,只有當(dāng)入侵發(fā)生時才會不符合此關(guān)系。生成邏輯關(guān)系庫既要保證可靠性、真實(shí)性,又要提高效率,去除掉與入侵無關(guān)的事件,如何在兩者之間平衡好關(guān)系十分困難。

      基于操作系統(tǒng)層對象的依賴追蹤技術(shù)的事件重構(gòu)依賴于操作系統(tǒng)內(nèi)部的數(shù)據(jù)結(jié)構(gòu),極大提高重構(gòu)的真實(shí)性。但局限在于非常依賴于系統(tǒng)和應(yīng)用軟件的版本。Windows各版本間的系統(tǒng)數(shù)據(jù)結(jié)構(gòu)類型很多并不相同,如ShellBag僅針對Windows XP。而應(yīng)用軟件的版本更新更快,其簽名的生成以及不同版本之間的痕跡十分復(fù)雜,需要龐大的數(shù)據(jù)庫支持。

      FSM推理只限于逆向,靈活性很差。CHM與以往其他基于取證工具或是基于已有模型的事件重構(gòu)不同,關(guān)注重點(diǎn)在于如何創(chuàng)建得到數(shù)字證據(jù),主要針對事件的起因和影響,由此假設(shè)重構(gòu)。但不足在于假設(shè)是以調(diào)查者的主觀為主的過程,并且基于過程模型。DFA則解決了回溯場景過多的問題,通過使用正則表達(dá)式來簡化場景,并且保證每一種可能的情況。但是實(shí)際分析的系統(tǒng)狀態(tài)不能太多。即使是最簡單的系統(tǒng)模型也需要龐大的抽象系統(tǒng)來分析具體的子集或合集數(shù)據(jù)。另外,目前只有通過著眼于重構(gòu)那些已知的一定發(fā)生的事件,而不是所有可能的事件來簡化。

      7 結(jié)束語

      入侵取證發(fā)展至今已有數(shù)十年,在這一階段提出了許多事件重構(gòu)的方法和模型框架,但仍有許多問題亟待解決:(1)重構(gòu)工具由于體系結(jié)構(gòu)很難應(yīng)對龐大的數(shù)據(jù)量和繁重的工作量,可在并行處理、可信度、可重復(fù)性、數(shù)據(jù)抽象化等方面加強(qiáng)提高[37]。(2)借助其他領(lǐng)域的技術(shù)方法來設(shè)計(jì)構(gòu)建新的方法模型,包括云技術(shù)、聚合與事件關(guān)聯(lián)、語義邏輯、數(shù)據(jù)挖掘、神經(jīng)網(wǎng)絡(luò)等。(3)該領(lǐng)域在公認(rèn)的標(biāo)準(zhǔn)評估方面還有待完善。(4)現(xiàn)有的實(shí)驗(yàn)基礎(chǔ)大多建立在為了評估入侵檢測系統(tǒng)而設(shè)計(jì)的公共數(shù)據(jù)集上,并不支持全面的攻擊場景。不僅不同類型的入侵檢測系統(tǒng)之間數(shù)據(jù)無法融合,而且與其他軟件之間也不能互動。(5)隨著網(wǎng)絡(luò)應(yīng)用范圍的發(fā)展,網(wǎng)絡(luò)入侵檢測將是一大趨勢,如網(wǎng)絡(luò)日志解密、面向IPv6等。

      [1]伏 曉.入侵取證中的自動證據(jù)分析技術(shù)研究[D].南京:南京大學(xué), 2011.

      [2]伏 曉, 石 進(jìn), 謝 立.用于自動證據(jù)分析的層次化入侵場景重構(gòu)方法[J].軟件學(xué)報(bào), 2011, 22(5): 996-1008.

      [3]Bogen A C, Dampier D A.Unifying Computer Forensics Modeling Approaches——A Software Engineering Perspective[C]//Proc.of the 1st International Workshop on Systematic Approaches to Digital Forensic Engineering.[S.l.]: IEEE Press, 2005: 27-39.

      [4]Herrer?as J, Gómez R.Log Analysis Towards an Automated Forensic Diagnosis System[C]//Proc.of International Conference on Availability, Reliability and Security.[S.l.]:IEEE Press, 2010: 659-664.

      [5]Arasteh A R, Debbabi M, Sakha A, et al.Analyzing Multiple Logs for Forensic Evidence[J].Digital Investigation, 2007, 4: 82-91.

      [6]Morgan T D.Recovering Deleted Data From the Windows Registry[J].Digital Investigation, 2008, 5: 33-41.

      [7]Mee V, Tryfonas T, Sutherland I.The Windows Registry as a Forensic Artefact: Illustrating Evidence Collection for Internet Usage[J].Digital Investigation, 2006, 3: 166-173.

      [8]Khan M N A, Chatwin C R, Young R C D.A Framework for Post-event Timeline Reconstruction Using Neural Networks[J].Digital Investigation, 2007, 4: 146-157.

      [9]丁麗萍, 周博文, 王永吉.基于安全操作系統(tǒng)的電子證據(jù)獲取與存取[J].軟件學(xué)報(bào), 2007, 18(7): 1715-1729.

      [10]Rutkowska J.Beyond the CPU: Defeating Hardware Based RAM Acquisition[EB/OL].(2007-05-31).http://www.docin.com/p-23650823.html.

      [11]Libster E, Kornblum J D.A Proposal for an Integrated Memory Acquisition Mechanism[J].ACM SIGOPS Operating Systems Review, 2008, 42(3): 14-20.

      [12]Schatz B.BodySnatcher: Towards Reliable Volatile Memory Acquisition by Software[J].Digital Investigation, 2007, 4: 126-134.

      [13]Russinovich M E, Solomon D A, Ionescu A.Microsoft Windows Internals[M].5th ed.[S.l.]: Microsoft Press, 2009.

      [14]Smith J E, Nair R.The Architecture of Virtual Machines[J].Computer, 2005, 38(5): 32-38.

      [15]Schuster A.Searching for Processes and Threads in Microsoft Windows Memory Dumps[J].Digital Investigation, 2006, 3: 10-16.

      [16]Walters A A, Petroni N L.Volatools: Integrating Volatile Memory Forensics into the Digital Investigation Process[EB/OL].(2007-02-28).http://www.blackhat.com/presentations/bhdc-07/Walters/Paper/bh-dc-07-Walters-WP.pdf.

      [17]Dolan G B, Srivastava A, Traynor P, et al.Robust Signatures for Kernel Data Structures[C]//Proc.of the 16th Conference on Computer and Communications Security.[S.l.]: ACM Press,2009.

      [18]Zhang Ruichao, Wang Lianhai, Zhang Shuhui.Windows Memory Analysis Based on KPCR[C]//Proc.of the 5th International Conference on Information Assurance and Security.[S.l.]: IEEE Press, 2009.

      [19]Dolan G B.The VAD Tree: A Process-eye View of Physical Memory[J].Digital Investigation, 2007, 4: 62-64.

      [20]Stevens R M, Casey E.Extracting Windows Command Line Details from Physical Memory[J].Digital Investigation, 2010, 7: 57-63.

      [21]Willassen S Y.Timestamp Evidence Correlation by Model Based Clock Hypothesis Testing[C]//Proc.of the 1st International Conference on Forensic Applications and Techniques in Telecommunications, Information and Multimedia.[S.l.]: ACM Press, 2008.

      [22]Tang Maolin, Fidge C.Reconstruction of Falsified Computer Logs for Digital Forensics Investigations[C]//Proc.of the 8th Australasian Conference on Information Security.Sydeny,Australia: Australian Computer Society, 2010.

      [23]Schatz B, Mohay G, Clark A.A Correlation Method for Establishing Provenance of Timestamps in Digital Evidence[J].Digital Investigation, 2006, 3: 98-107.

      [24]Stallard T, Levitt K.Automated Analysis for Digital Forensic Science: Semantic Integrity Checking[C]//Proc.of the 19th Annual Computer Security Applications Conference.[S.l.]:IEEE Press, 2003: 160-167.

      [25]Case A, Cristina A, Marziale L, et al.FACE: Automated Digital Evidence Discovery and Correlation[J].Digital Investigation,2008, 5: 65-75.

      [26]Zhu Yuandong, James J, Gladyshev P.A Comparative Methodology for the Reconstruction of Digital Events Using Windows Restore Points[J].Digital Investigation, 2009, 6: 8-15.

      [27]Zhu Yuandong, Gladyshev P, James J.Using shellbag Information to Reconstruct User Activities[J].Digital Investigation, 2009, 6: 69-77.

      [28]James J, Gladyshev P, Zhu Yuandong.Signature Based Detection of User Events for Postmortem Forensic Analysis[J].Digital Forensics and Cyber Crime, 2011, 53: 96-109.

      [29]Carrier B.A Hypothesis-based Approach to Digital Forensic Investigations[D].West Lafayette, USA: Purdue University, 2006.

      [30]Carrier B, Spafford E H.An Event-based Digital Forensic Investigation Framework[C]//Proc.of Digital Forensic Research Workshop.Baltimore, USA: [s.n.], 2004.

      [31]Carrier B D, Spafford E H.Categories of Digital Investigation Analysis Techniques Based on the Computer History Model[J].Digital Investigation, 2006, 3: 121-130.

      [32]Arnes A, Haas P, Vigna G, et al.Digital Forensic Recon Struction and the Virtual Security Testbed Vise[C]//Proc.of the 3rd International Conference on Detection of Intrusions and Malware & Vulnerability Assessment.Berlin, Germany:Springer-Verlag, 2006: 144-163.

      [33]James J, Gladyshev P, Abdullah M T, et al.Analysis of Evidence Using Formal Event Reconstruction[EB/OL].(2010-11-25).http://dblp.uni-trier.de/db/conf/icdf2c/icdf2c2009.html#JamesGAZ09.

      [34]Hankins R, Uehara T, Liu Jigang.A Turing Machine-based Model for Computer Forensic Reconstruction[C]//Proc.of the 3rd IEEE International Conference on Secure Software Integration and Reliability Improvement.[S.l.]: IEEE Press,2009: 289-290.

      [35]Lee J T, Choi H K, Kim K J.Gathering and Storage Technique Implementation of Volatility Memory Data for Real-forensic[C]//Proc.of the 4th International Conference on Computer Sciences and Convergence Information Technology.[S.l.]: IEEE Press, 2009: 1076-1079.

      [36]伏 曉, 蔡圣聞, 謝 立.網(wǎng)絡(luò)安全管理技術(shù)研究[J].計(jì)算機(jī)科學(xué), 2009, 36(2): 15-19.

      [37]Ayers D.A Second Generation Computer Forensic Analysis System[J].Digital Investigation, 2009, 6: 34-42.

      猜你喜歡
      注冊表日志進(jìn)程
      一名老黨員的工作日志
      華人時刊(2021年13期)2021-11-27 09:19:02
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      債券市場對外開放的進(jìn)程與展望
      中國外匯(2019年20期)2019-11-25 09:54:58
      更上一層樓 用好注冊表編輯器
      游學(xué)日志
      社會進(jìn)程中的新聞學(xué)探尋
      一種基于粗集和SVM的Web日志挖掘模型
      我國高等教育改革進(jìn)程與反思
      Linux僵死進(jìn)程的產(chǎn)生與避免
      學(xué)習(xí)器揭開注冊表面紗
      移動一族(2009年3期)2009-05-12 03:14:30
      平泉县| 炎陵县| 昭通市| 漯河市| 云霄县| 确山县| 岐山县| 新干县| 清原| 绥江县| 宜章县| 西宁市| 嘉善县| 客服| 龙江县| 巴南区| 丹江口市| 仁化县| 白朗县| 宝山区| 朔州市| 威海市| 无锡市| 太康县| 克东县| 砀山县| 武陟县| 德清县| 乌什县| 苗栗市| 于田县| 娱乐| 两当县| 西青区| 麦盖提县| 荃湾区| 丹寨县| 佛冈县| 平遥县| 盘锦市| 安塞县|