《電子數(shù)據(jù)取證技術(shù)》課件-第7章_第1頁
《電子數(shù)據(jù)取證技術(shù)》課件-第7章_第2頁
《電子數(shù)據(jù)取證技術(shù)》課件-第7章_第3頁
《電子數(shù)據(jù)取證技術(shù)》課件-第7章_第4頁
《電子數(shù)據(jù)取證技術(shù)》課件-第7章_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

7.

iOS操作系統(tǒng)取證技術(shù)目錄CONTENTS7.1iOS操作系統(tǒng)取證概述7.1.1iPhone手機(jī)的發(fā)展7.1.2iOS系統(tǒng)介紹7.1.3備份文件取證7.1.4邏輯取證7.1.5物理取證7.2iOS系統(tǒng)常見邏輯數(shù)據(jù)提取分析7.2.1短消息提取和分析7.2.2通話記錄提取和分析7.2.3聯(lián)系人信息提取和分析7.2.4瀏覽器歷史記錄提取和分析7.2.5郵件客戶端信息的提取和分析7.2.6位置信息的提取和分析7.2.7其他信息源分析7.3iPhone備份文件的取證7.3.1備份文件的結(jié)構(gòu)與分析7.3.2備份文件數(shù)據(jù)的破解和提取分析7.1iOS操作系統(tǒng)取證概述7.1iOS操作系統(tǒng)取證概述7.1.1iPhone手機(jī)的發(fā)展

iPhone是美國蘋果公司研發(fā)的智能手機(jī)系列,在一段時期內(nèi),iPhone手機(jī)幾乎占據(jù)了手機(jī)市場的半壁江山,成為時尚的代名詞,其中緣由和iPhone手機(jī)的靚麗外觀、驚艷操作、流暢系統(tǒng)密不可分。由于iPhone是使用iOS最多的設(shè)備,因此在本章后續(xù)內(nèi)容中,有些地方會混用iOS和iPhone這兩個名詞。2004年蘋果公司成立了iPhone研發(fā)團(tuán)隊,使iPhone手機(jī)發(fā)展邁出了第一步。從第一代手機(jī)推出后,蘋果公司以平均每年發(fā)布1~2款手機(jī)的頻率更新著iPhone系列。iPhone的內(nèi)部版本號和系列型號對應(yīng)關(guān)系如表7-1所示。7.1.1iPhone手機(jī)的發(fā)展7.1.1iPhone手機(jī)的發(fā)展

7.1.2iOS操作系統(tǒng)簡介iPhone手機(jī)從2007年第一代開始,就搭載了蘋果公司研發(fā)的iOS操作系統(tǒng)。該系統(tǒng)是一個封閉的操作系統(tǒng),僅支持在iPhone、iPodtouch、iPad等蘋果設(shè)備上運行,這也是蘋果系列硬件設(shè)備的核心競爭力所在。

在最高層級,iOS扮演著底層硬件和用戶創(chuàng)建的App之間的中介角色。App不會直接與底層硬件通信,而是通過一套定義明確的系統(tǒng)接口與硬件進(jìn)行通信。這些接口讓同一應(yīng)用能夠運行在不同性能的硬件設(shè)備上,iOS的技術(shù)實現(xiàn)可以被看作多個抽象的層級,如圖7-1所示。7.1iOS操作系統(tǒng)取證概述圖7-1iOS操作系統(tǒng)層級7.1.2iOS操作系統(tǒng)簡介用戶界面(CocoaTouch)層包含了構(gòu)建iOS應(yīng)用中與用戶交互有關(guān)的關(guān)鍵運行庫。這些庫定義了應(yīng)用的展現(xiàn),提供應(yīng)用的基本操作空間和關(guān)鍵技術(shù),包括多任務(wù)、以接觸為基礎(chǔ)的輸入、消息推送和許多高級的系統(tǒng)服務(wù)。

媒體(Media)層提供圖像、音像和視頻技術(shù)。

核心服務(wù)(CoreService)層包含了App用到的基礎(chǔ)系統(tǒng)服務(wù),其中最關(guān)鍵的服務(wù)是核心基礎(chǔ)(CoreFoundation)和基礎(chǔ)(Foundation)框架,它定義了所有App都會用到的基礎(chǔ)類型。這層也包含了一些特別的技術(shù),如位置、iCloud、社交媒體和網(wǎng)絡(luò)。7.1.2iOS操作系統(tǒng)簡介

核心系統(tǒng)(CoreOS)層包含了大部分為系統(tǒng)提供服務(wù)的底層功能。即使App中沒有直接使用這些技術(shù),它們也很有可能已經(jīng)在其他框架中被間接使用。當(dāng)用戶有明確的安全需要或與外部硬件配件通信時,可以使用核心系統(tǒng)中的框架。在啟動一臺iOS設(shè)備時,系統(tǒng)首先會從只讀的ROM中讀取初始化指令,也就是系統(tǒng)的引導(dǎo)程序(事實上所有的操作系統(tǒng)啟動時都要經(jīng)過這一步,只是過程略有不同)。這個引導(dǎo)ROM包含蘋果官方權(quán)威認(rèn)證的公鑰,它會驗證底層啟動加載器(LLB)的簽名,一旦通過驗證就啟動系統(tǒng)。7.1.2iOS操作系統(tǒng)簡介LLB會所一些基礎(chǔ)工作,然后驗證第二級引導(dǎo)程序iBoot。iBoot啟動后,設(shè)備就可以進(jìn)入恢復(fù)模式或正常內(nèi)核啟動。在iBoot驗證完內(nèi)核簽名的合法性之后,整個啟動程序開始步入正軌:加載驅(qū)動程序、檢測設(shè)備、啟動系統(tǒng)守護(hù)進(jìn)程。這個信任鏈會確保所有的系統(tǒng)組件都由蘋果官方寫入、簽名、分發(fā),不能來自第三方機(jī)構(gòu),特別是那些惡意攻擊者或者是給設(shè)備越獄的黑客。應(yīng)用程序啟動時也會用信任鏈去審查簽名。所有的應(yīng)用都必須直接或間接地由蘋果簽名,這就是為什么要申請開發(fā)者賬號,生成開發(fā)和發(fā)布證書以及申請AppID的原因。很多開發(fā)者也經(jīng)歷過安裝測試APP時提示你信任開發(fā)者證書,這些都是驗證組件的功勞。7.1.2iOS操作系統(tǒng)簡介

越獄的工作原理正是攻擊這一信任鏈。所有的越獄工具的作者都需要找到這一信任鏈上的漏洞,從而禁止信任鏈中負(fù)責(zé)驗證的組件,破解引導(dǎo)ROM通常是最有效的辦法,因為該組件不會因為蘋果今后的軟件更新而改變。1.系統(tǒng)安全機(jī)制蘋果公司在iOS操作系統(tǒng)安全方面下了一番苦功,相繼加入了沙盒機(jī)制、數(shù)據(jù)保護(hù)API、鑰匙串API、全盤加密技術(shù)來保護(hù)系統(tǒng)和數(shù)據(jù)的安全性。7.1.2iOS操作系統(tǒng)簡介系統(tǒng)安全機(jī)制7.1.2iOS操作系統(tǒng)簡介沙盒機(jī)制數(shù)據(jù)保護(hù)API鑰匙串API全盤加密

(1)沙盒機(jī)制

iPhone對于安裝在上面的應(yīng)用程序有所限制,這個限制就是應(yīng)用程序只能在為該程序創(chuàng)建的文件系統(tǒng)中讀取文件,不可以去其它地方訪問,此區(qū)域被成為沙盒。??傮w來說,沙盒就是一種獨立、安全、封閉的空間,所有的非代碼文件都要保存在此,例如圖像、圖標(biāo)、聲音、映像、屬性列表、文本文件等。7.1.2iOS操作系統(tǒng)簡介

(2)數(shù)據(jù)保護(hù)API

數(shù)據(jù)保護(hù)API利用文件系統(tǒng)加密、鑰匙串和用戶密碼,提供了一個額外的針對文件的保護(hù)層,開發(fā)者可以根據(jù)需求調(diào)用。這限制了某些進(jìn)程在系統(tǒng)層面讀取文件。這個API最常用的場景就是當(dāng)設(shè)備鎖定時確保數(shù)據(jù)不可用。7.1.2iOS操作系統(tǒng)簡介

(3)鑰匙串API

iOS系統(tǒng)提供了鑰匙串API來存儲少量機(jī)密信息。開發(fā)者可以用來存儲密碼、機(jī)密密鑰以及那些不能被其他應(yīng)用訪問的敏感信息。調(diào)用鑰匙串API主要通過“security”守護(hù)進(jìn)程來完成,即從SQLite數(shù)據(jù)庫中提取數(shù)據(jù)。開發(fā)者可以指定在什么情況下允許應(yīng)用讀取密鑰。7.1.2iOS操作系統(tǒng)簡介

(4)全盤加密

對設(shè)備中的底層每個數(shù)據(jù)使用密鑰加密,密鑰類型分為:文件密鑰(FileKey)、層級密鑰(ClassKey)、文件系統(tǒng)密鑰(FilesystemKey)、設(shè)備密鑰(DeviceKey)。7.1.2iOS操作系統(tǒng)簡介

文件密鑰(FileKey)針對每個文件單獨生成,存儲在文件的元數(shù)據(jù)中。不同級別的文件需要使用不同強(qiáng)度的加密密鑰。層級密鑰(ClassKey)的作用是專門為那些特殊數(shù)據(jù)提供不同級別的保護(hù)。在早先的iOS版本中,默認(rèn)的保護(hù)等級是NSFileProtectionNone;但是從iOS5開始,默認(rèn)的保護(hù)等級變成了NSFileProtectionCompleteUntilFirstUserAuthentication。7.1.2iOS操作系統(tǒng)簡介文件系統(tǒng)密鑰(FilesystemKey)是一種全局加密密鑰,當(dāng)元數(shù)據(jù)被層級密鑰加密后,我們使用文件系統(tǒng)密鑰來加密涉及文件安全的元數(shù)據(jù)。設(shè)備密鑰(DeviceKey)通常被稱為UID密鑰,每臺設(shè)備唯一,只能通過硬件的AES引擎訪問,操作系統(tǒng)無法直接獲取。這是系統(tǒng)的主密鑰,他用來加密文件系統(tǒng)密鑰和層級密鑰。如果用戶啟用了用戶密碼(UserPasscode),它將與設(shè)備密鑰結(jié)合起來加密層級密鑰。7.1.2iOS操作系統(tǒng)簡介

2.運行模式

iPhone運行有3種模式:正常模式、恢復(fù)模式(RecoveryMode)、DFU模式(Developer/DevelopmentFirmwareUpgradeMode)。(1)恢復(fù)模式恢復(fù)模式啟動是進(jìn)入iBoot模式,在此模式下可以通過iTunes對設(shè)備進(jìn)行刷機(jī)操作。蘋果系統(tǒng)的Bootloader,可以簡單理解為iOS的一個PE(預(yù)安裝環(huán)境)。7.1.2iOS操作系統(tǒng)簡介

進(jìn)入恢復(fù)模式兩種方式,方法一:通過數(shù)據(jù)線連接iPhone設(shè)備至裝有iTunes的計算機(jī);確保iPhone設(shè)備處在主屏幕界面;長按電源鍵,忽略彈出的“滑動來關(guān)機(jī)”消息,不要松開電源鍵;長按Home鍵;當(dāng)iPhone設(shè)備出現(xiàn)黑屏?xí)r,松開電源鍵,繼續(xù)按著Home鍵,直到電腦上的iTunes出現(xiàn)檢測到一個處于恢復(fù)模式iPhone的消息框,松開Home鍵;這時該設(shè)備已進(jìn)入恢復(fù)模式。7.1.2iOS操作系統(tǒng)簡介

方法二:拔除數(shù)據(jù)線,關(guān)閉iPhone設(shè)備;長按Home鍵;運行電腦上的iTunes,將iPhone設(shè)備連接至電腦,此時Home鍵依舊長按不放;直到iPhone設(shè)備出現(xiàn)熟悉RecoveryMode界面。需要退出恢復(fù)模式的話,同時按住電源鍵和Home鍵,直到iPhone設(shè)備出現(xiàn)蘋果啟動圖標(biāo)。7.1.2iOS操作系統(tǒng)簡介

(2)DFU模式DFU模式與恢復(fù)模式區(qū)別就是跳過iBoot引導(dǎo)。iPhone設(shè)備越獄、降級iOS版本之類的操作都是在DFU模式下完成。越獄后的iPhone設(shè)備可以通過底層訪問磁盤分區(qū)、獲取物理鏡像(不過由于iPhone4s采用了硬件加密芯片,即使獲取到物理鏡像也是加密的)。不同iPhone系列手機(jī)進(jìn)入DFU模式的方法不同。7.1.2iOS操作系統(tǒng)簡介使用數(shù)據(jù)線連接iPhone設(shè)置至電腦同時按Home鍵和電源鍵等待8秒,松開電源鍵,繼續(xù)按著Home鍵不放,如果此時出現(xiàn)蘋果圖標(biāo),則說明按電源鍵時間過長,重新開始上面步驟當(dāng)iPhone設(shè)備進(jìn)入DFU模式時,手機(jī)的屏幕是黑屏的,iTunes會提示檢測到一個處于恢復(fù)模式的設(shè)備。如果此時手機(jī)上顯示連接iTunes的圖標(biāo)則重新開始上面步驟7.1.2iOS操作系統(tǒng)簡介針對iPhone6s或者更低,iPhoneSE的方法:

針對iPhone7、iPhone7Plus的方法:使用數(shù)據(jù)線連接iPhone設(shè)備至電腦;長按電源鍵將iPhone關(guān)機(jī);同時按下電源鍵和音量“-”鍵;等待8秒,松開電源鍵,繼續(xù)按著音量-鍵不放,如果此時出現(xiàn)蘋果圖標(biāo),則說明按電源鍵時間過長,重新開始上面步驟;當(dāng)iPhone設(shè)備進(jìn)入DFU模式時,手機(jī)的屏幕是黑屏的,iTunes則會提示檢測到一個處于恢復(fù)模式的設(shè)備。如果此時手機(jī)上顯示連接iTunes的圖標(biāo),則重新開始上面步驟。7.1.2iOS操作系統(tǒng)簡介

針對iPhone8、iPhone8Plus、iPhoneX的方法:使用數(shù)據(jù)線連接iPhone設(shè)置至電腦;快速按一下音量+鍵;快速按一下音量-鍵;長按電源鍵直到手機(jī)變黑屏后,同時按電源鍵和音量“-”鍵;等待5秒,松開電源鍵,繼續(xù)按著音量-鍵不放,如果此時出現(xiàn)蘋果圖標(biāo),則說明按電源鍵時間過長,重新開始上面步驟;當(dāng)iPhone設(shè)備進(jìn)入DFU模式時,手機(jī)的屏幕是黑屏的,iTunes則會提示檢測到一個處于恢復(fù)模式的設(shè)備。如果此時手機(jī)上顯示連接iTunes的圖標(biāo),則重新開始上面步驟。7.1.2iOS操作系統(tǒng)簡介

如何退出DFU模式呢?很簡單,iPhone6s或者更低、以及iPhoneSE只需同時長按Home鍵和電源鍵直到手機(jī)重啟;iPhone7、iPhone7Plus需同時長按電源鍵和音量“-”鍵直到手機(jī)重啟;iPhone8、iPhone8Plus、iPhoneX需快速按一下音量“+”鍵,然后快速按一下音量“-”鍵,然后按住電源鍵直到手機(jī)重啟。對iPhone手機(jī)取證的主要有四個途徑:備份文件取證、邏輯取證、物理取證、iCloud取證。其中備份文件取證的方法最簡單、方便。7.1.2iOS操作系統(tǒng)簡介

7.1.3備份文件取證近年來,電子數(shù)據(jù)取證領(lǐng)域快速發(fā)展,各類出現(xiàn)的案件中都有電子數(shù)據(jù)證據(jù)的身影,其中針對iOS設(shè)備的取證占有一席之地。在iOS備份文件沒有密碼保護(hù)的情況下,通過備份文件進(jìn)行取證是最簡單、便捷的方法。蘋果公司的iTunes軟件提供了對iOS設(shè)備進(jìn)行備份的功能iPhone每次連接電腦進(jìn)行備份時,必須解鎖iPhone設(shè)備,與電腦建立信任關(guān)系。在iOS7之前,解鎖的iPhone設(shè)備接入電腦沒有任何信任關(guān)系提示,自動建立信任關(guān)系,以前有種偽裝成充電器用于獲取接入手機(jī)的數(shù)據(jù)的設(shè)備就是利用了這點。所謂的信任關(guān)系就是手機(jī)與電腦連接時創(chuàng)建一對加密密鑰。7.1iOS操作系統(tǒng)取證概述

iOS7版本開始增加了新特性,iPhone設(shè)備會檢測USB連接是充電器還是電腦,只有配對成功了才會進(jìn)行數(shù)據(jù)通信,否則僅僅是充電。配對過程中iPhone設(shè)備上會提示“要信任此電腦嗎?”,只有選擇“信任”后才能備份手機(jī)。在iOS11版本中,蘋果加入USB限制模式(USBRestrictedMode)功能,用戶除了要選擇“信任”,還要輸入解鎖密碼,iPhone設(shè)備才能與電腦建立信任關(guān)系,并且成功連接后只有7天有效期。放在以前,信任過的設(shè)備是可以多次連接的,現(xiàn)在加上了7天限制,超過7天需要重新信任、輸入解鎖密碼的步驟。7.1.3備份文件取證

根據(jù)操作系統(tǒng)的不同,電腦上的信任文件存在于(WinXP)“C:\DocumentsandSettings\AllUsers\ApplicationData\Apple\Lockdown”、(Windows7)“C:\ProgramData\Apple\Lockdown”目錄、(MACOS)“/private/var/db/lockdown”等目錄中。我們?nèi)∽C過程中往往會碰到一些檢材iPhone手機(jī)有鎖屏密碼而我們又不知曉密碼的情況,這時可以嘗試將嫌疑人相關(guān)電腦上的所有信任文件拷貝至鑒定計算機(jī)中,然后將iPhone設(shè)備也連接至鑒定計算機(jī),然后使用支持加載lockdown信任文件的手機(jī)取證工具獲取數(shù)據(jù),此過程無需密碼,但是此方法僅支持iOS低版本。7.1.3備份文件取證

使用iTunes生成的備份文件在不同操作系統(tǒng)的保存位置如下表:7.1.3備份文件取證

圖7-2?iTunes備份出來文件的部分內(nèi)容打開備份的目錄可以看到里面有很多的文件,其中包括“Status.plist”、“Manifest.plist”、“Manifest.mbdb”(或“Manifest.db”)、“Info.plist”文件,如下圖:7.1.3備份文件取證

除了iTunes以外,還有命令行程序AppleMobileBackup.exe、第三方工具iTools、開源工具libimobiledevice、雷電手機(jī)快取軟件、等其他取證工具都支持對iPhone設(shè)備進(jìn)行備份的功能。AppleMobileBackup.exe為蘋果驅(qū)動中的命令行程序,安裝iTunes即已成功安裝該程序。AppleMobileBackup.exe命令支持功能如下圖:7.1.3備份文件取證圖7-3?AppleMobileBackup.exe命令支持的功能7.1.3備份文件取證我們可以使用“AppleMobileBackup.exe-b-t9e972f63b73be2a879785fb3732d25f2d793e74a(手機(jī)設(shè)備id)-q"c:\test\"”對iPhone設(shè)備進(jìn)行備份,其中參數(shù)“-b”表示備份、“-t”表示目標(biāo)設(shè)備id、“-q”定義備份文件保存路徑。Libimobiledevice是一個可以和iOS設(shè)備進(jìn)行通信的跨平臺的程序庫,其中包含有兩個備份命令,分別為idevicebackup和idevicebackup2,idevicebackup支持低版本iOS設(shè)備的備份,idevicebackup2支持高版本iOS設(shè)備的備份。在Linux環(huán)境下使用命令格式“idevicebackup2-u設(shè)備IDbackup–full保存路徑”對iPhone設(shè)備進(jìn)行備份,這里我們使用“idevicebackup2-u9e972f63b73be2a879785fb3732d25f2d793e74abackup--full./”,如下圖:7.1.3備份文件取證圖7-4使用libimobiledevice備份iPhone設(shè)備的數(shù)據(jù)7.1.3備份文件取證從備份文件中能獲取的內(nèi)容如下:聯(lián)系人、個人收藏夾通話記錄蘋果商店應(yīng)用數(shù)據(jù)安裝的應(yīng)用程序設(shè)置及數(shù)據(jù)Safari瀏覽器相關(guān)數(shù)據(jù)(書簽、歷史記錄、搜索記錄、Cookies等)日歷、事件相冊、視頻位置信息郵件賬號Appstore賬號網(wǎng)絡(luò)設(shè)置(熱點信息、VPN設(shè)置、Wifi信息)備忘錄、語音備忘錄短消息、彩信圖片系統(tǒng)通知消息7.1.3備份文件取證

從iOS3開始,iTunes就具有設(shè)置備份密碼的功能。在設(shè)置了備份密碼之后,此后該iOS設(shè)備每次導(dǎo)入或解析備份必須輸入密碼。使用備份密碼得到的備份文件比未加密的備份文件多了些信息,包括:存儲的密碼網(wǎng)站歷史記錄Wi-Fi設(shè)置健康數(shù)據(jù)7.1.3備份文件取證

如果丟失或忘記密碼,該備份文件則無法恢復(fù)到設(shè)備,取證工具也無法解析該備份文件中的數(shù)據(jù)。這種情況下就需要使用類似“ElcomsoftPhoneBreaker”工具進(jìn)行暴力或字典攻擊來破解密碼,在進(jìn)行密碼破解時選擇備份中的“Manifest.plist”文件,不過由于iOS的安全設(shè)計比較強(qiáng),破解速度很緩慢基本上需要使用字典攻擊,而且在iOS9之后這種方式已無效了。Elcomsoft官網(wǎng)公布的各個顯卡使用GUP加速破解的速度,如下圖:/eppb.html支持iOS備份文件密碼破解、iCloud獲取等功能。7.1.3備份文件取證圖7-5各個顯卡使用GPU加速破解的速度7.1.3備份文件取證

當(dāng)案件中需要處理具有備份密碼的iOS設(shè)備且無法破解時,在iOS11之前是無法處理的,清除備份密碼將導(dǎo)致整個證據(jù)手機(jī)數(shù)據(jù)的丟失。但是在iOS11或更高版本中,可以通過“還原設(shè)置”的方式清除備份密碼。以下是操作方法:1.在iOS設(shè)備上前往“設(shè)置”->“通用”->“還原”,點擊“還原所有設(shè)置”,然后輸入iTunes密碼2.按照上述步驟操作還原的iOS設(shè)備的設(shè)置,不會影響用戶數(shù)據(jù)或密碼,但會還原顯示屏亮度、主屏幕布局和壁紙等設(shè)置,還會移除iOS設(shè)備的加密備份密碼。3.重新將iOS設(shè)備連接iTunes,然后創(chuàng)建新的加密備份。7.1.3備份文件取證

上述操作之后,將無法使用在此之前的加密備份,但可以使用iTunes備份當(dāng)前數(shù)據(jù)并設(shè)置一個新的備份密碼。如果iOS設(shè)備安裝的是iOS10或更低版本,則無法使用上面的方式清除密碼。遇到這種情況,可以嘗試使用iCloud云備份對設(shè)備進(jìn)行備份,然后從iCloud云備份上獲取數(shù)據(jù)。7.1.3備份文件取證

7.1.4

邏輯取證所謂的邏輯取證,取證軟件基本上是基于iOS備份上進(jìn)行獲取、分析的過程。iTunes提供的iOS備份功能,能夠較完整的獲取設(shè)備的數(shù)據(jù)。7.1iOS操作系統(tǒng)取證概述

7.1.5

物理取證物理提取就是將iPhone設(shè)備內(nèi)存芯片中數(shù)據(jù)轉(zhuǎn)換為鏡像文件,類似傳統(tǒng)硬盤獲取原始的DD鏡像,獲取的內(nèi)容不僅包含已有數(shù)據(jù),還包含未分配空間中的數(shù)據(jù)。如果iPhone設(shè)備支持物理提取,是獲取刪除文件以及keychain鑰匙串有效方式,相比較于iOS備份和邏輯取證,能提取到更多的數(shù)據(jù)。Keychain文件中可以包含許多種類型的數(shù)據(jù):密碼(包括網(wǎng)站、FTP服務(wù)器、SSH賬戶、網(wǎng)絡(luò)共享、無線網(wǎng)絡(luò)、群組軟件、加密磁盤鏡像等各種應(yīng)用)、私鑰、電子證書、加密筆記等。7.1iOS操作系統(tǒng)取證概述

iPhone4之后啟用硬件加密,在iOS8版本更是增強(qiáng)了keychain鑰匙串的功能,對存儲的數(shù)據(jù)進(jìn)行加密,采取每個文件一個獨立密鑰的方式,一旦文件被刪除,該文件的加密密鑰也會被刪除,即使恢復(fù)出該文件的存儲數(shù)據(jù)也無法進(jìn)行解密。所以物理提取的方式適用的范圍還是很有限的。不少取證軟件都有支持物理提取的功能,例如Cellebrite的UFED也是帶有這個功能,如下圖所示。由于iOS設(shè)備的硬件加密機(jī)制,所以物理獲取功能只能支持到早期的一些設(shè)備型號。7.1.5物理取證7.2iOS操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析7.2iOS操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析7.2.1

短消息的提取和分析

短消息、iMessages應(yīng)用數(shù)據(jù)保存在“/private/var/mobile/Library/SMS/sms.db”文件中,“sms.db”為sqlite數(shù)據(jù)庫,有時會看到sms.db-shm、sms.db-wal文件,這兩個文件是sqlite數(shù)據(jù)庫的預(yù)寫日志和索引。草稿內(nèi)容保存在“Drafts”目錄下,附件內(nèi)容保存在“Attachments”目錄。測試手機(jī)的“Library/SMS/”目錄如下圖:圖7-6?Library/SMS/目錄內(nèi)容7.2.1短消息的提取和分析

短消息數(shù)據(jù)庫“sms.db”對應(yīng)的iPhone備份文件中的文件名為“3d0d7e5fb2ce288813306e4d4636395e047a3d28”文件,“sms.db”在Manifest.mbdb中的信息見圖7-34(關(guān)于Winhex模板的介紹見章節(jié)7.3.1):7.2.1短消息的提取和分析圖7-7?sms.db在Manifest.mbdb中的信息7.2.1短消息的提取和分析

由其域名和路徑字符串合并得到字符串“HomeDomain-Library/SMS/sms.db”,再計算合并字符串的sha1哈希得到短信數(shù)據(jù)庫在備份中的存儲文件名:3d0d7e5fb2ce288813306e4d4636395e047a3d28,這也是所有備份文件中文件名的由來?!皊ms.db”數(shù)據(jù)庫主要的表有“message”、“chat”、“chat_message_join”、“message_attachment_join”、“attachment”,短消息內(nèi)容主要保存在“message”表,通過“chat_message_join”、“message_attachment_join”關(guān)聯(lián)表可查找出對應(yīng)短消息的電話號碼、附件。7.2.1短消息的提取和分析

執(zhí)行以下SQL語句查詢短消息內(nèi)容:selectc.chat_identifieras'電話號碼',c.service_nameas'類型',u.textas'短消息內(nèi)容',datetime(substr(u.date,1,9)+978307200,'unixepoch','localtime')as'時間',case發(fā)送'接收'endas'方向',A.filenameas'附件'fromchat_message_joinasMleftjoinchatasConC.rowid=M.chat_idleftjoinmessageasUonU.rowid=M.message_idleftjoinmessage_attachment_joinasM1onM1.message_id=U.rowidleftjoinattachmentasAonA.rowid=M1.attachment_id;7.2.1短消息的提取和分析

圖7-8短消息內(nèi)容查詢結(jié)果執(zhí)行結(jié)果見下圖:7.2.1短消息的提取和分析

7.2.2通話記錄提取和分析通話記錄的數(shù)據(jù)庫在“/private/var/wireless/Library/CallHistory/call_history.db”文件,保存了手機(jī)的撥出和呼入電話的歷史記錄,通過數(shù)據(jù)挖掘這個數(shù)據(jù)庫可以得到刪除的通話記錄。“call_history.db”數(shù)據(jù)庫中的“call”表保存了通話記錄的數(shù)據(jù),它的主要字段的含義見下表:7.2iOS操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析7.2.2通話記錄提取和分析

圖7-9通話記錄保存的位置從iOS8開始,通話記錄數(shù)據(jù)庫的路徑變更為“/private/var/wireless/Library/CallHistoryDB/CallHistory.storedata”文件,如下圖:7.2.2通話記錄提取和分析

圖7-10?CallHistory.storedata數(shù)據(jù)庫中主要的表“CallHistory.storedata”數(shù)據(jù)庫(主要表見圖7-10)中“ZCALLRECORD”表保存了通話記錄的數(shù)據(jù)。7.2.2通話記錄提取和分析

“ZCALLRECORD”表的主要字段的作用見下表:7.2.2通話記錄提取和分析

值得一提的是,在“/private/var/mobile/Library/Preferences/com.apple.mobilephone.plist”文件(plist格式文件,轉(zhuǎn)換xml方法見章節(jié)7.3.1)中,節(jié)點“DialerSavedNumber”的值記錄了最后一次撥出的電話號碼。下圖中,“DialerSavedNumber”的值與通話記錄數(shù)據(jù)庫“CallHistory.storedata”中“ZCALLRECORD”表最后1條記錄的“ZADDRESS”字段值相同:7.2.2通話記錄提取和分析圖7-11通話記錄歷史信息“/private/var/mobile/Library/Preferences/com.apple.mobilephone.speeddial.plist”文件則保存了個人收藏(快速撥號)的記錄。7.2.2通話記錄提取和分析

7.2.3

聯(lián)系人信息提取和分析聯(lián)系人數(shù)據(jù)保存在“/private/var/mobile/Library/AddressBook”目錄下的“AddressBook.sqlitedb”、“AddressBookImages.sqlitedb”數(shù)據(jù)庫中?!癆ddressBook.sqlitedb”數(shù)據(jù)庫存儲了每個聯(lián)系人的詳細(xì)信息,包括姓名、姓氏、電話號碼、電子郵件、地址等信息,上述數(shù)據(jù)主要保存在“ABPerson”、“ABMultiValue”表中?!癆ddressBookImages.sqlitedb”數(shù)據(jù)庫存儲聯(lián)系人的頭像數(shù)據(jù),以blob格式保存在“ABFullSizeImage”表中。7.2iOS操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析7.2.4瀏覽器歷史記錄提取和分析iOS設(shè)備中都預(yù)裝了蘋果瀏覽器應(yīng)用“Safari”,“Safari”的瀏覽記錄、書簽、Cookies數(shù)據(jù)保存在“/private/var/mobile/Library/”目錄和“safari”程序目錄中。7.2iOS操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析

1.Safari書簽,存儲在“/private/var/mobile/Library/Safari/Bookmarks.db”數(shù)據(jù)庫中,早期iOS版本則存儲在“Bookmarks.plist”或“Bookmarks.db”文件中。2.Safari瀏覽器的Cookies存儲在“/private/var/mobile/Library/Cookies/Cookies.binarycookies”文件中,該文件存儲格式并非sqlite數(shù)據(jù)庫。3.Safari快速訪問站點截屏,記錄了用戶最常訪問網(wǎng)站的截圖縮略圖,存儲在“/private/var/mobile/Library/Caches/Safari/”目錄下。7.2.4瀏覽器歷史記錄提取和分析

4.Safari搜索緩存,記錄了用戶使用Safari瀏覽器在搜索欄中的最新搜索,存儲在“/private/var/mobile/Library/Caches/Safari/RecentSearches.plist”文件中。5.Safari歷史搜索,記錄Safari瀏覽器最近搜索的列表,當(dāng)用戶刪除Safari搜索緩存、Safari歷史瀏覽記錄時,Safari歷史搜索信息依然不會被刪除,存儲在“/private/var/mobile/Library/Preferences/com.apple.mobilesafari.plist”文件中,轉(zhuǎn)換后可以看到以數(shù)組方式顯示的歷史搜索記錄。7.2.4瀏覽器歷史記錄提取和分析

6.Safari暫停狀態(tài),是指用戶按下HOME鍵、iPhone關(guān)機(jī)、瀏覽器崩潰等這幾種情況發(fā)生時,Safari瀏覽器的最后狀態(tài),“Safari暫停狀態(tài)”就是為了能夠讓瀏覽器順利恢復(fù)到這種狀態(tài)而產(chǎn)生的。此時,Safari數(shù)據(jù)存儲在“/private/var/mobile/Library/Safari/SuspendState.plist”文件中。7.Safari縮略圖,保存第三方應(yīng)用使用WebKit框架最后活動的截圖,存儲路徑為“/private/var/mobile/Library/Caches/Safari/Thumbnails/”目錄或“/private/var/mobile/Library/Safari/Thumbnails/”目錄下。7.2.4瀏覽器歷史記錄提取和分析圖7-12?Safari歷史搜索記錄7.2.4瀏覽器歷史記錄提取和分析圖7-13SuspendState.plist文件中的部分內(nèi)容(已轉(zhuǎn)換)7.2.4瀏覽器歷史記錄提取和分析

7.2.5郵件客戶端信息的提取和分析當(dāng)用戶將他們的電子郵件賬戶同步到設(shè)備時,賬戶信息以及電子郵件內(nèi)容被存儲在設(shè)備內(nèi)?!?private/var/Keychain/keychain-2.db”文件保存了電子郵件的賬號信息,這個鑰匙串文件中還有用戶登錄、Wi-Fi賬號、應(yīng)用登錄等信息。從數(shù)據(jù)庫中的“inet”表可以得到電子郵件的賬號信息?!?private/var/mobile/Library/Mail/”目錄中保存了蘋果郵件客戶端每個電子郵件帳戶同步到設(shè)備的郵件文件夾,包括接收、發(fā)送、草稿等內(nèi)容。從測試備份文件的該路徑下可看到一個“Recents”文件,查看數(shù)據(jù)庫中“contacts”內(nèi)容包含一些聯(lián)系人的信息。7.2iOS操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析圖7-14?Recents文件中contacts表的部分記錄7.2.5郵件客戶端信息的提取和分析

7.2.6位置信息的提取和分析自從iOS6在2012發(fā)布以來,蘋果手機(jī)包括了自己的地圖應(yīng)用程序,數(shù)據(jù)存儲在“/private/var/mobile/Library/Preferences/com.apple.Maps.plist”文件中,該文件包含了用戶最后搜索的信息,如經(jīng)度、緯度、搜索查詢。地圖主文件存在“/private/var/mobile/Library/Maps”目錄下,它包含了用戶搜索的歷史記錄以及所標(biāo)記的位置列表。7.2iOS操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析7.2.7其他信息源分析Notes應(yīng)用程序存儲有關(guān)用戶創(chuàng)建的備注信息,數(shù)據(jù)存儲在“/private/var/mobile/Library/Notes/notes.sqlite”、“/private/var/mobile/Library/Notes/notes.idx”文件中?!皀otes.idx”為筆記的片段存儲的索引文件,筆記標(biāo)題、內(nèi)容、創(chuàng)建時間和修改時間存儲在“notes.sqlite”數(shù)據(jù)庫中的“ZNOTE”和“ZNOTEBODY”表中。7.2iOS操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析

日歷應(yīng)用程序允許用戶手動創(chuàng)建事件,并將他們與其他應(yīng)用程序進(jìn)行同步。日歷事件信息存儲在“/private/var/mobile/Library/Calendar/Calendar.sqlitedb”、“/private/var/mobile/Library/Calendar/Extras.db”兩個數(shù)據(jù)庫中?!?Calendar.sqlitedb”數(shù)據(jù)庫基本上包含與日歷中存在的事件相關(guān)的所有信息,“Extras.db”數(shù)據(jù)庫保存日歷設(shè)置、特定日歷事件相關(guān)的提醒等額外信息。7.2.7其他信息源分析

語言備忘錄應(yīng)用程序可以讓用戶錄制語音,這些備忘錄數(shù)據(jù)存儲在“/private/var/mobile/Media/Recordings/”目錄下。在這個文件夾中,每個語音備忘錄的元數(shù)據(jù)信息被保存至“Recordings.db”數(shù)據(jù)庫中,包括每次錄音備忘的時長、備忘錄名稱、日期、語音備忘錄的文件名,文件中是具體的錄音數(shù)據(jù)。7.2.7其他信息源分析7.3iPhone備份文件的取證7.3iPhone備份文件的取證iOS的備份文件包括3類:PList文件、數(shù)據(jù)文件以及數(shù)據(jù)庫文件。1.PList文件plist文件的全稱為PropertyList,是一種屬性列表文件,用來存儲串行化后的對象,擴(kuò)展名為“.plist”,因此通常被稱為“plist”文件。其存儲方式有三種,其中以XML格式或binary格式最為常見。7.3.1備份文件的結(jié)構(gòu)與分析

備份文件中有plist文件,分別為Info.plist、Manifest.plist、Status.plist。Info.plist這個文件是明文保存,里面記錄了設(shè)備名字、iOS版本、型號,備份日期、設(shè)備信息、UDID、ICCID、MEID、應(yīng)用程序列表等信息,如下圖:7.3.1備份文件的結(jié)構(gòu)與分析圖7-15?Info.plist文件的部分內(nèi)容7.3.1備份文件的結(jié)構(gòu)與分析

Manifest.plist是一個二進(jìn)制格式(binary)的plist文件,里面記錄了安裝的應(yīng)用程序、備份是否加密等信息。該文件用文本工具打開是亂碼,部分內(nèi)容見下圖:圖7?16Manifest.plist文件的部分內(nèi)容7.3.1備份文件的結(jié)構(gòu)與分析

從上圖看出,二進(jìn)制格式的“plist”文件非明文,無法直接閱讀其內(nèi)容,這種格式可以通過工具轉(zhuǎn)換成明文的xml格式。macOS、Windows系統(tǒng)環(huán)境下都提供了轉(zhuǎn)換命令。Windows環(huán)境需要安裝iTunes,命令程序存放的路徑為“C:\ProgramFiles(x86)\CommonFiles\Apple\AppleApplicationSupport\plutil.exe”。7.3.1備份文件的結(jié)構(gòu)與分析圖7-17?plutil.exe命令支持的格式“plutil.exe”命令支持的格式如下圖:7.3.1備份文件的結(jié)構(gòu)與分析將二進(jìn)制格式的“plist”文件轉(zhuǎn)換xml格式,使用的命令為“plutil.exe-convertxml1plist文件-oxml文件”,例如“plutil-convertxml1Manifest.plist-oManifest.json”。轉(zhuǎn)換后生成的“Manifest.json”文件的部分內(nèi)容如下圖:7.3.1備份文件的結(jié)構(gòu)與分析圖7-18?Manifest.json文件的部分內(nèi)容7.3.1備份文件的結(jié)構(gòu)與分析圖7-19?Status.plist文件轉(zhuǎn)換后的部分內(nèi)容Status.plist也是一個二進(jìn)制格式的plist文件,里面包含了一些諸如備份時間、是否為全量備份等備份狀態(tài)信息,轉(zhuǎn)換后的部分內(nèi)容如下圖:7.3.1備份文件的結(jié)構(gòu)與分析

數(shù)據(jù)文件iOS備份文件中,有大量文件的文件名是由40個十六進(jìn)制字符組成的,這些文件都是數(shù)據(jù)文件。其文件名的生成規(guī)律是是由“域+原始路徑”(使用“-”為連接符),隨后將拼接得到的字符串計算SHA1哈希,就是生成的文件名。例如:短信數(shù)據(jù)庫的路徑為“Library/SMS/sms.db”,其域名為HomeDomain,將字符串合并后為“HomeDomain-Library/SMS/sms.db”,計算該字符串的SHA1哈希值為3d0d7e5fb2ce288813306e4d4636395e047a3d28,如下圖:7.3.1備份文件的結(jié)構(gòu)與分析圖7-20計算SHA1結(jié)果7.3.1備份文件的結(jié)構(gòu)與分析

由上圖可知,短信數(shù)據(jù)庫文件在iOS備份文件中的文件名為3d0d7e5fb2ce288813306e4d4636395e047a3d28。那域名和文件名從何而來?數(shù)據(jù)文件和數(shù)據(jù)庫文件是相關(guān)聯(lián)的,可以通過這兩個文件還原iOS備份文件中文件對應(yīng)的存放路徑,下文會介紹數(shù)據(jù)庫文件的相關(guān)結(jié)構(gòu)。7.3.1備份文件的結(jié)構(gòu)與分析

數(shù)據(jù)庫文件iOS備份文件中的數(shù)據(jù)庫相關(guān)文件有Manifest.mbdx、Manifest.mbdb、Manifest.db。在iOS5之前,iOS備份文件中有“Manifest.mbdx”、“Manifest.mbdb”兩個文件,其中“Manifest.mbdb”是備份的索引文件,它由一個定長的頭部和若干定長的記錄構(gòu)成。Manifest.mbdx數(shù)據(jù)庫中記錄著文件信息如域名、路徑、哈希值、文件大小等屬性。7.3.1備份文件的結(jié)構(gòu)與分析圖721Manifest.mbdb文件頭的部分內(nèi)容但iOS5中,廢棄了Manifest.mbdx,Manifest.mbdb包含了如域名、路徑、路徑類型、創(chuàng)建時間、密鑰、文件大小等屬性。Manifest.mbdb是一個結(jié)構(gòu)化文件,由無數(shù)個數(shù)據(jù)記錄所組成,使用十六進(jìn)制查看工具winhex打開該文件,文件頭部分內(nèi)容如下圖:7.3.1備份文件的結(jié)構(gòu)與分析前面6個字節(jié)為6D6264620500為文件頭,隨后存儲著備份文件中各各數(shù)據(jù)文件的信息。解析Manifest.mbdb文件結(jié)構(gòu),可以看出數(shù)據(jù)記錄中不少數(shù)據(jù)字段的存儲結(jié)構(gòu)為“長度+值”的模式,即由前2個字節(jié)聲明其值的長度(用字節(jié)表示),緊隨其后則是字段的內(nèi)容。Manifest.mbdb中一條數(shù)據(jù)記錄的結(jié)構(gòu)解析如下表:7.3.1備份文件的結(jié)構(gòu)與分析7.3.1備份文件的結(jié)構(gòu)與分析7.3.1備份文件的結(jié)構(gòu)與分析上表中整數(shù)的存儲格式為“big-endian”。為了便于分析一條數(shù)據(jù)的結(jié)構(gòu),我們可以借助winhex、010editor等十六進(jìn)制編輯器的模板功能。參照上表中各個數(shù)據(jù)字段的解析,寫了一個簡單的winhex模板,其中文件屬性這部分代碼還需要完善,代碼如下:7.3.1備份文件的結(jié)構(gòu)與分析7.3.1備份文件的結(jié)構(gòu)與分析7.3.1備份文件的結(jié)構(gòu)與分析

模板的制作教程可參見/winhex/templates/,將上述代碼保存為“.tpl”后綴名的文件,然后放在winhex安裝目錄下即可。使用Winhex打開Manifest.mbdb文件,依次選擇菜單“View”->“TemplateManager..”,彈出窗口如下圖所示:7.3.1備份文件的結(jié)構(gòu)與分析圖7-22?WinHex的TemplateManager對話框7.3.1備份文件的結(jié)構(gòu)與分析圖7-23解析得到的第一條數(shù)據(jù)選擇“Manifest_mbdb”模板,點擊“Apply”按鈕,即可解析數(shù)據(jù),如下:7.3.1備份文件的結(jié)構(gòu)與分析圖7-24解析得到的第二條數(shù)據(jù)7.3.1備份文件的結(jié)構(gòu)與分析

上圖中offset列顯示該項記錄在整個“Manifest.mbdb”文件中的偏移位置,例如“文件路徑”的值在整個Manifest.mbdb中偏移位置192。找到Manifest.mbdb文件中有關(guān)短消息數(shù)據(jù)庫的數(shù)據(jù)內(nèi)容,如下圖:7.3.1備份文件的結(jié)構(gòu)與分析

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論