从Cookie到设备ID,从算法到云+端!盘点设备指纹技术的五代发展
记录追踪是数字平台为用户提供服务的关键因素。无论是PC互联网时代,还是移动互联网,乃至汹汹作势的元宇宙,平台需要不同的技术工具以便于辨别真伪、跟踪操作、了解用户、保障安全。尤其辨别真伪是有效服务的前提和基础,基于真实的数据才能做好有价值的服务。
设备指纹的诞生伴随信息化普及发展
在PC互联网时代,人们主要是通过PC上的浏览器访问网站,互联网企业通过Cookie以及IP地址用于识别用户设备。Cookie技术出现在20世纪90年代,能够记录跟踪用户访问记录、次数、电脑信息甚至账户等信息,成为网络广告服务商识别用户身份的重要凭证,被广泛应用于Web领域的设备的识别与标识。
由于Cookie采用一种用户数据本地存储的实现方式,恶意用户可以通过清除本地数据的方式来轻易地逃避检测,其应用范围受到很大的限制。同时,由于对用户隐私保护的日益关注,主流浏览器厂商已经限制并逐步摒弃cookie技术的使用。
移动互联网时代,用户上网的设备多元化、连接互联网的渠道多样化、接入服务的地点任意化,人们的操作行为个性化,更加难以识别与跟踪用户。同时,互联网及各类技术让身份伪造愈加简单,身份伪造的手段愈加复杂。Cookie技术识别用户已经越来越不能适应当前的网络环境。
在无法快速识别操作用户的情况下,从设备着手,识别可疑上网设备,及时对高风险的设备及相关操作做出反应,即可控制风险降低损失。设备指纹能够来区分操作者的真伪,是有价值的用户还是恶意欺诈行为。能够同时采集设备、网络、操作行为、地址、用户习惯等信息的设备指纹成为当前新的且更加有效的设备识别与追踪技术。
设备指纹技术发展的五个阶段
第一阶段,基于IP地址和Cookie。基于IP地址采集,形成用于一些业务上的埋点跟踪。作为最早出现的设备标识方案,简单易用,IP地址直到现在仍然是采集指标之一。
随着局域网、移动网络中的动态 IP 分配技术,使得 IP 地址作为设备标识的分辨率和准确度大为下降;此外,本地存储的实现,用户可以通过清除本地数据的方式来轻易的逃避检测,所以其应用范围受到很大的限制,再有对用户隐私保护的日益关注,主流浏览器厂商已经限制并逐步摒弃Cookie 技术的使用。
第二阶段,基于设备信息的客观呈现。通过设备的基础硬件、网络、运行环境等特征信息,包括 iOS 设备的IDFA(广告标识符)、IDFV(供应商标识符);Android设备的 IMEI(移动设备识别码)、MAC(以太网物理地址) 等。
随着各种作弊手段和工具的出现,设备上的各种参数都可以被篡改和伪造,通过一键抹机,变成一台新的设备,这就影响了对设备唯一标识的效果。
第三阶段,引入算法。通过前端采集用户上网的设备硬件、网络、运行环境等特征信息,后台利用采集的多个维度数据,通过算法为设备生成唯一的ID。
随着移动互联网的普及,用户使用设备越来越多、使用平台越来越多,这就对跨平台下用户设备指纹的唯一性提出要求。
第四阶段,跨平台和唯一性。在第三阶段的基础上,实现 H5、小程序、APP 设备指纹的统一的设备指纹 ID。该阶段的设备指纹需要对各种作弊工具有一定的对抗性,以保证指纹的唯一性、稳定性和安全性。
该阶段下出现了很多新现象。
第一,各行各业都在推进业务线上化,利益诱惑比较大,同黑灰产攻防对抗比较激烈,持续时间比较久。
第二,随着各手机厂商对权限的收紧和隐私政策的出台,可采集的信息逐步受限,像IMEI、MAC、IDFA就存在采集率的问题,当应用的安装量达到一定数量后,会发现采集率不到80%,而且采集到的数据质量也存在各种问题,比如会出现这样的MAC地址:“00:00:00:00:00:00”、“00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00”、“ff:ff:ff:ff:ff:ff”,所以在保证指纹稳定性上需要持续投入时间和精力去研究。
第三,市场有专门做设备指纹的安全厂商,专注在设备指纹这个基础组件上,进行长期的投入研究和产品化。
第四,各种新概念频出,大量从业者追求概念,进行尝试和探索,但实际技术上没有带来真正的突破。
第五阶段,云端联动与数据沉淀。该阶段通过云+端模式,除了信息采集更详细外,更显著增强设备攻防对抗的时效性和安全性,能够综合各行业的攻防经验和风险数据沉淀,当新的攻击方式和特征出现,指纹技术如何能更快的感知应对和准确识别。
如顶象设备指纹,本身就是防御云的一部分,集成业务安全情报、云策略和数据模型,通过对上网软硬件生成唯一指纹信息,支持安卓、iOS、H5、公众号、小程序,可有效侦测模拟器、刷机改机、ROOT越狱、劫持注入等风险。
该阶段主要有四个特征:
第一,识别率高安全性强。精准识别识别模拟器、刷机改机、注入、动态调试等几十项风险,避免自身被破解,守住数据真实性。
第二,更新速度快。当有新的攻击方式和特征出现后,设备指纹技术以小时、甚至分钟级别同步更迭,应该能更快的感知风险和准确识别。
第三,集成专家经验。设备指纹后台沉淀不同行业不同场景的风险数据,并积累丰富攻防经验,支持冷启动状态下应对欺诈攻击。
第四,云端联动。安全云形态的出现,通过云+端模式,实现分钟级的响应,进行快速地对抗。
第五代设备指纹必备的三项能力
第五代设备指纹,稳定性和唯一性是基础能力,安全性和攻防性是经验积累,如何快速的进行风险感知和攻防升级,将会是一个好的设备指纹技术的评判标准。因此,第五代设备指纹需要具备下面三项能力。
第一,快速对抗能力。业务应用暴露在互联网上,黑灰产则是隐藏在背后,所以攻防必然存在一定的滞后性,这就要求设备指纹技术在面对新的攻击方式和风险特征时,有及时的风险情报感知和防控升级的能力,后台可以结合各行业的攻防经验和风险数据沉淀,通过云+端的方式,进行快速的攻防升级,在一个攻防周期内解决掉业务风险。
第二,风险识别能力。设备智能需要具备对设备基础环境和运行期的安全检测能力,能精准识别模拟器、root、越狱、调试、代码注入、多开、VPN代理等风险。例如,iOS平台hook、越狱行为,安卓root、debug、内存dump、注入、多开、模拟器、漏洞攻击等风险行为,WEB平台下浏览器颜色深度、分辨率,浏览器与系统、UA的匹配性和一致性、cookie是否禁用等行为。
第三,99%以上稳定性和100%的唯一性。设备指纹自身SDK代码需要进行保护,防止采集逻辑被破解和出现数据伪造,从数据采集源头上保证真实性和准确性。不管对设备参数进行篡改伪造(篡改IMEI、MAC地址、AndroidId、SIM卡信息、机型、品牌等),或是禁用、清除缓存和cookie,设备指纹都要保持不变,稳定性至少要保持在99%以上。任意两台设备的指纹不能相同,不发生碰撞,为每一台设备生成的设备指纹ID需要全球唯一,并且不可被篡改,唯一性上要保证在100%。
随着各手机厂商对系统源码的修改深度加深。例如,部分企业基于设备信息屏蔽的目的或模拟其他厂商的目的,对设备信息进行深度修改。也会造成特定情况下的设备指纹采集的信息被屏蔽、修改或者参数值为无意义的字符串,高稳定性和唯一性的保证是个比较大的挑战,需要持续的去研究,也是要保持住的基本能力。
设备指纹在不同业务场景的应用
作为了业务体系的基础组件之一,设备指纹广泛应用在标记、追踪、临时凭证、分析、反欺诈等不用服务场景下,是风控体系的重要组成部分。
1、动态匿名跟踪。未注册用户访问网站的路径、不透露用户隐私数据下作为用户的身份标识,设备指纹技术提供了精准的跟踪能力,可以更好地为业务提供追踪服务。
2、临时用户ID。在一些业务场景允许用户以游客的身份进行访问和使用,此时业务后台可获取用户的信息很有限,通过设备指纹技术将设备ID作为临时用户ID。比如,在线游戏的游客可以使用临时用户ID,快速体验游戏,游戏的进度、装备、等级等信息可以保存在游客的临时用户ID下,待游客转换为正式用户后,自动合并先前的游戏进度等信息到正式用户信息内。
3、数据标记与关联分析。在大数据分析和机器学习场景,设备指纹可以作为最基础的字段,提供另一个维度来观察业务指标数据,进行关联分析。比如,通过设备指纹ID,分析活跃设备数、新增设备数、用户使用的机型分布、同一个设备上交易笔数和金额、同一个设备上访问的用户数等。在关系网的构建上,除了使用用户手机号、卡号等作为节点,也可以把设备ID作为节点,观察用户间的关系。
4、反欺诈。设备指纹技术是反欺诈基础应用,在识别机器攻击、虚假注册、恶意登录、多账号、渠道作弊、模拟器等方面效果显著。
(1) 识别机器攻击。机器攻击/脚本攻击一般是通过编写自动化脚本或工具,批量化和自动化的向目标网站发起请求,通过使用设备指纹技术,能够很好地识别是否机器、脚本发起的请求。
(2) 识别虚假注册/恶意登录。利用设备指纹技术,可以识别模拟器上的账号注册、同设备一定时间段内的大量注册,以及注册的设备是否有高风险。同样,在登录场景有效识别统一设备上频繁登录尝试、撞库风险,记录识别登录设备是否有短时间内的漂移、是否频繁切换等。
(3)识别多账号绑定。在营销活动中,一般活动规则会限制同设备同账号只能参加一次。童工设备指纹技术可以做快速识别是设备上是否绑定多个账号,同一个账号是否在多个设备上登录等。
(4)识别渠道作弊。在应用推广、展示广告等场景下,黑灰产会通过各种技术工具伪造数据、流量作弊,骗取推广费用。通过设备指纹技术可以及时识别虚假机器、真机虚假安装等,从而有效地追踪渠道流量和表现。
(5)识别模拟器/调试等风险。设备指纹技术能够有效检测到设备终端环境和运行期风险,如,模拟器、越狱、调试、注入、攻击框架等。
设备指纹技术的应用流程
设备指纹可集成于App、小程序、网站等不同平台,集成的方式是SDK。以Android系统为例,设备指纹通常采用aar包(Android Archiv,安卓库项目的二进制归档文件)方式进行提供的SDK,也会使用aar包和SO文件(动态链接库)进行结合集成的设备指纹SDK。
设备指纹技术工作流程主要分为四步:采集传输、解密处理、生成唯一ID、返回核验。
1,打开App、H5、小程序,设备指纹即开始进行多维度数据的采集,并对采集到的数据进行加密和压缩,保证数据的安全性和网络传输效率。
2,设备指纹后台接收到采集数据后进行解密,然后对数据格式化、过滤、转换等初步处理优化。3、然后,设备指纹后台对数据进行权重设置和匹配。部分数据字段参与指纹计算的权重会高一些,部分字段参与计算的权重会低一些或者不参与计算。并对一些字段会做一些分析和相似性计算,进行去重等处理,最后综合生成或关联一个设备ID,作为该次请求设备的指纹,并将生成的设备ID进行持续化保存,供后续使用。
4、操作者在App、H5、小程序操作时,设备指纹对操作信息匹配、核验,并提供验证结果。
以上整个生成的过程毫秒级完成。其中,最核心的点在于用什么样的算法来生成指纹ID,保证足够好的稳定性和唯一性,这就需要大量的研究探索和在实际业务中的长期实践。