本文將討論因應行動裝置而興起的無線技術,探討其對數位鑑識人員的幫助。若犯罪者使用了智慧型裝置的無線功能,數位鑑識人員可以據此找出犯罪者的活動紀錄。這裡將使用Android SDK提供的ADB工具針對智慧型手機進行萃取,並分析使用者從事之任何活動以釐清事實。
本篇實驗使用Android所開發的指令來對手機進行鑑識,探討智慧型手機使用Wi-Fi與藍牙(Bluetooth)功能時可能洩漏的個人資訊,除了可讓使用者瞭解到自己所使用的Wi-Fi和藍牙對自己所造成的風險外,更重要的是可提供數位鑑識人員在處理智慧型手機資料時的鑑識方法。
手機數位鑑識簡介
手機已普遍使用於日常生活中,犯罪者也不例外,因此犯罪現場時常可以找到嫌疑犯的手機,手機中的資訊包含通訊錄、通話紀錄、簡訊、電子郵件、即時訊息、網頁瀏覽紀錄、影音、圖片等等。調查人員須具備鑑識與分析數位證據的能力,才能讓法庭接納數位證據。現今市面上有許多鑑識工具如XRY、Encase、Cellebrite等可以幫助鑑識人員進行智慧型手機資料的萃取與分析。
以下先簡單介紹目前智慧型手機作業系統中普及率最高的Android,以及其採用兩種主要的無線技術。
Android作業系統概觀
Android作業系統是以Linux作業系統為基底所開發出的作業系統,其系統架構分為四層,包括Linux核心(Linux Kernel)、函式庫(Libraries)與執行環境(Android Runtime)、應用程式框架(Application Framework)以及應用程式層(Applications)。
搭載Android作業系統的行動裝置,所採用的記憶體可分為兩種主要型態:隨機存取記憶體(Random-Access Memory,RAM)與快閃記憶體(Flash Memory),前者儲存的資料會隨著電源關閉而消失,後者則會將資料保存下來。
Linux作業系統預設只能夠讀取如滑鼠、鍵盤之類的Character Devices與如硬碟之Block Devices中的資料,但Android手機使用的快閃記憶體並非Character Devices與Block Devices,因此必須使用快閃記憶體轉換層(Flash Transition Layer,FTL)以提供Android手機的功能。
記憶體技術設備(Memory Technology Device,MTD)的發明,解決了Linux核心與快閃記憶體之間溝通的阻礙。MTD是Linux系統下的一個子系統,主要目的是提供一個介於快閃記憶體硬體驅動程式與高階應用程式之間的抽象層。
Android手機記憶體內有許多映射到MTD的分割區(Partitions),如Userdata、Cache、Boot及Recovery Partitions。調查者通常會遇到的檔案系統為YAFFS2、FAT、EXT3或EXT4,以及專門的檔案系統,例如三星(Samsung)的Robust FAT file system(RFS)。
智慧型手機無線功能介紹
智慧型手機的無線功能主要有Wi-Fi和藍牙(Bluetooth)兩種。Wi-Fi的全名為Wireless Fidelity,是一般所熟知的無線網路,智慧型手機是最常使用Wi-Fi的裝置之一,智慧型手機會記錄下手機使用無線網路的活動,而這些資料會存在手機記憶體的循環緩衝區(Circular Buffer)內。
藍牙技術的通訊方式與IP通訊相同,皆以封包來傳輸資料,其可連接有限個裝置來形成一個微型網路。藍牙的主要目的是取代有線網路,提供一個無線的傳輸環境讓全球使用者通行無阻,並不受不同廠牌的限制,讓所有裝有藍牙裝置的設備皆可互通。表1為Wi-Fi與藍牙兩種技術的的差異比較。
表1 Wi-Fi與藍牙的比較
鑑識工具與軟體簡介
本篇所使用到的鑑識工具與軟體,包括ADB(Android Debug Bridge)、Busybox、Instagram、Dropbox以及Orweb,以下分別加以說明。
ADB
Android SDK提供的ADB(Android Debug Bridge)工具允許裝置和遠端工作站間的相互作用。ADB由三個主要項目組成「客戶-伺服器端程式」,包括在工作站上執行的客戶端和伺服器端,及在模擬器或裝置上執行的程式。某些ADB指令如dd、ls、pull,因為可存取內部記憶體的資料,所以經常被使用在鑑識工作上。
Busybox
Busybox是一個遵循GPL協議、以自由軟體形式開發的應用程式,在單一的執行檔中提供精簡的UNIX工具集,其執行檔尺寸小,可以提供多數UNIX的功能,以及許多使用者會想在Linux系統上看到的功能,且以模組化的方式來新增或排除功能或指令,非常適合嵌入式系統。