Drawn Apart,一種基於 GPU 的用戶識別方法

幾天前 有消息稱研究人員 來自本古里安大學(以色列)、里爾大學(法國)和阿德萊德大學(澳大利亞) 開發了一種新技術來識別設備 通過在 Web 瀏覽器中檢測 GPU 參數來吸引用戶。

該方法稱為 “Drawn Apart”,基於 WebGL 的使用 獲取 GPU 性能配置文件,這可以顯著提高被動跟踪方法的準確性,這些方法無需使用 cookie 且無需在用戶系統上存儲標識符。

那些方法 考慮渲染特性、GPU、圖形堆棧和驅動程序 在識別它們時,它們以前被使用過,但它們僅限於僅在不同型號的顯卡和 GPU 級別上分離設備的可能性,即它只能用作增加識別概率的附加因素。

主要特點 新的“Drawn Apart”方法 就是不局限於分離不同型號的GPU,但是 嘗試識別相同 GPU 之間的差異 由於設計芯片的生產過程存在異質性,因此型號相同。

還提到了在生產過程中觀察到的變化,以便為相同的設備模型形成非重複模具。

事實證明,這些差異可以通過計算執行單元的數量並分析它們在 GPU 上的性能來識別。 作為識別不同 GPU 模型的原語,使用了基於一組三角函數、邏輯運算和浮點計算的檢查。 為了識別同一 GPU 上的差異,估計了運行頂點著色器時同時運行的線程數。

假設顯示的效果是由不同芯片實例的溫度狀況和功耗差異引起的(之前對 CPU 演示了類似的效果:相同的處理器在運行相同的處理器時表現出不同的功耗。代碼)。

由於通過 WebGL 的操作是異步的,所以不能直接使用 performance.now() JavaScript API 來測量它們的執行時間,因此提出了三個技巧來測量時間:

  • 在屏幕上: 在 HTML 畫布上渲染場景,並通過 Window.requestAnimationFrame API 公開並在渲染完成後調用回調函數的響應時間測量。
  • 離屏: 使用 worker 並通過測量 convertToBlob 命令的執行時間將場景渲染到 OffscreenCanvas 對象。
  • GPU: 渲染到 OffscreenCanvas 對象,但使用 WebGL 提供的計時器來測量時間,同時考慮到 GPU 端執行一組命令的持續時間。

在創建標識符的過程中 在每台設備上執行 50 次檢查,每一個都涵蓋了 176 種不同特徵的 16 次測量。 實驗期間, 在具有 2500 個不同 GPU 的 1605 台設備上收集的數據顯示效率提高了 67% 通過向它們添加 Draw Apart 支持來組合識別方法。

特別是,FP-STALKER 組合方法平均在 17,5 天內提供識別,而與 Drawn Apart 組合,識別持續時間增加到 28 天。

觀察到精度受GPU溫度的影響 並且,對於某些設備,重新啟動系統會導致標識符失真。 當該方法與其他方法結合使用時 間接識別, 精度可以顯著提高。 在新的 WebGPU API 穩定後,還計劃通過使用計算著色器來提高準確性。

英特爾、ARM、谷歌、Khronos、Mozilla 和 Brave 早在 2020 年就收到了該問題的通知,但該方法的細節才剛剛被披露。

除其他外,研究人員發布了用 JavaScript 和 GLSL 編寫的工作示例,這些示例可以在屏幕上顯示和不顯示信息的情況下工作。 此外,對於基於英特爾 GEN 3/4/8/10 GPU 的系統,已發布數據集以對機器學習系統中提取的信息進行分類。

終於 如果您有興趣了解更多信息,您可以在中查看詳細信息 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。