关注网络安全
和行业未来

新型攻击HEIST来临 HTTPS安全性受到冲击

HTTPS加密方案曾保护着数百万计的网站安全。然而一项新型攻击的发现,使得那些加密的电子邮件地址、社保号及其他敏感数据不堪一击。而攻击者甚至不需要具备锁定监控目标用户网络连接的能力。

这种攻击效果非常显著,因为它不需要中间人这个角色。相反地,终端用户仅需要遇到一个貌似无害的JavaScript文件,这个文件可能隐藏在网络广告,也有可能直接写在页面文本里。文件中的恶意代码可以查询到各种通过安全套接层或传输层安全协议保护的网页信息,并测量出加密的数据传输文件的精确大小。顾名思义,HEIST技术(通过TCP协议窃取HTTP加密信息),利用了HTTPS响应依靠传输控制协议这一点,而TCP协议正是互联网的最基本构建模块之一。

一旦攻击者知道加密响应数据的大小后,他们就可以随意地使用两个以前设计的漏洞之一提取出包含在该数据之中的明文信息。无论是BREACH还是CRIME攻击,都可以通过篡改网站用来提升网页加载速度而压缩的文件来解密出有效信息。

Tom Van Goethem是参与此项技术研究的一位专家,他接受Ars采访时透露:“HEIST技术让一些攻击变得更加容易执行了。此前攻击者想实现像CRIME和BREACH一类的攻击时,还需要借助“中间人攻击”的方法。而现在,简单到只需你去访问一个恶意网站,你和你的安全信息就已经置身危难之中了。”

结合HEIST和BREACH攻击技术能让攻击者提取并破解包含在一个加密响应数据里的电子邮件地址、社保号和其他细碎数据。在窃取电子邮件地址时,BREACH通过在HTTPS请求中(这会得到响应)进行智能猜测——比如 猜测“@gmail.com”——就可以获得上述效果。因为几乎所有的网站都是通过消除重复文本字符串来压缩文件的,所以正确的猜测并不会使数据量有明显增加,而猜测不正确则会导致响应数据变大。

HTTP压缩基于Deflate算法,它只存储重复字符串中的第一个(如一个HTML文档中的“value=”字符串),而当字符串重复时用节约空间的指针予以代替,这样就缩短了数据流。通常,在一个数据流中相同字符串越多,压缩后文件的整体大小就越小。

为了确定HTTPS所保护的响应的大小,攻击者使用一种能够对每一次猜测返回相当于“是或否”响应的绝妙技术。当一个包含“value=”的请求导致产生了相同的响应数据大小时,攻击者就得知这个字符串是在加密响应数据内的,而后尝试去修改这个猜测,比如改成“value=0”。如果这一猜测产生了较大的响应文件,攻击者就知道猜测是错误的,并会尝试另外的值,比如“value=1”, “value-=2”,以此类推,直到某一尝试产生的响应数据没有增大。攻击者接下来尝试猜测下一个字符,进而重复以上过程。最终,攻击者就可以还原出完整的令牌。

heist-hacking

恶意网站潜伏在你身边

直到目前,这种BREACH攻击方法还需要攻击者篡改Web服务器和最终用户之间的通信数据。如果这种方法得到HEIST技术支持的话,则不再受这个限制。攻击者可以通过利用TCP准加密边信道的特性来测量HTTPS响应的大小。TCP会将大块数据切分成更小固定大小数据块,这些数据块称为帧。然后TCP会将内部的帧分组,形成TCP窗口,并每次发送一个窗口。只有当收到上一个窗口的帧被最终用户接收的确认信息后,TCP才会发送新窗口。

HEIST技术可以利用新批准的API集合(其中一个叫Resource Timing,另一个叫Fetch)计算出发送的帧和窗口的数量。在这个过程中,可以利用一段JavaScript代码来确定HTTPS响应信息的实际大小。然后,恶意HEIST代码就可以配合BREACH技术,通过向请求中加入数千个猜想值并分析每一个响应结果的大小,最后从加密的响应中检索出纯文本了。

Van Goethem和他的同伴MathyVanhoef已经向谷歌和微软的研究人员透露了他们的发现。当被问到这种攻击对于Gmail、美国银行和其他现实世界中的网站有多大实际意义时,Van Goethem给出了下面的回答:

“如果我不紧不慢地为大量网站撰写攻击方法,那么访问一个恶意网站(它甚至不必是一个恶意网站,只要恰好有一个恶意JavaScript文件在上面,这种可能性非常大),就会引起巨大破坏。很可能大多数破坏都是由BREACH漏洞造成的,因为BREACH攻击者可以读取CSRF令牌。依靠网站提供的功能,攻击者能通过CSRF令牌方便地获取用户的完整帐号。

我从未详细检查过每个网站的请求和响应,但用户应该考虑最坏的情况。攻击者只需找到一个包含秘密令牌的端点,然后在响应中返回请求的一部分,来提取这个令牌。正像我提到的,知道这个令牌通常就可以获取用户的帐号。”

Van Goethem还说他只知道一种方法能够缓解这种攻击的影响,即禁用第三方cookie。如此一来,HTTPS网站发出的响应就与目标用户无关了。目前,大多数浏览器都会默认开启接收第三方cookie功能。而且一些在线服务还必须要求用户开启第三方cookie,否则就无法正常运行。

HEIST技术用来对付HTTP/2也很有效,HTTP/2替代了为所有Web通信加密的较早的HTTP标准。某些情况下,HEIST还可以利用HTTP/2的一些新特性来增加破坏效果。

Vanhoef和Van Goethem在一篇尚未发表的研究论文中写道:“如果我们知道使用了HTTP/2,我们可以让浏览器向目标源发请求,同时也向另一个包含被返回的内容的源发请求,自从HTTP/2应用以来,这两个请求都是平行发到服务器,服务器同样平行应答它们的。”

现在还不知道与BREACH技术结合在一起的HEIST漏洞会不会被用来攻击现实中受HTTP保护的网站访问。Van Goethem说,由于网站提高了针对跨站脚本攻击(XSS)、SQL注入和跨站请求伪造攻击(CSRF)的防御能力,所以HEIST漏洞很可能更有吸引力。虽在自然状态下还没有BREACH漏洞被利用的迹象,但HEIST为其带来的便利条件却能改变这一点。

“不管网站采取哪种安全措施,其中大多数在BREACH面前仍是脆弱的(这种攻击已经存在了三年,没有什么办法能减弱它的影响——很可能因为这样做无济于事),”他在一封邮件中写道。“HEIST攻击仅需要目标用户访问一个恶意网站,鉴于这个事实,我们认为类似BREACH与HEIST并用的攻击很可能是窃取用户帐号最简单的方法。”

来源:arstechnica

 

评论 抢沙发