作者:衢江大道 | 来源:互联网 | 2023-09-13 19:53
翻译:WisFree预估稿费:200RMB投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿重要更新:绝大多数的安全专家都认为“这更像是一个专门设计的功能,而不是一个后门”。但是在某
翻译:WisFree
预估稿费:200RMB
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
重要更新:绝大多数的安全专家都认为“这更像是一个专门设计的功能,而不是一个后门”。但是在某些情况下,WhatsApp和其他任意一名黑客都可以利用这个后门来拦截并读取端到端加密聊天的数据,这也是那些安全研究专家无法否认的事实。那么,这个后门到底是一个特殊设计的功能,还是一个编码错误所导致的漏洞呢?接下来,且看我们给您细细道来。
写在前面的话
大多数人都会认为端到端加密是一种保护你的机密通信数据不受攻击者窃听或嗅探的终极方法。没错,确实是这样的。但是,如果通信加密方法使用不正确的话,你得机密信息仍然有可能被攻击者拦截。
目前,WhatsApp在全球范围内已经拥有超过十亿名用户了,而WhatsApp俨然已经成为了世界上最大的安全通信平台。我们在去年也曾专门介绍过WhatsApp的端到端加密技术,感兴趣的用户可以查阅这篇文章[传送门]。
但是,如果你认为你的聊天信息是绝对安全的,并且任何人(包括拥有WhatsApp的Facebook在内)都没办法拦截你的通信消息,那你就大错特错了。为什么呢?因为像WhatsApp和Telegram这样的端到端加密通信服务中都存在后门,在某些特殊情况下,公司、黑客或者其他的情报机构都可以利用这个后门来拦截并读取你的端到端加密信息。需要注意的是,他们并不需要对加密算法进行破解就可以直接读取你加密信息的内容。
这个后门就是-信任
毫无疑问,大多数加密信息服务都会在你的设备中生成并离线存储通信加密私钥,并且只会通过公司的服务器来向其他用户广播你的公钥。就拿WhatsApp来说,我们信任WhatsApp,我们相信他们不会修改后台的公共密钥交换机制,我们也相信他们不会利用中间人攻击来拦截你的加密通信数据。但事实到底是怎样的呢?
来自加利福尼亚大学的安全研究专家Tobias Boelter在其报告中说到:“WhatsApp的端到端加密是基于Signal协议实现的,WhatsApp或其他黑客可以通过利用密钥交换机制中的漏洞来拦截并读取你的加密聊天信息,这一切都发生在系统后台,用户根本无法察觉。”
通过一个简单的场景来了解这个后门
我们假设用户A和用户B之间需要进行加密通信,此时WhatsApp会在后台服务器中自动交换双方的通信公钥。现在,用户A所发送的每一条信息都会通过用户A的私钥和用户B的公钥来进行加密,而用户B只能使用自己的私钥和用户A的公钥来解密用户A所发送过来的加密信息。
现在,假设用户B处于离线状态,用户A已经向用户B发送了几条信息。但是与此同时,出于某种原因,用户B更换了设备,并且在新设备上重新配置了WhatsApp。由于设备和配置都是新的,那么此时WhatsApp就会为用户B的账号重新生成一个新的公钥私钥对。然后,当用户B重新上线之后,用户B的设备将会接收到用户A之前所发送的未达信息。
但是按理来说,用户B应该使用旧的密钥来解密用户A之前所发送的那部分信息才对,那么用户B此时是如何解密这些信息的呢?
这是因为,当用户B重新上线之后,WhatsApp会自动在后台交换双方用户的新密钥,用户A的WhatsApp会重新使用用户B新生成的公钥来加密消息,并且让用户B成功接收并读取到相应信息。密钥的交换全部在后台完成,用户是不会接到通知的。
而这里就是这个后门出现的地方了!
如果攻击者(假设是用户C)故意用他自己的公钥替换掉用户B的公钥,那么用户A所发送的全部未达信息都会自动使用用户C的公钥来进行加密,并将信息发送给用户C,而这些信息只有攻击者才能解密。
演示视频
下面给出的是WhatsApp后门的演示视频:
安全与便捷性的博弈
众所周知,安全性和便捷性往往是难以共存的,我们在追求便捷性的同时往往会以牺牲一定的安全性来作为代价。
英国《卫报》在报告中写到:“WhatsApp在他们所使用的Signal协议中加入了一个后门,他们可以使用这个后门来为离线用户强制生成通信密钥。此时,他们就可以迫使信息的发送者重新加密聊天信息,并且将目标用户所有的未达信息发送给他们。此时,通信双方完全不会察觉到后台的加密机制有任何的异常。”
但是,如果用户手动开启了WhatsApp中的“security notifications”(安全通知)选项的话,那么当安全码发生改变时,用户还是可以接收到系统通知的。
如果使用正确的话,Signal协议绝对是目前最安全的加密协议之一。而且需要注意的是,这个后门与Open Whisper Systems所发开出的Signal加密协议没有任何的关系。Open Whisper Systems的一位名叫Fredric Jacobs的iOS开发人员在其Twitter上说到:“如果你不对Signal/WhatsApp的密钥进行校验的话,密钥的真实性就无法得到保证,他人肯定是可以对你的通信进行中间人攻击。因此,我并不认为这是一个后门。”
Facebook并不打算修复这个问题
Boelter在接受英国《卫报》的采访时表示,他在2016年8月份就已经将关于该后门的信息提交给了Facebook,但是Facebook却告诉他,他们早就已经知道这个问题了,但是他们将其归类为一种“预期的行为”。
WhatsApp的一名发言人在接受英国《卫报》的采访时说到:“WhatsApp意在通过这个后门来提升可用性。当用户向离线用户发送了消息之后,如果更换了手机或重新安装了WhatsApp,那么系统会重新为双方生成新的安全密钥,如果没有这个后门的话,离线用户就无法正常接收到对方发送过来的未达消息了。很多用户会频繁更换手机或SIM卡,那么在这种情况下,我们就要确保信息不会丢失,并且让用户能够正常接收到未达信息。”
是的,没错!直到今天,这个后门仍然存在于WhatsApp之中!
如何保护你的隐私?
为了防止这种可能会出现的中间人攻击,WhatsApp还引入了一个第三方安全层,你可以用这个功能来验证其他通信用户密钥的真实性,即扫描二维码或比较一个60位数字验证码。你可以将这个二维码或数字验证码当作是通信密钥的一种可见版本,它可以代表通信密钥,但它并非通信密钥本身,所以你的安全性仍然可以得到保证。
但是,这个功能意味着你必须主动去验证会话密钥的有效性,但是我们大家都知道,可能只有那些对隐私安全极其注重的偏执狂用户才会真的去验证吧。
如果你还不放心的话,你也可以使用这款由Open Whisper Systems开发出来的通信App-Signal Private Messenger,它也是众多安全人员强烈推荐的一款安全通信App。
WhatsApp应该作何改变?
首先,他们不应该如此高频地去为用户重新生成加密密钥,而且我也不明白他们为何要这样做。
其次,WhatsApp应该给那些极其注重隐私的用户提供一些设置选项,让他们可以自行选择是否信任新的密钥,并手动对信息发送方的身份真实性进行验证。