比特币世界的安全隐患:Authy双因素认证漏洞剖析
尽管比特币领域不断传来积极利好消息,但其安全威胁依然存在。作为包括Coinbase在内的多家比特币平台采用的双因素认证协议,Authy存在被绕过的风险,可能导致未经授权的用户访问账户。
双因素认证的安全隐患
在为用户提供账户额外安全保护方面,双因素认证(2FA)是最广泛使用的解决方案之一。Google、YubiKey、MePIN和Authy等公司都提供2FA安全解决方案。我们一直认为2FA不易被绕过,但事实似乎并非如此。
Authy系统漏洞解析
Authy双因素认证系统存在多个问题,这些问题也可能影响到比特币交易所Coinbase的用户。攻击者可以轻易绕过Authy的2FA短信验证,导致账户在某个时刻遭受未授权访问。那么,Authy为何如此脆弱?
首先,Authy未能对用户参数中的令牌进行编码,这个重大安全漏洞使得攻击者可以通过覆盖用户令牌发送路径,利用API调用访问他人账户。其次,Authy-python的安全性也远低于预期,允许路径遍历,攻击者只需添加"../SMS"即可将/verify API调用转换为"Authentication 200"状态,实现未授权访问。
技术漏洞详解
值得注意的是,URL编码在此场景下无效。Authy使用的Sinatra框架默认采用rack-protection,其中的path_traversal模块会将"%2F"解码为斜杠而非空格,这导致任何使用Sinatra的rack-protection的API都受到此漏洞影响。
简而言之,任何人只需在令牌字段输入"../SMS"而非短信验证码,即可绕过账户的Authy双因素短信认证。一旦了解Authy API调用中的这个弱点,实施攻击并不需要太高技术门槛。
现状与启示
受影响的比特币交易平台Coinbase同时采用了Authy和Google Authenticator进行双因素认证。值得庆幸的是,Authy漏洞已被修复,这种攻击方式已不再有效。但这也揭示了依赖第三方API调用的登录系统可能存在的脆弱性。
展望未来,这类安全漏洞将如何影响比特币相关平台,值得我们持续关注。