暗網潛航——Signal真的固若金湯?

  Signal與其他聊天軟件有本質上的分別,它不會把密匙及對話記錄儲存在它的伺服器或電腦上的手機備份之中。故此,即使執法機關找到它的通訊閘道及伺服器,也會一無所獲。

  不過對於我們這些專業面對電子取證及鑑識人員而言,Signal真的牢不可破嗎?世事萬物相生相剋,世上沒有完美的攻擊,也沒有完美的防守。

  因為Signal無法不儲存使用者的PIN Code及密匙,必須將這些私密資訊放在通訊硬件裏面,所以它的漏洞之一,就是手機本身。

  如果你是一個取證及鑑識人員,要從iPhone取得資料,又怎麼會忘記目標的檔案系統及密匙圈(Keychain)呢?這時候總有人問:如果iPhone用戶不使用PIN Code,而使用人臉辨識怎麼辦?人臉辨識在密匙圈裏,不就是一組由你面容特徵生成的密匙嗎?與PIN Code有甚麼分別?

  所以,當獲取目標硬件後,首先要做的是把它完整地複製一份取證拷貝。記着,完整的意思是目標硬件的存儲容量有多大,就拷貝多少,就算是沒有寫入的存儲區域也要拷貝。

  然後使用針對OSX的電子取證工具,將Signal Conversation Database由目標拷貝中剝離獲取。我個人強烈建議使用Macforensic Lab、Oxygen或 Elcomsoft Phone Viewer吧,如果買不起專業工具的話,自由軟件The Sleuth Kit (+Autopsy)也是上選。

  第三步是把密匙圈檔案剝離獲取。要記住Apple密匙圈通常是分開三個檔案,分別是System Keychain、User Keychain 及iCloud Keychain,全都儲存在system library目錄當中,記着一個也不能少。然後目標拷貝中的/private/ver/db目錄會找到一個名叫Systemkey file的Master Key檔案。

  最後就是使用任何商業或自由軟件的Chainbreaker(例如︰n0fate)加一個Hex十六進位編輯器,把Master Key釋放出來,就可以打開密匙圈,然後將Signal密匙拿出來,就可以直接看到目標手機與其他用戶之間的通訊內容。

  Signal並非固若金湯,但如果使用者有閱後即焚,什麼都只記入腦的習慣,不會把對話儲存在Conversation Database內,又或者把使用過Signal的手機完全物理摧毁,例如磨成粉末(用火燒或用錘破壞手機依然可以取證),我會建議取證人員,不如直接審問他算吧!

TOZ聯合創辦人

龐博文


hd