文章目录

  • 动态防控理念
      • 生物探针
      • 智能验证码
      • 生物探针和智能验证码的区别:
    • 风险态势感知系统
  • 风控核心组件设备指纹
    • 设备指纹的原理
      • Android 设备指纹
      • iOS 设备指纹
      • Web 设备指纹
  • 设备ID 生成与恢复逻辑
    • 生成逻辑
    • 恢复逻辑
  • 代码保护
    • JS 代码混淆技术
    • Android/iOS SDK 加固保护

动态防控理念

生物探针

通过采集终端的操作行为、传感器信息等数据综合建模,通过机器学习区分出操作业务的是自然人还是自动化工具。

智能验证码

一种常见的风控工具,本质上也是区分操作业务的是否为自然人。

生物探针和智能验证码的区别:

前者适用于全业务场景检测是否是机器,后者适用于特定场景对抗机器批量行为,需要用户进行拖动、点击等交互操作

风险态势感知系统

风险态势感知系统侧重于宏观的统计分析,利用业务核心数据、设备信息及风险决策结果等各类数据,通过预置的分析算法模型进行实时、H+1、T+1多种周期组合的分析计算。其核心功能是感知、展示和预测整个业务体系的风险事件变化趋势。当风险决策结果发生非预期的波动时,运营人员就必须人工分析策略漏杀、误杀的情况。运营人员结合数据分析和底层的机器学习的离线计算结果更新风控模型,实时调整决策引擎的风险策略。在推动优化风险策略的同时,风险态势感知系统还可以对黑产攻击事件做预警。

风控核心组件设备指纹

设备指纹的原理

采集一些字段生成一个设备ID(设备ID 需要兼具稳定性和唯一性)

Android 设备指纹

设备ID 需要兼具稳定性和唯一性,Android 系统的开源和碎片化导致API 函数实现各不相同,所以兼容性是Android 系统中设备指纹面临的最大挑战。表4.1列举了Android 系统中比较稳定的设备参数。

iOS 设备指纹

Web 设备指纹

Web 设备指纹(又被称为浏览器指纹)是由用户设备硬件信息和浏览器配置信息综合计算产生的,它通过 JavaScript 脚本采集信息生成对应的设备ID。

Web 设备指纹的实现过程主要分为两部分:

  • 其一为设备指纹的稳定性,即需要收集较为稳定的设备信息;
  • 其二是作弊环境检测,即 保证当前 Web 设备指纹采集到的信息都是真实的。下面具体说明 Web 设备指纹中的一些异常检测原理。

具体见书

设备ID 生成与恢复逻辑

生成逻辑

设备指纹SDK 采集终端设备信息完成后,会计算生成一个唯一ID 来标识设备,如图4.3所示为设备ID 生成逻辑示意图。

需要注意的是,设备ID 是在后端生成的。从前端的角度考虑,无论采用多强的加固和混淆,都能够逆向还原代码。如果由前端生成设备ID,那么只要逆向出相关逻辑就能批量生成合法的设备ID。同理,如果 将设备ID 直接返回前端,在前端做风控策略,就很容易被绕过。此外,特征与设备ID的关系是多对一的映射,特征会碰撞但设备ID 必须满足唯一。

上述的没太看明白~

恢复逻辑

设备ID 恢复逻辑,就是从采集到的设备信息中筛选特征组合。如果新采集的设备特征与数据库中已有的设备特征相同或相似,就认为新采集的设备是同一台设备,赋予相同的设备ID。如果没有查找到相似的设备,就认为是一台新设备,生成新的设备ID。(key 是特征的组合,value 是对应的设备 ID
恢复逻辑需要权衡稳定性和唯一性。唯一性和稳定性是一个权衡的过程,一个高另外一个就低。稳定性表示设备经过改机或恢复出厂设置以后还能保证设备ID 不变。唯一性表示不同设备,尤其是同一型号的设备ID 不一致。如图4.4所示为设备ID 恢复逻辑示意图。

代码保护

终端风控使用的SDK 受限于其工作原理,必须嵌入业务的APP 应用或H5页面中,直接暴露在黑产眼前。黑产团伙中的技术人员通过逆向分析和修改SDK 采集的设备信息字段试探云端的防控策略,也可以制作工具针对性地伪造大量的虚假设备用于后续攻击活动。因此,风控技术人员需要对SDK 进行安全加固保护,保护其核心代码逻辑,提升黑产逆向分析的技术难度和消耗的时间成本。

从SDK 代码保护的防护效果来看,Android 相对防护效果较好,iOS 次之,而 JS 的防护效果较差。

那么对于代码保护的手段都有哪些呐?

JS 代码混淆技术

代码混淆(obfuscation)是增加黑产静态分析难度而牺牲运行效率的一种技术方案。JS代码混淆是指通过逻辑变换算法等技术手段将受保护的代码转化为难以分析的等价代码的一种技术方案。“难以分析”是混淆的目的,“等价代码”则是要确保混淆后的代码与源代码功能表现保持一致。通俗来说,混淆代码P 就是把P 转换为P’,使P’的行为与P 的行为一致,但是攻击者却很难从P’中分析获取信息。

分为四种:

  1. 布局混淆(layoutobfuscation)
  2. 数据混淆(data obfuscation)
  3. 控制混淆(controlobfuscation)
  4. 预防混淆(preventive obfuscation)

具体原理略。

Android/iOS SDK 加固保护

  • 变量名与函数名混淆(ProGuard:使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性)
  • 字符串混淆
  • Dex 加固与抽取
  • LLVM:LLVM 是Low Level Virtual Machine 的缩写,其定位是一个比较底层的虚拟机。然而 LLVM 本身并不是一个完整的编译器,LLVM 是一个编译器基础架构,把很多编译器需要的功能以可调用的模块形式实现出来并包装成库,其他编译器实现者可以根据自己的需要使用或扩展,主要聚焦于编译器后端功能,如代码生成、代码优化、JIT 等。

反欺诈体系与设备指纹相关推荐

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

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

  2. 系统化的反欺诈:风控设备指纹、埋点策略、关系网络要点介绍

    反欺诈是目前大家比较关注的内容,在知识星球社区,关于反欺诈的相关的内容也不少,相关的课题如下: 1.反欺诈埋点的这些页面,风控人都应知悉 2.恶意攻击防范之信用卡业务的计数器反欺诈 3.数据埋点与设备 ...

  3. 【风控体系】互联网反欺诈体系漫谈

    转:原文链接:https://mp.weixin.qq.com/s/9TUNBIbf85MVZ6QlyN34lw 感觉类似金融风控实验室的概念,会越来越火,也希望越来越多志同道合的小伙伴可以加入这个圈 ...

  4. 互联网反欺诈体系中的常用技术和数据类型

    互联网反欺诈常用的技术主要包括数据采集.特征工程.决策引擎.数据分析等几个类别: 数据采集: 主要应用于从客户端或网络获取客户相关数据的技术方法.值得强调的是,数据采集技术的使用,应当严格遵循法律法规 ...

  5. 信贷反欺诈体系介绍及其策略规则应用

    在信贷业务的风控体系中,反欺诈始终是一个重要话题,与信用评估构成的贷前风控两大模块,对于贷前风险的防范控制发挥着决定性作用.反欺诈虽然在理解层面上感觉略显简单,但由于场景的复杂性与丰富度,使得反欺诈在 ...

  6. 【采用】互联网金融反欺诈体系构建及典型应用案例

    一.互联网反欺诈体系的构建存在着以下三个原则: (准)实时性:考虑到用户体验,互联网反欺诈体系必须能够在非常短的时间内对欺诈行为进行认定,并给出判断.对于注册.登陆.支付等一些场景,必须能够在用户无感 ...

  7. 【采用】互联网反欺诈体系建设

    转:原文链接:https://mp.weixin.qq.com/s/sBvqIfxNDoMlWhO6_z65Ww 这篇文章和上一篇[互联网反欺诈体系漫谈]:https://mp.weixin.qq.c ...

  8. 如何构建 FinTech 科学反欺诈体系|架构师实践日

    微众圈 > 微信资讯 > 科技 > 文章 如何构建 FinTech 科学反欺诈体系|架构师实践日 摘自公众号:七牛云发布时间:2017-4-11 21:28:33 FinTech,即 ...

  9. 互联网反欺诈体系中的常用方法

    反欺诈的方法多种多样,当前互联网反欺诈体系中常用的方法有信誉库.专家规则.机器学习等. 信誉库 信誉库即传统的黑白名单,通过内部积累.外部获取的各种人员.手机号.设备.IP等黑白名单对欺诈行为进行辨别 ...

最新文章

  1. threadlocal使用场景_深入剖析ThreadLocal
  2. 我的博士之路(壮根美颜-康亚龙):五年读博路,苦熬曙光明
  3. redis学习之——CAP原理CAP+BASE
  4. 计算机内部使用什么方法技术,计算机内部使用什么技术
  5. Android模拟器访问pc与网络的问题
  6. Winform中实现ZedGraph曲线图缩放后复原功能
  7. Java™ 教程(Set接口)
  8. mac上的更新node npm
  9. awesome-go:很全的go语言资源合集
  10. linux java 安装配置_类Linux环境安装jdk1.8及环境变量配置详解
  11. python382怎么用_教你如何使用Python快速生成验证码
  12. 聊聊Socket、TCP/IP、HTTP、FTP及网络编程
  13. 转:Dilphi基础教程
  14. python lncrna_分析指令备份.sh
  15. P6974 [NEERC2015]Adjustment Office 题解
  16. 关于京东商城在宜宾开通货到付款的随想
  17. IP、MAC地址,交换机路由器,ARP、NAT协议串讲
  18. Monitor(管程)是什么意思?Java中Monitor(管程)的介绍
  19. Type 和 class 的区别
  20. 存储卡种类及其应用大盘点

热门文章

  1. java double 数组排序_java四种数组排序
  2. Xubuntu 搜狗输入法安装
  3. 注意:18种会致流产或让宝宝变傻的食物
  4. 爬取某东购买猪肉的用户评论,为生产经营提供了方向性参考
  5. 中国企业全球争“云”
  6. 遍历二叉树,一篇博客就够了
  7. samba服务器配置文件
  8. C语言字节对齐64位和32位
  9. java八进制数转十进制数_Java程序八进制数与十进制相互转换
  10. SAP中KP06与KP26在应用上的区别