




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
7.
iOS操作系統取證技術目錄CONTENTS7.1iOS操作系統取證概述7.1.1iPhone手機的發展7.1.2iOS系統介紹7.1.3備份文件取證7.1.4邏輯取證7.1.5物理取證7.2iOS系統常見邏輯數據提取分析7.2.1短消息提取和分析7.2.2通話記錄提取和分析7.2.3聯系人信息提取和分析7.2.4瀏覽器歷史記錄提取和分析7.2.5郵件客戶端信息的提取和分析7.2.6位置信息的提取和分析7.2.7其他信息源分析7.3iPhone備份文件的取證7.3.1備份文件的結構與分析7.3.2備份文件數據的破解和提取分析7.1iOS操作系統取證概述7.1iOS操作系統取證概述7.1.1iPhone手機的發展
iPhone是美國蘋果公司研發的智能手機系列,在一段時期內,iPhone手機幾乎占據了手機市場的半壁江山,成為時尚的代名詞,其中緣由和iPhone手機的靚麗外觀、驚艷操作、流暢系統密不可分。由于iPhone是使用iOS最多的設備,因此在本章后續內容中,有些地方會混用iOS和iPhone這兩個名詞。2004年蘋果公司成立了iPhone研發團隊,使iPhone手機發展邁出了第一步。從第一代手機推出后,蘋果公司以平均每年發布1~2款手機的頻率更新著iPhone系列。iPhone的內部版本號和系列型號對應關系如表7-1所示。7.1.1iPhone手機的發展7.1.1iPhone手機的發展
7.1.2iOS操作系統簡介iPhone手機從2007年第一代開始,就搭載了蘋果公司研發的iOS操作系統。該系統是一個封閉的操作系統,僅支持在iPhone、iPodtouch、iPad等蘋果設備上運行,這也是蘋果系列硬件設備的核心競爭力所在。
在最高層級,iOS扮演著底層硬件和用戶創建的App之間的中介角色。App不會直接與底層硬件通信,而是通過一套定義明確的系統接口與硬件進行通信。這些接口讓同一應用能夠運行在不同性能的硬件設備上,iOS的技術實現可以被看作多個抽象的層級,如圖7-1所示。7.1iOS操作系統取證概述圖7-1iOS操作系統層級7.1.2iOS操作系統簡介用戶界面(CocoaTouch)層包含了構建iOS應用中與用戶交互有關的關鍵運行庫。這些庫定義了應用的展現,提供應用的基本操作空間和關鍵技術,包括多任務、以接觸為基礎的輸入、消息推送和許多高級的系統服務。
媒體(Media)層提供圖像、音像和視頻技術。
核心服務(CoreService)層包含了App用到的基礎系統服務,其中最關鍵的服務是核心基礎(CoreFoundation)和基礎(Foundation)框架,它定義了所有App都會用到的基礎類型。這層也包含了一些特別的技術,如位置、iCloud、社交媒體和網絡。7.1.2iOS操作系統簡介
核心系統(CoreOS)層包含了大部分為系統提供服務的底層功能。即使App中沒有直接使用這些技術,它們也很有可能已經在其他框架中被間接使用。當用戶有明確的安全需要或與外部硬件配件通信時,可以使用核心系統中的框架。在啟動一臺iOS設備時,系統首先會從只讀的ROM中讀取初始化指令,也就是系統的引導程序(事實上所有的操作系統啟動時都要經過這一步,只是過程略有不同)。這個引導ROM包含蘋果官方權威認證的公鑰,它會驗證底層啟動加載器(LLB)的簽名,一旦通過驗證就啟動系統。7.1.2iOS操作系統簡介LLB會所一些基礎工作,然后驗證第二級引導程序iBoot。iBoot啟動后,設備就可以進入恢復模式或正常內核啟動。在iBoot驗證完內核簽名的合法性之后,整個啟動程序開始步入正軌:加載驅動程序、檢測設備、啟動系統守護進程。這個信任鏈會確保所有的系統組件都由蘋果官方寫入、簽名、分發,不能來自第三方機構,特別是那些惡意攻擊者或者是給設備越獄的黑客。應用程序啟動時也會用信任鏈去審查簽名。所有的應用都必須直接或間接地由蘋果簽名,這就是為什么要申請開發者賬號,生成開發和發布證書以及申請AppID的原因。很多開發者也經歷過安裝測試APP時提示你信任開發者證書,這些都是驗證組件的功勞。7.1.2iOS操作系統簡介
越獄的工作原理正是攻擊這一信任鏈。所有的越獄工具的作者都需要找到這一信任鏈上的漏洞,從而禁止信任鏈中負責驗證的組件,破解引導ROM通常是最有效的辦法,因為該組件不會因為蘋果今后的軟件更新而改變。1.系統安全機制蘋果公司在iOS操作系統安全方面下了一番苦功,相繼加入了沙盒機制、數據保護API、鑰匙串API、全盤加密技術來保護系統和數據的安全性。7.1.2iOS操作系統簡介系統安全機制7.1.2iOS操作系統簡介沙盒機制數據保護API鑰匙串API全盤加密
(1)沙盒機制
iPhone對于安裝在上面的應用程序有所限制,這個限制就是應用程序只能在為該程序創建的文件系統中讀取文件,不可以去其它地方訪問,此區域被成為沙盒。。總體來說,沙盒就是一種獨立、安全、封閉的空間,所有的非代碼文件都要保存在此,例如圖像、圖標、聲音、映像、屬性列表、文本文件等。7.1.2iOS操作系統簡介
(2)數據保護API
數據保護API利用文件系統加密、鑰匙串和用戶密碼,提供了一個額外的針對文件的保護層,開發者可以根據需求調用。這限制了某些進程在系統層面讀取文件。這個API最常用的場景就是當設備鎖定時確保數據不可用。7.1.2iOS操作系統簡介
(3)鑰匙串API
iOS系統提供了鑰匙串API來存儲少量機密信息。開發者可以用來存儲密碼、機密密鑰以及那些不能被其他應用訪問的敏感信息。調用鑰匙串API主要通過“security”守護進程來完成,即從SQLite數據庫中提取數據。開發者可以指定在什么情況下允許應用讀取密鑰。7.1.2iOS操作系統簡介
(4)全盤加密
對設備中的底層每個數據使用密鑰加密,密鑰類型分為:文件密鑰(FileKey)、層級密鑰(ClassKey)、文件系統密鑰(FilesystemKey)、設備密鑰(DeviceKey)。7.1.2iOS操作系統簡介
文件密鑰(FileKey)針對每個文件單獨生成,存儲在文件的元數據中。不同級別的文件需要使用不同強度的加密密鑰。層級密鑰(ClassKey)的作用是專門為那些特殊數據提供不同級別的保護。在早先的iOS版本中,默認的保護等級是NSFileProtectionNone;但是從iOS5開始,默認的保護等級變成了NSFileProtectionCompleteUntilFirstUserAuthentication。7.1.2iOS操作系統簡介文件系統密鑰(FilesystemKey)是一種全局加密密鑰,當元數據被層級密鑰加密后,我們使用文件系統密鑰來加密涉及文件安全的元數據。設備密鑰(DeviceKey)通常被稱為UID密鑰,每臺設備唯一,只能通過硬件的AES引擎訪問,操作系統無法直接獲取。這是系統的主密鑰,他用來加密文件系統密鑰和層級密鑰。如果用戶啟用了用戶密碼(UserPasscode),它將與設備密鑰結合起來加密層級密鑰。7.1.2iOS操作系統簡介
2.運行模式
iPhone運行有3種模式:正常模式、恢復模式(RecoveryMode)、DFU模式(Developer/DevelopmentFirmwareUpgradeMode)。(1)恢復模式恢復模式啟動是進入iBoot模式,在此模式下可以通過iTunes對設備進行刷機操作。蘋果系統的Bootloader,可以簡單理解為iOS的一個PE(預安裝環境)。7.1.2iOS操作系統簡介
進入恢復模式兩種方式,方法一:通過數據線連接iPhone設備至裝有iTunes的計算機;確保iPhone設備處在主屏幕界面;長按電源鍵,忽略彈出的“滑動來關機”消息,不要松開電源鍵;長按Home鍵;當iPhone設備出現黑屏時,松開電源鍵,繼續按著Home鍵,直到電腦上的iTunes出現檢測到一個處于恢復模式iPhone的消息框,松開Home鍵;這時該設備已進入恢復模式。7.1.2iOS操作系統簡介
方法二:拔除數據線,關閉iPhone設備;長按Home鍵;運行電腦上的iTunes,將iPhone設備連接至電腦,此時Home鍵依舊長按不放;直到iPhone設備出現熟悉RecoveryMode界面。需要退出恢復模式的話,同時按住電源鍵和Home鍵,直到iPhone設備出現蘋果啟動圖標。7.1.2iOS操作系統簡介
(2)DFU模式DFU模式與恢復模式區別就是跳過iBoot引導。iPhone設備越獄、降級iOS版本之類的操作都是在DFU模式下完成。越獄后的iPhone設備可以通過底層訪問磁盤分區、獲取物理鏡像(不過由于iPhone4s采用了硬件加密芯片,即使獲取到物理鏡像也是加密的)。不同iPhone系列手機進入DFU模式的方法不同。7.1.2iOS操作系統簡介使用數據線連接iPhone設置至電腦同時按Home鍵和電源鍵等待8秒,松開電源鍵,繼續按著Home鍵不放,如果此時出現蘋果圖標,則說明按電源鍵時間過長,重新開始上面步驟當iPhone設備進入DFU模式時,手機的屏幕是黑屏的,iTunes會提示檢測到一個處于恢復模式的設備。如果此時手機上顯示連接iTunes的圖標則重新開始上面步驟7.1.2iOS操作系統簡介針對iPhone6s或者更低,iPhoneSE的方法:
針對iPhone7、iPhone7Plus的方法:使用數據線連接iPhone設備至電腦;長按電源鍵將iPhone關機;同時按下電源鍵和音量“-”鍵;等待8秒,松開電源鍵,繼續按著音量-鍵不放,如果此時出現蘋果圖標,則說明按電源鍵時間過長,重新開始上面步驟;當iPhone設備進入DFU模式時,手機的屏幕是黑屏的,iTunes則會提示檢測到一個處于恢復模式的設備。如果此時手機上顯示連接iTunes的圖標,則重新開始上面步驟。7.1.2iOS操作系統簡介
針對iPhone8、iPhone8Plus、iPhoneX的方法:使用數據線連接iPhone設置至電腦;快速按一下音量+鍵;快速按一下音量-鍵;長按電源鍵直到手機變黑屏后,同時按電源鍵和音量“-”鍵;等待5秒,松開電源鍵,繼續按著音量-鍵不放,如果此時出現蘋果圖標,則說明按電源鍵時間過長,重新開始上面步驟;當iPhone設備進入DFU模式時,手機的屏幕是黑屏的,iTunes則會提示檢測到一個處于恢復模式的設備。如果此時手機上顯示連接iTunes的圖標,則重新開始上面步驟。7.1.2iOS操作系統簡介
如何退出DFU模式呢?很簡單,iPhone6s或者更低、以及iPhoneSE只需同時長按Home鍵和電源鍵直到手機重啟;iPhone7、iPhone7Plus需同時長按電源鍵和音量“-”鍵直到手機重啟;iPhone8、iPhone8Plus、iPhoneX需快速按一下音量“+”鍵,然后快速按一下音量“-”鍵,然后按住電源鍵直到手機重啟。對iPhone手機取證的主要有四個途徑:備份文件取證、邏輯取證、物理取證、iCloud取證。其中備份文件取證的方法最簡單、方便。7.1.2iOS操作系統簡介
7.1.3備份文件取證近年來,電子數據取證領域快速發展,各類出現的案件中都有電子數據證據的身影,其中針對iOS設備的取證占有一席之地。在iOS備份文件沒有密碼保護的情況下,通過備份文件進行取證是最簡單、便捷的方法。蘋果公司的iTunes軟件提供了對iOS設備進行備份的功能iPhone每次連接電腦進行備份時,必須解鎖iPhone設備,與電腦建立信任關系。在iOS7之前,解鎖的iPhone設備接入電腦沒有任何信任關系提示,自動建立信任關系,以前有種偽裝成充電器用于獲取接入手機的數據的設備就是利用了這點。所謂的信任關系就是手機與電腦連接時創建一對加密密鑰。7.1iOS操作系統取證概述
iOS7版本開始增加了新特性,iPhone設備會檢測USB連接是充電器還是電腦,只有配對成功了才會進行數據通信,否則僅僅是充電。配對過程中iPhone設備上會提示“要信任此電腦嗎?”,只有選擇“信任”后才能備份手機。在iOS11版本中,蘋果加入USB限制模式(USBRestrictedMode)功能,用戶除了要選擇“信任”,還要輸入解鎖密碼,iPhone設備才能與電腦建立信任關系,并且成功連接后只有7天有效期。放在以前,信任過的設備是可以多次連接的,現在加上了7天限制,超過7天需要重新信任、輸入解鎖密碼的步驟。7.1.3備份文件取證
根據操作系統的不同,電腦上的信任文件存在于(WinXP)“C:\DocumentsandSettings\AllUsers\ApplicationData\Apple\Lockdown”、(Windows7)“C:\ProgramData\Apple\Lockdown”目錄、(MACOS)“/private/var/db/lockdown”等目錄中。我們取證過程中往往會碰到一些檢材iPhone手機有鎖屏密碼而我們又不知曉密碼的情況,這時可以嘗試將嫌疑人相關電腦上的所有信任文件拷貝至鑒定計算機中,然后將iPhone設備也連接至鑒定計算機,然后使用支持加載lockdown信任文件的手機取證工具獲取數據,此過程無需密碼,但是此方法僅支持iOS低版本。7.1.3備份文件取證
使用iTunes生成的備份文件在不同操作系統的保存位置如下表:7.1.3備份文件取證
圖7-2?iTunes備份出來文件的部分內容打開備份的目錄可以看到里面有很多的文件,其中包括“Status.plist”、“Manifest.plist”、“Manifest.mbdb”(或“Manifest.db”)、“Info.plist”文件,如下圖:7.1.3備份文件取證
除了iTunes以外,還有命令行程序AppleMobileBackup.exe、第三方工具iTools、開源工具libimobiledevice、雷電手機快取軟件、等其他取證工具都支持對iPhone設備進行備份的功能。AppleMobileBackup.exe為蘋果驅動中的命令行程序,安裝iTunes即已成功安裝該程序。AppleMobileBackup.exe命令支持功能如下圖:7.1.3備份文件取證圖7-3?AppleMobileBackup.exe命令支持的功能7.1.3備份文件取證我們可以使用“AppleMobileBackup.exe-b-t9e972f63b73be2a879785fb3732d25f2d793e74a(手機設備id)-q"c:\test\"”對iPhone設備進行備份,其中參數“-b”表示備份、“-t”表示目標設備id、“-q”定義備份文件保存路徑。Libimobiledevice是一個可以和iOS設備進行通信的跨平臺的程序庫,其中包含有兩個備份命令,分別為idevicebackup和idevicebackup2,idevicebackup支持低版本iOS設備的備份,idevicebackup2支持高版本iOS設備的備份。在Linux環境下使用命令格式“idevicebackup2-u設備IDbackup–full保存路徑”對iPhone設備進行備份,這里我們使用“idevicebackup2-u9e972f63b73be2a879785fb3732d25f2d793e74abackup--full./”,如下圖:7.1.3備份文件取證圖7-4使用libimobiledevice備份iPhone設備的數據7.1.3備份文件取證從備份文件中能獲取的內容如下:聯系人、個人收藏夾通話記錄蘋果商店應用數據安裝的應用程序設置及數據Safari瀏覽器相關數據(書簽、歷史記錄、搜索記錄、Cookies等)日歷、事件相冊、視頻位置信息郵件賬號Appstore賬號網絡設置(熱點信息、VPN設置、Wifi信息)備忘錄、語音備忘錄短消息、彩信圖片系統通知消息7.1.3備份文件取證
從iOS3開始,iTunes就具有設置備份密碼的功能。在設置了備份密碼之后,此后該iOS設備每次導入或解析備份必須輸入密碼。使用備份密碼得到的備份文件比未加密的備份文件多了些信息,包括:存儲的密碼網站歷史記錄Wi-Fi設置健康數據7.1.3備份文件取證
如果丟失或忘記密碼,該備份文件則無法恢復到設備,取證工具也無法解析該備份文件中的數據。這種情況下就需要使用類似“ElcomsoftPhoneBreaker”工具進行暴力或字典攻擊來破解密碼,在進行密碼破解時選擇備份中的“Manifest.plist”文件,不過由于iOS的安全設計比較強,破解速度很緩慢基本上需要使用字典攻擊,而且在iOS9之后這種方式已無效了。Elcomsoft官網公布的各個顯卡使用GUP加速破解的速度,如下圖:/eppb.html支持iOS備份文件密碼破解、iCloud獲取等功能。7.1.3備份文件取證圖7-5各個顯卡使用GPU加速破解的速度7.1.3備份文件取證
當案件中需要處理具有備份密碼的iOS設備且無法破解時,在iOS11之前是無法處理的,清除備份密碼將導致整個證據手機數據的丟失。但是在iOS11或更高版本中,可以通過“還原設置”的方式清除備份密碼。以下是操作方法:1.在iOS設備上前往“設置”->“通用”->“還原”,點擊“還原所有設置”,然后輸入iTunes密碼2.按照上述步驟操作還原的iOS設備的設置,不會影響用戶數據或密碼,但會還原顯示屏亮度、主屏幕布局和壁紙等設置,還會移除iOS設備的加密備份密碼。3.重新將iOS設備連接iTunes,然后創建新的加密備份。7.1.3備份文件取證
上述操作之后,將無法使用在此之前的加密備份,但可以使用iTunes備份當前數據并設置一個新的備份密碼。如果iOS設備安裝的是iOS10或更低版本,則無法使用上面的方式清除密碼。遇到這種情況,可以嘗試使用iCloud云備份對設備進行備份,然后從iCloud云備份上獲取數據。7.1.3備份文件取證
7.1.4
邏輯取證所謂的邏輯取證,取證軟件基本上是基于iOS備份上進行獲取、分析的過程。iTunes提供的iOS備份功能,能夠較完整的獲取設備的數據。7.1iOS操作系統取證概述
7.1.5
物理取證物理提取就是將iPhone設備內存芯片中數據轉換為鏡像文件,類似傳統硬盤獲取原始的DD鏡像,獲取的內容不僅包含已有數據,還包含未分配空間中的數據。如果iPhone設備支持物理提取,是獲取刪除文件以及keychain鑰匙串有效方式,相比較于iOS備份和邏輯取證,能提取到更多的數據。Keychain文件中可以包含許多種類型的數據:密碼(包括網站、FTP服務器、SSH賬戶、網絡共享、無線網絡、群組軟件、加密磁盤鏡像等各種應用)、私鑰、電子證書、加密筆記等。7.1iOS操作系統取證概述
iPhone4之后啟用硬件加密,在iOS8版本更是增強了keychain鑰匙串的功能,對存儲的數據進行加密,采取每個文件一個獨立密鑰的方式,一旦文件被刪除,該文件的加密密鑰也會被刪除,即使恢復出該文件的存儲數據也無法進行解密。所以物理提取的方式適用的范圍還是很有限的。不少取證軟件都有支持物理提取的功能,例如Cellebrite的UFED也是帶有這個功能,如下圖所示。由于iOS設備的硬件加密機制,所以物理獲取功能只能支持到早期的一些設備型號。7.1.5物理取證7.2iOS操作系統常見邏輯數據提取分析7.2iOS操作系統常見邏輯數據提取分析7.2.1
短消息的提取和分析
短消息、iMessages應用數據保存在“/private/var/mobile/Library/SMS/sms.db”文件中,“sms.db”為sqlite數據庫,有時會看到sms.db-shm、sms.db-wal文件,這兩個文件是sqlite數據庫的預寫日志和索引。草稿內容保存在“Drafts”目錄下,附件內容保存在“Attachments”目錄。測試手機的“Library/SMS/”目錄如下圖:圖7-6?Library/SMS/目錄內容7.2.1短消息的提取和分析
短消息數據庫“sms.db”對應的iPhone備份文件中的文件名為“3d0d7e5fb2ce288813306e4d4636395e047a3d28”文件,“sms.db”在Manifest.mbdb中的信息見圖7-34(關于Winhex模板的介紹見章節7.3.1):7.2.1短消息的提取和分析圖7-7?sms.db在Manifest.mbdb中的信息7.2.1短消息的提取和分析
由其域名和路徑字符串合并得到字符串“HomeDomain-Library/SMS/sms.db”,再計算合并字符串的sha1哈希得到短信數據庫在備份中的存儲文件名:3d0d7e5fb2ce288813306e4d4636395e047a3d28,這也是所有備份文件中文件名的由來。“sms.db”數據庫主要的表有“message”、“chat”、“chat_message_join”、“message_attachment_join”、“attachment”,短消息內容主要保存在“message”表,通過“chat_message_join”、“message_attachment_join”關聯表可查找出對應短消息的電話號碼、附件。7.2.1短消息的提取和分析
執行以下SQL語句查詢短消息內容:selectc.chat_identifieras'電話號碼',c.service_nameas'類型',u.textas'短消息內容',datetime(substr(u.date,1,9)+978307200,'unixepoch','localtime')as'時間',case發送'接收'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短消息內容查詢結果執行結果見下圖:7.2.1短消息的提取和分析
7.2.2通話記錄提取和分析通話記錄的數據庫在“/private/var/wireless/Library/CallHistory/call_history.db”文件,保存了手機的撥出和呼入電話的歷史記錄,通過數據挖掘這個數據庫可以得到刪除的通話記錄。“call_history.db”數據庫中的“call”表保存了通話記錄的數據,它的主要字段的含義見下表:7.2iOS操作系統常見邏輯數據提取分析7.2.2通話記錄提取和分析
圖7-9通話記錄保存的位置從iOS8開始,通話記錄數據庫的路徑變更為“/private/var/wireless/Library/CallHistoryDB/CallHistory.storedata”文件,如下圖:7.2.2通話記錄提取和分析
圖7-10?CallHistory.storedata數據庫中主要的表“CallHistory.storedata”數據庫(主要表見圖7-10)中“ZCALLRECORD”表保存了通話記錄的數據。7.2.2通話記錄提取和分析
“ZCALLRECORD”表的主要字段的作用見下表:7.2.2通話記錄提取和分析
值得一提的是,在“/private/var/mobile/Library/Preferences/com.apple.mobilephone.plist”文件(plist格式文件,轉換xml方法見章節7.3.1)中,節點“DialerSavedNumber”的值記錄了最后一次撥出的電話號碼。下圖中,“DialerSavedNumber”的值與通話記錄數據庫“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
聯系人信息提取和分析聯系人數據保存在“/private/var/mobile/Library/AddressBook”目錄下的“AddressBook.sqlitedb”、“AddressBookImages.sqlitedb”數據庫中。“AddressBook.sqlitedb”數據庫存儲了每個聯系人的詳細信息,包括姓名、姓氏、電話號碼、電子郵件、地址等信息,上述數據主要保存在“ABPerson”、“ABMultiValue”表中。“AddressBookImages.sqlitedb”數據庫存儲聯系人的頭像數據,以blob格式保存在“ABFullSizeImage”表中。7.2iOS操作系統常見邏輯數據提取分析7.2.4瀏覽器歷史記錄提取和分析iOS設備中都預裝了蘋果瀏覽器應用“Safari”,“Safari”的瀏覽記錄、書簽、Cookies數據保存在“/private/var/mobile/Library/”目錄和“safari”程序目錄中。7.2iOS操作系統常見邏輯數據提取分析
1.Safari書簽,存儲在“/private/var/mobile/Library/Safari/Bookmarks.db”數據庫中,早期iOS版本則存儲在“Bookmarks.plist”或“Bookmarks.db”文件中。2.Safari瀏覽器的Cookies存儲在“/private/var/mobile/Library/Cookies/Cookies.binarycookies”文件中,該文件存儲格式并非sqlite數據庫。3.Safari快速訪問站點截屏,記錄了用戶最常訪問網站的截圖縮略圖,存儲在“/private/var/mobile/Library/Caches/Safari/”目錄下。7.2.4瀏覽器歷史記錄提取和分析
4.Safari搜索緩存,記錄了用戶使用Safari瀏覽器在搜索欄中的最新搜索,存儲在“/private/var/mobile/Library/Caches/Safari/RecentSearches.plist”文件中。5.Safari歷史搜索,記錄Safari瀏覽器最近搜索的列表,當用戶刪除Safari搜索緩存、Safari歷史瀏覽記錄時,Safari歷史搜索信息依然不會被刪除,存儲在“/private/var/mobile/Library/Preferences/com.apple.mobilesafari.plist”文件中,轉換后可以看到以數組方式顯示的歷史搜索記錄。7.2.4瀏覽器歷史記錄提取和分析
6.Safari暫停狀態,是指用戶按下HOME鍵、iPhone關機、瀏覽器崩潰等這幾種情況發生時,Safari瀏覽器的最后狀態,“Safari暫停狀態”就是為了能夠讓瀏覽器順利恢復到這種狀態而產生的。此時,Safari數據存儲在“/private/var/mobile/Library/Safari/SuspendState.plist”文件中。7.Safari縮略圖,保存第三方應用使用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文件中的部分內容(已轉換)7.2.4瀏覽器歷史記錄提取和分析
7.2.5郵件客戶端信息的提取和分析當用戶將他們的電子郵件賬戶同步到設備時,賬戶信息以及電子郵件內容被存儲在設備內。“/private/var/Keychain/keychain-2.db”文件保存了電子郵件的賬號信息,這個鑰匙串文件中還有用戶登錄、Wi-Fi賬號、應用登錄等信息。從數據庫中的“inet”表可以得到電子郵件的賬號信息。“/private/var/mobile/Library/Mail/”目錄中保存了蘋果郵件客戶端每個電子郵件帳戶同步到設備的郵件文件夾,包括接收、發送、草稿等內容。從測試備份文件的該路徑下可看到一個“Recents”文件,查看數據庫中“contacts”內容包含一些聯系人的信息。7.2iOS操作系統常見邏輯數據提取分析圖7-14?Recents文件中contacts表的部分記錄7.2.5郵件客戶端信息的提取和分析
7.2.6位置信息的提取和分析自從iOS6在2012發布以來,蘋果手機包括了自己的地圖應用程序,數據存儲在“/private/var/mobile/Library/Preferences/com.apple.Maps.plist”文件中,該文件包含了用戶最后搜索的信息,如經度、緯度、搜索查詢。地圖主文件存在“/private/var/mobile/Library/Maps”目錄下,它包含了用戶搜索的歷史記錄以及所標記的位置列表。7.2iOS操作系統常見邏輯數據提取分析7.2.7其他信息源分析Notes應用程序存儲有關用戶創建的備注信息,數據存儲在“/private/var/mobile/Library/Notes/notes.sqlite”、“/private/var/mobile/Library/Notes/notes.idx”文件中。“notes.idx”為筆記的片段存儲的索引文件,筆記標題、內容、創建時間和修改時間存儲在“notes.sqlite”數據庫中的“ZNOTE”和“ZNOTEBODY”表中。7.2iOS操作系統常見邏輯數據提取分析
日歷應用程序允許用戶手動創建事件,并將他們與其他應用程序進行同步。日歷事件信息存儲在“/private/var/mobile/Library/Calendar/Calendar.sqlitedb”、“/private/var/mobile/Library/Calendar/Extras.db”兩個數據庫中。“/Calendar.sqlitedb”數據庫基本上包含與日歷中存在的事件相關的所有信息,“Extras.db”數據庫保存日歷設置、特定日歷事件相關的提醒等額外信息。7.2.7其他信息源分析
語言備忘錄應用程序可以讓用戶錄制語音,這些備忘錄數據存儲在“/private/var/mobile/Media/Recordings/”目錄下。在這個文件夾中,每個語音備忘錄的元數據信息被保存至“Recordings.db”數據庫中,包括每次錄音備忘的時長、備忘錄名稱、日期、語音備忘錄的文件名,文件中是具體的錄音數據。7.2.7其他信息源分析7.3iPhone備份文件的取證7.3iPhone備份文件的取證iOS的備份文件包括3類:PList文件、數據文件以及數據庫文件。1.PList文件plist文件的全稱為PropertyList,是一種屬性列表文件,用來存儲串行化后的對象,擴展名為“.plist”,因此通常被稱為“plist”文件。其存儲方式有三種,其中以XML格式或binary格式最為常見。7.3.1備份文件的結構與分析
備份文件中有plist文件,分別為Info.plist、Manifest.plist、Status.plist。Info.plist這個文件是明文保存,里面記錄了設備名字、iOS版本、型號,備份日期、設備信息、UDID、ICCID、MEID、應用程序列表等信息,如下圖:7.3.1備份文件的結構與分析圖7-15?Info.plist文件的部分內容7.3.1備份文件的結構與分析
Manifest.plist是一個二進制格式(binary)的plist文件,里面記錄了安裝的應用程序、備份是否加密等信息。該文件用文本工具打開是亂碼,部分內容見下圖:圖7?16Manifest.plist文件的部分內容7.3.1備份文件的結構與分析
從上圖看出,二進制格式的“plist”文件非明文,無法直接閱讀其內容,這種格式可以通過工具轉換成明文的xml格式。macOS、Windows系統環境下都提供了轉換命令。Windows環境需要安裝iTunes,命令程序存放的路徑為“C:\ProgramFiles(x86)\CommonFiles\Apple\AppleApplicationSupport\plutil.exe”。7.3.1備份文件的結構與分析圖7-17?plutil.exe命令支持的格式“plutil.exe”命令支持的格式如下圖:7.3.1備份文件的結構與分析將二進制格式的“plist”文件轉換xml格式,使用的命令為“plutil.exe-convertxml1plist文件-oxml文件”,例如“plutil-convertxml1Manifest.plist-oManifest.json”。轉換后生成的“Manifest.json”文件的部分內容如下圖:7.3.1備份文件的結構與分析圖7-18?Manifest.json文件的部分內容7.3.1備份文件的結構與分析圖7-19?Status.plist文件轉換后的部分內容Status.plist也是一個二進制格式的plist文件,里面包含了一些諸如備份時間、是否為全量備份等備份狀態信息,轉換后的部分內容如下圖:7.3.1備份文件的結構與分析
數據文件iOS備份文件中,有大量文件的文件名是由40個十六進制字符組成的,這些文件都是數據文件。其文件名的生成規律是是由“域+原始路徑”(使用“-”為連接符),隨后將拼接得到的字符串計算SHA1哈希,就是生成的文件名。例如:短信數據庫的路徑為“Library/SMS/sms.db”,其域名為HomeDomain,將字符串合并后為“HomeDomain-Library/SMS/sms.db”,計算該字符串的SHA1哈希值為3d0d7e5fb2ce288813306e4d4636395e047a3d28,如下圖:7.3.1備份文件的結構與分析圖7-20計算SHA1結果7.3.1備份文件的結構與分析
由上圖可知,短信數據庫文件在iOS備份文件中的文件名為3d0d7e5fb2ce288813306e4d4636395e047a3d28。那域名和文件名從何而來?數據文件和數據庫文件是相關聯的,可以通過這兩個文件還原iOS備份文件中文件對應的存放路徑,下文會介紹數據庫文件的相關結構。7.3.1備份文件的結構與分析
數據庫文件iOS備份文件中的數據庫相關文件有Manifest.mbdx、Manifest.mbdb、Manifest.db。在iOS5之前,iOS備份文件中有“Manifest.mbdx”、“Manifest.mbdb”兩個文件,其中“Manifest.mbdb”是備份的索引文件,它由一個定長的頭部和若干定長的記錄構成。Manifest.mbdx數據庫中記錄著文件信息如域名、路徑、哈希值、文件大小等屬性。7.3.1備份文件的結構與分析圖721Manifest.mbdb文件頭的部分內容但iOS5中,廢棄了Manifest.mbdx,Manifest.mbdb包含了如域名、路徑、路徑類型、創建時間、密鑰、文件大小等屬性。Manifest.mbdb是一個結構化文件,由無數個數據記錄所組成,使用十六進制查看工具winhex打開該文件,文件頭部分內容如下圖:7.3.1備份文件的結構與分析前面6個字節為6D6264620500為文件頭,隨后存儲著備份文件中各各數據文件的信息。解析Manifest.mbdb文件結構,可以看出數據記錄中不少數據字段的存儲結構為“長度+值”的模式,即由前2個字節聲明其值的長度(用字節表示),緊隨其后則是字段的內容。Manifest.mbdb中一條數據記錄的結構解析如下表:7.3.1備份文件的結構與分析7.3.1備份文件的結構與分析7.3.1備份文件的結構與分析上表中整數的存儲格式為“big-endian”。為了便于分析一條數據的結構,我們可以借助winhex、010editor等十六進制編輯器的模板功能。參照上表中各個數據字段的解析,寫了一個簡單的winhex模板,其中文件屬性這部分代碼還需要完善,代碼如下:7.3.1備份文件的結構與分析7.3.1備份文件的結構與分析7.3.1備份文件的結構與分析
模板的制作教程可參見/winhex/templates/,將上述代碼保存為“.tpl”后綴名的文件,然后放在winhex安裝目錄下即可。使用Winhex打開Manifest.mbdb文件,依次選擇菜單“View”->“TemplateManager..”,彈出窗口如下圖所示:7.3.1備份文件的結構與分析圖7-22?WinHex的TemplateManager對話框7.3.1備份文件的結構與分析圖7-23解析得到的第一條數據選擇“Manifest_mbdb”模板,點擊“Apply”按鈕,即可解析數據,如下:7.3.1備份文件的結構與分析圖7-24解析得到的第二條數據7.3.1備份文件的結構與分析
上圖中offset列顯示該項記錄在整個“Manifest.mbdb”文件中的偏移位置,例如“文件路徑”的值在整個Manifest.mbdb中偏移位置192。找到Manifest.mbdb文件中有關短消息數據庫的數據內容,如下圖:7.3.1備份文件的結構與分析
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國金屬家具行業市場全景分析及投資前景展望報告
- 心靈培訓分享課件
- 謝彬培訓課件
- 接待專員培訓課件
- 社會熱點事件在初中歷史教學中的應用策略與實踐研究
- 海洋調查設備項目風險評估報告
- 中國集成顯卡行業市場深度分析及發展趨勢預測報告
- 2025年 滄州市人民醫院招聘考試筆試試題附答案
- 2025年中國全銅紅沖三角閥行業市場發展前景及發展趨勢與投資戰略研究報告
- 2022-2027年中國瓜子行業市場供需現狀及投資戰略研究報告
- 醫療保險基本政策培訓PPT
- 連云港師范高等專科學校輔導員考試題庫
- 2023年湖北黃岡市檢察機關招聘雇員制檢察輔助人員50人高頻考點題庫(共500題含答案解析)模擬練習試卷
- 05G525-吊車軌道聯結及車擋(適用于鋼吊車梁)課件
- TQGCML 757-2023 硫酸鈣晶須規程
- 計數型MSA分析表
- 軍校招生政治考核表格式-雙面打印
- 急救-毒蛇咬傷
- YY 0334-2002硅橡膠外科植入物通用要求
- GB/T 41261-2022過程工業報警系統管理
- (完整版)杭州電子科技大學數字電路期末考試試卷及答案
評論
0/150
提交評論