背景

当你手机APP上刷着某些视频并多停留几秒,后续再刷视频的时候,是否有感觉到更多是推送同类型的视频;

当你在某APP搜索某产品的时候,后面在启动APP时候,是否能感觉到更多给你推送相关的产品信息;

当你更换手机的时候,在登录同一个APP的时候,是否会有提示你是新环境登录需要特别验证才能登录;

当你手机上安装一些作弊软件,在进行支付的时候,是否会有提示你当前环境不安全不允许支付或支付不成功;

这些的背后都是依靠哪些技术进行支撑实现呢?这些场景下都离不开一个重要的设备指纹技术,下面就梳理设备指纹技术的细节。

理论基础

设备指纹是指可以用于唯一标识出该设备的设备特征或者独特的设备标识。

设备指纹围绕着设备的唯一ID、设备环境风险特征、设备历史风险标签等维度对设备进行全方位刻画,识别设备风险、并且透传设备风险特征。

设备指纹在同一设备中的不同应用,必须具备设备ID不变,同一设备卸载重装APP应用,设备ID同样要保持不变,在IOS设备中重置IDFA后,设备ID不变改机软件修改属性后,设备保持ID不变。

设备指纹需要考虑设备指纹唯一标识的稳定性、唯一标识的唯一性、设备风险标签的精准度、设备风险标签的准召率、设备指纹所需的隐私权限、微行为无感识别能力、设备终端覆盖识别。

设备指纹的关键用途:设备信息唯一性、渠道流量检测、风险设备识别、通用风控策略。

技术分析

采集设备信息需要关注的问题:用户设备是真实设备?哪个设备信息是稳定?Android系统大版本升级是否导致权限变动?采集的数据是否符合隐私合规政策?采用什么算法来计算出唯一ID?新APP上线所有设备ID是全新?

技术实现流程:通过采集客户端的特征属性信息并将其加密上传到云端,然后通过特定的算法分析并为每台设备生成唯一的ID来标识这台设备。

设备指纹必须具备:稳定性、唯一性、安全性、易用性、高性能。

设备环境风险特征:识别模拟器环境、多开、ROOT、篡改设备参数、脚本,等异常环境特征。具有稳定性高,性能高。

通常情况下,设备指纹采集到用户的设备数据后,数据会通过异步方式先上传到业务的服务器上,然后再通过代理服务端进行转发到对应设备指纹的服务端。这样也是为了保证数据的安全性,客户端采集数据功能防止被剥离,从而采集不到设备数据。采集的数据一般通过json格式加密数据进行上传。

设备指纹上传一般采用URL的POST请求,并集成json格式,并且所采集的字段信息中会有一些字段是无用的,有一些字段适用于对json信息采用强校验的混淆信息。

设备指纹中设备风险识别的微行为常用的属性:电池状态、重力传感器、加速度传感器状态、联网状态、USB状态、触摸轨迹、压感、按压时长、剪切板。

设备指纹的SDK主要以java代码和C、C++代码为主,java代码部分是以aar包或jar包方式存在,C\C++代码主要以SO方式存储的。例如某易的设备指纹就是以aar包(NEDevice-SdkRelease_v1.7.0_2022xxxxxx.aar)单独方式存在,某盾的设备指纹以aar文件(fraudmetrix-xxx.aar)和so文件(libtongdun.so)两者相结合存在,某美的设备指纹以aar包(smsdk-x.x.x-release.aar)和so文件(libsmsdk.so)相结合存在。

设备指纹主要是通过集成到APP中的SDK,还有小程序的SDK,通常情况下是采用aar包方式进行提供的SDK,还有就是强度较高的是通过aar包和SO文件进行结合集成的设备指纹SDK。将关键的采集信息集成到SO中代码中实现,并且SO文件采用虚拟机保护。

下面是某设备指纹以aar形式的,它关键代码都是java实现的。并且java代码利用proguard 混淆规则进行对aar的class类进行混淆类名而已,并没有混淆到函数名称和变量名称,字符串信息。

下面是某设备指纹的java代码和C++代码部分,java代码和C++代码都采用了虚拟化保护技术进行保护。

设备指纹读取用户信息,通常需要涉及到向用户申请权限的情况,所以在android的AndroidManifest.xml配置文件中通常有一系列的权限申请。

设备指纹合规

设备指纹应用中,在采集用户设备指纹信息的过程,首先必须确保用户APP中有《用户隐私政策》,并且在首次启动APP时就弹出《用户隐私政策》获得用户的同意,不得默认用户已勾选。并且确保只有用户同意的时候才可以进行对用户信息的采集。

根据《网络安全法》等相关法律法规要求,APP应当在隐私政策中向最终用户告知收集、使用、于第三方共享最终用户个人信息的目的、方式和范围,并征得最终用户明示同意才可以采集用户信息。

设备信息采集需要遵循必要最小化低频采集非敏感信息原则,在采集用户属性时候,不应采集用户行为和应用列表、传感器状态、通讯录、相册等敏感信息,采集这些属性容易出现不符合隐私合规政策。支持按需采集和合规上架指导,采集信息 合规和安全加固,不触碰用户隐私,不会被黑产破解,兼容性好。

设备指纹SDK的初始化时机,在安装后首次启动时,并且只有在用户同意隐私协议后,才进行设备指纹SDK初始化。如果用户没有同意隐私协议不可进行采集数据。

风控场景分析

设备指纹的在游戏应用场景中主要风控维度:手机设备、游戏账号、账号行为、账号动机。

设备指纹识别设备的风控特征:模拟器、协议刷数据、脚本外挂、设备改机、多开工具、云手机等。

设备指纹识别游戏账号的风控特征:批量注册游戏账号、猫池、接码手机、通讯小号等等。

设备指纹识别游戏行为的风控特征:批量养号、黄牛养号、鱼塘账号。

设备指纹识别账号动机的风控特征:账号的买卖、游戏的代练等

设备指纹识别风险识别重点在于:注册、登录、营销、交易、充值、渠道推广等业务场景中,识别出虚假注册、盗号、养号、薅羊毛、虚假推广、作弊行为,然后对应采取一定的对抗策略方案。

游戏中黑灰产破解移动端的技术及工具不断在更新变化发展,设备指纹中核心的技术攻防点主要围绕,root(非法读取文件,反安全检测)、自动化工具(批量注册、活动作弊)、模拟器(自动注册小号、秒杀)、多开(虚假作弊、养号、)、改机、群控(薅羊毛、虚假流量),app重打包(植入广告、破解功能限制)等问题。

通过基于设备指纹技术,可以实现IP风险画像、风险情报、邮箱风险画像去识别游戏的黑灰产行为,然后对游戏黑灰产进行重点打击。

设备指纹思考

一个人常用设备的总是有限,一般正常情况下一段时间内不会超过5个,因此可以通过这些信息进行作为风控的策略,而设备指纹中关键的一个采集点是网络相关信息的采集,通过采集网络相关信息,可以判断出同一网络下的用户的设备数量。

一个好的设备指纹必须具备:1.可以灵活定制化,可以根据不同的业务需求提供灵活的接口;2.高准确性,对设备唯一码必须准确率足够高;3.性能卓越,设备指纹的sdk不能影响到APP的性能;4.系统兼容性好,需要兼容到android4.0到android 13的所有系统。

如果作为开发者,开发一个设备指纹sdk中需要综合考虑的:LaunchTime、闪退率、体积大小、网络消耗情况。

设备指纹技术存在一定的被动性。黑灰产研发者处在暗处,公司的业务在明处,在什么时间段,采用什么方式的攻击方式,都是黑灰产攻击者决定的,这一点业务安全人员也是非常头疼。更进一步,黑灰产可以不断试错通过分析设备指纹技术采用的算法,尝试采用新的攻击方式绕过已有加解密算法,就可以达到新的攻击目的。设备指纹技术对抗过程中是存在一定的滞后性。

设备指纹技术分析和应用分析相关推荐

  1. 设备指纹技术详解丨设备指纹知多少,看这场直播就够了!

    一定程度上,身份的不确定性助长了互联网欺诈. 随着移动互联网的发展,在创造更多业务机会及应用边界的同时,也为互联网欺诈带来了更多的可实施场景以及更加复杂的欺诈手段,如设备牧场作弊.模拟器作弊.人工作弊 ...

  2. 设备指纹技术的实现方式有哪些?

    设备指纹 指的是某设备的唯一标识特征,它当前主要是应用在电脑,手机以及pad等的互联网设备上面,这种技术有多种的实现方式,那么设备指纹技术的实现方式有哪些呢?今天就给大家具体介绍下. 1.主动式的设备 ...

  3. 反欺诈技术揭秘-设备指纹VS关系网络模型 此博文包含图片 (2017-05-12 10:23:52)转载▼ 标签: 设备指纹 关系网络 反欺诈 神经网络模型 分类: 风控 文章来源:网络(经整合梳理

    反欺诈技术揭秘-设备指纹VS关系网络模型 (2017-05-12 10:23:52) 转载▼ 标签: 设备指纹 关系网络 反欺诈 神经网络模型 分类: 风控 文章来源:网络(经整合梳理,仅供交流学习使 ...

  4. 什么是浏览器指纹? 浏览器指纹技术应用有哪些?

    今天讲⼀些让您按捺不住和欲求不满的反浏览器追踪技术,揭开你是如果被互联网巨头监控的. 场景一:在⽹站上浏览了某个商品,了解了相关的商品信息,但并没有下单购买,甚⾄没有进⾏登录操作,过两天⽤同台电脑访问 ...

  5. 设备指纹(Device Fingerprinting)是什么?

    简单来讲,设备指纹是指可以用于标识出该设备的设备特征或者独特的设备标识.设备指纹因子通常包括计算机的操作系统类型,安装的各种插件,浏览器的语言设置及其时区 .设备的硬件ID,手机的IMEI,电脑的网卡 ...

  6. 人工智能反欺诈三部曲——设备指纹

    编者按: 上次我们着重介绍了反欺诈的一项核心技术:特征工程. 在反欺诈的技术金字塔中,特征工程起着承上启下的作用.而居于特征工程的下一层的是基座层:数据.在机器学习里,大家有一个共识,高质量.相关的数 ...

  7. 人工智能反欺诈三部曲之:设备指纹

    上次我们着重介绍了反欺诈的一项核心技术:特征工程. 在反欺诈的技术金字塔中,特征工程起着承上启下的作用.而居于特征工程的下一层的是基座层:数据.在机器学习里,大家有一个共识,高质量.相关的数据决定模型 ...

  8. 不谈F1的设备指纹都是耍流氓?

    本文讲的是不谈F1的设备指纹都是耍流氓?, 在金融科技越来越重要的今天,越来越多的技术安全公司通过新金融科技,例如大数据.反欺诈和设备指纹等技术来提高互联网金融平台后端和用户数据的安全性,其中,设备指 ...

  9. 详解设备指纹核心算法

    大部分风险都来自于身份的不确定性. 比如我们熟知的网络钓鱼.薅羊毛.账号窃取.注册登录等带来的盗用和欺诈都是其身份不确定性造成的直接后果. 那么,如何保证你的身份确定且黑灰产不会轻易盗取或者模仿呢? ...

  10. 设备指纹学习笔记和思考

    设备指纹:用户登录网页.APP时,后台记录的登录设备的"指纹",能够准确识别该设备是否曾经登录过.设备指纹的核心是使用设备的唯一识别码.使用该唯一识别码,可以追踪用户登录网页.AP ...

最新文章

  1. oracle sqlplus @@用法
  2. Spring——AOP
  3. html5基础知识点字体属性
  4. mysql 状态查询_MySQL状态查询
  5. linux proc目录 是什么意思,linux 下proc目录里面有什么
  6. python控制浏览器最小化_如何启动最小化的Selenium Firefox web浏览器?
  7. Java架构师知识体系图谱
  8. Javashop电商系统7.1.5源码,Java电商系统源码分享
  9. DO447诠释红帽Ansible Tower架构
  10. 全面解析用友网络四位一体数字营销
  11. 杭电1048 The Hardest Problem Ever
  12. 计算机资源管理器总是未响应,资源管理器总是无响应,而且开机很慢老是解决不了问题...
  13. 【3】计算机原理-显卡工作模型
  14. 【洛谷】【模拟+栈】P4711 「化学」相对分子质量
  15. CIKM 2022 AnalytiCup Competition: 联邦异质任务学习
  16. Lengend of the Fall
  17. 历年奥运比赛数据 API 接口
  18. Android获取IP地址
  19. Java、JSP等在线书店
  20. 个人微信公众号VI升级心路

热门文章

  1. 重置Winsock失败,在NSHHTTP.DLL中初始化函数InitHelperDll启动失败,错误代码为10107的解决方法
  2. 关于ping是用的TCP还是UDP的争论
  3. sqlloader 导入数据
  4. carmaker的弱智算法
  5. 汉诺塔C语言步骤解析
  6. iOS弹幕库OCBarrage-如何hold住每秒5000条巨量弹幕
  7. windows下使用iconv命令批量原地转码文件
  8. 按键精灵怎么用 android,按键精灵安卓版怎么用
  9. 用vb写计算机程序代码,用VB编写的抽奖程序源代码随机抽取不重复
  10. Java算法常见面试题及答案