目前使用率極高的社群網站Facebook,其附屬的聊天軟體Facebook Messenger App近來常被作為犯罪的通訊工具,對此本文將針對該App以Android 4.0以上版本的手機採用adb模式及backup指令進行萃取,並將萃取之資料透過SQlite軟體加以分析及重組,讓Facebook Messenger App鑑識結果清楚呈現並能快速分析。
臉書(Facebook)所開發單獨傳送訊息的應用程式Facebook Messenger App,是目前最受歡迎的社群軟體之一,使用的族群相當廣泛,也因此該軟體功能經常被做為犯罪行為的工具。
本文考量Facebook Messenger除傳送文字訊息外,還包含按讚、語音訊息、表情符號、圖片及直接拍照等多媒體功能,如圖1所示,而且其所傳送的紀錄可能儲存在手機的相關資料庫之中,所以將針對Android系統的手機進行資料萃取動作,並將所得的資訊重整、過濾,俾於鑑識人員分析。
|
▲圖1 Facebook Messenger App聊天介面。 |
相關背景介紹
在實例說明有關於Facebook Messenger App的數位鑑識之前,先來說明所需具備的相關知識、觀念、運作原理以及將會使用到工具。
行動裝置萃取
目前手機資料的萃取,整體可分為實體萃取及邏輯萃取兩大類。實體萃取主要針對硬體中的資料進行採集,將所有記憶體以「bit by bit」的方式複製出來,所以可復原被刪除且尚未被覆蓋的資料,但缺點是資料不易解讀,必須透過專業的軟體協助解析。而邏輯萃取的資料,是針對裝置進行操作即可獲得,因此所取得的資料較容易分析。
這兩種萃取方式最大的差異點,在於能不能還原出被刪除的資料,以及取出的資料是否容易分析。
Facebook Messenger App
Facebook推出一款免費傳訊應用程式,目前主要支援iOS、Android平台。以往Facebook的應用程式就有傳送訊息的功能,而現在將此功能另外獨立成為一款新的應用程式,即Facebook Messenger App。
其目的是要與手機的通訊錄相結合,並簡化通訊軟體的使用,讓Facebook Messenger App不僅可與手機上的通訊錄同步,更可用手機登錄、新增好友等方式,或直接透過Facebook Messenger App撥打電話,便於與Facebook上的好友進行即時通訊。
SQLite
針對資料固定且量不多、只在單機上使用或無多人使用等特性,促使嵌入式資料庫(Embedded SQL Database)的崛起,SQLite即是最佳的範例。SQLite與一般資料庫差異不大,惟其無須建立資料庫,使用時只需要在編譯當下將SQLite程式庫一同編入即可。
另外,SQLite的資料庫(Database)都是以單一檔案的形式存於磁碟內,不必再安裝資料庫軟體,因此要將資料庫複製或建立在電腦上是相對地簡捷快速。
除了檔案較小及速度較快的優勢外,SQLite本身之取得,無須額外花費且亦通過完整的測試,也因SQLite具上開特性,使得手機App軟體經常利用它來儲存相關資料。
Android系統中App的檔案結構
一般而言,一個App在使用者的手機中儲存用戶資料,都會在「/data/data/[應用包名]/」資料夾內,其中shared_prefs為配置文件,而databases為資料庫的存放位置,這部分是大多數App在Android的基本架構,例如LINE的[應用包名]為jp.naver.line.android(圖2)、BeeTalk的[應用包名]為com.beetalk。
|
▲圖2 LINE App的用戶資料資料夾。 |
但是,不同的應用軟體其影音圖片等多媒體檔案,因檔案容量較大,不一定存在其中,所以儲存位置無固定規則可循。
手機App大概分為可指定存放位置及不能指定存放位置兩種,以LINE的多媒體訊息為例,如圖3所示,會存在「/Sdcard/Pictures/」下的NAVER_LINE和NAVER_LINE_MOVIE資料夾內,但這部分會隨著Android版本及App的不同而有所改變。
|
▲圖3 LINE App的相片及影片資料夾。 |