按 Enter 到主內容區
:::

TWCERT-電子報

:::

Signal Desktop疏於本機資料保護,愛好者當心隱私外流

發布日期:
字型大小:
  • 發布單位:TWCERT/CC
  • 更新日期:2019-04-03
  • 點閱次數:487
Signal Desktop疏於本機資料保護,愛好者當心隱私外流

內文

●概述:
非營利軟體開發機構Open Whisper Systems,負責維護Signal即時通程式,Signal早先僅能支援行動電話Android、iOS,在PC上須安裝Chrome瀏覽器始得與其他Signal用戶進行P2P通訊,為擺脫Chrome桎梏,2017年10月31日推出獨立Signal桌機版,讓慣用Firefox 或Safari者省去麻煩。近日各方披露Signal Desktop設計不當,如從Chrome extension轉換成桌機版,升級過程會將舊訊息內容以明文儲存為messages.json,後續匯入桌機版資料庫,且未警告安裝者,若忘記刪除,則長期留置硬碟;而Signal Desktop之訊息資料庫db.sqlite儘管經過加密,然其decryption key以明文儲存於config.json,找到config.json就能存取db.sqlite;而過時訊息被刪除後,相關附檔仍留存,效果不盡理想。由於Signal Desktop橫跨Linux各分支、Windows、MacOS等主流作業系統,用戶群廣泛,若電腦遭入侵極易外洩隱私,Signal向來以通訊安全自豪,但其儲存安全有待改善,雖弱點版本不明,根據資料時間與Github版本歷程,研判最新版v 1.17.0亦受影響,Open Whisper Systems得知此事迄今仍無回應,該公司與松鼠郵遞一樣依賴捐款,想來效率無法強求。
●編註:
(1)轉版升級產生訊息明文
將Signal從Chrome extension角色升級成獨立Signal桌機版,仍須搭配手機版Signal,因為Signal只允許用戶從行動程式建立帳號,作法是掃描Signal Desktop的條碼以建立連結,此外,升級程序要求用戶指定資料夾,以便匯出既有訊息及附檔,再重新匯入給Signal桌機版,然而全部聊天內容均未加密,匯出多個資料夾,命名方式為聯絡人加上電話號碼,與每個對象的訊息內容存成明文messages.json格式,在mac OS與Linux皆如此,且直到作業結束,均未警示用戶隱私未受保護,存在硬碟中,等用戶自行刪除。
(2)密鑰易取得
安裝Signal桌機版時,會建立專屬資料庫 %AppData%\Roaming\Signal\sql\db.sqlite ,同步自動產生encryption key,db.sqlite用來儲存訊息內容,所以必須加密,而每次開啟db.sqlite都使用,程式會儲存decryption key明文,在Mac電腦,存放於 /Library/Application Support/Signal/config.json ,在其他主機環境存放於 %AppData%\Signal\config.json ,任誰找到config.json,能完整存取db.sqlite。
(3)附檔未真正刪除
Signal Desktop對於刪除過時對話之設計有瑕疵,舊訊息固然清乾淨,當初的附件檔仍在,讓使用者有回味的機會,且突顯另外一個破綻,Signal Desktop並未阻隔檔案系統接觸對話隱私,因為附件也是通訊內容。

影響產品

Signal Desktop 1.17.0以前版本

解決辦法

回頁首