APP下载

推特以双重保护防止用户遭Silhouette技术线上线下交叉追踪

消息来源:baojiabao.com 作者: 发布时间:2024-05-20

报价宝综合消息推特以双重保护防止用户遭Silhouette技术线上线下交叉追踪

研究人员发现,骇客能够透过钓鱼攻击,并结合推特封锁功能造成页面载入的时间差,关联出使用者线下名称与线上身份,而这将造成部分地区的使用者很大的风险,现在推特不只增加参照检查,更联合浏览器厂商共同修正这个问题。

早稻田大学与NTT研究人员透过漏洞奖励计划,向推特回报名骇客可利用名为Silhouette的技术,对用户进行追踪。网站能以JavaScript利用标准浏览器API,在后台向推特发出页面请求,该请求会被要求使用Cookie登入凭证,因此当使用者登入了推特,该请求便会以使用者身份进行。

也就是说,当用户点击来自电子邮件或是推文上的钓鱼连结时,恶意网站就有机会能够取得使用者的推特身份进行追踪,或是找出与其他账户之间的关系。特别是当骇客能够把使用者线下名称跟线上身份关联时,在特定地区会特别危险。

虽然推特网站以CSRF保护POST请求,以确保请求是由本人操作,防止其他程序代替使用者发送推文的行为。浏览器也会基于安全理由,对跨来源的请求有所限制,像是另一个来源无法读取回应内容,以保护使用者的资讯安全。

不过,由于请求页面可以决定页面载入的时间,Silhouette技术便是利用了网页页面载入时间的可变性,操控用户的请求回应时间,骇客便能透过时间资讯追踪出特定使用者身份。通常推特网页载入的时间很难被预测,因为载入的时间取决于浏览页面上的推文内容。但是推特的封锁功能却让页面载入时间变得可操控,当使用者A被使用者B封锁,使用者A在浏览使用者B的推特个人页面时,网页不会载入使用者B的个人资料,并且显示空白的推文时间轴。

显示空白的页面比显示充满推文的页面还要快上许多,根据官方的测试,空白页面载入只需要约200毫秒,一般完整的页面则要约500毫秒。因此骇客可以利用这点,影响用户浏览特定网址的载入时间。研究人员可以透过精心安排多个账号,并设计特别的封锁关系,就能够使用极低的请求数,从一大群用户里追踪出特定使用者。推特提到,研究人员只要设立20个存在特定封锁关系的推特账号,就能从一百万个账号群中,追踪特定人士。

当然骇客也可以使用鱼叉式钓鱼法,向使用者发送恶意网站链接,借此追踪该用户,但是研究人员揭露的Silhouette技术,使用者则是在预设隐私的状态下被追踪,而且对大部分的用户都能发生效果。要解决这个问题并非简单的事,推特前后试验了各种方法,同时在浏览器的规范以及应用程序上下手。

推特提到,最理想的解决方案是在登入Cookie中使用SameSite属性,让其他网站对推特网站的请求,不会被视为登入请求,不是登入请求就无法被侦测身份。但是SameSite属性是过期的规范草案,只有Chrome有实作,推特提到,虽然Chrome是最多用户使用的浏览器,但是仍需要顾及其他浏览器的安全性。

推特先采取了较可行的全面解决方案,推特的CSRF保护机制,用来确保POST请求的原始以及参照标头都源自于推特,推特现在把这个机制应用在GET请求上,便能有效解决Silhouette漏洞。但这个机制却会阻挡推特网站的初始载入,为了解决这个问题,他们在twitter.com上创建了一个空白页面,这个网页仅执行重新载入的动作,而重新载入后,参照来源便会设置为twitter.com,页面也就可以正确载入,而非推特网站也就无法在重新载入后进行追踪。这个空白页面非常小,虽然会增加往返的负载,但是对载入时间不会有太大影响。

推特在进行网站修正的同时,也与浏览器主要厂商讨论Cookie属性SameSite的可行性,现在所有主流浏览器包括Chrome、Firefox、Edge、Internet Explorer 11和Safari都实作了该规范。推特在使用SameSite Cookie和参照检查后,已经可以确定推特用户免于Silhouette技术影响。但是官方提到,除了推特,其他网站也会受Silhouette技术威胁。

2018-09-21 18:31:00

相关文章