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

取代cookie的網(wǎng)站追蹤技術(shù):”帆布指紋識(shí)別”初探

安全 應(yīng)用安全
近期注意到,國(guó)外媒體報(bào)道了一種非常難以擺脫的新型在線(xiàn)追蹤工具被用來(lái)尾隨從白宮官網(wǎng)到色情網(wǎng)站YouPorn.com的熱門(mén)網(wǎng)站的訪(fǎng)問(wèn)者。經(jīng)過(guò)分析,這是一種比較新的訪(fǎng)客追蹤技術(shù):“帆布指紋識(shí)別”技術(shù)。

【前言】

[[117082]]

一般情況下,網(wǎng)站或者廣告聯(lián)盟都會(huì)非常想要一種技術(shù)方式可以在網(wǎng)絡(luò)上精確定位到每一個(gè)個(gè)體,這樣可以通過(guò)收集這些個(gè)體的數(shù)據(jù),通過(guò)分析后更加精準(zhǔn)的去推送廣告(精準(zhǔn)化營(yíng)銷(xiāo))或其他有針對(duì)性的一些活動(dòng)。Cookie技術(shù)是非常受歡迎的一種。當(dāng)用戶(hù)訪(fǎng)問(wèn)一個(gè)網(wǎng)站時(shí),網(wǎng)站可以在用戶(hù)當(dāng)前的瀏覽器Cookie中永久植入一個(gè)含有唯一標(biāo)示符(UUID)的信息,并通過(guò)這個(gè)信息將用戶(hù)所有行為(瀏覽了哪些頁(yè)面?搜索了哪些關(guān)鍵字?對(duì)什么感興趣?點(diǎn)了哪些按鈕?用了哪些功能?看了哪些商品?把哪些放入了購(gòu)物車(chē)等等)關(guān)聯(lián)起來(lái)。

而隨著網(wǎng)民對(duì)個(gè)人隱私的重視,Cookie越來(lái)越不受待見(jiàn)。不少安全工具甚至是瀏覽器都開(kāi)始允許或引導(dǎo)用戶(hù)關(guān)閉Cookie功能,比如很多主流瀏覽器都有一個(gè)“隱私模式瀏覽”功能。這樣以來(lái),網(wǎng)站就很難追蹤用戶(hù)行為了。但仍然有一些方法可以讓網(wǎng)站去追蹤每一個(gè)訪(fǎng)問(wèn)者的行為,比如通過(guò)flash cookie的方式也可以達(dá)到唯一標(biāo)識(shí)和追蹤的目的。

筆者近期注意到,國(guó)外媒體報(bào)道了一種非常難以擺脫的新型在線(xiàn)追蹤工具被用來(lái)尾隨從白宮官網(wǎng)到色情網(wǎng)站YouPorn.com的熱門(mén)網(wǎng)站的訪(fǎng)問(wèn)者。經(jīng)過(guò)分析,這個(gè)就是另一種比較新的訪(fǎng)客追蹤技術(shù):“帆布指紋識(shí)別”技術(shù),具體代碼見(jiàn)附錄6。這個(gè)技術(shù)的獨(dú)特之處是:它不像通過(guò)Cookie或者Flash Cookie等之類(lèi)的方式,你基本是無(wú)法屏蔽它的。

【原理分析】

筆者收集整理了很多知名站點(diǎn)上的類(lèi)似代碼,詳見(jiàn)附錄4,從這些“帆布指紋識(shí)別”代碼可以看出,均使用到了HTML5專(zhuān)屬標(biāo)簽的一個(gè)現(xiàn)狀:在繪制canvas圖片時(shí),同樣的canvas繪制代碼,不同機(jī)器和瀏覽器繪制的圖片特征是相同并且獨(dú)一無(wú)二的,這樣以來(lái),提取最簡(jiǎn)單的md5值便可以唯一標(biāo)識(shí)和跟蹤這個(gè)用戶(hù)。

一段產(chǎn)生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); 

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

  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隱身模式測(cè)試:

取代cookie的網(wǎng)站追蹤技術(shù):”帆布指紋識(shí)別”初探

同一機(jī)器的chrome瀏覽器,無(wú)論正常模式還是隱身模式,得到的crc值始終一致。而對(duì)于不同機(jī)器得到的值是不同的,追蹤效果顯而易見(jiàn)。

看到這里,相信很多人想問(wèn),Why?為什么會(huì)出現(xiàn)這樣的情況?同樣的js代碼,在不同設(shè)備的瀏覽器上,結(jié)果是唯一并且各不相同的。這到底是為什么?其實(shí)原因很簡(jiǎn)單,同樣的HTML5 Canvas元素繪制操作,在不同的操作系統(tǒng)不同的瀏覽器上,產(chǎn)生的圖片內(nèi)容其實(shí)是不完全相同的。出現(xiàn)這種情況可能是有幾個(gè)原因:

1、在圖片格式上,不同web瀏覽器使用了不同的圖形處理引擎、不同的圖片導(dǎo)出選項(xiàng)、不同的默認(rèn)壓縮級(jí)別等。

2、在像素級(jí)別來(lái)看,操作系統(tǒng)各自使用了不同的設(shè)置和算法來(lái)進(jìn)行抗鋸齒和子像素渲染操作。

因此,即使是相同的繪圖操作,最終產(chǎn)生的圖片數(shù)據(jù)在hash層面上依然是不同的。這個(gè)具體代碼層面,恐怕要去搞懂各個(gè)主流瀏覽器的實(shí)現(xiàn)和以及操作系統(tǒng)的渲染。筆者精力所限,短期很難給出。

【后話(huà)】

HTML5千變?nèi)f化,利用canvas 這一特性來(lái)實(shí)現(xiàn)用戶(hù)追蹤,目前并沒(méi)有好的對(duì)抗方案,未來(lái)也只能依靠廣大瀏覽器廠商自行了斷,實(shí)現(xiàn)canvas繪圖機(jī)制的隨機(jī)化或許可以很好的保護(hù)用戶(hù)隱私,防止被追蹤。

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

【附錄】

[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官網(wǎng) http://samy.pl/evercookie/

[6] 使用帆布指紋識(shí)別技術(shù)的庫(kù)fingerprintjs 官網(wǎng) https://github.com/Valve/fingerprintjs

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

責(zé)任編輯:藍(lán)雨淚 來(lái)源: TSRC
相關(guān)推薦

2014-07-30 09:41:38

2015-11-04 15:21:07

2015-10-22 23:03:59

2014-12-30 13:29:00

指紋識(shí)別生物識(shí)別身份驗(yàn)證

2013-09-11 14:57:15

2017-08-30 10:41:03

蘋(píng)果

2016-01-08 15:52:32

2019-11-23 15:45:38

Web指紋識(shí)別指紋

2025-03-11 07:30:19

2015-07-06 14:32:10

2021-08-26 20:05:22

人臉識(shí)別AI人工智能

2009-03-30 08:39:01

iphone蘋(píng)果移動(dòng)OS

2015-05-22 09:56:29

Android M谷歌

2022-02-13 00:31:54

人工智能腫瘤技術(shù)

2013-09-12 14:24:31

2013-09-24 10:48:32

Google追蹤技術(shù)Cookies

2013-09-25 17:02:50

追蹤技術(shù)CookiesGoogle

2013-06-05 13:37:00

Windows 8.1

2020-11-04 15:07:39

人臉識(shí)別指紋識(shí)別生物識(shí)別

2017-11-03 10:58:00

Firefox追蹤技術(shù)隱私保護(hù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日韩高清在线观看 | 一级一片在线观看 | 久久国产精品一区二区三区 | 国产高清视频一区二区 | 亚洲国产中文在线 | 国产精品日产欧美久久久久 | 中文字幕久久久 | 99精品网| 欧美精品一区二区在线观看 | 国产乱码精品一区二区三区五月婷 | 久久久久久久久久久丰满 | 久久久久久久久久久爱 | 中文字幕精品一区久久久久 | 成人免费黄视频 | 亚洲精品一区中文字幕乱码 | 欧美人妖网站 | 欧洲精品在线观看 | 新av在线 | 青草福利| 久久久www成人免费无遮挡大片 | 精品欧美乱码久久久久久 | 日韩在线一区二区三区 | www.操com| 国产精品色哟哟网站 | 国产成人午夜精品影院游乐网 | 黄色在线观看国产 | 999免费观看视频 | 黄色精品视频网站 | 成年女人免费v片 | 日韩一区中文字幕 | 日韩欧美一级精品久久 | 日日操视频| 欧美中文字幕一区二区三区亚洲 | 毛片网在线观看 | 操射视频| 欧美一级片在线观看 | 亚洲欧美另类在线观看 | 欧美一级高潮片免费的 | 精品91| 爱爱小视频 | 欧美成年人视频在线观看 |