最安全的通信软件Signal真的安全吗?
导语: 安全研究人员Markus Vervier和Jean-Philippe Aumasson在Signla安卓版本中发现很多漏洞,这些漏洞能够被远程攻击者用来更改附件并使得应用程序不再工作。
安全研究人员Markus Vervier和Jean-Philippe Aumasson在Signla安卓版本中发现很多漏洞,这些漏洞能够被远程攻击者用来更改附件并使得应用程序不再工作。
Signal是一款免费并开源的手机加密语音通话和快速消息发送应用,有iOS和安卓版本,并使用端对端加密协议来保护通信不被监视。Signal应用程序是由Moxie Marlinspike开发,由Open Whisper Systems公司资助的。
Signal的安全性被斯诺登认可
如果你在寻找一款最安全的通信应用,你可以使用Signal来增加你短信和语音电话的安全性,因为它可以加密你的数据。
约翰霍普金斯大学的教授和破译密码专家Matt Green,著名的安全专家Bruce Schneier,当然还有告秘者Edward Snowden都是Signal最有名的崇拜者之一。最近,我们甚至能在Mr.Robot这一电视连续剧中看到它的身影。
每当Signal的使用者发送一个文件时,文件先是被加密,然后应用程序会分配给它一个MAC地址。接受者会利用它来验证发送者的身份以及文件的完整性。文件附件会被存储在亚马逊的S3 存储服务器上,并且文件能够通过HTTPS来下载到接受者的设备上。
安全专家验证Signal也不是绝对的安全
这两位安全专家发现使用中间人攻击时能够进入亚马逊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日发布的。这说明官方商店在过去的三天提供了有漏洞的应用版本。
发表评论