一个著名的密码被黑客攻击可以登录到Web应用程序所使用的数百万用户,据两位安全专家计划在即将到来的安全会议上讨论这个问题。
研究者内特劳森和泰勒·尼尔森说,他们已经发现一个基本的安全缺陷,影响许多开源软件图书馆——包括那些用软件实现OAuth和OpenID标准,用于检查密码和用户名,当人们登录网站。OAuth与OpenID身份验证接受流行的Twitter和Digg等网站。
他们发现这些登录系统版本的一些所谓的时机攻击。知道密码器计时攻击了25年,但他们通常认为是很难通过网络完成。研究人员旨在表明并非如此。
袭击被认为是如此困难,因为他们需要非常精确的测量。他们破解密码通过测量时间电脑登录请求做出回应。在一些登录系统,计算机将检查一次密码字符,并踢回“登录失败”的消息就点一个坏字符密码。这意味着计算机返回一个完全糟糕的登录尝试一点点的速度比一个登录第一个字符的密码是正确的。
试图登录一次又一次,骑自行车通过人物和测量时间电脑回应,黑客可以最终算出正确的密码。
这一切听起来很理论,但时机攻击可以在现实世界中取得成功。三年前,一个被用来黑客微软的Xbox 360游戏系统,建立智能卡的人增加了时间攻击保护好多年了。
但是互联网开发人员长期以来一直认为,有太多的其他因素,称为网络抖动,加速或者减速的响应时间和使它几乎不可能得到精确的结果,在纳秒发挥作用,需要一个成功的时机攻击。
这些假设是错误的,根据劳森,根实验室安全咨询公司的创始人。他和纳尔逊在互联网上进行攻击,局域网络和云计算环境中,发现他们能够破解密码在所有的环境中通过使用算法剔除网络抖动。
他们计划讨论他们的攻击在本月晚些时候在拉斯维加斯举行的黑帽会议。
“我真的认为人们需要看到的,这是他们需要解决的问题,”劳森说。他说,他专注于这些类型的Web应用程序,因为他们经常认为是无懈可击的时机攻击。“我想达到的人至少知道,”他说。
研究人员还发现,查询了在解释语言如Python或Ruby编写的程序——包括在网上非常流行——生成反应慢得多比其他类型的语言如C或汇编语言,使计时攻击更可行。”解释语言,最终你会得到一个更大的时间比人们认为差异,”劳森说。
不过,这些攻击是什么,大多数人应该担心,据雅虎董事标准寒莫拉赫吾伊兰,OAuth与OpenID项目的贡献者。“我不担心,”他在一封电子邮件中写道。“我不认为任何大型提供者使用任何开源库的服务器端实现,即使他们做了,这不是一个微不足道的攻击来执行。”
劳森和纳尔逊通知软件开发人员受到这个问题的影响,但不会释放脆弱的产品,直到他们的名字是固定的。对于大多数图书馆的影响,解决办法很简单:程序系统采取相同的时间返回正确的和不正确的密码。可以在大约6行代码,劳森说。
有趣的是,研究人员发现,基于云的应用程序可以更容易受到这些类型的攻击,因为服务,比如Amazon EC2和Slicehost给攻击者的方式接近他们的目标,从而减少网络抖动。
罗森和纳尔逊没有说之前他们的谈话在黑帽如何精确定时测量,但实际上有原因可能是难以实现这种类型的攻击在云中,斯科特•莫里森表示,首席技术官和7层技术,云计算安全提供者。
因为许多不同的虚拟系统和应用程序在云计算资源争夺,很难得到可靠的结果,他说。“所有这些事情来帮助缓解这个特殊的…攻击,因为它只是整个系统增加了不可预见性。”
不过,他说,这种类型的研究很重要,因为它展示了一个攻击,看起来几乎不可能对某些人来说,真的可以工作。
罗伯特·麦克米兰涵盖了计算机安全和通用技术新闻IDG新闻服务。在Twitter上关注罗伯特@bobmcmillan。罗伯特的电子邮件地址robert_mcmillan@idg.com