在網上的第三方可透過音訊指紋辨識追蹤使用者,因此Apple在Safari 17添加了進階音訊指紋辨識保護功能,試圖對抗這項技術,但是追蹤技術供應商Fingerprint表示,Apple採取的應對措施並沒有完全發揮作用,他們仍可以進行降噪處理,對瀏覽器生成穩定且唯一的識別碼。

音訊指紋辨識是一種追蹤技術,該技術透過生成和分析用戶裝置上所產生的聲音訊號,來區分不同的瀏覽器用戶。過程中瀏覽器不會真的播放聲音,僅透過瀏覽器的音訊處理API創建獨特的音訊樣本,經匯總樣本轉換成一個獨特的指紋,用以當作裝置的識別符號。

由於每個裝置和瀏覽器生成音訊的方式略有不同,這些微小差異使得音訊指紋獨一無二,且生成的音訊識別碼非常穩定,即便用戶清除Cookie或是進入私密、無痕模式都不會改變,只不過該識別碼不是唯一,通常許多用戶會擁有相同的音訊識別碼。

不過,只要將音訊指紋結合其他瀏覽器和裝置特徵,像是使用者代理 (User Agent)、字體、擴充套件、時區語言,以及JavaScript和HTML5功能等相關資訊,就可以相當準確地描繪出用戶的獨特輪廓。

Apple在Safari 17中增加了進階音訊指紋辨識保護,透過限制可用資訊和添加隨機雜訊,來降低指紋辨識的準確性。當用戶進入Safari 17私密模式,系統便會預設啟用進階音訊指紋辨識,並且同時保護音訊處理、Screen、Canvas API。

音訊處理API所產生的音訊實際上是一組數字,表示每個時刻的訊號振幅,也就是音訊採樣(Audio Samples),當啟動指紋辨識保護時,Safari會在每個樣本中添加隨機雜訊,也就是說,每個原始音訊樣本都會隨機上升或是下降一定的百分比,而雜訊是以平均分布的方式加入,並確保每次添加的雜訊都不同。

因此在Safari私密模式下音訊指紋會發生改變,這些變化導致一般模式的音訊指紋與私密模式無法相比對,因此也就無法用於追蹤辨識。M1 MacBook Air上的Safari 17指紋會在124.03516和124.04545間浮動,差異達0.008%。

雖然Safari所添加的雜訊範圍0.008%數字看起來很小,但是事實上已經遠大於不同瀏覽器之間音訊指紋的最小差異,從以下表格可看出,最小的瀏覽器差異達到0.0000023%,也就是說,如果這個差異無法比較到小數點6位數以上,便會降低指紋的唯一性,因此也就無法用於區別不同的瀏覽器。

而Fingerprint找到了破解Safari 17進階音訊指紋辨識保護的方法,即便用戶啟用私密瀏覽,仍可以獲得穩定的音訊指紋。

Fingerprint透過多次生成同一音訊,對每次都被Safari添加不同雜訊的音訊樣本進行統計分析,藉此估算出原始音訊樣本的值,再透過改變基礎音訊,增加不同瀏覽器間音訊樣本的差異,最後進行四捨五入(Rounding)處理消去剩下雜訊的影響,生成出穩定且獨特的音訊指紋。

Fingerprint需要對Safari 17應用新的演算法才能取得音訊指紋,需要的時間會增加至1.5到2倍的時間,不過仍然非常的快速,維持在兩位數毫秒級。

不只有Safari限制音訊指紋辨識,Tor和Brave等注重隱私的瀏覽器也都採取一些相對應的措施,Tor完全停用Web Audio API,Brave則採用類似Safari 17的做法,但是Fingerprint也提到,他們仍可以還原出原始的指紋。

熱門新聞

Advertisement