目前犯罪者的犯罪手法開始藉由智慧型手機進行,而且惡意軟體盛行,所以必須了解各應用程式所儲存的隱私資料,以保護自己的權益,對此本文以目前流行的iPhone手機整合了針對iOS系統應用程式取證的鑑識程序,來幫助追蹤犯罪事件的蛛絲馬跡。
行動網路的普及與個人行動裝置的蓬勃發展,使得人們能夠更方便地使用手機進行日常的語音或視訊通話、網頁瀏覽等操作,犯罪者也藉著網路的發達轉換犯罪模式,以手機為媒介實行犯罪的案件在近幾年層出不窮。
然而,正是因為行動電話幾乎無所不能所帶來的便利,手機裝置內也將因此產生大量的系統處理紀錄,再加上基本的聯絡人通訊錄、簡訊、電子郵件、GPS定位資訊等,手機裡所蘊藏的資訊可謂洋洋大觀。
生產智慧型手機的品牌有HTC、華碩、三星、蘋果、小米、OPPO等,而根據國際市場研究機構IDC所發布的2017年10至12月全球智慧型手機的出貨量調查報告中顯示,在第四季期間,在全球排行的前五大品牌依序為蘋果、三星、華為、小米、OPPO,其中由蘋果所推行、搭載iOS系統的iPhone以平均每個月2,577萬支的銷量,達到市場占有率19.2%位居冠軍寶座,如圖1所示。
App Store是蘋果公司為iPhone、iPod Touch及iPad等產品所打造的行動應用程式發行平台,該商店允許用戶瀏覽並下載適用於iOS的應用程式至前述的裝置中,其中有些高擴展性的應用程式,甚至可以轉移到穿戴式的Apple Watch或更新的第四代以後的Apple TV平台。
目前大部分iPhone的鑑識文章皆僅聚焦於某幾種特定應用程式中的機密資料,如社交軟體LINE、FB Messenger等,對其他應用程式的探討與揭露甚少。根據Appfigures的報告於2017年初的統計數據,App Store上大約有220萬個可用應用程式,這意味著如果忽略其他相對冷門的應用程式,將遺失大量潛在的可用訊息。
雖然目前市面上有許多鑑識軟體功能完整且強大,可搭配鑑識作業流程並用於犯罪偵查上,更有詳盡的報告統整鑑識標的內所有重要的資料,如UFED、Encase、XRY等。儘管這些高度整合性的軟體能夠方便萃取行動裝置上的痕跡,但它通常收費很高,導致一般民眾或經費拮据的機關公司可能無法享受如此便利的功能。因此,在本文中希望可以透過使用免費開源的應用程式,針對其所安裝的應用程式一步一步地實現相同的鑑識結果。
了解相關背景知識
在進入主題之前,先說明iOS的資料萃取方法,並介紹幾款iPhone備份工具。
iOS資料萃取方法
由於iOS裝置受限於其作業系統的封閉環境,因此在數位鑑識方式,可以透過安裝與執行Apple公司授權之應用程式來調查在iPhone上的數位證據。
其次,iOS裝置在Apple公司的設計,無法外接記憶卡,僅能透過原廠提供之專用連接線與電腦USB連接,所以針對iOS裝置內部記憶的資料萃取有一定之困難度。基於上述原因,若要進行萃取工作,可以從以下兩個方面進行:
備份萃取
透過於個人電腦安裝的iPhone備份工具,例如iTunes、iTools等等,將iOS裝置裡的影音檔、相片、通訊錄、通話紀錄等檔案備份至電腦上,就可以完成萃取的動作。
裝置萃取
裝置萃取又分為實體萃取及邏輯萃取兩種,先說明實體萃取。由於iOS裝置作業系統的獨特性,若要於iOS裝置上順利安裝鑑識軟體,如UFED、XRY等,就必須先執行「越獄」(JailBreak,簡稱JB)的程序。經過越獄程序,該裝置即可解除原先作業系統的一些限制,繼而順利安裝並執行實體萃取動作,也就是將其內部資訊以位元複製或製作映像檔的方式。
實體萃取雖然可以保留實體記憶體內所有數位證據,但所使用的鑑識軟體大多為商業付費軟體,且以越獄破解的手機會帶來一些安全上的風險,讓裝置變得更不穩定,也可能無法再接受未來iOS的更新。
至於邏輯萃取,可透過鑑識軟體或是透過Apple公司授權之備份工具來進行。當透過鑑識軟體時,利用在電腦安裝商業手機鑑識軟體,並將手機與電腦連接,即可透過該軟體以邏輯萃取方式進行。而透過Apple公司授權之備份工具,是利用於電腦安裝的備份工具,並將手機與電腦連接,所備份的檔案就是以邏輯萃取的方式進行。
邏輯萃取雖然無法取得經刪除的檔案內容,使得部分跡證將被遺漏,但此方法可以不依賴商業鑑識軟體進行備份萃取,也就是說,這個方式對鑑識軟體工具有較高的支援度。
iPhone備份工具
以下介紹iTunes、iCloud及iTools三款iPhone備份工具,並比較三者的差異。
iTunes是蘋果公司免費提供的一套多媒體播放程式,可以用來播放及管理裝置的影音檔案等。它是安裝在電腦的程式,且使用時必須透過傳輸線連接電腦。
iCloud則是蘋果公司免費提供的網路服務,使用者可以將手機的檔案上傳至iCloud雲端進行備份,並有自動備份功能。必須先申請Apple帳號,方能享有5G的免費儲存空間,可付費升級,且須連結無線網路才能進行備份。
而iTools是一套非官方的管理工具,可以做到音樂、檔案、電子書、通訊錄、書籤等的管理,介面十分簡潔且功能完整能滿足使用者的備份習慣,且提供部分或完整的備份功能。
iTunes、iCloud及iTools三個備份工具的差異比較,可參考表1的說明。
實驗流程設計
以備份工具進行邏輯萃取之完整備份,瀏覽該備份檔案時,各應用程式的檔案將依各程式名稱以資料夾的形式存放在「/var/Applications」底下,如圖2所示。一旦使用者曾經執行某些應用程式,這些程式都將在相對的資料夾中留下該應用程式的痕跡,而這些資料夾中的所有檔案都可能包含使用者蹤跡的豐富資訊。
其中位於各應用程式資料夾底下常見的痕跡文件,除了熟知的檔案格式如png、gif、mp3等外,其他主要可按照其檔案格式將檔案分成plist格式檔案、sqlite格式檔案與其他格式檔案等三種類型。
針對大部分多數的多媒體檔案,使用前面介紹過的iTools工具,即可查看檔案內容,但對於較不熟悉的plist、sqlite與其他檔案格式,就必須借助於其他工具的幫忙。
plist Editor檢視plist格式
plist全稱為property list,陣列、字串、字典等資料都可以將其存成XML格式的plist檔案,通常存在於OS X作業系統中,而由於iOS是由OS X演變而來的系統,因此會在iPhone的備份檔案中看到這樣的屬性目錄格式。
蘋果裝置的應用程式會將程式相關的重要資料儲存在plist的二進位目錄中,使plist可能包含極有價值的資訊,例如Cookie、帳戶名稱與密碼、Google地圖歷史紀錄、偏好設置、Safari瀏覽歷史紀錄以及書籤、WebClip、系統配置、狀態等。它們被iPhone內建的應用程式和第三方應用軟體所使用,因此它們的出現率將不斷增加,畢竟市場上有成千上萬的第三方應用程式。
針對plist檔案,可以使用plist Editor軟體查看其內容甚至對其進行編輯。plist Editor是一套專門針對Windows作業系統的免費工具,支援正規表達式的搜尋與取代功能,介面簡單且直覺好用,如圖3所示。
以DB Browser for SQLite3查看sqlite格式
然而,即使plist中隱藏著寶貴的資料,但大多數的使用者數據都是使用SQLite資料庫軟體儲存在資料庫檔案裡。sqlite是SQLite關聯式資料庫管理系統的檔案,效能比MySQL更高,且支援眾多程式語言。此外,與許多其他資料庫管理系統相比,SQLite並非採取用戶端-伺服器模式,SQLite與程式連結,並嵌入其中成為部分程序,是在行動裝置中部署最廣泛的資料庫引擎。蘋果裝置的應用程式也大量使用sqlite資料庫檔案來儲存各種資訊,包含聯絡人資訊、簡訊內容、電子郵件內容和其他個人資料等。
在檢視工具方面,針對sqlite檔案,可以使用DB Browser for SQLite3軟體查看其內容,甚至對其進行修改與刪除。DB Browser for SQLite3是一套專門針對SQLite3資料的免費工具,可支援Windows、Mac OS與Linux作業系統,其介面簡單好用,如圖4所示,即使不需熟悉SQL語法也能順利上手。
其他格式的應對方式
也就是除了plist與sqlite以外的其他格式,包含json、binarycookies及無副檔名等檔案格式。
json全稱為JavaScript Object Notation(JavaScript物件表示法),是一種輕量型的資料交換語言,與plist格式有異曲同工之妙,與plist不一樣的是,plist較完整,而json則使得網路資料瀏覽時能被快速地解析與傳輸,可以描述物件與陣列兩種結構。
binarycookies格式如同名稱所示,是Binary格式的Cookies檔案,常用於Safari等瀏覽器應用程式。
無副檔名的原因可能有兩種,一是應用程式開發者可能將某種檔案格式視為商業祕密而不願公開,二則是開發者可能不願意花時間來規範此檔案的格式。
至於其餘未知文件的檔案類型,除了json格式以外,使用plist Editor來檢視更為方便之外,其他檔案類型則使用了HxD這個免費工具。HxD是一個精心設計且運行快速的十六進制編輯器,如圖5所示,該軟體除了可以對原始硬碟內容和隨機存取記憶體進行修改外,還可以處理任何大小的文件。
十六進制數字系統普遍應用於電腦程序中,使得十六進制的資料能輕鬆地轉換成更基本的二進制資料,其名稱Hx即來自十六進位的英文Hexadecimal,以16為基數,對比熟悉的十進制則以10為基數。使用此應用程式時,若利用檔案的特徵簽章,可以透過一般位於檔案開始處的2個位元組,來找出無副檔名之檔案格式,並查看所有未知檔案型態中的資料,最後藉由搜尋特定的關鍵字來找尋想要蒐集的有趣痕跡。
由於本文的目標是各種手機應用程式執行後遺留在手機裡的資料跡證,雖然各應用程式的文件內容迥然不同,但還是必須先著眼於解析以應用程式為名稱之資料夾下的各種檔案,並試圖聚焦於可能隱藏大量豐富訊息的兩種檔案格式資料sqlite文件與plist文件,且同時持續關注其餘未知文件的檔案類型,來獲取更多更關鍵的使用者痕跡。
這裡所提出的iPhone鑑識流程會先使用iTools工具對iPhone進行備份,並且開啟「/raw/Applications」資料夾以鎖定手機應用程式的資料痕跡,再對以應用程式名稱為資料夾底下的檔案,針對不同檔案格式使用相應的免費工具,進行操作檢視尋找,然後整合三者所獲取的資訊,來達到鑑識目的,整個實驗流程如圖6所示。
實例操作示範
本文使用的iTools版本為3.4.3.1,而鑑識標的為iPhone SE,並以MoPTT應用程式為例。備份過程與找到的應用程式名稱下的plist、sqlite與其他檔案類型,如圖7所示。
MoPTT是一個可適用於iOS和Android系統中瀏覽電子布告欄系統(Bulletin Board System,BBS)的應用程式。透過MoPTT,可以連接「telnet://ptt.cc」,這是台灣目前最大的BBS網站「批踢踢(PTT)」,如圖8所示。
電子布告欄系統像是一種命令模式介面的社交網路軟體,起源時間早於精心設計的社交網站Facebook和Twitter。PTT擁有超過150萬註冊用戶,在尖峰時段有超過15萬名使用者同時在線上,且擁有超過2萬個主題,每天皆有超過2萬篇文章和50萬條評論的發布,且具備與其他使用者在線交流、p幣虛擬貨幣交易的功能,以上各種趨勢使得批踢踢裡的個人資訊變得越來越重要。
這裡使用plist Editor查看MoPTT應用程式裡的plist文件,可發現其含有PTT的機密資料如帳號與密碼,如圖9所示。
而透過使用資料庫瀏覽器DB Browser for SQLite3查看MoPTT應用程式裡的sqlite文件,發現sqlite文件中含有個人的信件紀錄,如圖10所示。
另一方面,透過使用HxD查看MoPTT應用程式裡其他格式的檔案文件,發現在Cookies.binarycookies檔案中含有過去瀏覽文章內的網址連結,如圖11所示。
除了MoPTT這個應用程式外,還透過相同的實驗流程來分析其他的應用程式,其結果如表2所示。
蘋果裝置中有許多各式各樣的應用程式提供了各種便利的功能,而相應的功能對裝置帶來的結果,即是在其中遺留大量的個人資料與使用紀錄,例如訂房應用程式可能包含過去預訂房間的收據證明、信用卡資料及連絡電話等;銀行應用程式可能包含個人財務狀況、卡號資料等;而購物應用程式,可能包含過去消費的歷程與付費資料等。因此,希望能藉由整合的iPhone手機鑑識方法,讓所有擁有鑑識需求的人皆能輕易且不用花費任何金錢,針對想了解的應用程式,包含所有非熱門的軟體,在尋找跡證上能更有脈絡可循。
結語
考量到目前的犯罪趨勢,智慧型手機可能包含大量和犯罪相關的資訊,因此本文深入研究手機中存放的檔案,以了解可能的跡證該如何找尋,並可藉機探討該如何保護使用者本身的隱私資料。在本文中,整合了許多針對iPhone裝置進行取證的免費工具,並以MoPTT為範例進行操作演練。
然而,考量到iOS系統應用軟體數量的龐大,且使用者針對各種不同功能需求所選用的程式也不盡相同,無法一一闡述與實驗,所以藉由本文的鑑識架構流程,讓所有使用者皆能以此方式對其他未提及的應用程式找出iPhone裡的跡證,如此才是保護自身的最佳方式。
<本文作者:中央警察大學資訊密碼暨建構實驗室(ICCL),民國87年12月成立,目前由王旭正教授領軍,實驗室成員共有20名,並致力於資訊安全、資料隱藏與資料快速搜尋之研究,以確保人們於網際網路世界的安全。(http://hera.im.cpu.edu.tw)>