最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

帆布指纹识别

IT圈 admin 40浏览 0评论

2023年12月14日发(作者:台依然)

帆布指纹识别

一般情况下,网站或者广告联盟都会非常想要一种技术方式可以在网络上精确定位到每一个个体,这样可以通过收集这些个体的数据,通过分析后更加精准的去推送广

告(精准化营销)或其他有针对性的一些活动。Cookie技术是非常受欢迎的一种。当用户访问一个网站时,网站可以在用户当前的浏览器Cookie中永久植入一个含有唯一标

示符(UUID)的信息,并通过这个信息将用户所有行为(浏览了哪些页面?搜索了哪些关键字?对什么感兴趣?点了哪些按钮?用了哪些功能?看了哪些商品?把哪些放入了购物车

等等)关联起来。

而随着网民对个人隐私的重视,Cookie越来越不受待见。不少安全工具甚至是浏览器都开始允许或引导用户关闭Cookie功能,比如很多主流浏览器都有一个“隐私模式

浏览”功能。这样以来,网站就很难追踪用户行为了。但仍然有一些方法可以让网站去追踪每一个访问者的行为,比如通过flash cookie的方式也可以达到唯一标识和追踪的

目的。

笔者近期注意到,国外媒体报道了一种非常难以摆脱的新型在线追踪工具被用来尾随从白宫官网到色情网站的热门网站的访问者。经过分析,这个就是另

一种比较新的访客追踪技术:“帆布指纹识别”技术,具体代码见附录6。这个技术的独特之处是:它不像通过Cookie或者Flash Cookie等之类的方式,你基本是无法屏蔽它

的。

【原理分析】

笔者收集整理了很多知名站点上的类似代码,详见附录4,从这些“帆布指纹识别”代码可以看出,均使用到了HTML5专属标签的一个现状:在绘制canvas图片时,同样

的canvas绘制代码,不同机器和浏览器绘制的图片特征是相同并且独一无二的,这样以来,提取最简单的md5值便可以唯一标识和跟踪这个用户。

一段产生canvas元素的javascript代码:

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

var canvas = Element('canvas');

var ctx = text('2d');

var txt = '/';

seline = "top";

= "14px 'Arial'";

seline = "tencent";

yle = "#f60";

ct(125,1,62,20);

yle = "#069";

xt(txt, 2, 15);

yle = "rgba(102, 204, 0, 0.7)";

xt(txt, 4, 17);

获取绘画的内容,需要使用到URL()方法,该方法返回的是图片内容的base64编码字符串。对于PNG文件格式,以块(chunk)划分,最后一块是一段32位

的CRC校验,提取这段CRC校验码便可以用于用户的唯一标识:

1.

2.

3.

4.

var b64 = URL().replace("data:image/png;base64,","");

var bin = atob(b64);

var crc = bin2hex((-16,-12));

(crc);

chrome隐身模式测试:

同一机器的chrome浏览器,无论正常模式还是隐身模式,得到的crc值始终一致。而对于不同机器得到的值是不同的,追踪效果显而易见。

看到这里,相信很多人想问,Why?为什么会出现这样的情况?同样的js代码,在不同设备的浏览器上,结果是唯一并且各不相同的。这到底是为什么?其实原因很简

单,同样的HTML5 Canvas元素绘制操作,在不同的操作系统不同的浏览器上,产生的图片内容其实是不完全相同的。出现这种情况可能是有几个原因:

1、在图片格式上,不同web浏览器使用了不同的图形处理引擎、不同的图片导出选项、不同的默认压缩级别等。

2、在像素级别来看,操作系统各自使用了不同的设置和算法来进行抗锯齿和子像素渲染操作。

因此,即使是相同的绘图操作,最终产生的图片数据在hash层面上依然是不同的。这个具体代码层面,恐怕要去搞懂各个主流浏览器的实现和以及操作系统的渲染。

笔者精力所限,短期很难给出。

【后话】

HTML5千变万化,利用canvas 这一特性来实现用户追踪,目前并没有好的对抗方案,未来也只能依靠广大浏览器厂商自行了断,实现canvas绘图机制的随机化或许可

以很好的保护用户隐私,防止被追踪。

文中涉及到的代码和技术细节,只限用于技术交流,切勿用于非法用途。另外,如果想要研究更多的用户追踪技术,推荐去研究下大名鼎鼎的专注于访客追踪的开源项

目:evercookie【附录5】,这个猥琐的小工具,通过几乎所有你想到和想不到的方式(Cookie、Flash、Silverlight、Web History、HTTP ETags、Web cache、

caching、userData storage、HTML5、甚至是java的漏洞等)来跟踪访问网站的用户行为。

【附录】

[4] 部分“帆布指纹鉴别代码”地址列表:

广告联盟或许网站运营者都希望能够精准定位并标识每一个个体,通过对用户行为的分析(浏览了哪些页面?搜索了哪些关键字?对什么感兴趣?点了哪些按钮?用了哪

些功能?看了哪些商品?把哪些放入了购物车等等),为用户推送更加精准的广告(精准化营销)。同时,通过对用户的标识,可以将不同站点的用户进行关联。

在过去,实现上述cookie是最受欢迎的一种。但由于移动互联网的发展,移动设备限制、用户禁用cookie。使得cookie愈来愈不受待见。伴随着html5的成熟,通过

canvas fingerprinting技术标识一个唯一的浏览器逐渐被接受。它的特点是不通过cookie,用户基本无法屏蔽它 。

其实现原理:

1 var canvas = Element('canvas');

2 var ctx = text('2d');

3 var txt = '/';

4 seline = "top";

5 = "14px 'Arial'";

6 seline = "tencent";

7 yle = "#f60";

8 ct(125,1,62,20);

9 yle = "#069";

10 xt(txt, 2, 15);

11 yle = "rgba(102, 204, 0, 0.7)";

12 xt(txt, 4, 17);

获取绘画的内容,需要使用到URL()方法,该方法返回的是图片内容的base64编码字符串。对于PNG文件格式,以块(chunk)划分,最后一块是一段32位

的CRC校验,提取这段CRC校验码便可以用于用户的唯一标识

1 var b64 = URL().replace("data:image/png;base64,","");

2 var bin = atob(b64);

3 var crc = bin2hex((-16,-12));

4 (crc);

它除了利用canvas以外,还加入了其它的影响因素,这些因素包括

1. 浏览器http请求中的用户代理-ent

2. 浏览器的语言(中文、英文……)-ge

3. 设备屏幕的色彩信息-epth

4. 设备屏幕的宽高-

5. 格林威治时间和本地时间之间的时差-Date().getTimezoneOffset()

6. 是否支持sessionStorage-nStorage

7. 是否支持localStorage-torage

8. 是否支持indexdDB-dDB

9. 是否支持-avior(IE5的一个属性)

10. 是否支持调用本地数据库-tabase

11. 浏览器所在系统的CPU等级-ss

12. 客户端的操作系统-rm

13. 是否支持Do not track功能-rack

14. 获取浏览器部分插件信息-flash plugin、Adobe PDF reader、QuickTime、real players、ShockWave player、Windows media player、Silverlight、

Skype

15. canvas指纹

表格 1

手机型号

SonyEricsson

LT15i

系统

Android

2.3.4

Android原生 or Safari

算法优化过

的fingerprint

3069863566

简单的示

例代码

390fde4f

uc浏览器

算法优化过

的fingerprint

1317560509

简单的示

例代码

9ce51412

qq浏览器

算法优化过

的fingerprint

2177181476

简单的示

例代码

3ea97fca

微信浏览器

算法优化过

的fingerprint

简单的示

例代码

备注

版本版本版本

v9.9.0.459v5.2

原生的刷

Sony X10i

Android

2.3.3

3113311216js出错26376310519ce51412v9.9.0.45921312347273ea97fcav5.22678610518js出错v5.3.1

新优化过

生成的id

不会变化

无sd卡无

摩托罗拉

MB526

Android

2.3.6

2364220961js出错---------

法安装浏

览器应用

程序

华为 u9508

Android

4.0.4

Android

4.0.3

Android

39055531917e41cc0f4273392099b699d48cv9.9.0.4598de4112v5.2.0.87e41cc0fv5.3.1

OPPO X9e41cc0f2089481481

2479004385

d07a1ee9

56d50248

v9.9.0.459

v9.8

323194345078de4112v5.28882697677e41cc0fv5.3.1

htc t528w319655688a6cb1bf9356698439244ae093v5.2.1.88a6cb1bf9v5.3.1 4.1.1

红米移动版

Android

4.2.1

23916897339c6ad73c

2307781626

1568290891

d07a1ee9

00000000

v9.9.0.459

v8.7.2

1950263795

3315869337

244ae093

c1e8ddab

v5.2.1.880

v4.2

44ae093v5.4beta

UCv8.7.2

不支持

canvas,

每次刷新

HUAWEI

A199

Android

4.1.2

7866134269c6ad73c

1118832592b699d48cv9.9.0.459198ae093v5.2

35145487819c6ad73cv5.3.1

优化后生

成的id会

变化,示

例代码生

成id一直

是8个0

HUAWEI P6-

T00

Android

4.2.2

Android

4.2.1

28909258159c6ad73c452391340b699d48cv9.9.0.4593877925850244ae093v5.23836773909

1096133187

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

8140f6e0

8140f6e0

fbf76091

v5.3.1

v5.3.0

v5.3.1

v4.5

v5.3.1

v5.3.1

v5.1

v5.3.1

v5.3.1

v5.2

魅族 M353

c6ad73c375d50f8v9.9.0.459375ae093v5.2

482295408

HTC 802w

Android

4.2.2

Android

4.2.2

Android

4.2.2

Android

4.2.1

Android

4.4.2

Android

4.3

Android

4.3

2182659327

26577612439c6ad73c

2206482289

3981610359c6ad73c197430937

dedbb2de

2bc8041a

d07a1ee9

v9.8.0.435

2352114048

v9.9.0.459

v9.8.9.4578601441049c6ad73cv5.0

244ae093v5.2

1328536463

172064929

2695087349

2036662041

红米 noet

三星 GT-

N7100

32294179359c6ad73c7558396639fb1a593v9.8.9.4571643973998b31ee991v5.2

854278007

Lenovo K99c6ad73c 3465119114

1887934795

三星 galaxy

s5

三星 GT-

I9505

498ab4749934522d2a60b1dv9.8.9.4572294751620cd456c4av5.2.1.880

3807187249v5.3.1

v5.3.1

1180998254f8f416c1898858301

1961962933

4228c48e

0482a2ac

4546f3bb

v9.9.0.459

灵动版

2205938319a3ee5a29v5.24256482719

三星 note3

39234668764f8f416c

4023807084v9.8.0.435

4a2acv5.0.2.71482a2acv5.3.1

原生浏览

2341248451

vivo x3t

Android

4.2.1

2341248451

da5b08ce

1512563799

da5b08ce

c36972cav9.9.0.459

367735v5.1.0.78da5b08cev5.2.1

器版本

v2.3.1

原生浏览

234835v5.2.1.88da5b08cev5.3.1

器版本

v2.3.3

vivo X1

Android

4.1.1

Android

4.2.2

Android

4.3

Android

4.0.4

752680764da5b08ce4192034694

4271101143

c36972ca

53288053

09ca4266

a0d15a90

0b27d3d8

d155acfa

56d50248

d07a1ee9

v9.9.0.459

v9.7.9439

434835v5.21912866602

3721105672

da5b08ce

759549f9

759549f9

91aedadb

v5.3.1

v4.5.1

v5.3.1

v5.3.1

三星 GT-

I9502

3824555000d457e86b

861119218v9.9.0.459

v9.9.0.459

v9.7.5.418

95818985231dbc3ddv5.0.0.650

442109150

LG nexus51aedadb2787277112

436079966

246265161291aedadbv5.2.1.88

三星 GT-

S7562

26149192940d5b2b4b

502410648

4051711183

v9.8.9.457

v9.6.0.378

35268090b437c248v5.2d5b2b4bv5.3.1

Huawei P1

U9200

Android

4.0.3

31774167122d694a48

3743446141v9.8.9.457

4124042100fa189661v4.5e41cc0fv5.3.1

Nokia X

Android

4.1.2

2591054263

35982025887ba05ba8765903625859aa2b8v9.9.0.4593420bfv5.2

1779200183

bee57099

bee57099

v5.0.3

v5.3.1

iphone 3GS

touch 4

iOS 6.0

iOS

6.0.1

iOS

7.1.2

2754182167

1326709631

9fcce736

9fcce736

2426993793

9fcce736

v9.7.1.450

4019179322

2614633304

9fcce736

9fcce736

v4.3

v4.5

3034320187

3107294191

9fcce736

9fcce736

v5.3.1

v5.3.1

iphone5s359503048452v9.8.0.451 2722128v5.3.1

ipad 2

iOS

7.0.4

iOS

7.0.6

iOS

7.1.1

iOS 8.0

备注说

1287537924v2.4.2.4803048452v4.2.1

iphone 4S28623808999fd0577f25580518489fd0577fv9.7.5.43836205242729fd0577fv5.2.9fd0577fv5.3.1

touch 5G

iphone 5c

2702325906

1300849469

9fd0577f

9fd0577f

3772802722

2561622031

9fd0577f

9fd0577f

v9.8.0.451

v9.8.0.451

2970288195

3288966699

9fd0577f

9fd0577f

v5.2.1

v5.2.1

495467843

3767977964

9fd0577f

9fd0577f

v5.3.1

v5.3.1

有特殊背景色的单元格说明有重复,同背景色同字体颜色的,是相同的数据

其测试结论

1.由于涉及设备以及浏览器的判定因素非常多,重复性很低,31台设备皆无重复

但是可以设想,毕竟是通过各种属性值去判断唯一性,理想情况下如果两台设备相同浏览器各种设置也相同,还是会出现重复

2.也正因为涉及的因素多,一旦设备系统更新 or 浏览器版本更新 or 浏览器关键插件有变化(版本更新 or 新增卸载关键插件) ,生成的ID都会改变,由于浏览器版本更新

还是比较频繁的,很容易失去之前跟踪的用户

结论:canvas指纹只能作为一参考属性去判断设备的唯一性,不能只用这一个因素来判定设备唯一性。也不能取代cookie,但是可以作为辅助,如果用户

清除了cookie的情况下,还可以通过跟踪到该用户重新set cookie(结论参考)

在一些场景下:

一般一个指纹跟踪不是永久的跟踪的概念,而是在一个战役内进行活动的跟踪,比如可以发布3个活动,3个活动分别是扫二维码打开一个网址,在另外一个网页内操作,

在第三个网页内进行别的操作,然后被采集后在后台通过指纹进行关联,得到本次战役的目标

中间可以通过搞一个抽奖,要用户输入手机号码验证后抽奖,来做一些连接。

知识是我们已知的也是我们未知的基于已有的知识之上我们去发现未知的由此,知识得到扩充我们获得的知识越多未知的知识就会更多因而,知识扩充永无止境

标签:

2023年12月14日发(作者:台依然)

帆布指纹识别

一般情况下,网站或者广告联盟都会非常想要一种技术方式可以在网络上精确定位到每一个个体,这样可以通过收集这些个体的数据,通过分析后更加精准的去推送广

告(精准化营销)或其他有针对性的一些活动。Cookie技术是非常受欢迎的一种。当用户访问一个网站时,网站可以在用户当前的浏览器Cookie中永久植入一个含有唯一标

示符(UUID)的信息,并通过这个信息将用户所有行为(浏览了哪些页面?搜索了哪些关键字?对什么感兴趣?点了哪些按钮?用了哪些功能?看了哪些商品?把哪些放入了购物车

等等)关联起来。

而随着网民对个人隐私的重视,Cookie越来越不受待见。不少安全工具甚至是浏览器都开始允许或引导用户关闭Cookie功能,比如很多主流浏览器都有一个“隐私模式

浏览”功能。这样以来,网站就很难追踪用户行为了。但仍然有一些方法可以让网站去追踪每一个访问者的行为,比如通过flash cookie的方式也可以达到唯一标识和追踪的

目的。

笔者近期注意到,国外媒体报道了一种非常难以摆脱的新型在线追踪工具被用来尾随从白宫官网到色情网站的热门网站的访问者。经过分析,这个就是另

一种比较新的访客追踪技术:“帆布指纹识别”技术,具体代码见附录6。这个技术的独特之处是:它不像通过Cookie或者Flash Cookie等之类的方式,你基本是无法屏蔽它

的。

【原理分析】

笔者收集整理了很多知名站点上的类似代码,详见附录4,从这些“帆布指纹识别”代码可以看出,均使用到了HTML5专属标签的一个现状:在绘制canvas图片时,同样

的canvas绘制代码,不同机器和浏览器绘制的图片特征是相同并且独一无二的,这样以来,提取最简单的md5值便可以唯一标识和跟踪这个用户。

一段产生canvas元素的javascript代码:

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

var canvas = Element('canvas');

var ctx = text('2d');

var txt = '/';

seline = "top";

= "14px 'Arial'";

seline = "tencent";

yle = "#f60";

ct(125,1,62,20);

yle = "#069";

xt(txt, 2, 15);

yle = "rgba(102, 204, 0, 0.7)";

xt(txt, 4, 17);

获取绘画的内容,需要使用到URL()方法,该方法返回的是图片内容的base64编码字符串。对于PNG文件格式,以块(chunk)划分,最后一块是一段32位

的CRC校验,提取这段CRC校验码便可以用于用户的唯一标识:

1.

2.

3.

4.

var b64 = URL().replace("data:image/png;base64,","");

var bin = atob(b64);

var crc = bin2hex((-16,-12));

(crc);

chrome隐身模式测试:

同一机器的chrome浏览器,无论正常模式还是隐身模式,得到的crc值始终一致。而对于不同机器得到的值是不同的,追踪效果显而易见。

看到这里,相信很多人想问,Why?为什么会出现这样的情况?同样的js代码,在不同设备的浏览器上,结果是唯一并且各不相同的。这到底是为什么?其实原因很简

单,同样的HTML5 Canvas元素绘制操作,在不同的操作系统不同的浏览器上,产生的图片内容其实是不完全相同的。出现这种情况可能是有几个原因:

1、在图片格式上,不同web浏览器使用了不同的图形处理引擎、不同的图片导出选项、不同的默认压缩级别等。

2、在像素级别来看,操作系统各自使用了不同的设置和算法来进行抗锯齿和子像素渲染操作。

因此,即使是相同的绘图操作,最终产生的图片数据在hash层面上依然是不同的。这个具体代码层面,恐怕要去搞懂各个主流浏览器的实现和以及操作系统的渲染。

笔者精力所限,短期很难给出。

【后话】

HTML5千变万化,利用canvas 这一特性来实现用户追踪,目前并没有好的对抗方案,未来也只能依靠广大浏览器厂商自行了断,实现canvas绘图机制的随机化或许可

以很好的保护用户隐私,防止被追踪。

文中涉及到的代码和技术细节,只限用于技术交流,切勿用于非法用途。另外,如果想要研究更多的用户追踪技术,推荐去研究下大名鼎鼎的专注于访客追踪的开源项

目:evercookie【附录5】,这个猥琐的小工具,通过几乎所有你想到和想不到的方式(Cookie、Flash、Silverlight、Web History、HTTP ETags、Web cache、

caching、userData storage、HTML5、甚至是java的漏洞等)来跟踪访问网站的用户行为。

【附录】

[4] 部分“帆布指纹鉴别代码”地址列表:

广告联盟或许网站运营者都希望能够精准定位并标识每一个个体,通过对用户行为的分析(浏览了哪些页面?搜索了哪些关键字?对什么感兴趣?点了哪些按钮?用了哪

些功能?看了哪些商品?把哪些放入了购物车等等),为用户推送更加精准的广告(精准化营销)。同时,通过对用户的标识,可以将不同站点的用户进行关联。

在过去,实现上述cookie是最受欢迎的一种。但由于移动互联网的发展,移动设备限制、用户禁用cookie。使得cookie愈来愈不受待见。伴随着html5的成熟,通过

canvas fingerprinting技术标识一个唯一的浏览器逐渐被接受。它的特点是不通过cookie,用户基本无法屏蔽它 。

其实现原理:

1 var canvas = Element('canvas');

2 var ctx = text('2d');

3 var txt = '/';

4 seline = "top";

5 = "14px 'Arial'";

6 seline = "tencent";

7 yle = "#f60";

8 ct(125,1,62,20);

9 yle = "#069";

10 xt(txt, 2, 15);

11 yle = "rgba(102, 204, 0, 0.7)";

12 xt(txt, 4, 17);

获取绘画的内容,需要使用到URL()方法,该方法返回的是图片内容的base64编码字符串。对于PNG文件格式,以块(chunk)划分,最后一块是一段32位

的CRC校验,提取这段CRC校验码便可以用于用户的唯一标识

1 var b64 = URL().replace("data:image/png;base64,","");

2 var bin = atob(b64);

3 var crc = bin2hex((-16,-12));

4 (crc);

它除了利用canvas以外,还加入了其它的影响因素,这些因素包括

1. 浏览器http请求中的用户代理-ent

2. 浏览器的语言(中文、英文……)-ge

3. 设备屏幕的色彩信息-epth

4. 设备屏幕的宽高-

5. 格林威治时间和本地时间之间的时差-Date().getTimezoneOffset()

6. 是否支持sessionStorage-nStorage

7. 是否支持localStorage-torage

8. 是否支持indexdDB-dDB

9. 是否支持-avior(IE5的一个属性)

10. 是否支持调用本地数据库-tabase

11. 浏览器所在系统的CPU等级-ss

12. 客户端的操作系统-rm

13. 是否支持Do not track功能-rack

14. 获取浏览器部分插件信息-flash plugin、Adobe PDF reader、QuickTime、real players、ShockWave player、Windows media player、Silverlight、

Skype

15. canvas指纹

表格 1

手机型号

SonyEricsson

LT15i

系统

Android

2.3.4

Android原生 or Safari

算法优化过

的fingerprint

3069863566

简单的示

例代码

390fde4f

uc浏览器

算法优化过

的fingerprint

1317560509

简单的示

例代码

9ce51412

qq浏览器

算法优化过

的fingerprint

2177181476

简单的示

例代码

3ea97fca

微信浏览器

算法优化过

的fingerprint

简单的示

例代码

备注

版本版本版本

v9.9.0.459v5.2

原生的刷

Sony X10i

Android

2.3.3

3113311216js出错26376310519ce51412v9.9.0.45921312347273ea97fcav5.22678610518js出错v5.3.1

新优化过

生成的id

不会变化

无sd卡无

摩托罗拉

MB526

Android

2.3.6

2364220961js出错---------

法安装浏

览器应用

程序

华为 u9508

Android

4.0.4

Android

4.0.3

Android

39055531917e41cc0f4273392099b699d48cv9.9.0.4598de4112v5.2.0.87e41cc0fv5.3.1

OPPO X9e41cc0f2089481481

2479004385

d07a1ee9

56d50248

v9.9.0.459

v9.8

323194345078de4112v5.28882697677e41cc0fv5.3.1

htc t528w319655688a6cb1bf9356698439244ae093v5.2.1.88a6cb1bf9v5.3.1 4.1.1

红米移动版

Android

4.2.1

23916897339c6ad73c

2307781626

1568290891

d07a1ee9

00000000

v9.9.0.459

v8.7.2

1950263795

3315869337

244ae093

c1e8ddab

v5.2.1.880

v4.2

44ae093v5.4beta

UCv8.7.2

不支持

canvas,

每次刷新

HUAWEI

A199

Android

4.1.2

7866134269c6ad73c

1118832592b699d48cv9.9.0.459198ae093v5.2

35145487819c6ad73cv5.3.1

优化后生

成的id会

变化,示

例代码生

成id一直

是8个0

HUAWEI P6-

T00

Android

4.2.2

Android

4.2.1

28909258159c6ad73c452391340b699d48cv9.9.0.4593877925850244ae093v5.23836773909

1096133187

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

9c6ad73c

8140f6e0

8140f6e0

fbf76091

v5.3.1

v5.3.0

v5.3.1

v4.5

v5.3.1

v5.3.1

v5.1

v5.3.1

v5.3.1

v5.2

魅族 M353

c6ad73c375d50f8v9.9.0.459375ae093v5.2

482295408

HTC 802w

Android

4.2.2

Android

4.2.2

Android

4.2.2

Android

4.2.1

Android

4.4.2

Android

4.3

Android

4.3

2182659327

26577612439c6ad73c

2206482289

3981610359c6ad73c197430937

dedbb2de

2bc8041a

d07a1ee9

v9.8.0.435

2352114048

v9.9.0.459

v9.8.9.4578601441049c6ad73cv5.0

244ae093v5.2

1328536463

172064929

2695087349

2036662041

红米 noet

三星 GT-

N7100

32294179359c6ad73c7558396639fb1a593v9.8.9.4571643973998b31ee991v5.2

854278007

Lenovo K99c6ad73c 3465119114

1887934795

三星 galaxy

s5

三星 GT-

I9505

498ab4749934522d2a60b1dv9.8.9.4572294751620cd456c4av5.2.1.880

3807187249v5.3.1

v5.3.1

1180998254f8f416c1898858301

1961962933

4228c48e

0482a2ac

4546f3bb

v9.9.0.459

灵动版

2205938319a3ee5a29v5.24256482719

三星 note3

39234668764f8f416c

4023807084v9.8.0.435

4a2acv5.0.2.71482a2acv5.3.1

原生浏览

2341248451

vivo x3t

Android

4.2.1

2341248451

da5b08ce

1512563799

da5b08ce

c36972cav9.9.0.459

367735v5.1.0.78da5b08cev5.2.1

器版本

v2.3.1

原生浏览

234835v5.2.1.88da5b08cev5.3.1

器版本

v2.3.3

vivo X1

Android

4.1.1

Android

4.2.2

Android

4.3

Android

4.0.4

752680764da5b08ce4192034694

4271101143

c36972ca

53288053

09ca4266

a0d15a90

0b27d3d8

d155acfa

56d50248

d07a1ee9

v9.9.0.459

v9.7.9439

434835v5.21912866602

3721105672

da5b08ce

759549f9

759549f9

91aedadb

v5.3.1

v4.5.1

v5.3.1

v5.3.1

三星 GT-

I9502

3824555000d457e86b

861119218v9.9.0.459

v9.9.0.459

v9.7.5.418

95818985231dbc3ddv5.0.0.650

442109150

LG nexus51aedadb2787277112

436079966

246265161291aedadbv5.2.1.88

三星 GT-

S7562

26149192940d5b2b4b

502410648

4051711183

v9.8.9.457

v9.6.0.378

35268090b437c248v5.2d5b2b4bv5.3.1

Huawei P1

U9200

Android

4.0.3

31774167122d694a48

3743446141v9.8.9.457

4124042100fa189661v4.5e41cc0fv5.3.1

Nokia X

Android

4.1.2

2591054263

35982025887ba05ba8765903625859aa2b8v9.9.0.4593420bfv5.2

1779200183

bee57099

bee57099

v5.0.3

v5.3.1

iphone 3GS

touch 4

iOS 6.0

iOS

6.0.1

iOS

7.1.2

2754182167

1326709631

9fcce736

9fcce736

2426993793

9fcce736

v9.7.1.450

4019179322

2614633304

9fcce736

9fcce736

v4.3

v4.5

3034320187

3107294191

9fcce736

9fcce736

v5.3.1

v5.3.1

iphone5s359503048452v9.8.0.451 2722128v5.3.1

ipad 2

iOS

7.0.4

iOS

7.0.6

iOS

7.1.1

iOS 8.0

备注说

1287537924v2.4.2.4803048452v4.2.1

iphone 4S28623808999fd0577f25580518489fd0577fv9.7.5.43836205242729fd0577fv5.2.9fd0577fv5.3.1

touch 5G

iphone 5c

2702325906

1300849469

9fd0577f

9fd0577f

3772802722

2561622031

9fd0577f

9fd0577f

v9.8.0.451

v9.8.0.451

2970288195

3288966699

9fd0577f

9fd0577f

v5.2.1

v5.2.1

495467843

3767977964

9fd0577f

9fd0577f

v5.3.1

v5.3.1

有特殊背景色的单元格说明有重复,同背景色同字体颜色的,是相同的数据

其测试结论

1.由于涉及设备以及浏览器的判定因素非常多,重复性很低,31台设备皆无重复

但是可以设想,毕竟是通过各种属性值去判断唯一性,理想情况下如果两台设备相同浏览器各种设置也相同,还是会出现重复

2.也正因为涉及的因素多,一旦设备系统更新 or 浏览器版本更新 or 浏览器关键插件有变化(版本更新 or 新增卸载关键插件) ,生成的ID都会改变,由于浏览器版本更新

还是比较频繁的,很容易失去之前跟踪的用户

结论:canvas指纹只能作为一参考属性去判断设备的唯一性,不能只用这一个因素来判定设备唯一性。也不能取代cookie,但是可以作为辅助,如果用户

清除了cookie的情况下,还可以通过跟踪到该用户重新set cookie(结论参考)

在一些场景下:

一般一个指纹跟踪不是永久的跟踪的概念,而是在一个战役内进行活动的跟踪,比如可以发布3个活动,3个活动分别是扫二维码打开一个网址,在另外一个网页内操作,

在第三个网页内进行别的操作,然后被采集后在后台通过指纹进行关联,得到本次战役的目标

中间可以通过搞一个抽奖,要用户输入手机号码验证后抽奖,来做一些连接。

知识是我们已知的也是我们未知的基于已有的知识之上我们去发现未知的由此,知识得到扩充我们获得的知识越多未知的知识就会更多因而,知识扩充永无止境

标签:

发布评论

评论列表 (0)

  1. 暂无评论