2017/03/10

網站追蹤技術--音頻指紋追蹤(audio fingerprinting web-tracking)

網站追蹤技術--音頻指紋追蹤(audio fingerprinting web-tracking)


透過 HTML AudioContext 的函式,來追蹤使用者。這功能本來是設計來在 web browser
上面處理聲音分析、過濾的,但用在追蹤及網站使用者識別,更是令人驚豔。(這是根本是 HTML5 版本的程式奇淫技巧呀!!)


Audio Fingerprinting測試DEMO頁面:
https://audiofingerprint.openwpm.com/



研究機構:
普林斯頓大學的研究室,關於音頻指紋(AudioContext Fingerprinting)、WebRTC Local IP Discovery 及帆布指紋(Canvas Fingerprinting)的說明
https://webtransparency.cs.princeton.edu/webcensus/index.html#fp-results
其中關於 AudioContext Fingerprinting 但需要進一步的研究,指紋的穩定性及唯一性。

這研究室開發的 OpenWPM 看起來很強大呀!!
https://github.com/citp/OpenWPM


另一個研究機構,大量收集,並探討 fingerprinting 的有效性。
https://amiunique.org/
還發了一篇 IEEE http://ieeexplore.ieee.org/document/7546540/?reload=true


實作的GITHUB專案:
這個專案,不相容於前一個專案版本 Fingerprintjs ,這個版本但使用多個不同的偵測技術。

線上測試:
http://valve.github.io/fingerprintjs2/

原始碼:
https://github.com/Valve/fingerprintjs2
作者的裡面有一段寫到:「I'm also paying special attention to IE plugins, popular in China, such as QQ, Baidu and others.」 , 幫 china user 廠廠了!!

這是我直接放在我網站的連結 http://jangmt.com/fingerprintjs2/ 
他可以分辨到不同的 chrome 使用者以及更細微的差異.


我寫了一個簡單的測試的頁面,可以讓使用這測試一下他的 展示閱覽的狀態歷史
http://jangmt.com/fingerprintjs/





網站使用者識別機制-帆布指紋( canvas fingerprinting )



* Canvas fingerprinting 可以透過HTML5  BROWSER 的 CANVAS ,依據不同軟體及硬體裝置上對於 Canvas 的實作,得到不同的指紋,得到一個唯一 HASH 值,用這個值來判斷使用者的唯一性。且它無法被無痕視窗封鎖阻擋,也沒有防毒軟體可以阻止它洩漏你的機器識別資訊,AdBlock 要檔是可以,但要自己加入規則鎖 Canvas JS。

* 這讓我想到上一篇,我用 IP清單來抵擋大量的暱名 IP,現在換成這個機制,加上 IP 管制,就可以更精準的阻止匿名攻擊的註冊!!

* 至於哪些沒有 CANVAS 的 browser 就直接把它拋棄了,根本不讓他連網。目前大概只有機器人會用沒有 CANVAS 的 BROWSER 巴。

WIKI: https://en.wikipedia.org/wiki/Canvas_fingerprinting

誰提出的想法:https://cseweb.ucsd.edu/~hovav/dist/canvas.pdf

解釋:https://securehomes.esat.kuleuven.be/~gacar/persistent/the_web_never_forgets.pdf
開始解釋這種追蹤工具的難以抵擋性, 2014年的調查已經有 5% 以上的網站使用這種技術。

猜測正確率論文:https://panopticlick.eff.org/static/browser-uniqueness.pdf  ‎被引用 535 次
「在我們的樣本中,帆布指紋變化相當快速,但即使一個簡單的試探通常能夠猜到是
什麼時候的指紋,是以前觀察過的 '升級版' 瀏覽器指紋,
有 99.1% 的猜測正確 和只有 0.86% 是未命中(false positive rate)。」


* 線上立即可以測試的網站:

(1) 線上測試網站
https://fingerprint.pet-portal.eu/  更詳細的 fingerprint 還可以猜你安裝哪些軟體,且有不錯的識別率。



(2)
我下載 https://github.com/Valve/fingerprintjs 的本機測試結果 ,可以點擊這裡測試。這個比較簡單,直接分析得到一組code ,在同一個機器同 browser 開啟會是唯一值。 v2 版本比較進階,甚至可以識別你的 chrome 帳號登入的不同。



GITHUB 已經有人寫成 framework 可以直接用的 code:
https://github.com/Valve/fingerprintjs  第一版
https://github.com/Valve/fingerprintjs2  第二版


more...
http://valve.github.io/blog/2013/07/14/anonymous-browser-fingerprinting/
http://www.ghacks.net/2014/07/21/companies-use-canvas-fingerprinting-track-online/

另一個研究機構,大量收集,並探討 fingerprinting 的有效性。
https://amiunique.org/
還發了一篇 IEEE http://ieeexplore.ieee.org/document/7546540/?reload=true

我寫了一個簡單的測試的頁面,可以讓使用這測試一下他的展示閱覽的狀態歷史
http://jangmt.com/fingerprintjs/


like