2017/03/10

網站使用者識別機制-帆布指紋( 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/


張貼留言