研究人員發現 Google Chrome「Scroll To Text Fragment」新功能有隱私風險問題

作者 | 發布日期 2020 年 02 月 24 日 15:48 | 分類 Google , 網路 , 資訊安全 follow us in feedly


隨著 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 開始支援。

(首圖來源:shutterstock)