网站加密又遭重创:在美国举行的黑客大会上,一位独立的黑客演示了一种可以窃取敏感信息的工具,它能欺骗用户使其以为正在访问一个受加密保护的站点的时候,而实际上却是在访问未加密的网站。
在华盛顿举行的黑帽子安全大会上,黑客演示了SSLstrip在公共无线网络、洋葱路由系统以及任何其他可以发动中间人攻击的地方的工作情况。它能够将本应受到安全套接字层协议保护的页面转换成未加密的版本。该攻击能够同时“忽悠”网站和用户,使他们以为他们一直都在使用加密保护。
继2007年的side jacking攻击和2008年的CA证书伪造之后,在此次大会上又有黑客(Moxie Marlinspike)为人们演示了最新的SSL弱点,即网站用来防止密码、信用卡号以及其它的敏感信息在传输过程中被窃听的加密例程。这使得人们对安全套接字层的安全问题忧心忡忡。据观看过此演示的与会研究人员称,该攻击非常新颖,并且很酷。更糟的是,在Moxie的演讲中,许多问题是这些年来已被讨论过的,这说明SSL的情况很不妙。
据Marlinspike称,SSLstrip之所以能够成功运行,是因为使用安全套接层协议层(ssl)的大多数网站通常首先为访问者提供一个未加密的页面,只有开始传输敏感信息部分时才开始提供加密保护。举例来说,当一个用户点击一个登录页面时,该工具会修改网站未加密的响应,使“https”变成“http”。然而,网站却一直以为连接是受加密保护的。
为了让用户相信他正在使用一个加密的连接跟预期的站点通信,SSLstrip利用了一些现成的诡计:首先,此工具在局域网上使用了一个包含有效SSL证书的代理,使得浏览器会在地址栏显示一个“https”。其次,它使用homographic技术创建一个长的URL,在地址中包含了一系列伪造的斜杠。(为防止浏览器将这些字符转换成Punycode,他必须获得一个用于*.ijjk.cn的通配 SSL 数字证书)。
“可怕的是它看来像https://gmail.com ,”Marlinspike说,“问题在于http和https之间的桥接,而这是SSL在web中部署方式的基础部分”。 要想改变这些绝非易事。”
Marlinspike已经成功将该攻击应用于使用Firefox和Safari浏览器的用户身上,虽然他还没有在IE上做实验,但是估计也不会有什么问题。 即使没有,他说,也有足够的理由相信即使安全谨慎的用户也不会将时间花在确保他们他们的会话被加密这些事情上。为了证明他的论点,他在托管于Tor网络中的一个服务器上运行了SSLstrip,在一天时间内,他收集到了访问Yahoo、Gmail、Ticketmaster、PayPal和LinkedIn等站点的254个用户密码。 虽然SSLstrip没有使用代理功能欺骗他们使其以为他们正在访问一个安全的站点,但是还是有许多用户上当了。令人担忧的是,即便地址栏中没有显示关键的“https”,这些Tor用户还是毫不犹豫的输入了他们的密码。Marlinspike说,他马上就擦除了所有这些个人身份信息。
此次演示的攻击可能会引起诸如Mozilla、微软和VeriSign等公司的极大不安,尽管这些公司的工程师已经竭力使用各种方法来提高SSL的可靠性。对于用户来说,最简单的防御措施就是在浏览器中输入完整的https地址,或者将它们存为一个书签,这样即使SSLstrip这样的工具也没有机会来修改网站的未加密的链接了。
此外,尽管我们过去曾经怀疑过extended validation SSL的必要性,现在看来这是,它是保护用户不受SSLstrip的代理诡计欺骗的一种有效手段。然而,即使EVSSL也无法保护那些每次登陆时都无暇顾及浏览器地址栏中的https的用户。即使用户这样做了,但是还是有一些站点懒得在登录页面中使用https,所以对这些用户来说,实在是太危险了。
曾在2002演示了一个单独的https爆破工具SSLSniff的Marlinspike说,对于此漏洞还没有行之有效的修补方法,并且将来还会看到更多新型的利用方法。根本的解决之道就是加密一切。