成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

取代cookie的網站追蹤技術:”帆布指紋識別”初探

開發 前端
一般情況下,網站或者廣告聯盟都會非常想要一種技術方式可以在網絡上精確定位到每一個個體,這樣可以通過收集這些個體的數據,通過分析后更加精準的去推送廣告(精準化營銷)或其他有針對性的一些活動……

[[117067]]

【前言】

一般情況下,網站或者廣告聯盟都會非常想要一種技術方式可以在網絡上精確定位到每一個個體,這樣可以通過收集這些個體的數據,通過分析后更加精準的去推送廣告(精準化營銷)或其他有針對性的一些活動。Cookie技術是非常受歡迎的一種。當用戶訪問一個網站時,網站可以在用戶當前的瀏覽器Cookie中永久植入一個含有唯一標示符(UUID)的信息,并通過這個信息將用戶所有行為(瀏覽了哪些頁面?搜索了哪些關鍵字?對什么感興趣?點了哪些按鈕?用了哪些功能?看了哪些商品?把哪些放入了購物車等等)關聯起來。

而隨著網民對個人隱私的重視,Cookie越來越不受待見。不少安全工具甚至是瀏覽器都開始允許或引導用戶關閉Cookie功能,比如很多主流瀏覽器都有一個“隱私模式瀏覽”功能。這樣以來,網站就很難追蹤用戶行為了。但仍然有一些方法可以讓網站去追蹤每一個訪問者的行為,比如通過flash cookie的方式也可以達到唯一標識和追蹤的目的。

筆者近期注意到,國外媒體報道了一種非常難以擺脫的新型在線追蹤工具被用來尾隨從白宮官網到色情網站YouPorn.com的熱門網站的訪問者。經過分析,這個就是另一種比較新的訪客追蹤技術:“帆布指紋識別”技術,具體代碼見附錄6。這個技術的獨特之處是:它不像通過Cookie或者Flash Cookie等之類的方式,你基本是無法屏蔽它的。

【原理分析】

筆者收集整理了很多知名站點上的類似代碼,詳見附錄4,從這些“帆布指紋識別”代碼可以看出,均使用到了HTML5專屬標簽<canvas>的一個現狀:在繪制canvas圖片時,同樣的canvas繪制代碼,不同機器和瀏覽器繪制的圖片特征是相同并且獨一無二的,這樣以來,提取最簡單的md5值便可以唯一標識和跟蹤這個用戶。

一段產生canvas元素的javascript代碼:

 

  1. var canvas = document.createElement('canvas');  
  2. var ctx = canvas.getContext('2d');  
  3. var txt = 'http://security.tencent.com/';  
  4. ctx.textBaseline = "top";  
  5. ctx.font = "14px 'Arial'";  
  6. ctx.textBaseline = "tencent";  
  7. ctx.fillStyle = "#f60";  
  8. ctx.fillRect(125,1,62,20);  
  9. ctx.fillStyle = "#069";  
  10. ctx.fillText(txt, 2, 15);  
  11. ctx.fillStyle = "rgba(102, 204, 0, 0.7)";  
  12. ctx.fillText(txt, 4, 17);  

 

獲取繪畫的內容,需要使用到canvas.toDataURL()方法,該方法返回的是圖片內容的base64編碼字符串。對于PNG文件格式,以塊(chunk)劃分,最后一塊是一段32位的CRC校驗,提取這段CRC校驗碼便可以用于用戶的唯一標識:

 

  1. var b64 = canvas.toDataURL().replace("data:image/png;base64,","");  
  2. var bin = atob(b64);  
  3. var crc = bin2hex(bin.slice(-16,-12));  
  4. console.log(crc);  

 

chrome隱身模式測試:

同一機器的chrome瀏覽器,無論正常模式還是隱身模式,得到的crc值始終一致。而對于不同機器得到的值是不同的,追蹤效果顯而易見。

看到這里,相信很多人想問,Why?為什么會出現這樣的情況?同樣的js代碼,在不同設備的瀏覽器上,結果是唯一并且各不相同的。這到底是為什么?其實原因很簡單,同樣的HTML5 Canvas元素繪制操作,在不同的操作系統不同的瀏覽器上,產生的圖片內容其實是不完全相同的。出現這種情況可能是有幾個原因:

1、在圖片格式上,不同web瀏覽器使用了不同的圖形處理引擎、不同的圖片導出選項、不同的默認壓縮級別等。

2、在像素級別來看,操作系統各自使用了不同的設置和算法來進行抗鋸齒和子像素渲染操作。

因此,即使是相同的繪圖操作,最終產生的圖片數據在hash層面上依然是不同的。這個具體代碼層面,恐怕要去搞懂各個主流瀏覽器的實現和以及操作系統的渲染。筆者精力所限,短期很難給出。大家可以自行摸索下,歡迎交流J

【后話】

HTML5千變萬化,利用canvas 這一特性來實現用戶追蹤,目前并沒有好的對抗方案,未來也只能依靠廣大瀏覽器廠商自行了斷,實現canvas繪圖機制的隨機化或許可以很好的保護用戶隱私,防止被追蹤。

文中涉及到的代碼和技術細節,只限用于技術交流,切勿用于非法用途。另外,如果想要研究更多的用戶追蹤技術,推薦去研究下大名鼎鼎的專注于訪客追蹤的開源項目:evercookie【附錄5】,這個猥瑣的小工具,通過幾乎所有你想到和想不到的方式(Cookie、Flash、Silverlight、Web History、HTTP ETags、Web cache、window.name caching、userData storage、HTML5、甚至是java的漏洞等)來跟蹤訪問網站的用戶行為。

【附錄】

[1] http://cseweb.ucsd.edu/~hovav/dist/canvas.pdf

[2] https://securehomes.esat.kuleuven.be/~gacar/sticky/index.html

[3] https://panopticlick.eff.org/browser-uniqueness.pdf

[4] 部分“帆布指紋鑒別代碼”地址列表:

http://ct1.addthis.com/static/r07/core130.js 

http://i.ligatus.com/script/fingerprint.min.js

http://src.kitcode.net/fp2.js 

http://admicro1.vcmedia.vn/fingerprint/figp.js 

http://shorte.st/js/packed/smeadvert-intermediate-ad.js 

http://stat.ringier.cz/js/fingerprint.min.js 

http://cya2.net/js/STAT/89946.js 

http://images.revtrax.com/RevTrax/js/fp/fp.min.jsp 

http://rackcdn.com/mongoose.fp.js

[5]  evercookie官網 http://samy.pl/evercookie/

[6]  使用帆布指紋識別技術的庫fingerprintjs 官網 https://github.com/Valve/fingerprintjs

[7]  https://www.browserleaks.com/canvas#how-does-it-work

原文鏈接:http://security.tencent.com/index.php/blog/msg/59

責任編輯:林師授 來源: 騰訊安全博客
相關推薦

2014-07-30 10:24:25

2015-11-04 15:21:07

2015-10-22 23:03:59

2014-12-30 13:29:00

指紋識別生物識別身份驗證

2013-09-11 14:57:15

2017-08-30 10:41:03

蘋果

2016-01-08 15:52:32

2019-11-23 15:45:38

Web指紋識別指紋

2025-03-11 07:30:19

2015-07-06 14:32:10

2009-03-30 08:39:01

iphone蘋果移動OS

2021-08-26 20:05:22

人臉識別AI人工智能

2015-05-22 09:56:29

Android M谷歌

2022-02-13 00:31:54

人工智能腫瘤技術

2013-09-12 14:24:31

2013-09-24 10:48:32

Google追蹤技術Cookies

2013-09-25 17:02:50

追蹤技術CookiesGoogle

2013-06-05 13:37:00

Windows 8.1

2020-11-04 15:07:39

人臉識別指紋識別生物識別

2017-11-03 10:58:00

Firefox追蹤技術隱私保護
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久高清国产视频 | 亚洲 欧美 另类 综合 偷拍 | 一二三四在线视频观看社区 | 高清一区二区三区 | 狠狠av| 午夜影院在线观看 | 国产亚洲一区二区三区在线 | 亚洲一区二区久久久 | 亚洲不卡视频 | 国产精品美女久久久 | 日日噜噜噜夜夜爽爽狠狠视频97 | www.色婷婷| 欧美精品一区二区在线观看 | 毛片在线看片 | 日本免费一区二区三区四区 | 精品欧美二区 | 草草视频在线观看 | 久久久免费电影 | 国产色网站 | 午夜欧美一区二区三区在线播放 | 国产在线高清 | 亚洲综合成人网 | 国产网站在线 | 99re在线视频免费观看 | 毛片在线免费 | 青青操91 | 色婷婷综合网 | 91麻豆蜜桃一区二区三区 | 一本一道久久a久久精品综合蜜臀 | 日韩亚洲视频 | 欧美精品乱码久久久久久按摩 | 午夜码电影 | 天天拍天天射 | 粉嫩一区二区三区四区公司1 | 天天干干 | 久久视频免费看 | 91精品国产综合久久久密闭 | 成人在线视频免费观看 | 欧美男人天堂 | 成人18亚洲xxoo | 亚洲一区精品在线 |