◆王灝漢
Web瀏覽器客戶端取證技術的探索與應用
◆王灝漢
(北京電子科技學院 北京 100070 )
本文通過分析歷史記錄、WebCacheV01.dat、Index.dat等文件,搜尋用戶在瀏覽器中留下的上網痕跡,從而推斷用戶所進行的網絡活動。基于此,對Web瀏覽器客戶端的取證手段進行研究,探尋在無痕模式下的取證方式。
Web瀏覽器;取證技術;無痕模式
隨著信息化的發展及以網絡環境的復雜多變,泄密風險越來越高,黑客攻擊、盜竊國家秘密等案件類型、數量都在逐年增加,使得保密管理面臨的挑戰越來越大。因此,系統、翔實、便捷的保密督查技術和手段對于網絡安全、計算機取證方面起到了至關重要作用[1],這對于公安系統更好地打擊犯罪,處理網絡刑事案件,保密行政管理部門、國家安全部門更好地進行保密督查活動意義重大。
網絡取證的研究開始得較早[2],楊文靜等(2007)開展基于數據融合和數據挖掘技術的網絡取證技術的研究[3],李潔等(2015)進行了模擬DDoS攻擊場景下的云取證模型的研究[4],為取證技術研究打下的很好基礎。Web取證是當前計算機電子取證研究的一個重要方向。相對于傳統的單臺計算機取證分析,Web取證涉及客戶端、服務器端、多個操作系統、網絡設備等,需要綜合取證分析[5]。瀏覽器客戶端取證不僅是目前運用最為廣泛的Web取證方式[6],也是技術手段以及分析工具數量最多、最為全面的方式[7]。并且,新刑事訴訟法也對證據的內容做出了規定,規定證據包括視聽資料、電子數據,電子數據被獨立出來作為一種證據種類,這賦予了電子證據明確的法律地位。
在信息全球化背景之下,在法律框架下,Web取證已經逐漸成了目前新的網絡環境下解決保密督查難題的重要手段[7]。因此,圍繞Web瀏覽器客戶端取證技術進行探索與應用進行研究,對于Web取證有理論意義和實用價值。
計算機取證是指運用計算機辨析技術,對計算機犯罪行為進行分析以確認罪犯及計算機證據,并據此提起訴訟。也就是針對計算機入侵與犯罪,進行證據獲取、保存、分析和出示,是一個對受侵計算機系統進行掃描和破解,以對入侵事件進行重建的過程。不同的專家學者對計算機取證的定義不同:
Lee Garber為計算機取證下的定義是:計算機取證是分析和提取硬盤、光盤、軟盤、Zip和Jazz磁盤、內存緩沖以及其他形式的存儲介質中的數據,從而發現犯罪證據的過程[8]。
Judd Robbins給出的概念是:計算機取證是將計算機調查和分析技術應用于潛在的、有法律效力的證據的確定和提取。
系統管理審計和網絡安全協會SANS則歸結為:計算機取證是使用軟件和工具,按照一些預先定義的程序,全面地檢查計算機系統,以提取和保護有關計算機犯罪的證據。
Web取證屬于計算機取證的一部分,對其中每個設備的取證需要按照計算機取證標準流程進行。計算機取證遵循的原則、涉及的技術、取證過程和應當注意的事項、原則上都適用于Web取證。
Web取證主要涉及兩方面取證:服務器端的取證工作和客戶端的取證工作。此外,在Web取證過程中,往往還會涉及相關網絡設備的取證工作[7]。計算機取證與Web取證的系統框架如圖1所示。
瀏覽器端使用ESE數據庫保存相關數據信息,Web取證就是通過其中的訪問記錄、cookie數據、URL信息以及緩存文件記錄等信息進行取證的。在客戶機系統上,它們都被保存在數據文件中。有的訪問記錄、cookie數據以及緩存文件記錄是以Index.dat數據格式分別保存在各自對應的文件目錄內,有的保存在系統統一目錄下的 WebcacheV01.dat文件中。而Web瀏覽器客戶端取證就是對這些Index.dat文件、WebcacheV01.dat文件以及其他日志文件進行分析,從而獲取其中有用的信息。

圖1 計算機取證與Web取證系統框架圖
對瀏覽器歷史記錄的分析是Web取證常見的技術支持,并且也是其重要的組成部分。主要目的在于檢查并分析計算機用戶通過網絡瀏覽器在互聯網上查看了哪些內容,在互聯網上進行了哪些活動。一些關鍵證據有時會隱藏在嫌疑人的在線搜索、電子郵件及網頁瀏覽歷史記錄中。因此,在涉及網絡信息泄密案以及一些通過Web瀏覽器造成的泄密案件中,瀏覽器歷史記錄分析能夠鎖定或排除犯罪嫌疑人,理清整個泄密時間的來龍去脈,對督查工作和保密管理中的泄密案件的查處工作都起到了很大的幫助。在其他案件中,瀏覽器歷史記錄分析也能夠幫助確定嫌疑人的大致行為輪廓,甚至有時在與計算機網絡無關的泄密案件中,瀏覽器歷史記錄也能提供重要信息。
目前,常見的歷史記錄分析工具比比皆是,包括Browser History Spy、MANDIANT Web Historian、Chrome History Manager等等,都是Web取證工作中不錯的選擇。其中,Browser History Spy是一個允許調查收集、顯示和分析網絡歷史數據的工具,支持多種操作系統,支持Firefox、Chrome和IE瀏覽器。它可以自動檢測正確的歷史數據庫文件基于瀏覽器和當前的用戶配置;當不得不從另一個系統恢復歷史數據時,還可以手動指定不同瀏覽器的不同歷史文件?,F以Browser History Spy為例,對IE瀏覽器的歷史記錄進行分析和進一步探究。
首先,將Browser History Spy下載下來,查看詳細信息如圖2所示。
打開界面可以清晰地看到支持的三類瀏覽器選項欄,前面兩種(火狐和谷歌)都需要指定歷史信息的位置及確切的目錄,而IE瀏覽器會自動識別版本信息和歷史記錄的位置,不用手動指定??梢砸绘I查詢,點擊后直接出現所有歷史記錄信息的表單(如圖3所示)。
圖3中顯示列出來的所有歷史記錄是按照名稱進行分類的,在相同URL的類別中又以時間升序排列,相當清晰直觀地看到所有的歷史記錄,其中包括了Website URL(網址)、Website Title(網站標題)便于后期督查工作的開展。另外,每一條記錄都賦予了直接的超鏈接,雙擊可進入當時用戶瀏覽的界面。同時,該款軟件還融合了多種功能,包括添加歷史記錄信息、刪除歷史記錄信息和表單另存為生成額外的數據文件。

圖2 Browser History Spy詳細信息

圖3 Browser History Spy的歷史記錄結果
Index.dat文件是一個由Internet Explorer和資源管理器創建的文件。該文件的功能就像一個數據庫,隨系統啟動。它的功能在于收集個人信息,就像網址,搜索字符串和最近打開的文件。它的職責就像數據庫中的索引。簡單來說,當IE開啟自動完成,每一個瀏覽過的網址將被收錄進Index.dat,IE瀏覽器據此匹配用戶輸入的字符。Index.dat也同樣存在于IE的歷史紀錄、緩存和cookies[9]。
在Windows客戶機系統中Index.dat是被隱藏的系統文件,通常情況下不易被刪除,這也是它能夠作為瀏覽器取證來源的一個重要原因。Index.dat活動記錄包含三種數據記錄類型,分別是URL、LEAK和REDR。Cookie記錄和歷史URL記錄為URL類型,Cache記錄則具有三種類型中的任意一種。URL和LEAK類型包含了豐富的信息,如記錄類型、記錄長度、最后修改時間、用戶名、網頁信息以及緩存文件路徑信息,而REDR類型則只包含了單一的網頁數據[10]。因此,在我們進行保密督查工作時,通過分析Index.dat文件將為取證方面帶來不可忽視的幫助。
Index.dat文件可以根據IE瀏覽器中設置的路徑來查找(見圖4),文件路徑在C:UsersAdministratorAppDataLocalMicrosoftWindowsTemporaryInternet FilesContent.IE5中。
一方面,它們不能通過文件資源管理器一級一級地打開,因為在路徑C:UsersAdministrator路徑下,如果不選擇顯示隱藏的項目是沒有AppData(AppData是一個隱藏文件夾)這個文件夾的;在路徑C:UsersAdministratorAppDataLocal MicrosoftWindows下也沒有TemporaryInternet Files文件夾,更沒有其子目錄下的Content.IE5(即我所需要的Index.dat文件的存放位置),甚至選擇顯示隱藏項也無法顯示出來,只有在目錄中直接輸入具體路徑才能打開它(圖5)。

圖4 Index.dat文件位置

圖5 TemporaryInternet Files文件夾下的cookie、index等文件
另一方面,Index.dat文件也難以被刪除,通過常規手段(如:清除Cookies、刪除Temporary Internet Files)是無法達到目的的。當然,啟動系統到DOS狀態下進行刪除、切換用戶刪除其他用戶文件下的Index.dat文件等方式也行,但這些方法都比較麻煩,而且沒辦法徹底清除。甚至就算打開無痕模式,也只是刪除部分明顯的圖片文件、cookie文件、表單文件,但根本的“.dat”文件依然保留在計算機中。由此可見,Index.dat文件在實際應用中是非常有力可靠的電子證據。
另外,Index.dat文件都是二進制文件。雖然無法直接打開查看其中數據和重要信息,但是可以通過相應的處理工具打開。目前,可以應用在Index.dat文件上進行操作的工具也很多,比如Index.dat Analyzer、Index.dat Viewer、Index.dat Suite等等。其中,Index.dat Analyzer是一款用來查看、檢查、刪除Index.dat文件內容的工具,具有較為強大且齊全的功能,是各款軟件中較為典型的Index.dat分析工具。
本文以Index.dat Analyzer為例,進行Index.dat文件的分析。
首先,下載Index.dat Analyzer軟件,在此以2.5版本為例進行探索。下載后打開主頁,選擇Index.dat文件路徑(即C:UsersAdministratorAppDataLocalMicrosoftWindows TemporaryInternet FilesContent.IE5),就可以讀取到原本無法直接打開的Index.dat文件了(圖6)。打開后發現文件中包含多個上述提到的URL、LEAK和REDR類型記錄,并且可以清楚地看到每條記錄的名稱、類型、創建時間、進入時間等信息。
同時,Index.dat Analyzer還支持分別更進一步地查看每條記錄的詳細信息。雙擊進入,可以觀察到(例如該URL類型記錄)的具體位置、地址、以及時間信息(圖7)。除此之外,Index.dat Analyzer還支持常見的增、刪、查、改等相關功能,在分析Index.dat文件方面確實有不少獨到之處。
在Web瀏覽器的取證過程中,挖掘盡可能豐富的用戶個人信息是十分重要的,借助對index.dat文件結構的了解,可以快速、有效、全面地讀出文件里面的活動記錄。通過對index.dat文件結構的研究與分析,更是能充分發揮其在取證過程中的重要作用,從而對科學地開展保密督查工作提供重要技術支持與有效助力。

圖6 Index.dat Analyzer中查看到的Index.dat文件

圖7 URL記錄的詳細信息
WebcacheV01.dat文件與Index.dat文件類似,它們作為ESE數據庫的一種文件類型,都是用來儲存IE瀏覽器歷史記錄的。區別在于WebcacheV01.dat文件用于版本10以上的IE瀏覽器,而之前版本的歷史痕跡都是儲存在Index.dat文件中的。并且,與Index.dat文件同時存在于多個文件目錄中不同,WebcacheV01.dat文件只存在Webcache目錄之中;也不像Index.dat文件只記錄URL、LEAK和REDR類型的記錄,WebcacheV01.dat中的記錄要復雜得多。
WebcacheV01.dat文件中數據信息的存儲以單個表的方式進行保存,而每張表的位置都和前一張表的大小有關。通常這些表的大小都是固定的,而所有表的入口就是表頭數據中的0x EC[6]。WebcacheV01.dat數據量很大,種類也比Index.dat復雜。在Webcache V01.dat文件中不僅有Web瀏覽器的cookie、訪問的網站、DOM Storage,甚至Windows應用程序也可以使用它來存儲cookie和DOM Storage。
另外,WebcacheV01.dat文件也同Index.dat文件一樣難以被刪除。在本地計算機工作過程中WebCacheV01.dat是被taskhost.exe程序鎖定的,也就是我們通常所說的計劃任務程序。只有在該賬戶注銷后,WebcacheV01.dat文件才會被釋放,正如前文討論Index.dat文件的刪除方法時提到的,通過切換賬戶才能互相刪除。
因此,基于WebcacheV01.dat文件的記錄完整性、客觀性、難以破壞性,WebcacheV01.dat文件同樣成了如今在Web取證過程中一種重要的取證對象。有關WebcacheV01.dat文件的分析工具也同樣豐富,包括有ESEDatabaseViews、WebCacheV01.dat Viewer在內的多種由國外研發的軟件。在此,我以ESE Database Views這款典型的分析工具為例,來對WebcacheV01.dat文件進行分析。
下載ESE Database Views 1.16版本,打開后直接選擇打開ESE Database中的WebCache文件,可以看到很多表單,除了有Web瀏覽器的各種記錄表單以外,還有計算機文件系統的一些歷史記錄表單,我的數據庫中總計22張表單(含空表單)。其中,DependencyEntry表單記錄的是Web瀏覽器的URL相關記錄(圖8),可以看到訪問次數、端口號、修改時間和具體的URL等信息,相當直觀便捷。

圖8 DependencyEntry表單
除了像前兩個軟件那樣有記錄大的URL信息的表單外,ESEDatabaseViews還擁有細化到每一個腳本、每一張圖片、每一點信息的記錄表單(圖9)。它們不僅僅是給出了具體的URL信息、各種時間軸,甚至還緩存了圖片、腳本等的文件信息,雙擊即可查看記錄的詳細信息(圖10),文件大小、文件名、哈希值等。

圖9 詳細記錄表單

圖10 雙擊某htm記錄后的詳細信息
另外,ESEDatabaseViews軟件和常見的查看軟件相同,具有讀的常見功能,并能把數據導出保存。作為一款功能強大且齊全的分析軟件,ESEDatabaseViews可以說是對分析WebCacheV01.dat文件大有助力,擴展了Web瀏覽器的取證手段,提高了電子證據的完整性與可靠性,從而變相加強了Web取證在保密督查方面應用中的重要地位,提高了保密督查工作的效率。
在分析index.dat文件過程中,搜索該文件時發現,計算機目錄C:UsersAdministratorAppDataLocalMicrosoftWindowsTemporary Internet Files下(win10系統在C:Users AdministratorAppDataLocalMicrosoftWindowsINetcache)還存在除了隱藏的Content.IE5文件夾以外的許多臨時文件。雖然這些文件不如index.dat文件和WebCacheV01.dat文件的針對性強,不如它們記錄的全面性和難以刪除性,但是這些臨時文件依然有一定的分析價值,在Web瀏覽器的取證過程中還是起到了一定的作用。
通過觀察發現,這些Temporary Internet Files目錄下的臨時文件大部分都是Java Script的腳本文件以及一系列的png、jpg格式的圖片文件,除此之外還有少量的txt文本文件和htm網頁文件。介于htm文件已經在前文分析得足夠多,而JavaScript文件并不方便進行可視化的分析。因此,本設計主要對圖片信息進行分析,類似的臨時文件可采取同樣的分析方式方法。在此,應用了一款名為WebCacheImageInfo的軟件對網絡活動過程中的緩存的歷史圖片進行分析。
下載并打開WebCacheImageInfo軟件,選擇好對應的路徑后(即Temporary Internet Files文件目錄),軟件將進行自動搜索。查看結果如圖11所示,其中包括了圖片的來源網址、瀏覽器類型、圖片瀏覽軟件以及時間等信息。除此之外,點擊所需圖片記錄,還能直接預覽該圖片,這一點是其他分析軟件所不具備的。這就為Web取證帶來了更直觀、更便捷的渠道來進行搜證,從而大大節省了取證工作的時間成本,提高了工作效率。

圖11 WebCacheImageInfo的運行結果
無痕瀏覽是指不留下上網瀏覽記錄的互聯網瀏覽方式。在隱私瀏覽過程中,瀏覽器不會保存任何瀏覽歷史、搜索歷史、下載歷史、表單歷史、cookie或者Internet臨時文件。目前,大多數瀏覽器都支持無痕瀏覽技術,用戶可以根據自己的需求選擇是否開啟無痕模式。盡管這樣的技術手段為大多數用戶帶來了更靈活、更人性化的體驗,進一步滿足的廣大受眾群體的需求,但是這樣一來,也為犯罪分子實施泄密、竊密等罪行提供了溫床。犯罪分子簡單通過開啟無痕瀏覽便能抹除掉所有網上活動的痕跡,輕而易舉便能銷毀對自己不利的證據,為破案工作、督查工作、管理工作都帶來了巨大阻撓與新的難點。因此,對在無痕模式下如何進行Web取證的探討具有深刻意義。
當下,應對無痕瀏覽的主要手段是數據恢復。當cache文件以及日志文件被計算機操作系統或犯罪分子刪除的時候,只要磁盤管理系統尚未進行重新分配磁盤空間,寫入的數據未覆蓋原有數據,磁盤上依然存在著這些已刪除文件數據,而這些數據可能存在于磁盤的未分配存儲空間上,我們就可以通過讀取未分配磁盤區域物理鏡像來恢復或提取數據[7]。對于IE瀏覽器來說,歷史記錄數據存儲在前文所述的index.dat或WebCacheV01.dat文件中,其中包括Cookie數據、歷史記錄和緩存文件,index.dat文件會存儲在不同的子目錄中。當index.dat文件被刪除時,原數據不會清除,而是會被移動到磁盤未分配區域,只要數據沒有被重寫,就可以恢復出完整的歷史數據記錄。
目前這樣的通過讀取磁盤信息來恢復文件的工具、恢復數據的工具比比皆是,在此本設計不對恢復手段作進一步探討,而是驗證網絡上的另一種觀點:無痕瀏覽的記錄依然保存在數據庫文件WebCacheV01.dat中[4]。在上文對index.dat文件的分析過程中提到,開啟IE瀏覽器的無痕模式不會造成index.dat文件的刪除,而是不會將cookies、臨時文件等保存在Temporary Internet Files文件夾下,因此不能對2.5中所述的類似臨時文件進行直觀分析。但是,對index.dat文件、WebCacheV01.dat文件的分析或許是行得通的。
應用示例:打開IE瀏覽器并開啟無痕瀏覽(圖12),并進行正常上網活動(除特殊情況外,其余使用無痕模式瀏覽網頁)。之后查看IE歷史記錄(圖13)并與打開ESE Database Views軟件后的結果進行比對。

圖12 IE瀏覽器無痕模式開啟

圖13 查看IE瀏覽器的歷史記錄
對比IE瀏覽器的歷史記錄可以發現,在實驗過程中無痕瀏覽的百度頁面沒有記錄在歷史記錄中。因此根據前文推測,有關百度的一系列網頁瀏覽過程中的cookies、歷史信息、臨時文件等都沒有保留下來,那么它們將作為變量可與ESE Database Views軟件進行對比。打開ESE Database Views軟件,查看WebCacheV01.dat文件,打開記錄有詳細信息的Container_6表單查看(圖14)??梢钥吹剑_實存在與百度有關的記錄并且數量不少,但只是部分信息并不全面,不包括標志性的主頁URL等信息。

圖14 ESE Database Views中有關百度的信息
盡管信息不夠完整不夠全面,但是這樣的部分信息依然具有一定的取證價值。重要的是,實驗結果佐證了歷史信息不會從WebCacheV01.dat文件刪除的結論,無痕瀏覽并非真正“無痕”。這為取證過程中遇到的“無痕”問題提供了重要解決思路和技術突破口,也開拓了Web取證中重要的研究方向。
本文通過分析歷史記錄、WebCacheV01.dat、Index.dat等文件,搜尋用戶在瀏覽器中留下的上網痕跡,從而推斷用戶所進行的網絡活動?;诖?,對Web瀏覽器客戶端的取證手段進行了研究,并探討了在無痕模式下的取證方式。
在科技水平迅猛發展的社會大背景下,網絡世界中的違法行為、違規行為在所難免,無論是泄密事件還是刑事案件都迫切地需要相應的督查手段、破案手段,Web取證手段是其中至關重要的一種手段。作為主流的Web取證方式,瀏覽器取證顯然在傳統道路上行之有效。雖然市面上的瀏覽器種類繁多,層出不窮,但作為網頁瀏覽的客戶端,其實都同根同源,大同小異。從老版IE瀏覽器可分析的Index.dat到新版保存的WebCacheV01.dat,再到別的瀏覽器的各式各樣的臨時緩存文件,無外乎都是運營商給歷史記錄提供的一種保存方式。通過對它們的分析,找到歷史痕跡,便是電子取證的主要思路之一,不僅是當下最主要的方式,也是最可靠最快捷的方式。
[1]徐東華.保密監督檢查的管理思想溯源及其啟示[J].保密科學技術,2018(07):44-47.
[2]任偉,金海.網絡取證技術研究[J].計算機安全,2004(11):65-67.
[3]楊文靜,蘇力華,田緒安.基于數據融合和數據挖掘技術的網絡取證體系的研究[J].現代電子技術,2007(09):59-61.
[4]李潔,許鑫,陳宇,張丁文.模擬DDoS攻擊場景下的云取證模型的研究[J].信息網絡安全,2015(06):67-72.
[5]徐偉.基于Web瀏覽器活動的犯罪分析和證據采集[J].現代電子技術,2018,41(08):96-99.
[6]郭巖,白碩,于滿泉.Web使用信息挖掘綜述[J].計算機科學,2005(01):1-7.
[7]夏榮.Web取證分析技術研究與應用[J].信息網絡安全,2015(09):201-205.
[8]楊仲林.泄露上網隱私的“幕后黑后”——全面認識Index.dat文件[J].電腦應用文萃,2005(08):92.
[9]聶明輝.基于ESE數據庫文件分析的IE瀏覽器取證技術研究[J].警察技術,2016(04):72-75.
[10]陶姿邑,畢善為.瀏覽器取證技術[J].計算機系統應用,2014,23(05):8-15.