圖片來源: 

Fingerprintjs

網路詐騙偵測解決方案開發商Fingerprintjs揭露了瀏覽器最新的Scheme Flooding漏洞,研究人員發現4大主要瀏覽器都受該漏洞影響,可讓有心人士跨瀏覽器追蹤用戶,即便用戶使用匿名瀏覽也沒有用,Scheme Flooding漏洞允許第三方跨不同瀏覽器進行追蹤,侵犯用戶的隱私。

在Fingerprintjs研究反詐欺技術的過程,意外發現這個Scheme Flooding漏洞,該漏洞讓網站能夠可靠地跨不同桌面瀏覽器辨識用戶,即便用戶使用無痕模式或是VPN,網站仍可利用該漏洞,對用戶分配一個永久且唯一的辨識符號。Tor瀏覽器、Safari、Chrome和Firefox桌面版本無一倖免,研究人員解釋,之所以稱為Scheme Flooding漏洞,是因為其使用自定義URL方案(URL Scheme)作為攻擊媒介。

Scheme Flooding漏洞讓網站偵測裝置所安裝的應用程式,來對用戶產生唯一的識別碼,Fingerprintjs實作了漏洞概念性驗證,檢查用戶常用的32個流行應用程式列表,確認用戶是否安裝其中應用程式,來產生32位元跨瀏覽器裝置識別碼,整個辨識過程需要數秒鐘,可以在桌面Windows、Mac和Linux作業系統上執行。

網站為了要檢查是否安裝應用程式,會使用瀏覽器內建的URL方案處理程式,像是在瀏覽器網址列中輸入skype://,就可查看功能運作狀況,當用戶安裝了Skype,瀏覽器便會開啟確認對話框,詢問用戶是否要啟動應用程式。這個功能稱為深度連結,在行動裝置中被廣泛使用,而桌面瀏覽器也擁有此功能,裝置中所安裝的應用程式都可以註冊自己的方案(Scheme),並允許其他應用程式呼叫開啟。

Scheme Flooding漏洞讓網站在未經用戶同意的情況下,進行針對性廣告和用戶配置檔案,網站只要使用腳本,檢測列表中的每個應用程式,並利用安裝應用程式的組合,就能對用戶產生永久跨瀏覽器識別碼,接著便能使用機器學習演算法等技術,來猜測用戶的職業、興趣和年齡。

根據裝置上安裝的應用程式,可以顯示用戶的個人資訊,像是當用戶安裝Python IDE或PostgreSQL伺服器,則代表用戶可能是後端開發人員,這個漏洞也能被用於更加危險的辨識個人目的,像是網站可以針對所安裝的應用程式,來找出網路上的政府和軍事官員,並且關聯其匿名歷史紀錄。

該漏洞在各瀏覽器的實作方法不同,但是基本概念大同小異,都是要求瀏覽器在彈出視窗中顯示確認對話框,並利用JavaScript程式碼來偵測彈出視窗,確認要偵測的應用程式是否存在。

Fingerprintjs針對4大瀏覽器進行研究,研究人員提到,在這4大瀏覽器中,只有Chrome開發者知道Scheme Flooding漏洞的存在,並且已經在Chromium錯誤追蹤器上討論並計畫修復。雖然Chrome本身就有方案洪水漏洞保護機制,但是卻可以被繞開,因此這個Scheme Flooding漏洞仍對Chrome有效。

Firefox在處理已知的自定義URL方案時,會開啟about:blank頁面,並且當前網站可以存取來源,攻擊者透過自定義URL方案打開彈出視窗,並且以JavaScript程式碼檢查文件是否可用,網站就能夠偵測裝置,是否有安裝特定應用程式,因此網站可藉由Scheme Flooding漏洞,在Firefox上辨識使用者。

Safari方面,研究人員表示,盡管隱私是Safari瀏覽器的開發重點,但是事實卻證明,Safari沒有任何Scheme Flooding保護機制,是其中最容易被攻擊的瀏覽器。

而被公認更為安全的Tor瀏覽器,由於其隱私政策,因此確認對話框功能被預設禁用,諷刺地,這項政策反而暴露更加嚴重的漏洞,使得網站在使用JavaScript程式碼檢查應用程式時,Tor瀏覽器完全沒有顯示任何內容,相較其他瀏覽器會不斷有彈出視窗出現,Tor瀏覽器使用者難以意識自己正受到Scheme Flooding漏洞攻擊。即便因為Tor瀏覽器的政策,使得每個應用程式需要花費10秒鐘來檢測,但是因為漏洞開採程式,可以在後臺執行,只要用戶開啟視窗4分鐘,就足以暴露身分。

Scheme Flooding漏洞讓網站可跨瀏覽器追蹤用戶,研究人員提到,這個漏洞已經存在5年以上,真正的影響還不清楚,並且也尚未找到積極利用該漏洞的網站。在這個漏洞修復之前,想要不讓私密瀏覽對話和主要裝置關聯,使用其他裝置是唯一的辦法。

熱門新聞

Advertisement