安全研究人员已经扩展并提高了三岁的攻击,利用用于加速浏览的压缩机制,以便从加密的Web流量恢复敏感信息。
这种攻击被称为BREACH,它利用了许多Web服务器使用的gzip/DEFLATE算法来减少响应HTTP请求时的延迟。这种压缩机制会泄露有关加密连接的信息,并允许中间人攻击者恢复身份验证cookie和其他敏感信息。
2013年8月,安全研究人员Angelo Prado、Neal Harris和Yoel Gluck在美国黑帽安全会议上首次提出了BREACH(通过自适应压缩超文本的浏览器侦察和外过滤)攻击。虽然理论上它会影响所有的SSL/TLS密码,但他们的攻击版本对使用流密码加密的连接最有效,比如RC4。
另一组研究人员,来自雅典国立技术大学的Dimitris Karakostas和雅典大学的Dionysis Zindros,已经对BREACH进行了改进,使其可以用于攻击目前比RC4更常用的TLS分组密码,如AES。
Karakostas和Zindros上周在黑色帽子亚洲安全会议上展示了他们的违规优化,并发布了一个叫做“破裂”的开源框架可用于发射此类压缩相关的攻击。
他们的演示包括对Gmail和Facebook Chat的两个概念验证攻击,以证明许多网站,包括一些最安全的网站,都是脆弱的。
违规要求攻击者处于网络位置,允许拦截受害者的Web流量。这可以通过损害路由器,或者在Internet基础架构中由ISP或智能机构等Internet基础设施更高的网络基础设施来实现这一点。
然后,攻击者必须找到应用程序的一个易受攻击的部分,该部分通过URL参数接受输入,并将该输入反映到加密响应的某个地方。
在Gmail的情况下,研究人员发现,其移动站点上的搜索功能允许此类输入反射:通过URL参数传递的搜索字符串包含在响应页面中,例如在消息中表示没有结果那个特定的字符串。此外,如果请求由经过身份验证的会话进行,则响应还包括识别该会话的身份验证令牌。
gzip压缩在HTTP中的工作方式是,如果一个响应中有多个相同字符串的实例,则保留第一个实例,其余的将被替换为对第一个实例位置的简短引用。这减少了响应的大小。
因此,在Gmail的情况下,如果用户搜索与身份验证令牌匹配的确切字符串(甚至是它的一部分),那么在响应中就会有两个相同字符序列的实例。由于压缩,响应的大小会比其他不同搜索字符串的响应小。
使用BREACH,攻击者的目标是诱骗用户的浏览器向易受攻击的应用程序发送大量请求——比如Gmail中的移动搜索功能——目的是猜测身份验证令牌。身份验证令牌将在响应中被加密,但是每次搜索字符串匹配身份验证令牌的某一点时,通过网络观察到的响应将会更小。
这最终允许通过在新请求中不断修改搜索字符串来包括已发现的字符,顺序猜测认证令牌中的每个字符。它基本上是对每个角色的严重攻击,具有作为成功指示符的HTTP压缩的变化。
破裂框架允许攻击者将流氓代码注入由用户浏览器打开的每个未加密的HTTP连接。该代码旨在强制浏览器在背景中对易受侦听的HTTPS应用程序进行请求。
与流密码相比,块密码频率将噪声引入响应,因为它们在加密之前添加了称为填充的虚拟位,以便它可以分成特定尺寸的块。取消此噪声并使用违规技术恢复加密数据需要执行比具有用流密码加密的相同数据的所需的显着更大的请求。
乍一看,这似乎会让攻击变得不那么实际。然而,Karakostas和Zindros设计了一种基于统计的方法,通过计算对同一测试特征发送的多个响应的平均响应长度来绕过噪声。他们还进行了其他优化,并引入了浏览器并行化,极大地提高了针对使用块密码的TLS连接的初始攻击速度。
三年后爆发宣布后,RC4被认为是不安全,大多数网站使用AES阻塞密码,研究人员在他们的技术论文。一些服务,比如Facebook,也加入了防止BREACH的机制。然而,BREACH的基本方面仍未得到缓解,包括Facebook在内的流行网站仍在继续支持脆弱的终端。”
研究人员总结说:“我们的工作表明,BREACH可以进化到攻击主要的web应用程序,这证实了TLS通信实际上仍然是脆弱的。”
一个提出了互联网标准被称为第一方或同一网站cookie可以保护网站免受违规攻击。如果通过浏览器采用,如果这些请求由不同的网站发起,这种机制将阻止Cookie被列入向网站发送给网站的请求。
也就是说,如果站点A上的代码指示浏览器启动到站点B的请求,那么该请求将不包括Site B的用户的身份验证cookie,即使浏览器具有与站点B的活动,经过认证的会话。
这种机制主要旨在防止跨站点请求伪造(CSRF)攻击,但也会破坏违约,因为攻击依赖于类似的启动流氓跨站点请求的方法。
谷歌Chrome将在51版本中支持同站cookie,该版本将在5月达到稳定状态。然而,除非该机制在所有浏览器中实施,否则网站所有者将没有什么动力开始在他们的cookie中使用新的“相同网站”标记。