http://p9.qhimg.com/t010c9a7e40260662a6.png

根据国外媒体的最新消息,安全研究专家计划在美国时间的本周周三向外界展示如何利用nytimes.com网站上的广告来攻击其他采用了HTTPS协议的网站。

HTTPS加密方案可以有效地保护数百万互联网站点的安全,使它们免受大多数新型网络攻击的困扰。但是近期,安全研究专家研发出了一种新型的攻击方法,这种方法允许攻击者即便是在无法监控终端用户网络通信数据的情况下,也能够窃取到目标用户经过加密处理的邮箱地址,社保号,以及其他的一些敏感数据。

 

其中存在的安全问题是非常明显的,黑客完全无须借助中间人攻击,即可实现入侵。实际上,攻击者只需要将一个看似无害的JavaScript文件隐藏在一个网页广告或者网站页面中,即可展开攻击。JS文件中的恶意代码可以搜索出大量受到安全套接字层或者传输层安全协议保护的网页,并且精确计算出这些网页传输的加密数据(文件)的大小。正如这一技术的名字(HEIST技术)所暗示的那样,攻击者可以通过TCP协议来窃取HTTP加密信息。HTTPS响应信息会通过传输控制协议(TCP)来进行发送,而TCP协议是目前互联网中使用最为广泛的网络协议之一。

 

当攻击者得知了响应信息(经过加密处理的)的大小之后,他们就可以利用预先设计好的漏洞利用方法从响应数据中提取出明文信息。很多网站都会使用文件压缩技术来提升网页的加载速度,而攻击者正好可以利用其中的设计缺陷来解密数据payload(类似BREACH攻击CRIME攻击)。据了解,安全研究专家将会在拉斯维加斯的黒帽大会上(将于本周三举行),首次向全世界演示HEIST技术

 

Tem Van Goethem是参与研发这项技术的其中一名安全专家,他在接受Ars的采访时说到:“HEIST技术的存在,将会使得很多其他的攻击技术更加容易执行了。在此之前,攻击者为了进行某些特定类型的攻击(例如CRIME攻击和BREACH攻击),可能还需要借助中间人攻击等方法。但是现在,他们只需要诱使目标用户去访问一个恶意网站,就可以成功实现攻击。”

http://p3.qhimg.com/t016a0a79747966fc68.png

 

通过配合使用HEIST和BREACH这两种攻击技术,攻击者可以从经过加密的响应数据中提取并解密邮箱地址,社保号,以及其他的一些零散数据。在继续介绍HEIST攻击之前,我们先回顾一下什么是BREACH攻击和CRIME攻击。

 

在2012年Ekoparty安全会议上,安全研究专家Thai Duong和Juliano Rizzo介绍了一种名为CRIME的攻击技术,但这一攻击并没有对安全套接层/传输层安全(SSL/TLS)的安全性产生严重的影响。在2013年黑帽大会上,安全专家Yoel Gluck,Neal Harris和Angelo Prado继续对SSL/TLS加密技术进行了深入分析,他们向外界演示了一种新型的攻击,即利用自适应超文本压缩的浏览器来进行信息搜集与渗透攻击,这种攻击技术也被称为BREACH攻击,该攻击对SSL/TLS的影响比CRIME攻击更为严重。

 

为了成功破解用户的加密数据,BREACH攻击瞄准的是HTTPS的表头压缩部分。这种数据压缩处理方式对于很多企业而言,是非常关键的。因为它能够最大程度地降低带宽成本,并提升网页的加载速度。BREACH攻击可以通过结合现有的两种攻击技术来窃取HTTPS 网站应用所传输的加密信息,这两种攻击类型分别是:利用跨站请求伪造(CSRF)来改变传输数据;利用中间人攻击向HTTPS表头中注入额外数据。攻击者可以根据注入的数据来对这些请求响应的变更进行分析。这样一来,攻击者就可以确定用于加密会话的字节信息,然后就可以利用这些信息来对数据进行解密了。

 

HTTP压缩采用了Deflate算法。该算法可以将重复出现的字符串以一个实例的形式存储在HTML文件之中,并以此来缩小数据流所占的空间。当代码需要使用这一字符串时,系统会自动用一个指针来进行索引,这样就可以最大程度地节省空间了。一般而言,如果一个数据流中存在大量的重复字符串,那么这也就意味着在经过了压缩处理之后,可以显著地减少数据所占的空间。值得注意的是,Deflate算法是同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。

 

目前为止,如果要利用BREACH技术来实现攻击的话,攻击者必须要能够主动篡改Web服务器和终端用户之间的网络数据。如果能够配合使用HEIST和BREACH这两种攻击技术的话,攻击者就可以消除这一限制。攻击者可以利用TCP协议的特性来测量HTTPS响应信息的大小。TCP会将大块数据切分成一些体积更小的数据快(固定大小),这些数据块也被称之为帧。数据分块完成之后,TCP会将这些传输帧进行分组,并组成TCP窗口,并每次发送一个窗口。当终端用户接收到了一个窗口之后,会返回有关这一窗口的确认信息,TCP只有在接收到了上一窗口的返回信息之后,才可以发送下一个窗口。

 

HEIST技术可以利用新的API(Resource Timing和Fetch)来计算出目标主机发送的传输帧和窗口的数量。在整个处理过程中,研究人员可以利用一段JavaScript代码来确定HTTPS响应信息的实际大小。然后,恶意HEIST代码就可以配合BREACH技术来从用户的请求数据中提取出加密信息了。

 

目前,Ven Goethem和Mathy Vanhoef已经将他们的研究成果提交给了谷歌公司和微软公司的安全研究人员。这也就意味着,周三的演讲内容可能并不会让他们感到惊讶了。

 

当被问及到目前有什么方法可以缓解这种攻击时,Ven Goethem表示:“我现在只知道一种方法能够缓解这种攻击所带来的影响,即禁用第三方cookie。这样一来,HTTPS网站所发送的响应信息就与目标用户无关了。”目前,大多数网页浏览器都会默认开启第三方cookie功能。而且有的在线服务还必须要求用户开启第三方cookie,否则服务将无法正常运行。

 

据了解,在周三的演示过程中,安全研究人员将会演示如何利用纽约时报官网中的恶意广告来精确测量出经过加密处理的响应信息大小。在整个过程中,安全研究人员将会使用一个虚拟的第三方网站(targetwebsite.com)来发送加密信息。除此之外,他们还将会演示如何从用于防止跨站请求伪造攻击的安全令牌中推测出数据信息。

http://p2.qhimg.com/t0166289bf281e1dd04.png

 

目前很多网站都已经部署了一些基础的安全保护措施,但是这些防护机制并不能有效地防止BREACH攻击。所以我们推测,在不久的将来可能会发生大量与BREACH攻击和HEIST攻击有关的安全事件。


文章原文链接:https://www.anquanke.com/post/id/84334