Signal:来啊,互相伤害啊

2021-04-22 星期四

Signal 是一款支持端到端加密的即时消息软件,以安全性作为卖点。官网还有斯诺登和推特 CEO 等人的背书。年初 Elon Musk 发了一句 Use Signal,直接让 Signal 的下载量在一周内翻了几十倍。



Signal 所使用的的加密通信协议 Signal Protocol 还被应用在一些流行的商业产品中,例如 Facebook Messenger、WhatsApp 和 Skype。


在去年年底一些媒体搞了个大新闻。


2020 年十二月,一家以色列的数字取证公司 Cellebrite 发表了一篇文章 Cellebrite’s New Solution for Decrypting the Signal App:


https://web.archive.org/web/20201210150311/https:/www.cellebrite.com/en/blog/cellebrites-new-solution-for-decrypting-the-signal-app/


Cellebrite 以提供 Android 和 iOS 的锁屏破解和数据提取而闻名。其产品主要是在执法机构获取到手机实体设备之后通过漏洞解锁密码,提取全盘镜像并分析其中诸如通话记录、定位记录等信息来给执法部门提供证据。


2016 年圣贝纳迪诺枪手案后,FBI 曾求助苹果协助解锁嫌疑人手机,被苹果拒绝。后来 FBI 找一家安全公司搞定了这件事,但从未透露是谁帮的忙。由于 Cellebrite 在圈内知名度太大,一直被误会是 Cellebrite 接的。直到最近才曝光出来是澳大利亚的 Azimuth Security


其实文章讲的是在物理解锁并提取了 Android 端的数据之后,如何从加密的数据库当中提取聊天记录。Signal 和微信都使用了 SQLCipher 给本地数据库加密。


这篇文章被一些媒体曲解为 Signal 的加密通信协议遭到破解,从物理提取谣传了远程解密:



由于传播太广,甚至登上了我们熟知的某阴间滤镜媒体,Signal 的 CEO Moxie Marlinspike 不得不在年底跑出来发了一篇澄清,或者说 diss。



https://signal.org/blog/cellebrite-and-clickbait/


Cellebrite 估计觉得丢不起这个人,把原文撤掉了,改成了 Helping Law Enforcement Lawfully Access The Signal App,并隐去了解密数据库的技术细节。


https://www.cellebrite.com/en/blog/cellebrites-new-solution-for-decrypting-the-signal-app/


这篇带有一定火药味的澄清成为了当天的热门话题。作为吃瓜群众,博主恶趣味地在推上发了这样一个小视频:



这个 bug 其实是 iOS 系统的远程代码执行,从 iOS 3 引入,拥有超过十年历史,直到去年上了天府杯报给苹果,在 iOS 14.4 被修复。这个洞可以通过多种即时聊天软件触发,包括系统自带的 iMessage 和许多知名的第三方应用,如 Signal、Google Hangout、WhatsApp 等。截止撰写本文的今天,14.4 仍然是最新的正式版。赶紧升级吧。



大家都看热闹不嫌事大,视频马上就火了。不过我装完 X 就跑,没几分钟就删掉了。


那天正好是东八区的平安夜。大半夜私信突然响了,一看竟然是 @moxie 本尊来问,说他看到有人把视频存下来了……我只好解释了下这是个通杀的,已经报给了苹果;如果 Signal 有兴趣,可以在客户端上加一些防御措施。


这个插曲到底有没有给 Signal 的老哥们一点启发我就不得而知了。


昨天晚上 Signal 突然放出了一篇文章 Exploiting vulnerabilities in Cellebrite UFED and Physical Analyzer from an app's perspective:


https://signal.org/blog/cellebrite-vulnerabilities/




Signal 搞来了一台 Cellebrite UFED 设备——他们自己说是散步的路上捡来的。我反正信了。



然后他们对设备里的软件(主要运行在 Windows 上)做了分析,发现里面附带了许多版本过时,存在大量已知安全漏洞的组件。许多动态链接库缺少应有的安全措施(应该说的是 ASLR 和 DEP)。例如其中用来处理多媒体文件的 ffmpeg 组件是来自 2012 年的版本。文章吐槽道,Cellebrite 对自家的软件安全似乎没有那么


数字取证软件需要处理来自被解锁设备的数据,这些数据应该被视作不可信任的,也可以成为一个攻击向量。假如出现安全漏洞,将导致执法机构的信息安全反过来受到威胁。


另外为了支持苹果设备的接入,软件部分捆绑了 iTunes 的一个支持库。苹果不太可能授权这样一家公司在商业产品里分发自家的软件包,有侵犯版权的问题。


高潮来了。为了证明 Cellebrite 的软件真的可以被反搞,他们做了一个 poc:



在使用 UFED 提取一台演示用的 iPhone SE 的过程中,突然弹出了一个 MessageBox,也就是成功地在提取端执行了任意代码。


忍不住联想到《千王之王 2000》的桥段:张家辉提取回来的罪证全是病毒,把重案组的资料全洗掉了……



演示视频和全文可以点击查看原文到 Signal 博客围观。


不过话说回来,安全相关的产品被人找到了安全漏洞,确实是比较尴尬的事情啊。


原文地址:点击此处查看原文