網站唔使裝 malware,都可能靠 SSD 時間差估你開緊咩
Tech News

網站唔使裝 malware,都可能靠 SSD 時間差估你開緊咩

圖片:via Ars Technica — https://arstechnica.com/security/2026/05/websites-have-a-new-way-to-spy-on-visitors-analyzing-their-ssd-activity/
TechLab 編輯部(譯)·

FROST 研究揭示 OPFS 變成瀏覽器側信道

網站唔使裝 malware,都可能靠 SSD 時間差估你開緊咩

圖:Ars Technica.原文連結

SSD 一向被當成「自己部機入面」嘅硬件,網站理論上只應該見到瀏覽器容許佢見到嘅資料。但最新一篇名為 FROST(Fingerprinting Remotely using OPFS-based SSD Timing)嘅研究,將問題推前一步:如果網站唔讀你檔案、唔裝 malware、唔要你按同意,只係不斷量度自己喺瀏覽器沙盒入面讀寫檔案嘅速度,有冇機會推測到你同一部機上面其他分頁或者 app 正在做咩?答案係:喺特定條件下,研究團隊示範到可以。

要先講清楚,呢件事唔等於「任何網站即時偷睇你網銀內容」。FROST 唔係讀走密碼、交易資料或者文件內容,而係一種 side channel:透過共享資源嘅微細時間差,推斷另一邊有冇活動。Ars Technica 報道同原論文都寫明,暫時冇證據顯示 FROST 已經被大規模用於真實攻擊;完整攻擊亦主要喺 macOS M2 Mac 上示範,Linux 只證明底層量度方法可行,Windows 未測。真正值得留意嘅地方,係瀏覽器本身愈嚟愈似作業平台,連高性能本機儲存 API 都可以變成私隱訊號。

OPFS 點樣變成探針

OPFS,即 Origin Private File System,本來係好合理嘅 Web API。MDN 將佢形容為 File System API 入面一個屬於單一 origin 嘅私有儲存端點,網站可以喺自己範圍內讀寫檔案;呢啲檔案唔會好似一般下載檔咁直接出現喺用家檔案系統,而且清除該網站資料就會一併刪走。對 browser 版相片編輯器、IDE、SQLite/WASM app、離線文件工具嚟講,OPFS 提供比傳統 IndexedDB 更低層、更快嘅檔案操作。

問題係,快同低層有時就係 side channel 嘅入口。FROST 嘅攻擊頁面會先建立一個大型 OPFS 檔案,然後用 JavaScript 喺隨機位置重複讀取,量度每次 I/O 延遲。當同一部電腦上另一個分頁、另一個 browser、甚至另一個 app 同時讀寫同一隻 SSD,SSD controller、OS cache、I/O queue 等共享資源會出現競爭,攻擊頁面量到嘅時間線就會有微細變化。研究團隊再用預先訓練嘅 CNN 模型,將呢啲 timing trace 分類,嘗試估出目標網站或 app 活動。

呢個方法同以往瀏覽器追蹤唔同。傳統 fingerprinting 多數靠字體、螢幕尺寸、GPU、extension、cookie 或登入狀態;FROST 睇嘅係 SSD contention。所以研究團隊特別指出,即使用家之後喺另一個 browser 開其他網站,理論上仍然會因為同一隻 SSD 嘅活動而被攻擊頁面觀察到時間差。換句話講,分開 Chrome 同 Firefox 並唔自然等於完全隔離,因為底層硬件資源仍然共用。

成功條件其實幾苛刻

FROST 最容易被誇大,所以限制要放喺前面。第一,攻擊需要一個非常大嘅 OPFS 檔案。論文解釋,為咗令讀取真正打到 SSD,而唔係俾 OS page cache 完全吸收,穩定長時間量度通常需要大到足以逼走 cache 嘅檔案;Ars 報道亦概括為 GB 級或以上。呢代表攻擊唔係零成本:磁碟可用空間會下降,browser profile 入面某個網站儲存用量會異常增大,較細容量 notebook 甚至可能好快出現蛛絲馬跡。

第二,目標活動要同攻擊檔案落喺同一隻 SSD。對好多 notebook 嚟講,系統、browser profile、app cache 都喺內建 SSD,呢點唔難成立;但如果某啲 app 或資料放喺另一隻外置 SSD、NAS、RAM disk,又或者公司用 VDI / remote app,FROST 觀察到嘅訊號就可能唔同或者弱好多。第三,研究入面嘅網站同 app 分類係受控實驗,唔等於任意網站都可以即場辨認全世界所有服務。

論文數字仍然值得重視。研究團隊喺 macOS closed-world 設定下,報稱 top-50 網站 fingerprinting F1 score 達 88.95%,app fingerprinting 達 95.83%;open-world top-50 網站情境亦有 86.95% macro-averaged F1。佢哋亦用 OPFS 建立 covert channel,量到 Linux 661.63 bit/s、macOS 891.77 bit/s 嘅 true channel capacity。呢啲數字唔應該當成日常攻擊成功率,但足以說明:瀏覽器入面嘅本機儲存效能,已經可以高到承載可分類嘅硬件訊號。

瀏覽器愈強,攻擊面愈大

FROST 其實延續咗近年一條清晰脈絡:browser 唔再只係顯示網頁,而係跑辦公套件、設計工具、影片編輯、IDE、AI demo 同遊戲。為咗支撐呢啲功能,平台加入 WebGPU、WebUSB、File System Access API、OPFS 等能力。每一個 API 都有正當用途,但每一個低延遲、高吞吐、接近硬件嘅接口,都可能令 side channel 研究有新材料。

過去 browser 廠商面對 CPU cache timing、event loop timing、storage quota tracking 等問題,常用方法包括降低 timer 精度、加 jitter、隔離跨站資料、要求 cross-origin isolation,或者收窄某啲 API 行為。FROST 難處係 OPFS 本身唔係 bug:佢設計上就係畀網站快速、安全、私有地寫檔;如果簡單加 permission prompt,會令一大批合法 web app 變難用。論文提出嘅方向包括限制無明確 persistent permission 時嘅 OPFS 檔案大小、偵測短時間內跨 origin 大量建立 OPFS 檔案、或者使用 OPFS 時限制高精度 timing。呢啲都係產品取捨,未必會即刻有單一修補。

瀏覽器支援亦唔可以亂講。MDN browser-compat-data 顯示 StorageManager.getDirectory() 即 OPFS 入口,Chrome 桌面版自 86、Chrome Android 自 109、Firefox 自 111、Safari 自 15.2 起支援,Edge 跟 Chromium 支援路線。MDN 儲存 quota 文件亦指出,Chrome/Chromium 及新版 WebKit browser app 可讓單一 origin 最高接近總磁碟空間 60%,Firefox best-effort 模式則以 10% 磁碟或 10GiB 之中較細者為上限。呢啲設計原本係畀大型 web app 正常工作,但亦解釋咗點解惡意頁面有空間建立夠大嘅 OPFS 檔案。

香港日常風險:唔係本地爆鑊,但係好貼地

今次冇香港銀行、政府平台、電訊商或者港行硬件被點名,亦冇證據顯示香港服務正受 FROST 攻擊。真正貼地嘅位係使用習慣:香港上班機同私人 notebook 經常同時開網銀、強積金平台、公司 SaaS、webmail、醫療或政府服務,再長時間留住一堆新聞、購物、AI 工具、文件協作分頁。FROST 嘅威脅模型正正係惡意網站保持開啟,等用家去做其他事,再用 SSD timing trace 推測活動類型。

金管局嘅網銀安全提示一直叫人保護用作登入網銀嘅電腦同手機,避免用公共電腦或公共 Wi-Fi,並直接輸入銀行網址或用 bookmark / app。FROST 並唔係 phishing,也唔係公共 Wi-Fi 竊聽,但佢補充咗另一層現實:網銀安全唔只係網址真唔真,亦關乎登入前後部機仲開住咩不受信任頁面。公司 IT team 更要留意,受管電腦入面 browser profile 急速增加數 GB 網站資料,已經唔只係「cache 太多」,而可能係需要調查嘅私隱訊號。

PCPD 對《個人資料(私隱)條例》嘅簡介亦提醒,個人資料處理係技術中立、原則為本;DPP4 要求資料使用者採取所有切實可行步驟保護所持個人資料。單獨一段 SSD timing trace 未必一定構成可識別個人資料,但如果網站將「某帳戶、某裝置、某時間正在使用某類服務」同登入 ID、廣告 ID 或其他識別碼合併,私隱風險就明顯升級。對本地網站營運者同廣告技術供應商嚟講,唔可以用「冇讀內容」做萬能免責。

而家可以點防

對普通用家,最實際唔係恐慌,而係收窄攻擊窗口:做網銀、公司後台、醫療預約、稅務或政府服務前,關走唔需要嘅陌生分頁,尤其係你唔清楚來源、會長時間開住、又可能大量用本機儲存嘅 web app。用完大型線上工具後,定期入 browser 設定清理網站資料;如果某個你唔熟嘅網站佔用幾 GB 甚至更多儲存空間,直接刪除會比只清 cookie 更有效,因為 OPFS 會跟網站資料一齊清走。

  • 留意磁碟空間突降:細容量 SSD notebook 如果突然少咗十幾 GB,又冇下載大型檔案,可以查 browser site data。
  • 唔好長開陌生頁面:FROST 需要攻擊頁面保持開啟量度,閒置分頁愈多,觀察窗口愈長。
  • 高風險工作分開環境:公司可用受管 browser profile、VDI、受信任 allowlist 或分開工作機,減少娛樂/測試網站同敏感 SaaS 同場運行。
  • 更新 browser:未來 mitigation 好可能由 Chrome、Firefox、Safari 或底層引擎推出;停留喺舊版會錯過平台層修補。

FROST 最有價值嘅提醒,唔係「SSD 變成危險硬件」,而係 web platform 已經深入到硬件效能層。OPFS 令 browser app 可以做到接近 native 嘅儲存體驗,呢件事本身係進步;但當同一個 API 可以畀網站悄悄量度 SSD contention,私隱模型就要重新計算。香港用家唔需要因為一篇論文停用所有 web app,但應該開始將網站儲存空間、長開分頁同工作/私人瀏覽分隔,當成同密碼管理、2FA 一樣嘅基本網上安全衛生。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook