科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道Surf Jacking攻击让HTTPS协议变脆弱

Surf Jacking攻击让HTTPS协议变脆弱

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

作为一种攻击方式,Surf jacking的危害是非常大的。我希望,这会让用户养成更好的网络安全习惯,特别是在现在的情况下,务必保证只有一个安全超文本传输协议(HTTPS)的连接在网络浏览器中打开

作者:迈克尔·卡思勒 来源:techrepublic.com【原创】 2008年9月5日

关键字: 黑客 网络攻击 Surf Jacking HTTPS

  • 评论
  • 分享微博
  • 分享邮件

ZDNet安全频道原创翻译 转载请以文字链形式注明出处

作者:迈克尔·卡思勒

Cookie缓存和重定向似乎是今年黑客攻击的重点方向。在Defcon黑客大会上,迈克·佩里做了一个相当令人不安的演讲,该演讲的主题是关于surf jacking攻击以及它是如何捕获安全套接层协议层(SSL)会话缓存的。迈克尔·卡思勒将向大家介绍surf jacking攻击是如何破坏安全超文本传输协议的安全。
--------------------------------------------------------------------------------------------

臭名昭著的缓存Cookie问题变得更突出

实际上,并不是Cookie导致了这个问题的出现;他们只是找到了超文本传输协议(HTTP)和安全超文本传输协议(HTTPS)之间的一条渠道。Cookie有两种不同的形式,持久Cookie和会话Cookie。在讨论surf jacking攻击之前,了解它们之间的区别是非常重要的:

· 持久Cookie  如此命名是因为它们存在的时间比上网的时间长。我在一篇关于行为的针对性和深包检测的文章中将第一和第三类的Cookie作为持久Cookie。持久Cookie的存在和网络是否连接的关系不大。

· 会话Cookie  只有在上网的时间才会存在。更重要的是,它们可以把网络浏览器的信息送到网络服务器上。

为了帮助理解,让我们看看实际情况下的一个会话cookie,内容如下所示:

1. 我打开网络浏览器,登陆到https://www.mybankxy.com上。

2. mybankxy.com的网络服务器将对我的授权证书进行验证,并将一个小的文本文件发送到我的计算机上,这就是会话cookie。会话cookie包含了有关用户登录和安全方面的信息。

3. 在门户网站的网页打开后,我点击网页中的一个保存有我的信息的链接。

4. 我的网络浏览器将网页查询和我的会话cookie返回到mybankxy.com的网络服务器上。

5. 会话cookie将允许Web服务器验证我是谁。如果一切正常的话,网络服务器将会返回我请求的页面。没有会话cookie的话,我将不得不在进入每个新网页的时间都重新登陆。

6. 在完成了工作后,我登出了https://www. mybankxy.com网站。这时,会话cookie将失效和被删除。

因此,会话cookie在上网的时间是非常有用的,如果没有它们,上网将变得非常烦琐。会话cookie的另一项作用是记录在一个页面上发生的操作。这一点尤其重要,特别是在同一台服务器上存在不同的页面信息的情况下。举例来说,如果网站的购物车没有会话cookie的支持,通过网络浏览器发送的物品请求将不会被记录在内。

301 重定向

现在,我们来了解一下超文本传输协议(HTTP)重定向。在同一篇关于行为的针对性和深包检测的文章中,我谈到了,在计算机上安装来源不正当的Cookie的一个关键组成部分就是重定向。在下面的例子中你将看到,surf jacking攻击也可以利用重定向,只是版本不相同。它利用的是“301重定向”的超文本传输协议(HTTP)错误。顾名思义,301重定向是永久性的。代码中包含了失踪或重新命名的网页以及新页面的统一资源定位符(URL)。

Surf jacking攻击

先来看一点历史信息,差不多一年前罗伯特·格雷厄姆在2007年的黑帽会议上介绍了“Side Jacking”类型的攻击。这是一个非常有趣的概念,我曾经在文章“你的无线网络是否被劫持”中提到。Side jacking是一个非常聪明的手段,可以让攻击者在超文本传输协议没有发现的情况下,劫持超文本传输协议的会话cookie。一年过去了,利用相同概念的工具现在可以对安全套接层协议层(SSL)连接做同样的事情,这是非常可怕的。然而,知识就是力量,让我们了解一下surf jacking是如何进行攻击,下面是相关的步骤:

1. 我登陆到https://www.mybankxy.com的网络银行上,以便从借记卡中取些钱买东西。

2. mybankxy.com的网络服务器将对我的授权证书进行验证,并将一个小的文本文件发送到我的计算机上,这就是会话cookie。

3. 我忘了自己需要的金额,于是打开一个新的浏览器窗口,并来到http://www.commercexy.com网站上。

4. 我幸运地遇到一个在同一个无线热点里进行嗅探的攻击者。这时,攻击者已经知道我有一个通过安全超文本传输协议(加密的)连接到www.mybankxy.com, 并且刚刚打开超文本传输协议的连接到www.commercexy.com。对于surf jacking攻击来说,这是一个绝好的机会。

5. 攻击者在我发送到www.commercexy.com的网页查询上发回一个“301重定向”的指令。

6. 301重定向将显示http://www.mybankxy.com的标题。这将告诉我的网络浏览器,它需要登陆http://www.mybankxy.com找到http://www.commercexy.com中我一直在寻找的网页。请注意,回应是使用超文本传输协议(HTTP),而不是通过安全超文本传输协议(HTTPS)。

7. 我的网络浏览器现在将打开一个新的未加密的连接以发送查询信息到http://mybankxy.com,因为我第一次通过安全超文本传输协议登陆www.mybankxy.com的页面还是打开的,所以会话cookie是有效的。因此,这第二个查询中包含了相同的会话cookie。
 
8. 由于攻击者对我通过公共热点传输的所有流量进行了分析,所以会话cookie被捕获。并进行了处理。

9. 接着,为了让表面上看上去就象什么也没发生一样,攻击者将再发送另一个“301重定向”给我的网络浏览器到http://www.commercexy.com网站。

这就是攻击的整个过程。当然,完成整个攻击需要满足一定的条件,但它是完全有可能发生的。我并不希望攻击者进入https://mybankxy.com网站并通过在捕获的会话cookie中获得的信息改变我的日志,或者更坏。关于攻击的更多细节,可以登陆“Enablesecurity.com”网站。它提供了一个演示,可以显示如何通过surf jacking攻击破坏一个脆弱的Gmail帐户。

预防的方法有两种

立即解决surf jacking攻击其实很容易,只要在有活动的安全超文本传输协议(HTTPS)连接的时间,千万不要打开超文本传输协议(HTTP)连接就可以了。长期的解决方法就比较复杂,需要网站开发人员进行努力了。EnableSecurity的桑德罗·戈西给出了一些可以缓解攻击的方法:

“Cookies应该增加一个‘安全’标识”,这样就通过加密连接进行浏览器cookie传输。当网络浏览器重新定向到一个连接(超文本传输协议(HTTP)而不是安全超文本传输协议(HTTPS))时间,Cookie之类的应该不被包含在请求中。为加密服务实行单独的网络服务也可以解决这个问题。通过网站进行隔离,象加密电子银行业务可以采用https://secure.bank.com/这种形式的连接。

但在有些情况下,为Cookie设置安全标识并不是一件简单的选择。网络服务,象谷歌就根据服务的不同在超文本传输协议(HTTP)和安全超文本传输协议(HTTPS)之间进行切换。这样的话,为Cookie设置安全标识就不一定是安全的了,因为会受到其它部分的影响。通过为Gmail提供“只使用通过安全超文本传输协议(HTTPS)”的选项,安全问题可能会有所缓解。但象其它的服务,比如谷歌文件仍然是容易受到攻击。

最后的思考

作为一种攻击方式,Surf jacking的危害是非常大的。我希望,这会让用户养成更好的网络安全习惯,特别是在现在的情况下,务必保证只有一个安全超文本传输协议(HTTPS)的连接在网络浏览器中打开。我知道Surf jacking攻击要求,攻击者和用户必须位于同一个位置,以便对流量进行捕获,但理论上在任何地方都可以对流量进行捕获。我只是不希望个人信息有受到破坏的机会,或者更坏的情况象试图弄清楚为什么我的银行帐户是空的发生。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章