中文站

iOS设备指纹的前世今生

从暗扣话费、广告流量变现、手机应用分发,到木马刷量、勒索病毒、控制肉鸡挖矿,网络黑产无处不在,而“薅羊毛”正是黑灰产的重要盈利模式之一。

“薅上一天,够吃一年。”这句“羊毛党”中流行的口头禅,让各大电商平台瑟瑟发抖。每当电商平台使用优惠券、现金奖励、红包奖励等优惠手段来拉新或者促销时,黑灰产就会通过批量注册、批量登录等方式薅走奖励;一些网店卖家为了提高网店排名和信用度,通过刷单的方式来提高销量以及填写虚假好评;另外,一些比赛活动的点赞、排名等,也可通过刷单来作弊。


虽然,产品本身也会对这些作弊手段添加一定的限制条件,比如IP、设备ID、手机号等,甚至还增加验证码的方式,但这些都能被黑灰产轻松绕过。

1)IP限制

开个代理或者使用网络加速器,实现IP的动态切换,规避产品的限制策略。

2)设备限制

改机工具,使用“一键新机”功能,让该设备完成变成了一台全新的设备。

3)地理限制

改机工具,也能轻松实现虚拟定位功能,使获取的位置信息每次都是不一样的。配合“一键新机”,真正模拟了一个真实用户。

4)验证码打码平台

基于人工智能深度学习技术,准确识别文字、图片等验证码,实现自动打码能力。

所以,一套稳定的设备指纹系统,对反作弊、风控等场景来说,显得越来越重要!

一、iOS设备指纹历史变迁

1)UDID

UDID的全称是Unique Device Identifier,它是苹果iOS设备的唯一识别码,由40位16进制数的字母和数字组成。iOS 2.0版本开始,系统提供了获取设备唯一标识符的方法uniqueIdentifier,通过该方法我们可以获取设备的序列号。

但是,许多开发者把UDID跟用户的真实姓名、密码、住址等数据关联起来;网络窥探者也会从多个应用收集这些数据,然后顺藤摸瓜得到这个人的许多隐私数据;并且大部分应用也在频繁传输UDID和私人信息。所以,从IOS5.0开始,苹果禁用了该方法。

2)OpenUDID

当UDID不可用后,OpenUDID成为了当时使用最广泛的开源UDID替代方案。

OpenUDID利用了一个非常巧妙的方法来确保不同程序间的设备ID唯一,那就是在粘贴板中用一个特殊的名称来存储该设备标示符。通过这种方法,使用了OpenUDID的其他App,知道去什么地方获取已经生成的标示符,这样就保证了不同App间设备ID的共享。

但是,如果把使用了OpenUDID方案的App全部删除,再重新获取OpenUDID,此时的OpenUDID就发送了变化,也无法保证稳定性。

同时,iOS7增加了对剪贴板的限制,导致同一个设备上不同App间,无法再共享同一个OpenUDID,这也导致该方案逐渐被抛弃。

3)MAC

MAC地址在网络上用来区分设备的唯一性,接入网络的设备都有一个MAC地址,他们肯定都是不同的,是唯一的。

而MAC地址跟UDID一样,存在隐私问题,从iOS7开始,如果请求Mac地址都会返回一个固定值,所以也就不能作为设备唯一标识了。

4)IDFV

IDFV:Identifier for Vendor。它是Vendor标示符,是给Vendor标识用户用的,每个设备在所属同一个Vender的应用里,都有相同的值。

在同一个设备上不同的 vendor 下的应用获取到的 IDFV 是不一样的,而同一个 vendor 下的不同应用获取的 IDFV 都是一样的。但如果用户删除了这个 vendor 的所有应用,再重新安装它们,IDFV 就会被重置,和之前的不一样,所以,也不能确保设备指纹的唯一性。

5)IDFA

广告标示符,是从iOS6开始提供的一个方法:advertisingIdentifier。在同一个设备上的所有App都会取到相同的值,是苹果专门给各广告提供商用来追踪用户而设的。

但在下面的情况下,会重新生成广告标示符,依然无法保证设备指纹唯一:

一是,重置系统(设置 -> 通用 -> 还原 -> 抹掉所有内容和设置)

二是,重置广告标识符(设置 -> 隐私 -> 广告 -> 还原广告标识符)

特别是,从iOS14开始,需要先请求跟踪权限,用户同意后才能获取到广告标识符。如果用户不同意的话,是不能获取IDFA的。


其实,不管是UDID、MAC,还是IDFV、IDFA,就算能够一直毫无限制的使用并保持所谓的稳定,越狱的设备仍然可以通过改机工具来修改设备的UDID、MAC、IDFV、IDFA等值,这些值也是不能确保设备指纹的稳定性。所以,提供一套更加完善、稳定、精准的解决方案,才是设备指纹新的方向。

二、iOS设备指纹易盾方案

易盾设备指纹方案,跟随着Apple政策变化、iOS版本升级,不断的进行着优化迭代。由最开始的纯客户端模式,发展为更加有效的服务端模式。

通过采集硬件层、软件层、网络层等各类信息,基于自身特定的算法方案,结合多年设备积累和数据沉淀,生成稳定且唯一的设备指纹,不易篡改,方便易用。

即使同一个设备通过一定手段,篡改了某些信息,我们通过丰富的设备库,使用特定的找回算法,仍然也能定位到原始的设备。

同时,设备指纹还包含对各类环境风险的识别,比如:模拟器、云真机、作弊工具、越狱、多开、代理、调试、注入、HOOK等各类作弊行为,这些都可作为风控策略的重要参考。

易盾设备指纹方案特性:

○基于生成算法和找回功能,保证设备指纹的唯一性

○基于生成算法和匹配规则,保证设备指纹无碰撞

○不受系统升级、App升级、App重装等影响

○不受改机工具的影响

○全面的环境风险识别能力

三、总结

易盾设备指纹, 通过海量设备指纹库和独特的找回算法,有效识别设备篡改等作弊行为,甄别模拟器、云真机等造假手段,定位各类环境风险,识别应用注册、登陆、签到以及其它后续行为中的作弊风险,有效防范羊毛党、恶意刷单等虚假欺诈行为,让造假者无处遁形。

易盾通过多年技术深耕,在iOS设备指纹方面有着诸多积累,具备了客户端、服务器端两种方式并存的模式,并且在兼容性、有效性、便捷性等方面已经具有相当的优势,为应用反作弊、数据风控提供有效的安全保护。