- 內存取證原理與實踐
- 王連海 張睿超 徐麗娟 張淑慧
- 2773字
- 2019-09-12 14:37:44
1.3 計算機取證類型
計算機取證包括證據獲取和證據分析等,需要獲取的內容以電子數據的形式存在。計算機取證的主要對象和層次如圖1-1所示。根據獲取電子數據的時機,計算機取證一般分為離線方式和在線方式。
圖1-1 取證內容
1.3.1 離線取證
離線方式是指在關閉計算機或電子設備后,對相關數據進行取證,這是傳統的取證方式。早期的取證流程和規范規定:首先,使用切斷計算機電源的方式關閉計算機和電子設備,最大程度上保持電子數據的原始狀態;其次,對存儲介質進行比特對比特的鏡像復制;然后,分析存儲介質副本中的靜態數據和文件系統中的數據,從中分析得到需要的電子證據。例如,可以通過恢復刪除的數據或者文件碎片的方式,分析出文件的訪問模式、瀏覽器的訪問活動等。至今,這種方式仍然是應用最廣泛的一種計算機取證技術,應用于打擊計算機網絡犯罪、反恐等重要領域。
單一的離線取證方式存在一些顯而易見的不足。
首先,僅進行離線取證而沒有獲取易失性數據,會丟失案件關鍵信息。
當關閉計算機或電子設備時,當前系統的進程信息、當前登錄的用戶信息、網絡連接狀態、系統的內存信息等信息將丟失,而這些信息往往在調查網絡犯罪的過程中有著不可替代的作用。
其次,在許多情況下,離線取證無法獲取數據。
例如,現在Windows操作系統提供了BitLocker驅動器加密技術,加密整個Windows操作系統卷,用于保護用戶的硬盤數據。取證時,硬盤被鎖定且不知道密碼的情況下,就很難獲取數據。另外,很多硬盤也使用了BIOS加密,設置了硬盤的數據訪問鎖,必須在對應的主板且知道密碼的情況下才能訪問硬盤數據。這些加密保護的情況,必須對相應的加密系統進行破解,有時還需要針對硬盤的固件進行破解,才能最終訪問硬盤數據,給取證工作帶來很大的困難。
再次,很多應用場景中,如網吧等,用戶可能會用預裝操作系統的光盤(如Windows下定制的Windows PE、Linux下的Knoppix等)使用計算機,運行時候的數據并不保存在本地硬盤。
在云計算情況下,用戶通過計算機、手機等方式接入數據中心,運算和存儲大部分都在云端,本地硬盤中的有用數據極少,但由于受到國別、地域、法律、技術難度等種種限制,幾乎不可能對云計算中心進行取證。
諸如此類的情況還可以列舉出許多,這種情況下,在線取證就成為獲取證據的唯一手段。
最后,磁盤鏡像模式在很多情況下難以實施。
硬盤發展至今已經有幾十年的歷史,硬盤的體積越來越小而容量越來越大,從兆字節(MB)為單位到吉字節(GB),發展到現階段的太字節(TB)階段,可以預計在單個硬盤的容量擴充技術還會繼續增長。目前的磁盤鏡像技術,在復制速度上很難跟上存儲容量的發展,往往需要花費大量的時間。在有時間要求的情況下,完全磁盤鏡像模式難以實施。
現在,人類已經步入一個數字化的信息時代。IT在各個領域中正處于前所未有的關鍵地位,各種業務數據的數據量呈幾何級增加。為了長時間存儲并確保這些數據的可訪問性,設計了各種存儲技術架構,如磁盤陣列、分布式存儲等復雜的海量存儲解決方案。隨著云計算、移動計算等技術的發展,短信、電子郵件、文檔、圖片、視頻、社交網絡等數據更是急劇增長。云環境下,往往采用虛擬桌面技術,工作是在設備上進行,但是信息數據保存在云端,采用云存儲服務等復雜的海量存儲系統。這些系統的復雜程度和海量的存儲量導致在取證時,完全進行鏡像難以實施。
另外,在實際工作中,有些情況是無法靜態進行磁盤鏡像的。例如,對需要保障連續運行的系統,中斷系統的代價十分昂貴,會造成巨大的聲譽和金錢損失。
1.3.2 在線取證
在上述情況下,在線取證(Live Forensics)方式越來越受到人們的重視。在線取證是在不關閉目標計算機或電子設備的情況下,獲得目標計算機內存、磁盤等存儲介質中的電子數據,并進行分析呈現的取證方式。在線取證的核心任務是獲取計算機上的系統進程信息、加載的驅動程序、網絡連接狀況、當前打開的文件等易失性數據(Volatile Data),這些信息是信息安全事件追查、入侵取證分析的關鍵要素,而這些信息都駐留在計算機物理內存中,隨著宕機或系統重啟,這些信息將丟失。
計算機在線取證一般需要獲取以下幾方面的信息。
(1)內存信息:整個物理內存;每個應用程序使用的內存。
(2)網絡連接狀態:包括打開的端口,與打開端口相對應應用程序、當前和最近的連接、共享目錄、文件、網絡配置信息、路由信息、netbios信息等。
(3)進程信息:正在運行的進程信息;每個進程加載的動態鏈接庫;進程打開的文件;線程信息。
(4)文件信息:所有文件的創建、修改和訪問時間;隱藏文件;遠程打開的文件。
(5)用戶信息:當前登錄到系統的用戶,登錄記錄。
(6)系統信息:OS版本、OS序列號、OS安裝時間、系統時間、時區設置以及輸入法設置;正在運行的服務;所有已安裝的服務信息;歷史開機時間、系統啟動時間、環境變量;驅動程序信息;開機自動啟動信息:包括DOS自動加載程序、Windows啟動加載選項;USB等設備使用記錄;硬盤信息。
(7)應用程序信息。
(8)應用程序的密碼、登錄系統的密碼。
可以看出,計算機在線取證的任務是獲取計算機內存和頁面交換文件中存在的易失信息。早期的在線取證方式,很自然地采取一種直接方式,即針對需要獲取的具體數據,分別開發相應的取證工具,直接在目標計算機系統中獲取信息。在實際在線取證過程中,根據每次取證的需求,分析判斷取證的步驟、采用的工具、保存的方法,制定具體的取證方案,實施在線取證。這種方式可以滿足獲取信息的需求,但是從計算機取證的角度看,存在一些不足。
(1)獲取的在線證據的正確性難以保證。
進行在線取證過程中,一方面要根據每次在線取證的需要,分析系統,判斷出需要提取的信息,然后運行相應工具獲得證據,這個過程受到分析人員水平、工具本身以及反取證技術的影響,最后得到的結果正確性難以保證;另一方面,在線取證工具受到核心態木馬和病毒的影響,得到的數據可能是已被惡意程序篡改過的數據。
(2)時間長,存在丟失內存中和硬盤上有用信息的風險。
由于目前的在線取證工具,如Helix等工具在獲取證據時,需要持續的時間比較長,很可能覆蓋內存中可疑的信息。同時,惡意攻擊者也可能在這段時間刪除或破壞硬盤上的有用信息。
(3)易引起數據混淆。
當多個在線取證工具運行在目標系統中時,將不可避免地改變系統的數據和狀態,容易引起數據混淆,破壞了取證應盡量不影響原始現場的原則。
(4)方法不科學,依賴于一次過程,得到的證據結果難以質疑和檢驗。
在線證據獲取的過程中,同時包含收集、保存和分析等步驟,取證的過程階段難以劃分。獲取得到的證據,在法庭上往往會受到種種質疑。例如,如何證明在線取證時的分析判斷過程是科學的,獲取證據的工具是否是科學、可信的,獲取到的結果是否與需要證明的結論是相關的,是否忽略了能提供相反意見的數據等。這些問題因取證的現場已經消失(當時正在運行的計算機系統),無法通過與其他技術專家的重新檢測、分析進行質證,不能得到驗證,證據的科學性和可信度會降低。