最安全的通信軟體Signal真的安全嗎?

安全研究人員Markus Vervier和Jean-Philippe Aumasson在Signla安卓版本中發現很多漏洞,這些漏洞能夠被遠程攻擊者用來更改附件並使得應用程序不再工作。

Signal是一款免費並開源的手機加密語音通話和快速消息發送應用,有iOS和安卓版本,並使用端對端加密協議來保護通信不被監視。Signal應用程序是由Moxie Marlinspike開發,由Open Whisper Systems公司資助的。

如果你在尋找一款最安全的通信應用,你可以使用Signal來增加你簡訊和語音電話的安全性,因為它可以加密你的數據。

約翰霍普金斯大學的教授和破譯密碼專家Matt Green,著名的安全專家Bruce Schneier,當然還有告秘者Edward Snowden都是Signal最有名的崇拜者之一。最近,我們甚至能在Mr.Robot這一電視連續劇中看到它的身影。

每當Signal的使用者發送一個文件時,文件先是被加密,然後應用程序會分配給它一個MAC地址。接受者會利用它來驗證發送者的身份以及文件的完整性。文件附件會被存儲在亞馬遜的S3 存儲伺服器上,並且文件能夠通過HTTPS來下載到接受者的設備上。

這兩位安全專家發現使用中間人攻擊時能夠進入亞馬遜S3存儲器,甚至任何一個被安卓信任的電子商務認證授權機構都能被用來給目標用戶發送一個更改過的附件。專家們發現,通過給附件加上4Gb加1比特的數據就能越過MAC驗證。研究者發現,事實上攻擊者不必給受害者發送4Gb的數據,利用HTTP流壓縮,附件可以被壓縮到僅僅4.5Mb。

「剩餘的數據都是int類型的,這些數據是將文件長度和MAC長度相減得到的。由於file.length()函數會返回一個long數據並且文件可能比Integer.MAX_VALUE還要大,剩餘數據會被包裹起來。」由研究者發布的分析這樣說道。「與C++不同,Java是存儲安全的,因此不會產生任何典型的存儲崩潰問題。不過,我們可以利用這個溢出來反轉程序的邏輯。現在,如果這個文件有4GB+1byte+x,數值會包裹並且剩餘的數據會被設置為x」

安全專家同時發現了有關於CallAudioManager應用的漏洞,並且發現了它是如何處理實時傳輸協議數據包的。遠程攻擊者可以利用它來擊垮消息應用。

這些漏洞已經在9月13日彙報給了Signal,公司在同一天將補丁放在了GitHub的存儲上。在Google Play上搜索Signal, 可以發現補丁是在9月16日發布的。這說明官方商店在過去的三天提供了有漏洞的應用版本。

註:本文參考來源於securityaffairs

推薦閱讀:

聽說《加勒比海盜5:死無對證》被黑客盜了,是真的嗎?
安全工程師們必看:加強網路環境的9條建議
Python黑帽編程1.2 基於VS Code構建Python開發環境

TAG:SignalFacebook产品 | 网络安全 |