目录:
最近有很多关于利用WhatsApp和绕过端到端加密的新方法的讨论,公司喜欢提及它随时可以使用。 我已经看到了从“它的FUD”到谈论Facebook安装的一些后门的推文和评论。
好消息是它既不是。 事实上,它并不是你需要关注的事情之一,而是让你想知道它是如何发生的事情之一,因为它非常草率。 但不要担心 - 在发生任何事情之前很久就会修复它。
这是什么
德国波鸿Ruhr-Universität的研究人员PaulRösler,Christian Mainka和JörgSchwenk发表了一篇研究论文(.pdf链接),发现WhatsApp的群聊管理存在一个特殊的缺陷。 WhatsApp为群聊提供相同的端到端加密功能,它可以用于个人聊天,这通常意味着我们应该能够安心地知道我们所说的内容不会被任何不应该阅读的人阅读。阅读它,除非其中一个小组成员允许它发生。
显然,理论上陌生人可以将自己添加到WhatsApp上的群组聊天中。 “理论上”和“可能”是这里的关键词。 我会解释一下。
WhatsApp提供使用强大的端到端加密的群组消息。
在WhatsApp组聊天中,一个或多个原始成员是管理员。 从服务器的角度来看,这意味着这些人可以添加和删除组中的人员。 到目前为止,一切都很好,即使它的工作方式 - 管理员用他或她的签名密钥向组的每个成员发送信号,作为回报,每个成员发送一条带有签名密钥的返回消息,然后是消息的发起者通知每个成员现在组中有新人 - 为了创建一个好的用户界面,这是一个小问题。 如果您不是管理员,您唯一知道的就是您看到Jerry现在是该组成员的消息。 你可以接受或离开聊天。
通过Signal发送群发消息也发现了类似的缺陷。
问题是WhatsApp没有在自己的服务器上正确地验证这些组管理请求。 WhatsApp服务器需要正确识别将某人添加到群聊的消息的发件人。 该人发送一条消息,该消息既包括该组又想要添加的成员,并且服务器检查以确保发送它的人实际上是聊天管理员。 这些消息不是端到端加密,而是使用标准传输加密 - 来自聊天管理员并前往请求将用户添加到聊天的服务器的消息未由发件人使用其加密密钥签名 。
这意味着WhatsApp服务器可以随时向任何组添加任何用户。 服务器可以,而不是其他用户。 这很重要,这意味着WhatsApp群聊中预期的任何隐私完全取决于信任WhatsApp聊天服务器。 这违背了端到端加密的全部目的,即使服务器受到损害,也可以保证隐私,因为只有发件人和收件人才能解密邮件。
然后互联网失去了集体思维,因为这就是互联网真正擅长做的事情。
这不会发生但仍需要修复
可以利用此漏洞的唯一方法是有权访问服务器的人。 这意味着服务器遭到入侵,或者员工变得流氓,或者三个字母的政府机构提交权证。 任何这些事情都可能发生,可能在过去发生过,甚至可能正在发生。 但还需要考虑另一件事 - 你会知道你的聊天是否会发生这种情况。
每当有人加入群聊时,您都会收到通知,无论是否加密。
添加成员后服务器执行的第一件事是通知组中的每个其他成员“Jerry已添加到聊天中”。 您将看到消息告诉您有人被添加,其他人也将如此。 当Jerry带着糟糕的笑话和便宜的啤酒来到私人聊天聚会,没有人邀请他时,这将是一个错误的迹象,没有人应该考虑他们打算私下打字的任何东西。 打包并移动到没有Jerry的另一个聊天,甚至可能是一个不会让他崩溃的不同服务。
因此,没有人能够秘密检查您的加密群聊,但这仍然会以各种可能的方式破坏端到端加密。 它需要立即修复,甚至可能需要改进整个集团管理方法。 至少,我们都需要抓住我们的头脑,并想知道程序员和代码审计员这样的事情是如何滑落的。 这是一个荒谬的前提,永远不会被剥削,但仍然存在。
你需要做什么
真的没什么。 感谢Rösler,Mainka和Schwenk在找到这个缺陷方面所做的工作,因为安全研究是一个吃力不讨好而且常常令人头脑麻木的工作,但过去你根本不需要改变你的日常工作。 一种认证将成员添加到加密群组聊天的请求的方法将由那些让WhatsApp的轮子很快停止旋转的人来整理,这将从一个永远不会被利用的缺陷变为一个无法再被利用的漏洞所有。
重要的是你要注意,因为 下一个 缺陷很可能是你需要采取行动的缺陷。 还会有另一个缺陷,所以一定要注意。