扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
最近,各种安全会议都提到了SSL的问题。而不久前召开的Black Hat DC 09也不例外,独立安全专家Moxie Marlinspike 用相当令人信服的证据解释了他是如何绕过SSL安全机制的。
--------------------------------------------------------------------------------------------
一月份我曾经写过一篇名为 SSL: Really broken this time的文章,其中提到了如果证书签发机构使用了MD5算法进行数字签名,那么证书是可以被伪造的。当然,这个漏洞很容易被纠正,只要证书颁发机构都采用SHA-1 而不是MD5算法就可以了。尽管如此,很多人还是认为,不久之后 SHA-1也会步MD5的后尘。
SSLsniff
其实破解 SHA-1 只是时间问题了。也许你还记得Moxie Marlinspike,他曾经开发了一个非常先进的黑客工具SSLsniff。 这个工具可以发现Internet Explorer中的漏洞,即使在使用SSL也可以发动 中间人攻击 (MitM)。 微软最终修补了这个漏洞。
但是即使修补了漏洞, SSLsniff仍然是一款功能强大的工具。比如SSLsniff 可以用来在密码破解者组织(如我上面说的MD5破解组织)中进行MitM攻击演示。
SSLstrip
Moxie Marlinspike最新开发的升级版黑客工具叫做SSLstrip。这款工具的目的很简单,就是让恶意攻击者在任何加密情况下获取用户的敏感信息。Moxie Marlinspike注意到大部分用户在上网时都不会要求进行连接加密(HTTPS),甚至一些对信息敏感的网站也没有全程使用加密页面,比如下图中的网站,因此他决定要绕过加密过程。
最初的网站首页都是没有加密的,在用户输入了某些信息后,HTTPS才会启用,如下图所示:
SSLstrip是一个MitM协议,在这个例子中,它抓住了用户和银行网站服务器之间的一个漏洞。接下来,让我们看看这个漏洞是怎么被SSLstrip利用的:
1. 首先,我在浏览器中输入http://www.usbank.com进入银行网站首页
2. 输入我的用户名并点击回车
3. SSLstrip 抓取了银行网站URL和我的用户名
4. SSLstrip 连接到银行网站服务器,并提交了我的用户名
5. SSLstrip 接着向浏览器返回银行Web服务器所返回的新页面
6. 我在新页面中输入自己的密码。
7. SSLstrip再次获取我的密码,并将密码提交给银行网站服务器。此时银行网站服务器就认为我已经登录了。
8. SSLstrip再次将银行网站返回的新页面提交到浏览器上,在我看来,我已经正常登录并可以进行下一步操作了。
也许你会问,为什么HTTP后面没有加“s”,银行网站的链接不都是HTTPS形式的吗?在这个例子里是没有“s”的,因为SSL连接是建立在被攻击的电脑和银行网站服务器间的。我只是将所有正确的页面通过SSLstrip返回给了浏览器,但是这个过程并没有安全隧道。那么谁获得了我的密码也就可想而知了吧?
我注意到,有一些警惕性很强同时观察力很好的用户,会发现这种花招,但是对于大部分用户来说,很可能会毫无察觉。要了解更多有关这个漏洞的细节,可以参考Moxie Marlinspike在Black Hat上的演讲幻灯片New Tricks for Defeating SSL in Practice (PDF格式)。整个过程都解释的很详细。
附加功能
在Moxie Marlinspike的演讲幻灯片中,他还指出了SSLstrip的其他几个功能,可以让不安全的网站看上去更安全,从而达到欺骗用户的目的。因为大部分网站都会在自己的网站域名前加上一个网站图标,而SSLstrip利用了这个特点,可以让攻击者自己制定一个图标显示在非安全的网址前面,比如下面这个图标。
锁是代表安全的物体,如果在网址前加上了一个锁形的图标,那么大部分用户都会以为自己所访问的网站是安全的。
如果有人要求,攻击者甚至会提供一个真正的SSL连接,而URL与用户应该访问的只有些许不同。不同之处在于网址的最后多了几个字符。Moxie Marlinspike在幻灯片中是这样解释的:
升级浏览器
我们人类都有有些与生俱来的习性,这是任何人都不能反驳的。因此我也只能老实说,我并不是每次都能敏锐的发现黑客设下的陷阱。幸运的是,这个问题已经有人讨论过了。之前 TechRepublic的总编Jason Hiner就给我发了一篇George Ou的文章HTTPS 网页劫持从理论走进现实。
文章中建议开发人员应该赋予网页浏览器更多的智能性,让浏览器知道在什么情况下应该使用SSL加密协议,如果该使用SSL的时候却没有使用,就断开与Web服务器的连接。 George还表示, Google在它的Chrome 2.o浏览器中就针对这个问题进行了研发。希望其他浏览器开发人员也能考虑到这一点。
总 结
首先我要感谢 Black Hat 允许我使用他们的Logo ,并感谢Moxie Marlinspike允许我使用他的演示幻灯片作为文章的部分内容。另外,他希望广大网民都对SSL攻击有所认识的努力也让我感到敬佩。
另外,我注意到,本文所说的攻击,是在用户不经意的情况下才会发生的。幸运的是,经过我的提醒,很多人已经能够注意到URL上的细微差别,从而有可能避免落入黑客的陷阱。如果你觉得自己足够警惕,那么回忆一下上次你访问使用SSL的网站时,有没有留意过URL前面的HTTPS标记呢?起码我是没有。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者