Win8操作系統取證特性分析
編者按
嚴格來講,win8與win10算得上兄弟,其他的都是叔伯輩。計算機取證調查人員將在實際工作中越來越多的遇到安裝Win8操作系統的檢材。本文主要從新功能特性和傳統內容取證角度對Win8操作系統給計算機取證帶來的新變化進行了分析介紹,最後對Win8操作系統的安全機制進行了簡要分析。
這是一篇較早前的文章了,當時忘了發了,哎:(
0引言
Windows操作系統作為一種使用廣泛的操作系統,一直是計算機取證研究的熱點,本文主要針對Windows 8操作系統的計算機取證特性和安全機制進行了分析和探討。
1 新功能特性取證分析
1.1 全新Metro用戶操作界面
在Windows 8中,Metro用戶界面提供了區塊化的開始界面,其中的磁貼對應著操作系統中「programs」文件夾下安裝的應用。磁貼不僅是應用的桌面圖標,還動態反映各應用的運行狀態,如新的電子郵件,天氣預報變化等。
從Windows Vista開始,微軟引入了應用程序數據(AppData)文件夾結構用來區分操作系統文件和用戶數據文件,AppData文件夾保存在「Documents and Settings\%UserName%Local SettingsApplicafion Data」位置。在AppData文件夾中,可以找到網路臨時文件、網路訪問歷史記錄等內容。Metro用戶界面相關信息也記錄在AppData文件夾中。Metro中大多數應用使用Windows Live賬戶登錄互聯網,每個應用都可以看作Windows沉浸式環境的一個窗口。在任一應用中,用戶可以訪問其他應用,形象地說,每一個應用都可以看作是一個微型的操作系統。正是由於沉浸式交互的概念,每個應用都擁有獨立的網路特徵,如網路緩存、Cookie和歷史記錄等。Metro應用的網路特徵可以在如下的位置找到:
Metro應用緩存:
%Root%Users\%User%AppDataLocalPackages\%MetroAppName%ACINetCache
Metro應用Cookie:
%Root%Users\%User%AppDataLocalPackages\%MetroAppName%ACINetCookies
Metro應用訪問歷史:
%Root%Users\%User%AppDataLocalPackages\%MetroAppNam
e%ACINetHistory
1.2 沉浸式瀏覽器Internet Explorer 10
Windows 8中,根據用戶界面的不同,IE 10分為兩個版本:一個是Metro用戶界面應用,一個是傳統桌面應用。在以下位置可以找到兩個版本IE 10的特徵:
IE 10瀏覽歷史記錄(Metro用戶界面應用模式下):
%RootUsers\%User%AppDataLocalMicrosoftInternetExplorerRecoveryImmersiveActive
IE 10瀏覽歷史記錄(傳統桌面界面應用模式下):
%RootUsers\%User%AppDataLocalMicrosoftInternetExplorerRecoveryActive
用戶收藏網站的磁貼:
%RootUsers\%User%AppDataLocalMicrosoftWindowsRoamingTiles
1.3 通訊類應用
Windows 8中,多種應用是互相關聯的。如電子郵件可以關聯到Facebook,Facebook可以關聯到相冊,相冊可以關聯到Microsoft賬戶,多個應用的關聯允許用戶在不同的PC登錄時獲得同樣的Metro用戶界面和瀏覽器設置。Windows 8中,用戶與他人互動的應用,如電子郵件、聊天客戶端、社交類網站等都是通訊類的應用。通訊類應用擁有其自己的Web緩存,保存在下列目錄中:
通訊類應用Web緩存:
%RootUsers\%User%AppDataLocalPackagesmicrosoft.windowscommunicatisapps_8wekyb3d8bbweACINetCache
通訊類應用Cookies:
%RootUsers\%User%AppDataLocalPackagesmicrosoft.windowscommunicatisapps_8wekyb3d8bbweACINetCookies
與操作系統同步的聯繫人列表,如Twitter、Facebook和Hotmail等記錄在下列位置:
%RootUsers\%User%AppDataLocalPackagesmicrosoft.windowscommunicatisapps_8wekyb3d8bbweLocalStateLiveComm\%User』sWindowsLiveEmailAddress%\%AppCurrentVersion%DBStoreLogFilesedb####.log
當聯繫人列表與Windows 8同步時,Windows 8將會為特定的聯繫人分配用戶磁貼。通訊類應用將社交網路和社交信息統一整合,包括用戶的聯繫人信息、頭像信息等。與聯繫人關聯的用戶磁貼可以在下列位置找到:
%RootUsers\%User%AppDataLocalPackagesmicrosoft.windowscommunicatisapps_8wekyb3d8bbweLocalStateLiveComm\%User』sWindowsLiveEmailAddress%\%AppCurrentVersion%DBStoreUserTiles
1.4 便箋和日記本
便箋是Windows 8中較受歡迎的一個小工具,它是一種可以在窗口任意位置創建正方形或長條形紙條,方便用戶隨時記錄一些信息或是安排日常工作的小程序。用戶可以將一些常用信息記錄在便箋中,並可以將該便箋在用戶桌面前置顯示,這類便箋通常會包含電話、賬號、姓名、行程安排等關鍵信息,所以,在針對Windows 8的調查取證中,便箋調查是不可忽略的部分。Windows 8中的便箋內容以明文的形式存儲於X:用戶\AppDataRoamingMicrosoftSticky Notes文件夾下的StickyNotes.snt文件中。
日記本是主要針對安裝手寫設備的計算機進行文檔編輯的程序,文檔存儲為jnt格式。與傳統文檔相比較,它使用戶如同在紙質的日記本上寫字一樣,能夠保存用戶的親筆筆跡,並能呈現出粗細濃淡的壓感。對取證工作而言,日記本文檔不僅保存有數據信息,而且其筆跡可以為破獲案件提供更多的線索,例如通過筆跡鑒定確認計算機的所有者。Windows 8在用戶操作上支持觸摸技術,這樣不僅可以直接在顯示器上實現觸摸控制。而且在便簽和日記本文檔編輯中能夠通過觸摸完成輸入。因此,對這類計算機取證還應考慮其特有問題,如獲取嫌疑人指紋,分析觸摸筆跡等。
2 傳統內容取證分析
2.1 註冊表取證分析
註冊表是Windows操作系統中一個重要的資料庫,存儲系統和應用的設置信息,是用戶活動數據的重要來源,是計算機取證的重要內容。Windows 8註冊表邏輯結構,依然保留了HKEY_CLASS_ ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_ MACHINE、HKEY_USERS和HKEY_CURRENT_ CONFIG等5個根鍵,都是存儲於Hive二進位配置文件中。
1)SAM(Security Accounts Manager安全賬號管理器)
Windows 8中,SAM文件使用Hash格式存儲本地用戶和微軟登錄賬戶的用戶密碼。SAM註冊表鍵值中記錄了每個賬戶的用戶名及對應的RID、網路用戶名和個性化磁貼。在下列位置中可以找到相關鍵值:
網路用戶名:
SystemRoot%WindowsSystem32ConfigSAMDomainAccount UsersInternet User Name
個性化磁貼:
SystemRoot%WindowsSystem32ConfigSAMDomainAccount UsersUser Tile
2)軟體(SOFTWAKE)註冊表鍵
軟體註冊表鍵包含了操作系統的有關信息,如版本、安裝時間、所有者、最後登陸用戶、用戶組信息等。在安裝應用時,註冊表將記錄Metro應用信息、安裝該應用的用戶信息。在下列位置可以找到相關的信息:
系統中安裝的Metro應用:
MicrosoftWindowsCurrentVersionAppxAppxAllUserStore
Applications
安裝Metro應用的用戶賬戶:
MicrosoftWindowsCurrentVersionAppxAppxAllUserStore
%SID%
3)NTUSER.DAT用戶配置文件
NTUSER.DAT文件記錄Windows特定用戶的相關信息,如該用戶打開了哪些文件,使用了哪些應用,瀏覽了哪些網站等。在Windows 8中,NTUSER.DAT文件中新增了名為「TYPEDURLsTIME」的註冊表項記錄瀏覽器中鍵入URL網址的時間。該註冊表項以二進位方式,從1601年1月1日00:00:00 GMT開始,以100納秒為時間間隔進行記錄,相應的信息可以在如下位置找到:
%SystemRoot%Users\%User%UNTUSER.DATSoftware
MicrosoftMicrosoftInternetExplorerTypedURLsTime
4)虛擬文件夾和虛擬註冊表
在Windows 8中,作為用戶賬戶控制(UAC)功能的一個主要組成部分,虛擬文件夾是限制受限用戶行為的一個實現途徑,一般情況下,受限用戶不能直接對以下受保護的關鍵文件夾進行寫操作:
C:Windows C:Program Files C:Program Data
當受限用戶對於上述位置進行寫入操作時,都會被轉移到一個指定的虛擬文件夾中,這個文件夾位於X:Users\%username%AppData
LocalVirtualStore。同樣,作為用戶賬戶控制(UAC)的一個功能,虛擬註冊表的目的與虛擬文件夾類似,虛擬註冊表主要也用於對於受限用戶在系統關鍵位置的註冊表操作進行保護。
在Windows 8 中,非管理員用戶對於註冊表的寫入行為將被重定向到HKEY_CURRENT_USERSoftwareClassesVirtualStore
MACHINESOFTWARE,這些虛擬註冊表並不存儲在相應的NTUSER.DAT 中,而是在名為UsrClass.dat的文件中,這個文件位於X:Users\%username%AppDataLocalMicrosoiWindows目錄下。 所以,在進行Windows 8 註冊表的取證調查時,除了調查相應的NTUSER.DAT 文件之外,還要找到受限用戶的UsrClass.dat 文件。
2.2 回收站取證分析
回收站取證是計算機取證的重要部分,早期的Windows如Windows 95或XP 採用在回收站中創建一個數據文件Info2(或Info),用於存放所有的被刪除文件的信息。Windows 8系統則放棄了Info2 文件,採取為每個被刪除文件創建一個單獨的記錄文件。在Windows 8中,回收站在資源管理器中是可見的,一般在邏輯卷的根目錄下,文件名為$Recycle.bin,一般在「文件夾選項中」設置系統文件可見即可查看。Windows 8下的回收站主要具有以下特點:
1)使用取證軟體打開邏輯卷,展開$Recycle.bin,能夠看到以用戶SID 命名的子文件夾,該文件目錄下保存了指定用戶刪除到回收站中的文件;2)不再具有INFO2 文件;3)當文件被刪除到回收站時,將產生兩個文件,$I和$R文件,這兩種文件分別以$I******和$R******為名稱,文件名包含隨機字元,擴展名為原文件擴展名。4)$I文件中,包含了被刪除文件的原始路徑和刪除時間信息。
2.3 Bitlocker加密取證分析
Windows 8支持BitLocker和BitLocker To Go,可以基於AES演算法將本地硬碟或移動存儲設備進行加密,更加有效地防範數據泄密。Windows 8中的Bitlocker 加密卷與Windows Vista和Windows 7中的Bitlocker加密卷的VBR頭部略有差別,在現場調查時,調查人員可以通過對疑似加密卷頭部的分析,快速確認加密卷所屬的操作系統版本,以便採用正確的方式進行處理。
BitLocker針對系統盤加密主要有兩種工作模式:TPM(Trusted Platform Module)模式和U盤模式(為實現高等級的安全可以同時啟用這兩種模式)。採用TPM模式時,需要通過系統內置的TPM晶元並配合啟動PIN進行加密和解密,當硬碟連接到其它計算機上將無法讀取數據。採用U盤模式時,用於解密的密鑰將保存於U盤上。不管採用何種模式,如果對系統盤啟用了BitLocker,則必須提供密鑰才能啟動Windows。針對其它分區實現BitLocker時,可採用密碼解鎖或智能卡解鎖。BitLocker To Go可用於將移動存儲設備上的整個分區進行加密,並設置密碼和恢復密鑰文件。每次讀寫該設備均需輸入密碼,恢復密鑰文件可在密碼遺忘時使用,以設置新的解鎖密碼。
3 系統安全機制分析
Windows操作系統作為一種使用廣泛的操作系統,其安全機制一直是研究的熱點,Windows 8更是在安全機制方面做了很大的提升。1)用戶態安全改進:主要採用了支持64位的自底向上/自頂向下的高熵強制地址空間隨機化(ASLR)技術和優化低碎片堆(LFH)後的Windows堆技術。2)內核態安全改進:主要有數據執行保護(DEP)、內核級ASLR、空值引用保護技術以及禁止Win32k系統調用等。3)硬體層安全改進:主要有UEFI啟動技術、Intel Secure Key技術和Intel SMEP(監督模式執行保護機制)技術。
雖然Windows 8的安全機制有很大的完善,但仍有漏洞可以利用。1)ASLR漏洞分析:基於時間邊信道攻擊的內核ASLR繞過技術。純粹的信息泄露漏洞可遇而不可求,所以安全研究員們提出可以利用用戶態受限許可權的一個程序來侵入操作系統的內存管理模塊來推到出其內核地址空間的布局,其本質在於操作系統在實現內存分級機制時沒有區分用戶態和內核態的代碼空間,這就導致可以構造一個邊信道,首先嘗試在用戶態控制系統處於一個特定狀態,然後測量一次確定內存訪問操作的持續時間,而這個時間間距可以用來推測內核地址空間布局。2)DEP漏洞分析:基於SafeThunkCall的DEP繞過技術。Windows為了兼容舊版本的ATL(活動模板庫,Active Template Library)框架,在其內核中對ATL Thunk提供了支持,它判斷由DEP觸發的訪問異常中是否是因ATL Thunk導致,如果是,則恢復程序正常執行狀態。而判斷進程是否是ATL Thunk兼容的標誌由TEB結構中的SafeThunkCall欄位決定,這提供了一種繞過DEP的思路:通過設置進程TEB的SafeThunkCall為1來實現。3)SMEP漏洞分析:基於MmUserProbeAddress的SMEP繞過技術。在Windows內核中,通常使用MmUserProbeAddress來判斷一個地址是屬於用戶態還是內核態,所以一種可行的攻擊方案是:替換MmUserProbeAddress為一個較大的數值,從而修改用戶態和內核態的地址邊界。一種結合SMEP繞過技術的內核溢出方案如下:利用這個漏洞修改MmUserProbeAddress指針,由於該指針被修改後,導致NtReadVirtualMemory可以任意寫內核內存,寫HalDispatchTable並觸發Shellcode,Shellcode立即恢復HalDispatchTable以及MmUserProbeAddress內容(防止BSOD)。
4 結語
Windows 8給用戶提供了更穩定的系統性能和更安全的操作環境,但同時也對計算機取證工作帶來新的問題。較之Windows 7來說,Windows 8雖然沒有在操作系統的底層結構做大的調整,但是更加註重互聯網漫遊賬戶和雲存儲等社交媒體和網路應用的使用。以上是對Windows 8操作系統計算機取證特性和安全機制的簡要分析,由於篇幅有限,部分特性和功能未能提及,而且目前主流的取證分析軟體已經提供了對Windows 8的綜合取證分析,希望本文能為計算機取證調查人員在進行Windows 8取證調查時提供一些理論的參考。
請長按選擇識別圖中的二維碼並關注【信息時代的犯罪偵查】公眾號,了解犯罪手段、偵查技術、辦案心得,做到自我提升、自我救贖!
TAG:信息時代的犯罪偵查 |