支付风控:设备指纹的特征加工与应用
背景
设备指纹是风控体系中识别设备身份的核心技术。传统指纹依赖 Canvas、WebGL、User-Agent 等浏览器特征,容易被伪造或屏蔽。ESORICS 2022 提出的 CPU 指纹技术,通过硬件级特征识别 CPU 代际,显著提升了指纹的稳定性和抗伪造能力。
CPU 指纹技术原理
传统端口竞争技术依赖超线程(SMT),关闭即失效。新技术的核心突破是:单线程单核即可实现,不受 SMT 影响。
不同 CPU 代际的指令执行端口分配不同。同一线程内,指令分组或交替执行的时间比值在不同 CPU 上有明显差异。通过 WebAssembly 测量这个比值,再用 k-NN 模型分类,可以直接判定 CPU 代际。
关键特性:
- 无需权限,用户打开网页即可采集
- 12 秒内达到 95% 准确率
- 兼容主流浏览器,隐私浏览器无法防御
- 硬件级特征,浏览器更新、换 IP、伪装都无法改变
Canvas 指纹的定位
Canvas 是浏览器里一块隐形的画板,网站可以用代码在上面画图,再转成唯一编码。每台电脑画出来的细节都不一样——字体渲染、显卡差异、系统设置都会影响结果。肉眼看不出区别,但代码对比后完全不同。
Canvas 指纹的问题在于容易被干扰:浏览器插件可以随机噪声,隐私模式会屏蔽,虚拟机环境不稳定。因此它更适合作为辅助特征,而非核心锚点。
WebGL 指纹的定位
WebGL 是浏览器里用来调用显卡(GPU)画图的技术。网页上的 3D 游戏、炫酷动画、高清渲染都靠它。
在设备指纹中,WebGL 的作用与 Canvas 类似,但更底层、更「硬」。网站在后台让显卡画一个东西——比如 3D 小立方体或带光影的线条——不同显卡、不同驱动、不同型号画出来的细节都不一样。肉眼看不出,但代码对比后差别巨大。
WebGL 比 Canvas 更难改、更稳定,更适合风控识别设备。它和 Canvas、User-Agent、CPU 指纹形成一套完整逻辑:拿硬件特征生成设备 ID,识别是不是同一台机器。
User-Agent 的作用
User-Agent 是浏览器发给网站的自我介绍,包含设备、系统版本、浏览器类型等信息。它本身不是唯一 ID,但有两个核心用途:
一是与其他指纹特征做一致性校验。User-Agent 说是 iPhone,但分辨率是桌面 1920×1080,说明设备在伪装;User-Agent 说是 Safari,但字体列表是 Windows 字体,说明在伪造。
二是做设备聚类。同一个 User-Agent 一天出现 100 次,还带着不同手机号、不同 IP,大概率是群控或模拟器。
设备指纹的加工方法
第一步:拼接生成设备 ID
把多个特征拼在一起做哈希,得到一个设备唯一 ID。同一台设备指纹基本一样,换设备、重装系统、换浏览器会变。可以统计这个设备今天来了几次、注册了几个账号、之前有没有欺诈记录。
第二步:一致性校验
两两特征之间是否矛盾。设备说是手机,但分辨率是桌面;UA 是 Chrome,但插件列表很奇怪;Canvas 稳定,但 CPU 指纹经常变——这些矛盾点指向模拟器或虚拟机。
第三步:聚类识别团伙
统计相同指纹出现的频次。出现 1 次是正常用户,出现 10 次有点可疑,出现 100 次直接打标黑产集群。高度雷同的设备群,99% 是群控设备、模拟器或黑产工作室。
第四步:与行为绑定
指纹本身不能定罪,行为才能。同一指纹一天内登录 5 个不同手机号,风险;同一指纹 3 个账号发生拒付,欺诈高风险;新账号加陌生指纹加大额首单,加强校验;老用户加常用指纹加正常复购,低风险直接过。
设备可信度评分
把所有指纹特征喂进模型,输出一个设备可信度分数:
- 指纹稳定、不矛盾、历史行为好:高分
- 指纹经常变、特征矛盾、历史有拒付:低分
根据分数分层:高分直接放行,中分观察,低分拦截或触发强验证。
应用价值
设备指纹的核心作用是给设备打标签、做聚类、做关联,辅助判断这个设备是否异常、是否黑产、是否多人共用、是否模拟器。
- 风控反爬:超强稳定设备锚点,极难伪造,可检测虚拟机和沙箱
- 反欺诈:长期锁定同一台设备,比 Canvas、User-Agent 靠谱
- 隐私安全:现有防御手段代价高,几乎无法彻底防御
参考
- Rokicki, T., Maurice, C., & Schwarz, M. (2022). CPU Port Contention Without SMT. 27th European Symposium on Research in Computer Security (ESORICS 2022). https://doi.org/10.1007/978-3-031-17143-7_11