大部分危险都来自于身份的不确定性。
比方咱们熟知的网络钓鱼、薅羊毛、账号窃取、注册登录等带来的盗用和欺诈都是其身份不确定性造成的间接结果。那么,如何保障你的身份确定且黑灰产不会轻易盗取或者模拟呢?
设施指纹便是一个不错的抉择。此前顶象在《从 Cookie 到设施 ID,从算法到云 + 端!全面盘点设施指纹技术的五代倒退》一文中具体介绍过设施指纹技术的迭代,感兴趣的敌人能够回顾下。从设施指纹的概念可知,设施指纹是指通过用户上网设施的硬件、网络、环境等特色信息生成设施的惟一标识,而掂量设施指纹优劣的最重要指标便是唯一性和稳定性。
本文就从设施指纹的稳定性和唯一性说起。
要保障设施指纹的稳定性唯一性并不简略
设施指纹作为标识手机或者浏览器的惟一 ID,首先要做的是对用户的设施进行数据采集,但数据采集对于设施指纹技术而言并不是很容易。
首先是法律层面对于用户个人信息数据的爱护权限回升。近年来出台的对个人信息数据的爱护条款对于数据采集的权限始终在继续收紧,具备设施惟一标识作用的特色可采集率越来越少,肯定水平上加大了设施指纹技术的难度。以前采集设施指纹惟一标识的办法可应用 MAC 地址(以太网物理地址)、IMEI(挪动设施识别码)、IDFA(广告标识符)等相似标识即可惟一标识一个设施。
随着零碎的不断更新迭代,加之与黑灰产的反抗逐步白热化,各种舞弊伎俩和工具的呈现,设施上的各种参数都能够被篡改和伪造,通过一键抹机,变成一台新的设施,这就影响了对设施惟一标识的成果。此时就须要设施指纹技术采集更多的信息来保障设施指纹的唯一性和稳定性。以 iOS 零碎为例,iOS 14 当前 IDFA 采集须要用户受权才能够,Serial、IMEI 等都存在相似状况。这种变动对设施指纹的计算带来了影响,生成一个稳固且惟一的标识会越来越简单。
其次是异样数据增多。不同的手机型号和操作系统版本会导致采集到的数据有不同的个性。尤其是安卓,品牌多,操作系统版本多,各类 ROM 多,数据的可采集性不对立。
以 IMEI 为例,以下是理论采集到的一些异样数据。
000000000000000
88888888888888
666666666666667
111111111111119
A000005EAAACCC
868686868686863
444646464643346
100000000150705
010000000053015
A0000060A60A0B
A0000070000AAB
同样异样的 MAC 地址。
00:00:00:00:00:0a
02:00:00:00:00:00
00:00:00:00:00:01
00:00:00:00:00:10
6a:aa:6a:aa:6a:6a
00:02:00:00:00:00
00:00:00:80:00:00
10:00:00:00:00:12
f2:0f:f0:02:f0:22
32:12:31:23:32:32
66:00:44:40:06:66
c0:00:00:00:00:d0
00:00:00:00:00:12
04:00:00:50:54:04
这些异样数据或来自被篡改的设施,或是异样的 ROM,或者是非凡的机型设施,其余诸如 android_id、Seria 也都会存在这种状况。如果不思考解决这些异样数据,指纹的成果必定会受到影响。所以采集哪些数据用于指纹计算,数据有哪些异常情况,须要有大数据撑持能力制订正当的算法。
并且,指纹计算算法并不是变化无穷的,新版本操作系统公布,新型号手机,这些随时都有可能导致数据采集出现异常,这须要设施指纹具备持续性的对异样数据的监测能力。最初是黑灰产的舞弊伎俩影响。设施指纹在风控畛域是反抗黑灰产的一个根底工具,所以黑灰产必然会想尽办法来绕过指纹的追踪和检测。常见的形式是通过各种工具来批改设施指纹使设施指纹产生扭转,即人工篡改。
设施信息的篡改除了可能会影响指纹计算,还有可能会造成指纹数据净化。大量篡改后的谬误数据如果和失常用户的设施产生关联,会导致失常用户的数据受到不可控的影响,而且这种数据想从零碎中剔除洁净是比拟艰难的。
基于特色信息精准匹配保障设施指纹稳定性
那么,这就要求设施指纹做出扭转,顶象的做法是通过云 + 端模式,补足信息采集短板,显著加强设施攻防反抗的时效性和安全性,综合各行业的攻防教训和危险数据积淀,当新的攻击方式和特色呈现时,设施指纹可能更快的感知应答和精确辨认。具体到设施指纹的稳定性和唯一性上,如何应答呢?
咱们先来看稳定性。稳定性计算逻辑是通过采集到的数据,构建多维度的设施画像,每次设施从新上报数据后,通过算法匹配到最相近的设施,如果找到则应用找到的设施指纹,反之则生成新的设施指纹。而之所以要强调设施指纹的稳定性,是因为很多操作会导致设施的特色信息发生变化比方 App 卸载重装、权限变更、重置广告标识符、机器重启、系统升级、批改设施参数、复原出厂设置等等。
想要在以上这些状况下计算出一个稳固的设施惟一标识,当然不可能只依赖一两个设施参数,须要更全面的设施信息来构建一个设施画像。而要保障设施指纹的高稳定性,则须要采集多维度数据,进行区分度、稳定性、变动周期等方面的全方位剖析,对特色个性的精确剖析帮忙算法更正当的利用特色。以 CPU,存储,内存等特色为例,其具备十分好的稳定性,但区分度十分差。所以这类特色不适宜独自应用,须要和其余特色联合在一起造成互补。
这就须要咱们进一步察看其特色稳固周期(特色放弃不变的周期大小)和特色稳固变动的难度(扭转特色的难易水平),基于特色的不同个性来决定如何应用特色,选取一个特色时,其至多要在某个指标上有显著劣势。
综上,不难看出,要保障设施指纹的稳定性须要基于不同特色的不同个性,为设施构建多个设施画像(短期和长期),首先要通过相似性搜索算法先定位出一批类似设施,再用精准匹配算法精确匹配。
其根本算法(SimHash)过程如下:
1、从采集设施信息中选取局部作为特色池;
2、依据采集信息的区分度、稳定性、变动难度等,对特色相应解决后进行 hash 编码,比方将多个区分度弱的特色拼接后再进行 hash 编码,失去编码向量 C;
3、依据特色的个性,设定编码向量 C 的权重 W,(留神:权重 W 可基于大数据学习失去,亦可依据专家教训设定,不同操作系统版本的设施,权重 W 能够不一样);
4、将编码向量 C 与对应的权重 W 相乘,失去特征向量 C’;
5、将所有特征向量 C’相加失去一个特征向量,二值化(大于 0 的值变为 1,小于 0 的值变为 0)后失去最初的索引 D;
6、将索引 D 与服务器中的其余设施索引进行类似度计算,(计算海明间隔—在信息编码中,两个非法代码对应位上编码不同的位数称为码距,又称海明间隔。两个码字对应比特取值不同的比特数称为两个码字的海明间隔。
例如 10101 和 00110 从第一位开始顺次有第一位、第四、第五位不同,则海明间隔为 3)返回类似度在阈值以内的设施信息作为候选池,进行进一步的精准匹配。
须要留神的是,设施指纹稳定性的成果依赖于是否选取了充沛且适合的特色、是否对每个特色的个性有正确的了解、是否采纳了合乎数据获取现状的适合匹配算法。
算法更新 + 碰撞检测 = 设施指纹唯一性“法宝”
再来看下唯一性。唯一性是设施指纹十分要害的一个指标。设施指纹作为一项根底服务,是泛滥数据服务的外围因素,比方用户罕用设施、风控中依赖设施的策略、广告惟一标识等。如果指纹唯一性计算呈现偏差,即碰撞,可能会引起重大的误判。
比方碰撞后,可能会判断出设施呈现在生疏地区,关联生疏账号,导致误处罚;如果呈现大面积碰撞,会导致风控拦挡少量失常用户。碰撞会间接导致指纹可信度降落,使得线上业务不敢再依赖基于指纹的判断。
所以一个好的设施指纹,唯一性上肯定不能有大的偏差。而导致碰撞的起因则可能因为某些应该具备唯一性的重要设施特色呈现不惟一,亦或是特征选择不当,多个特色组合后唯一性标识不够,当然也可能是匹配算法问题。因而,在保障设施指纹的唯一性层面,不仅须要具备实时动静更新的算法匹配,更要重视碰撞检测。
首先,就算法更新而言,日常的异样数据的检测仅靠利用是不够的,须要离线仓库定期剖析以后的数据,对呈现的异样特色能够及时发现并提取进去,而后反馈给线上进行算法优化。
就碰撞检测能力而言,顶象也是取得了专利认证。顶象设施指纹的碰撞检测能力,可防止异样数据进入影响指纹数据。采纳设施的 uuid 不可逆原理来检测碰撞。对于同一台设施,屡次采集数据进行计算,uuid 在这期间可能会发生变化,变动当前则不可能变回以前的 uuid,如果一台设施在某次计算后呈现历史 uuid,则表明本次计算不可信,呈现了设施碰撞状况。
其基本原理是:
1、设施首次应用 App,采集设施数据上报时,指纹服务器下发一个凭据,缓存在客户端,首次下发的凭据称为凭据 X1;
2、设施再次应用 App,采集设施数据上报时,先查看是否有缓存客户端在的凭据 X1;若有,则携带上凭据 X1;若没有,则认为是因为清理缓存导致凭据 X1 被删除,指纹服务器下发凭据 X2,凭据 X2 与凭据 X1 不雷同;
3、在生成凭据 X2 当前,采集设施数据上报时再次出现凭据 X1,则判断设施指纹呈现了碰撞;
4、在屡次清理缓存的状况下,还包含按呈现程序顺次排列的凭据 X3、凭据 X4…凭据 XN, 只有检测到凭据 XN 之后呈现过此前曾呈现的凭据 X1 至凭据 X(N-1) 中的任一个,则判断设施指纹呈现了碰撞;
当然,设施的碰撞检测也有其余形式能够实现,但不适宜沿用指纹自身的计算思路了,因为碰撞时利用曾经‘犯错’了,所以下面介绍的以一个‘旁路’的形式来检测会更适宜。此外,顶象设施指纹的计算流程涵盖了数据解析,特色选取,算法匹配,碰撞检测等。
同时,针对私有化用户,顶象提供进攻云服务,将云服务设施指纹收集到的最新计算算法同步到进攻云平台,私有化指纹能够放弃和云服务同步更新。
整体来看,设施指纹在唯一性和稳定性层面,不仅做到了避免采集逻辑被破解或数据伪造,从数据采集源头上保障真实性和准确性,并且针对黑灰产对设施参数进行篡改伪造(篡改 IMEI、MAC 地址、AndroidId、SIM 卡信息、机型、品牌等),或是禁用、革除缓存和 cookie 等危险,可能保障设施指纹放弃不变,稳定性放弃在 99% 以上,为每一台设施生成的设施指纹 ID 寰球惟一,不可被篡改,唯一性上放弃在 100%,响应工夫小于 0.1 秒、解体率小于 1 /10000。
同时,设施指纹作为顶象进攻云的一部分,集成了业务平安情报、云策略和数据模型,通过对上网软硬件生成惟一指纹信息,反对安卓、iOS、H5、小程序,可无效侦测模拟器、刷机改机、ROOT 越狱、劫持注入等危险。