随着 Google Chrome 80 发表,Google 悄悄加入一个新功能,允许使用者建立能连到某页面特定字词或词组的连结。不过,Brave Browser 研究人员认为这有潜在隐私风险,并担心 Google 新增太快。
2019 年 2 月,Google 建立名为“Scroll To Text Fragment”的新网页功能,允许使用者建立能连到某网站页面特定单词的连结,系统并会自动以底色色框标示该单词。
要启用此功能,使用者需要透过如同网页平台孵育小组(WICG)“Scroll To Text Fragment”草案所述“https://example.com#:~:text=prefix-,startText,endText,-suffix”格式建立特殊的 URL。
由于制作纯文字片段 URL 可能有点复杂,所以 Google Chrome 开发人员 Paul Kinlan 设计了书签小工具(bookmarklet)来简化作业。举例来说,使用者想建立可连到 xkcd 网络漫画维基百科文章页面“戴贝雷帽的人”(man with a beret)词组的连结,可使用“ https://en.wikipedia.org/wiki/Xkcd#:~:text=man%20with%20a%20beret”URL 格式建立。
当 Chrome 80 的使用者点击这个连结时,画面会直接跳到这个词组,词组也会自动以黄色萤光底色标示。乍看之下似乎非常有用,因为可以方便地将 Web 页面的特定位置分享给其他人,不过 Brave Browser 安全研究员 Peter Snyder 认为,此功能会带来隐私风险,而 Google 发表前并没有解决问题。
Scroll To Text Fragment 功能有资料外泄风险
主流浏览器开发人员皆属万维网协会(W3C)旗下 WICG 小组成员,将新 Web 平台功能新增至浏览器之前,会先负责提出这些功能再讨论。
虽然浏览器开发人员不一定非要透过此过程确定是否新增某个功能,但允许其他开发人员和安全研究人员提出可能遇到的任何技术、安全性或隐私问题。
针对“ScrollToTextFragment”功能讨论的过程中,Snyder 表示担忧,亦即这让攻击者能在特定条件下,判定特定纯文字是否出现在某页面。
“举例而言:考虑到我可以查看 DNS 封包(例如公司网络)的情况下,然后我可以透过‘#:~:text=cancer’发送连结到公司健康的入口网站。在某些页面配置,透过查找页面较下方位置的请求资源,我便可以判断员工是否有癌症。”
Snyder 进一步阐述担忧,提出攻击者判断一个人是否为 Facebook 和 Twitter 等社交网络某个人的好友还是关注者的可能方法。
“除了‘#:~:text=cancer’的例子,我确信同样方法也可用来判断你是否和名字叫‘twitter.com#:~:text=@handle’的某个人是 Facebook 好友,或者也可以判断出其他许多东西。所有这些问题的根源在于这是一个违反同源政策(SOP)之举,其中某个别来源可以控制某一个不相关来源的初始状态。只要这样的情况存在,就会有各种跨来源资讯窃取的相关攻击出现。此外,透过针对所有网站预设启用这个功能,而不是让网站选择加入此功能,就会自动将让所有网站曝露在这样的潜在隐私风险。”
随着隐私疑虑出现,令人惊讶的是 Google 竟然仍在 Chrome 80 预设启用此功能,而没有在 GitHub 或在说明中针对此隐私问题进一步讨论。
“没错,这是以没有任何标记的 M80 版发表的。我们与安全团队讨论这个问题和其他疑问,总结来说,我们知道有这个问题存在,但问题严重性出现分歧,所以在不要求选择启用的情况下继续推出这功能(虽然我们仍新增选择启用/选择关闭的选项)。”Google Chrome 开发人员 David Bokan 被问到此功能是否上线时表示。
随着 Google 没有进一步讨论的情况下启用该功能,Snyder 便在 Twitter 提出一个重要问题。如果使用族群最广泛的 Google Chrome 开发人员对业界的关心置之不理,且连回应公开问题的最起码动作也没有,就新增这些功能,那么透过 WICG 提出新 Web 平台功能又有什么意义?
好消息是,Google 似乎正在考虑提供各网站可选择启不启用此功能的选项,并希望 Chrome 82 开始支援。
- Privacy Concerns Raised Over New Google Chrome Feature
(首图来源:shutterstock)