根据互联网系列标准(RFC)收录的第6797号文件描述,HTTP强制安全传输协议(HSTS)指的是一种可以将用户从不安全HTTP版本网站重定向到安全HTTPS版本网站的机制,。比如用户在浏览器中访问http://www.google.com,浏览器就可以将网站重定向到https://www.google.com。
问题是,有人认为如果浏览器在用户每次访问HTTPS网站的时候都必须做一次重定向,是一件很麻烦的事情。所以HSTS的作者创造了一种机制,让浏览器记住用户已访问网站的HSTS策略。
安全研究人员山姆·格林哈尔希(Sam Greenhalgh)发现,这种具有安全特性的HTTPS网络协议,可以在一些浏览器中变得具有跟踪特性,并且无法根除。
这就是山姆·格林哈尔希识别出来的超级COOKIE。他的观点是,HSTS探针的存在是为每个用户访问的HTTPS网站进行重定向的,它对于用户和网站都是独一无二的,并且可以由任何网站从浏览器设置中进行读取。
一旦数字被存储下来,那它就可以在未来被其他网站读取。读取该数字只需要测试相同站点地址发送的请求是否得到重定向。“私密浏览模式”或“隐身浏览模式”都无济于事。
格林哈尔希指出,一些浏览器允许HSTS标志被清除,所以在一定程度上,Chrome、Firefox和Opera的问题就可以得到一定程度的减轻(当然IE压根就不支持HSTS)。
然而,Safari浏览器就完蛋了。当在苹果设备上使用Safari,要通过用户来清除HSTS标志根本没门。不权无法清除,HSTS标志甚至还被iCloud服务同步到云端,就算苹果设备上的数据被清除,也可以通过iCloud进行恢复。苹果这时候反而体现出了它高效的跟踪特性,让人根本没办法删除。
格林哈尔希还指出,早在2012年米哈伊尔·大卫多夫(Mikhail Davidov)就曾描述过,称其对于恶意站点拥有者来说要利用这个漏洞“几乎信手拈来”。
谷歌也曾告诉格林哈尔希,在Web工作原理如果没有根本性转变的情况下,要打败所谓的指纹识别是不切实际的。而IE完全不支持HSTS也让人匪夷所思。当然,这或许只是谷歌自己的看法。毕竟谷歌是HSTS的投资人之一,况且亚当·巴斯(Adam Barth,谷歌软件工程师)还是6797号文件三位写作者中的作者之一。