在不知道或需要提醒的情况下,浏览器cookies并不能完全确保不受攻击。
DHS赞助的卡内基梅隆大学软件工程学院的CERT于本周下发了一个警告,警告用户关于一类持续流行的涉及用户隐私的cookies漏洞,这些漏洞甚至可以使得用户财务状况处于危险之中。
该警报于上个月的USENIX安全专题讨论会上的一篇研究论文中提出,被称之为 “cookies缺乏完整性:累及现实世界”[PDF],该篇文章由中国清华大学的Xiaofeng Zheng, Jian Jiang, Jinjin Liang, Haixin Duan, Shuo Chen, Tao Wan和Nicholas Weaver,国际计算机科学研究所,微软,加拿大华为,和加利福尼亚大学的伯克利共同撰写。
本文对n-depth tour cookies注入攻击(这甚至可以发生在安全的HTTPS链接中),同时本文还介绍了在RFC 6265中的cookie说明书中的漏洞和复现该问题时的实施规范。
在USENIX上所描述的攻击,涉及到一个基于网络的中间过度的位置,在这个过度过程中,攻击者可以在一个HTTP链接中注入cookies,这也会附上自己的链接。研究人员说,该漏洞出现在一些高流量的网站——通过名字它们被确定为谷歌和美国银行,同时这些漏洞可能会造成包括隐私侵犯,账户劫持,财务损失在内的一些后果。
“你在一个攻击者可以控制的网络上(例如在星巴克或者一个有开放WiF的地方i)。攻击者暂时劫持你的浏览器来对一个目标网站进行cookies注入。”Weaver告诉Threatpost。“现在,当你访问该网站(在不同的网络,在不同的情况下),你的浏览器会在网站上呈现坏的cookies,并且这个网站将以一种网站依赖的方式在网站上呈现坏的cookies。例如,它可以只是简单地跟踪用户,也可以是埋伏在cookies本身中的一个完整的XSS攻击。”
在该文中,研究人员指出,隔离cookies域收效甚微,但不同的是,相关域可以共享一个cookie范围。文章中这样写到:
一个cookie可能有一个“安全的”flag,显示它应该只能在HTTPS上,确保对网络”中间人”(MITM)的保密性。然而,并没有类似的措施去保护免于对手的相同性:一个HTTP响应是被允许为其域名建立一个安全的cookie的。对手可以在一个相关的域上通过利用被分享 的cookie扰乱cookie的完整性。
甚至不是同源政策,这意味着在域名之间墙的内容对于这些攻击来说是一种有效的威慑,因为基于网络的攻击者可以迫使受害者的浏览器访问恶意网站。
“由于RFC 6265不指定任何机制来提供隔离和完整性保证,Web浏览器的实现并不总是进行身份验证的域设置一个cookie,“CERT警告说。“恶意的攻击者可以利用这个建立一个cookie,这个cookie将会在之后用到,通过一个HTTPS连接而不是实际网站设置的cookie。”
研究者们提出了许多可能的缓解措施,其中主要的有实现HTTP严格安全传输(HSTS),以及改变浏览器制造商。文章还提出了概念证明更好的浏览器扩展可以使HTTP和HTTPS域之间分更好的分离cookies。
“对于所有你所浏览过的HSTS支持的网站,HSTS防止你的浏览器免于接受攻击者的cookies,因为他们通过HTTP不是HTTPS。”韦弗说:“所以任何给其基础域名和所有子域名建立HSTS的网站都是能够进行有效免疫的。
Weaver说“[浏览器]需要改变cookies如何运作的方式,这始终是一个充满了危险的区域,因为一个更安全的cookie策略可能会打破现有的网络。 “