G.O.S.S.I.P 阅读推荐 2023-05-24

admin 2023年5月25日02:08:06评论18 views字数 2842阅读9分28秒阅读模式

在IEEE S&P 2023会议的第一天上午的议题中,除了我们在前天介绍的人造卫星安全的系统性总结论文,还有关于密码学算法与协议在现实世界中的安全攻击的几项研究工作,今天我们要为大家介绍的这篇论文 Practically-exploitable Cryptographic Vulnerabilities in Matrix 把矛头指向了知名的去中心化实时加密通讯开源协议Matrix,指出其中存在的密码学漏洞。

G.O.S.S.I.P 阅读推荐 2023-05-24

首先科普一下Matrix(介绍这个是不是有点风险……瑟瑟发抖),这是一个允许用户自己搭建服务器去实现可交互、去中心化的实时通信服务的框架。使用Matrix搭建安全的通信服务器,并配合支持 Matrix 的客户端可以实现个人、团队间的实时聊天交互(取代QQ、微信、钉钉、飞书)。更重要的是,Matrix声称实现了真正的端到端加密(End-to-End Encryption),保护用户的数据安全。

G.O.S.S.I.P 阅读推荐 2023-05-24

在基于Matrix开发的诸多上层软件中,比较有名的当属Element,这是一个很多政府机构都会采用的IM客户端,特别适合对用户隐私安全非常挑剔的欧洲人!

G.O.S.S.I.P 阅读推荐 2023-05-24

G.O.S.S.I.P 阅读推荐 2023-05-24

不过,在安全研究人员的放大镜下面,鸡蛋里面也是可以挑出来骨头的(这个比喻好像有点不恰当)。2022年著名的IT资讯网站Ars Technica发表了一篇文章,介绍了Matrix中End-to-End Encryption设计存在的“严重”安全漏洞被修复的故事,这也是我们今天介绍的论文的主要内容,接下去我们就走进科学这篇论文的具体内容,来一览相关安全攻击。

G.O.S.S.I.P 阅读推荐 2023-05-24

https://arstechnica.com/information-technology/2022/09/matrix-patches-vulnerabilities-that-completely-subvert-e2ee-guarantees/


我们首先看看Matrix的基本结构和密码学设定。首先大家要了解的是Homserver这样一个重要的概念:

G.O.S.S.I.P 阅读推荐 2023-05-24

https://startmatrixchatbook.readthedocs.io/en/latest/introduction.html

Homserver的安全问题

一个Homserver可以允许多个user接入,还允许接入的(部分或全体)user组成群聊(建立一个端到端加密的room)。但是这个群聊模式中存在一定的问题——Homserver如果本身是恶意的,它就可以想办法“入侵”特定的群聊。这个问题的原因出在哪里呢?主要是因为在加入群聊的时候,相关的请求信息并没有得到签名保护,Homserver如果作为一个恶意的中间人,可以伪造相关的“入群邀请”,让自己控制的任意用户加入到某个room里面去(如果流程是安全的,Homserver 并不能做这种操作,而是要由room里面的权限用户来做这件事)。

更为危险的是,由于Matrix的设计上允许加入群的新用户去查看历史上的消息,实际上就允许新用户解密相关的消息,也就破坏了群聊的机密性。此外,Homserver还可以将一个特定的device添加给某个user,然后这个user所在的room的(新)信息就可以被这个device解密了。这些攻击的具体密码学构造可以参考论文的“Homeserver Control of Room Membership”章节

G.O.S.S.I.P 阅读推荐 2023-05-24

Out-of-band 验证的安全问题

为了对抗中间人攻击,除了加密传递的信息,会话密钥协商本身也需要严格的保护。Matrix中采取了类似PGP的Out-of-band身份验证机制,也就是不同的user或者device之间需要通过密钥交换协议来协商会话密钥的时候,在没有可信第三方的帮助下,就需要在通信信道之外找一些渠道来检查两方交换的密钥材料的真实性:

G.O.S.S.I.P 阅读推荐 2023-05-24

然而,攻击者利用了Matrix设计时的一个奇怪的reuse bug来实现对Out-of-band 验证的安全攻击。先看看下面的一些基础知识,对于连接到Homserver的user和device而言,它们都有自己的cryptographic identity信息:

G.O.S.S.I.P 阅读推荐 2023-05-24

在Out-of-band 身份验证的最后一步,不管是user还是device,它们会交换一个m.key.verification.mac消息,里面包含了标记身份的信息。如果是user和user,两者交换的是自己的master cross-signing key的fingerprint,而如果是device和device,两者交换的就是普通的device identifier。

问题就出在这里,Homserver是可以给device指定相关的device identifier的,而如果Homserver给device分配的device identifier信息本身同时也是一个master cross-signing key的fingerprint,那么device把这个device identifier信息发送给另一个device时,对方会把这个信息解析为user发送的cryptographic identity信息!而且注意到这个信息是Homserver生成的,所以其实是Homserver控制的cryptographic identity信息!

在这里,问题主要就出在这个交换的m.key.verification.mac消息,它既可以代表user的identifier又可以代表device的identifier,在实际应用中,客户端因为搞不清楚identifier的类型,才遭到了此类攻击。


论文里面一共提到了6种不同的安全攻击,我们就不一一介绍了,感兴趣的读者可以去论文或者论文的网站上了解更多细节。这里要说一下作者总结的一些经验教训,也就是为什么Matrix这种高安全目标的协议还会有这些漏洞。其实这源于Matrix想要实现更为复杂的通信(例如端到端加密的群聊),而想要为那些复杂的通信场景做安全设计实际上是困难的:

G.O.S.S.I.P 阅读推荐 2023-05-24


最后顺便八卦一下,论文的第二作者Sofía Celi是一个来自厄瓜多尔、爱好非常广泛(比如非常喜欢dymaxion map,有人知道这是什么吗)的安全研究人员,她的个人网站上写了很多有意思的内容,有意联系的网友可以给她发邮件((她的邮箱名[email protected]也很有趣,是cherenkov radiation相关吗)

https://www.sofiaceli.com/about/

G.O.S.S.I.P 阅读推荐 2023-05-24


论文:https://eprint.iacr.org/2023/485.pdf
slides:https://datatracker.ietf.org/meeting/115/materials/slides-115-pearg-matrix-00
网站:https://nebuchadnezzar-megolm.github.io/


原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2023-05-24

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月25日02:08:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 阅读推荐 2023-05-24http://cn-sec.com/archives/1758553.html

发表评论

匿名网友 填写信息