“对 Tiktok 应用和网站流量的分析发现,它会将用户数据发送给 Appsflyer 和 Facebook,会利用设备指纹跟踪用户。Tiktok 短地址被发现包含了安装 ID,可用于识别谁分享了视频。它甚至还能跟踪谁观看了视频。它使用的跟踪技术包括了 Canvas Fingerprinting,在后台使用矢量图形命令绘制图形,保护图像到一个栅格化 PNG 文件,根据硬件和浏览器该数据在不同设备之间具有唯一性;它还使用音频指纹识别观看者,内部生成音频然后记录比特流,这一数据在设备之间也具有唯一可识别性。北京字节跳动称指纹被用于识别恶意浏览器行为,但研究者对此表示质疑。”
在某电报频道里看到了说 Tiktok 是利用以上技术追踪用户的,但自己太小白了,看了半天依然没看明白,不知道能否请万能的 V 友们把其中的技术说的明白一点? canvas fingerprinting 是不是 html5 里的新特性? 什么是棚格化 PNG ?为什么具有唯一性? 用音频指纹识别观看者又是什么操作?
1
sdalkesioe 2019-12-08 20:50:35 +08:00
浏览器硬件指纹吧?
|
2
Buges 2019-12-08 20:59:22 +08:00 via Android
canvas 说白了就是画图,用 js 代码画一张特定的图,同一套代码在不同的设备上画出来的有细微差别,同一个设备很难变化。通过这个差别(一般是 hash )来锁定追踪用户。
音频指纹类似,从生成图像变成生成音频。 |
3
Kagari 2019-12-08 21:16:02 +08:00
第一个问题也挺麻烦的,短地址自动跳转根本不可能去掉里面的跟踪代码。接下来就等大佬写个第三方的短地址扩展服务了,当大量的特征集中到一块这些特性就失去了意义
|
4
robertding 2019-12-08 21:19:52 +08:00
三方检测链接嘛,广告界标准操作
|
5
tyhunter 2019-12-08 21:28:33 +08:00
广告投放汪表示第一步其实就是很简单的 deeplink,相当于一套推广系统,之前在游戏上用过,后台 BI 上能看到导数数据
|
6
whywhywhy 2019-12-08 21:34:08 +08:00 via Android
@Buges 像品牌机的台式机笔记本都是自带的系统和软件(或者大家的软件差不多),是什么原因让渲染有差异呢。。
|
7
est 2019-12-08 21:52:19 +08:00 1
其实我觉得 body unload 之后 disableJavascript, disableNetwork。
|
9
des 2019-12-08 21:59:47 +08:00 via Android
标题看成了 tiktok 偷录用户说话
|
10
westoy 2019-12-08 22:01:02 +08:00
@lhx2008 gayhub 上搜 fingerprint js,一大把, 很成熟很悠久了。 最早听说几个大厂玩设备指纹的时候, 亚马逊还在玩弄 flash cooke 呢......
|
11
yankebupt 2019-12-08 22:19:47 +08:00
@westoy fingerprint 能玩几天算几天吧...等玩到谷歌弄明白这些 ad 模仿者把自己声誉都搞坏了的时候...
允许哪个设备管理器 app 弄个什么第一方脚本要先过用户黑名单,第三方脚本要在白名单之类的... 就都没得玩了 |
12
yankebupt 2019-12-08 22:21:18 +08:00
然后还能玩啥?订阅制?我是真不知道……
|
13
Buges 2019-12-08 23:05:47 +08:00 via Android
@whywhywhy 当然差不多,但不会完全相同,当然也有一定碰撞概率。显卡,分辨率,软件设置,版本等等都有所影响,可能你改个设置就变了,但一般情况很少变化再配合 IP 地址追踪用户是完全足够的。
|
15
id7368 2019-12-08 23:37:36 +08:00 1
这就是为什么要使用 Firefox,火狐从去年开始就在拦截指纹识别了,现在 Microsoft Edge 和 Apple Safari 也在跟进。但市占率最大的 Chrome 已经明确表示不会学 FF 那种做法。
|
16
CoderGeek 2019-12-09 00:08:37 +08:00
看下设备指纹 等 我 git 上有个简单的 fingerprint 当然 ad 有更高深的玩法 不过都在大厂商那里
|
17
shansing 2019-12-09 00:26:34 +08:00
2 楼说得很清楚了。我再给楼主理一下。canvas (而不是 canvas fingerprinting )是 HTML5 新特性,有人发现可以用来追踪访客,于是有了 canvas fingerprinting 概念; canvas 用于或简单或复杂的图形绘制,并不是设计为追踪指纹的。“栅格化”是指将矢量图转换为位图; canvas 是由代码(方程)绘制图形的,在特定分辨率下将一个个像素记录起来,可以保存为位图,也就是 PNG 一类的格式。
|
18
idhrwb01296 2019-12-09 00:36:14 +08:00
|
19
musicx 2019-12-09 00:51:53 +08:00
看一下 cent browser 设置页里面不推荐拦截的那些东西,都是用来跟踪用户行为的。
|
21
imn1 2019-12-09 03:02:07 +08:00 1
首先你没有明白“浏览器指纹”是怎样的
以前的浏览器,提交的信息很少,很多人都用,环境参数差别不大,重复数据很多,几乎分不出谁是谁 但现代的浏览器,有很多功能,也会提交很多这些功能的反馈,把他们组合起来,就可以确定某个人或浏览器 简单一个例子,在某个地区(假设 10 平方公里)内,很难找到两个人的浏览器装相同的扩展(完全不装扩展或仅有一两个扩展的不在此例),并且所有扩展的参数都相同,如果有读取所有扩展列表这个功能,基本上在某个时间段内,就能分出每个浏览器 这个例子,ip 范围、扩展列表、时间范围三个字段,可以构成唯一值,和数据库里面的多字段主键一样(假如你知道数据库的话),任一都可能变化或相同 /重复,但共同就唯一了 例如我 firefox 没有 flash、静音、禁止视频自动播放、一个扩展叫做 floccus,这四条加起来我猜 10 平方公里内都较难找到第二个 题外,假如你的手机 APP 比较固定,不会经常安装卸载的话,建议没必要的话不要开放读取应用列表这个权限 如上所述,canvas 只是其中一种“字段”而已,但它也可以单独成为主键 浏览器指纹其实比较难避免,某些站你封杀的话还可能造成访问困难,例如知乎 一般人可以对付的,可以做的工作,应该是多清除 cookies,不要让 cookies 里面的数据构成一个完整的 timeline 当然,只是对开放网站而言,要登陆的网站,没什么可防的 如果可能,把开放网站和登陆网站分开浏览,这个也很难做到,不过,可以了解一下 firefox 的 container,这个是目前所有浏览器,在这方面做得最好的功能了 |
22
imn1 2019-12-09 03:10:03 +08:00 1
有些指纹应用场合是正常的,例如网盘(指下载时,泛指,不是针对某一家),因为网盘提供方要防止爬虫和滥用,可以理解,但它有没有“顺便”收集数据,那就天知道了
|
23
Mithril 2019-12-09 07:22:51 +08:00 1
声音那个是直接在后台调用录音和回放 API,但是并不直接访问录音和回放设备。就是直接录一段空白的音频。因为没有申请调用录音设备,并不会触发浏览器的权限警告。
但是那个 API 据说是直接走硬件的,每个 DSP 录出来的噪声都会有细微的差别。 一般来说这些指纹技术都是拿来防爬虫的。字节跳动有没有用来追踪个体用户就不知道了。 |
24
fordoo 2019-12-09 09:55:43 +08:00
正好从事相关行业,主要作用就是判断是否为同一用户,收集信息为用户做画像,最后提供定制化广告;收集信息主要是下列信息
1. 安卓主要通过 Google Advertising ID(有 google play 的用户)、Android_ID 追踪用户 2. IOS 通过 IDFA,IDFV 追踪用户; 3. 设备机型、语言、系统、网络、用户产生行为等信息也会辅助追踪用户。 通过 Appsflyer 是第三方归因(跨应用安装、以及应用内变现等)平台,很多平台都需要向 Appsflyer 传递必要的参数以辅助归因; 用户信息回传给 Facebook 主要是让 Facebook 做用户画像 |
25
argomarz 2019-12-09 10:16:01 +08:00
字节竟然跟小厂一样依赖 appsflyer 和 fb 第三方做广告投放
|
26
cyspy 2019-12-09 10:44:34 +08:00
各种唯一 id 而已
|