要匿名上網,使用 Tor 瀏覽器是個好的開始,但這還不夠。關閉任何其他可能開啟的瀏覽器也是一個好主意,因為這些瀏覽器可能會暴露您的漫遊情況。一個安全研究人員小組剛剛發現可以透過使用簡單的 JavaScript 程式碼觀察電腦快取的使用情況來監控使用者的網頁瀏覽。換句話說,只需打開一個託管此類惡意程式碼的網站,該導航標籤就能夠監視同一台電腦上運行的所有其他選項卡,無論它們是否屬於同一瀏覽器。包括來自 Tor 瀏覽器的那些。
快取存取時間測量
這怎麼可能?研究人員開發的 JavaScript 程式碼在快取層級分配記憶體空間,然後測量對該空間的存取時間。當使用者載入網站時,快取的組成會被修改,這會影響造訪時間。事實證明,這種變化使得以高機率表徵站點的身份成為可能。
為了進行這種攻擊,研究人員首先收集了數千個不同站點的指紋。每個指紋都可以以圖形方式表示為“內存圖”,它顯示對記憶體快取的存取。痕跡越深,訪問時間越長。我們注意到,不同網站的圖形有很大不同。
這些數據被輸入機器學習演算法來創建探測器。然後在不同的電腦配置上進行了測試,包括系統層級(Linux、Windows、macOS)和瀏覽器(Firefox、Chrome、Safari、Tor)。結果:傳統瀏覽器進行網站識別的成功率為 70% 至 90%。 Tor 上的使用率僅為 45% 到 60%,因為該瀏覽器限制了存取快取的頻率(每 100 毫秒存取一次,而其他瀏覽器至少為 2 毫秒存取一次)。
有些人會反對說指紋必然取決於底層快取的類型,而攻擊者不應該知道這一點。但研究人員也表明,可以開發 JavaScript 來預先檢測這種硬體特徵。
雲端運算的風險
這種攻擊的優點是它繞過了瀏覽器層級目前存在的所有保護措施。即使每個頁面進入不同的沙箱,它仍然有效。它也獨立於網路流量。加密交換、透過多個代理傳遞它們或向它們注入噪音以偽裝流量不會改變任何事情。探測器仍然可以正常工作。請注意,此攻擊也會影響共用執行環境,例如雲端。只要物質基礎相同就夠了。
那我們可以考慮什麼解決方案呢?研究人員建議兩個:對快取進行分區,將敏感活動與其他活動分開;或將噪音引入快取活動。無論哪種情況,都可能會影響電腦的效能。