計算機調查取證分析篇

在計算機取證的採集篇中,我們側重講述了證據採集方面的內容,計算機調查取證的另一項重要工作就是對採集的“電子證據”進行分析。單憑原始證據是無法滿足訴訟要求的,我們必須進行正確的處理以對惡意行爲進行還原;因爲即使對專業人士來說,電子證據也是隱晦而難於理解的。下面我們就着重向大家介紹一下計算機調查取證中的分析工作。 

我們分析什麼 

通常在完成了證據採集工作之後,我們會獲得一份被調查機器的介質鏡像,很多時候還會獲得一些內存內容的收集,以及在被調查環境提取的口述信息和情況記錄等等。與傳統證據一樣,電子證據應該是準確完整的,只有具備足夠可信性的證據纔會受到認可。假如我們把現場取證的磁盤鏡像連在筆記本電腦上就可以直接瀏覽到攻擊記錄,那可真是太棒了,不過絕大多數情況下我們沒有這樣的好運氣。被調查者的技術水平越高、經驗越豐富,有用的證據就越難獲得。它們可能被刪除了,或者藏在不容易找到的角落,也可能經過了加密,我們需要跨越重重阻礙,將證據發掘出來。下面我們以最常見的情況 – 我們有被調查計算機的硬盤鏡像 - 爲例介紹分析證據的基本方法,對於一些特別情況我們會在講述的過程中爲大家特殊說明。 

開始之前 

首先我們要確認我們正在分析的確實是鏡像的副本,絕對不能在原始鏡像上進行分析工作。在副本上我們可以更加放鬆的進行分析而不必擔心會危害原始證據,如果鏡像副本被破壞,我們可以很容易的再建立一份。在這裏我們建議在分析工作開始之前建立兩份副本,一份用於馬上開始的分析工作,一份留待意外情況發生時做爲重建副本的“源”,之所以建立第二份副本是因爲我們必須盡一切可能減少對原始鏡像的訪問,這是原則。 

開始正式的分析工作之前,我們要爲磁盤鏡像生成一份MD5記錄,這一工作一定要在對鏡像進行任何操作之前進行,如果我們對鏡像中的文件執行了列表命令甚至開啓了其中的文件,那這份列表就會失去其應有的價值。 

基礎分析 - 看看我們都帶回了什麼 

將磁盤鏡像接駁在我們的分析工作站上,我們先查看該鏡像的分區格式,以大致瞭解需要用到的分析工具。很多時候我們使用Linux等操作系統以只讀形式掛載需要分析的鏡像,這樣可以防止不經意的操作對鏡像造成破壞。 

隨後我們可以對整個文件系統進行遍歷式的瀏覽,以大致瞭解被調查系統的情況。如果我們是在調查攻擊者的計算機,通過應用程序的部署情況我們可以瞭解其技術能力甚至分析出其破解系統的習慣;如果調查的是一個被攻破的Internet的主機,我們即使無法發現隱藏的攻擊工具,至少也可以獲悉哪些內容可能對攻擊者具有吸引力這樣的信息。一個好的習慣是在分析的每個步驟都將結果輸出成文件。比如利用如下命令將鏡像中的文件列表導出:ls /mnt/20050102 -alR > /home/forensic/list.txt。這樣我們不但擁有了一份方便查閱的記錄,而且還可以在這個列表中對文件名、時間進行搜索,這對後續的分析工作很有幫助。 

在進行分析之前,我們假定已對發生的事件及相關人員進行了調查,這些信息瞭解的越充分,我們在分析證據時就越有目的性。畢竟能夠縮小搜尋的範圍,比漫無目的的遍歷要省時的多。例如可能有一些關鍵字值得去搜索,這些關鍵字可能是姓名、數字或者二進制程序的某個獨一無二的指紋。關鍵字的選擇需要特別的注意,過於常見的關鍵字會造成返回的搜索結果過多而無法進一步開展工作,關鍵字太過生僻則很可能無法獲得可用的結果或遺漏一些有用的內容。除了搜索數據內容之外,這些數據的時間屬性也可以提供非常重要的訊息。大部分操作系統中的文件都具有創建時間、修改時間和最後被訪問時間等屬性,這些對還原系統中發生的事件很有幫助。例如我們通過詢問相關人員或查看日誌文件獲知攻擊行爲大致在某日的23:00左右發生,我們就可以通過設定搜索條件來找出在這一時間點前後的一個範圍內修改過的文件,從而獲得更進一步的證據。 

除了顯見的數據內容之外,還有一些地方可能存在數據。我們知道,操作系統在刪除文件的時候其實並非將數據從磁介質上徹底的抹除,而通常是重置相應簇的目錄表及文件分配表;這樣操作系統就認爲該簇處於空白狀態,是可以被寫入數據的;而其實舊有的數據內容仍舊保存在磁介質上。例如,一些應用程序會在保存數據的時候會把目的簇中的舊有數據囊括進來,我們如果搜索這個文件,就可能獲得一些操作系統認爲已經被刪除了的數據;而大部分文件佔用的最後一個簇通常沒有被寫滿,在這個沒有寫滿的區段裏就可能含有有用的證據,而這些內容也是無法被通常的應用程序識別的;同樣,只要不是全新的磁盤,在其未分配空間、分區表中都有可能存在着數據;另外值得一提的是,除了刪除的文件並不一定真的被“刪除”之外,即使一個文件簇被其他數據完全覆蓋掉,其原有的數據的痕跡仍有可能被讀取出來,在擁有專業設備的情況下,被格式化的磁盤以及被數據覆蓋多次的磁盤都存在很多可以被恢復的“歷史數據”。這些都是我們需要分析的地方,不要小看這些可能只有幾十字節的“碎片”,有時很多碎片拼接起來會揭示驚人的事實,而且很多情況下只是幾個字符的發現,就可能使情況完全改觀。在分析這類非常規數據的時候,我們的必備工具是帶有強大搜索功能的、支持多種進制的編輯器,UltraEdit32是其中的佼佼者之一,Class UNIX平臺下還有很多提供類似功能的軟件包,大家可以選擇自己習慣使用的。 

聯機分析 - 象一種藝術 

靜態的分析和搜尋通常不足以獲得滿意的結果,我們還需要利用鏡像文件還原其實際的運行環境,在該環境中繼續尋找證據。有很多工作在聯機環境才能進行,比如查看Windows系統的註冊表設置、驗證Linux系統的內核完整性等等,我們可能需要在聯機環境下監測很長時間,才能發現非法用戶設下的機關。這一階段的工作和我們檢查系統安全狀態時所做的非常類似。我們說過計算機調查工作沒有定式,在每完成一項操作之後我們都需要選擇如何繼續,很多情況下我們手頭的東西不足以達到最終目標,這時千萬不要把眼光侷限在眼前。放開思維,我們大可以重新進行一次證據採集,因爲不可能每次採集工作都沒有遺漏;在調查Internet主機時,我們也可以將在鏡像副本上運行的系統重新聯線,因爲攻擊者在取得了成果之後通常都會回來享用它,我們可以開啓一個嗅探程序,爲攻擊者設下陷阱,以獲得有效的證據;在我們獲得可疑的入侵地址時,可以沿着網路進行回溯,向其所經過節點的管理員索取日誌文件和其它信息。總之,我們有數不清的方法和工具可以利用,也有無數的選擇在等待着我們,有時候這種工作真的象藝術一樣。 

最後,在我們工作了很長時間並獲得了大量內容之後,還要對其做爲證據的可能性進行現實的評估。這往往需要考察所獲得的信息和我們正在調查的事件有多大的關聯,判斷我們是否已經能夠說明是誰在什麼時間做了什麼以及造成了何種後果。只有獲得足以充分說明非法行爲的證據,並能夠完整還原被調查事件的情況下,計算機調查取證工作纔是真正成功的。雖然在真實世界裏並不是每一次調查工作都能達到這麼完美的效果,但這始終是計算機調查人員的唯一目標。 

結語 

我們介紹的內容只是針對基本計算機系統的一些貫常的工作方法,現實環境要複雜的多。我們需要調查的環境可能有一些路由設備,還部署着網關防火牆,在這種環境中調查,其複雜程度要遠遠高於對單個計算機設備進行調查。我們希望這些內容可以幫助大家起步,並獲得足夠的認知,以繼續在計算機取證領域獲得成長。也希望今後還有更多機會與大家分享和探討這一領域的知識和資訊。 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章