作为大众熟知的电商应用,京东是如何构建坚挺的风控体系架构?如何优化数据的计算和存储?如何基于设备做智能识别的?本文由京东技术专家王美青对以上问题进行解读。

风控技术体系介绍

风控技术架构

风控技术架构

 上图是风控技术架构图,包括安全模块、风险决策平台、风险数据洞察模块、风险运营平台。其中,安全模块跟用户的接触是最紧密的,其包含设备指纹、移动端加固、设备证书、虚拟机识别以及代理检测。

风险决策平台根据场景进行管控和实时决策,同时支持策略计算和模型计算。指标库中囊括了所有的指标、策略、模型数据。下层是实时计算、流计算和图计算。另外,风险决策平台还包括机器学习训练模块和准实时模型训练场。

风险数据洞察模块对风险进行实时监控,统计分析,并形成报告。

风险运营平台相对来说是比较滞后的一个平台,实时场景生成后,提供一个运营审核的平台;在案件处理平台,通过人工介入为线上模型提供真实案例;风险搜索平台,提供成功交易之后的风险分析详情。

风险管控方案架构

 风险管控方案架构

 风险管控包括三个方面:事前准备、事中处理、事后打击。

1、事前准备

搜集设备端的环境信息,包括指纹、行为序列和业务上的事件通知,不包含用户的敏感信息。

2、事中处理

实时决策引擎部署了很多策略和模型,通过实时分析、实时计算、图计算进行处理。

3、事后打击

发现风险后对案件进行还原,此时会介入人工审核,经过比对历史案件、分析行为特征等,确认后再回流到数据集市中。下层是一些计算工具,设置了几层向上的数据推送,包括T加一个月、T加一周、T加一天。

数据计算与存储技术

数据处理架构--Lambda架构

image

 上图是数据处理架构Lambda,在输入数据后,数据流一部分进入不变数据仓,经过批处理进入存储视图中,供对外的查询服务使用。另一部分进行实时计算,计算完后数据便废弃了。

数据计算架构

image

 公司内部大多使用JMQ消息模式,将JMQ 消息集中收集后分发,通过Kafka进入计算平台,使用JSTORM进入存储,分别存入Hbase和Cache。其中供线上毫秒级响应时所做的存储全部放入Cache中。

实时计算框架

image

1、特点

  • 响应式架构
  • 时间滑动窗口
  • 定义了类SQL的特定领域语言
  • 内置多种函数
  • Java+scala

2、Flink应用

使用多个流相互链接,这些流都不是同时的,但他们互相间有线索,可以将多个流串联起来。

数据可靠性保障

image

 如上图中的数据集,数据集包含三个数据中心。将每一份数据分别在多个机房进行存储,然后将每一组机器划分到一个机房。当某个机房出现问题后,可获取到DataSet。

数据治理方案

image

1、原始数据层

原始数据层数据是未经加工、杂乱无章的。

2、数据原子化层

通过数据加工将数据分门别类,例如分为帐户级别、交易级别、订单,使数据原子化。

3、数据的抽象层

将原子层的数据拼装,为数据建模准备。

4、数据模型层

将数据抽象层归纳好的数据,再抽象出一层,供业务场景使用。

*数据纵向层级越高,数据的复用度就越大,横向越多,覆盖度就越高

移动安全及应用

image

在安全链路方面集成FIDO协议,链路安全由软实现和FIDO共同支撑。FIDO包括:指纹、免密、人脸和一些数据的采集。采集的数据并非用户敏感数据,而是用户使用手机时在传感器方面的表现。

流程步骤

用户使用时首先有一个签约认证的Server。第二步是,证书服务,生成一个证书;第三步是Key工厂,在其中缓冲了很多序列,可以直接拿到公钥、私钥,然后通过指纹免密Server做认证。

风控指纹设备

image

 如图通过SSL实现CDN与客户端的交互作为前提,将客户端收集的浏览器环境软信息放到Fingerprint Server中,并将所有搜集过来的设备数据在后台进行设备画像的制作。

智能化风控建设

怎样进行人机识别?

1、基于设备的智能识别

通过设备状态识别:设备状态的运动包含几个维度,不同的运动在传感器和陀螺仪的表现是不一样,通过设备运动状态可以进行人机识别。

通过充放电识别:机器和普通用户在使用设备时的充放电状态是不一样的,普通用户的手机不会一直处于充电状态中。

通过借贷软件识别:经过用户授权,获取用户使用的借款软件相关数据。

通过这几个识别指征,输出识别安全指数评测,可通过后台或服务器检测出使用设备的信息。

2、通过生物识别

用户进行同一操作时的使用习惯也是不一样的,通过传感器和陀螺仪的感应数据,可以判断使用设备的是否是本人。

智能化风控建设

无监督学习——社区发现

image

 如图确定IP、手机号、地址、坐标、设备、wifi等多维权重计算;通过多维计算出“度”—[0-1],通过模型确定阈值;A-B达到阈值即产生边,顶点是账户。

社区发现对团伙作案、突发事件、潜在风险都能够有效识别。

机器学习平台

机器学习平台包括指标自动加工平台、模型智能训练平台、模型智能评估平台、模型管理运行平台。通过四大平台的协作,能有效地提高数据处理的效率、降低复杂度、增加产出,有利于统一进行管理。

指标自动加工平台:通过指标自动加工平台,实现对线上数据、线下数据的统一管理。

模型智能训练平台:实现模型的并行化训练,配置化训练。

模型智能评估平台:实现对样本数据的实时加工,配置化管理。

模型管理运行平台:实现对模型的生命周期管理,支持Python、Spark-MLIB、SCIKIT-learn、Tensorflow等算法库

数据迁移特征

image

支持断点续传、流量的调节、多数据源、容灾、弹性、多活。

分布调度中心

1、Job生命周期

Job生命周期包括:Open—Load——Lock——Execute——Finish——End——Reset。

Open:每次调度被触发都生成唯一的一次作业,在调度方保存该作业的每个状态并更新至ZK。进行事件通知。

Execute:执行任务是异步化的。open阶段和lock阶段都是同步执行,lock和Execute都是在集群上完成分片。

Finish:本次作业完成后等待下次调度被触发,生命周期重新开始。进行事件本地通知。

2、核心角色

image

借鉴JT的思路,由Master将这些任务分配到不同的JT中去。

3、通讯实现

image

4、内部设计

image

机器学习平台

image

在数据层中,实时数据和批量处理数据进行指标配置后,通过数据处理框架进入到向量库中,然后进入到向量集中,通过WOE统一转化将数据全部放入到模型计算引擎中,最后通过决策引擎直接产生结果。

计算机视觉——人脸识别

人脸检测

基于深度学习算法模型,模型能准确检测人脸,精确定位人脸框,并且准确标记人脸轮廓、眼、口、鼻、眉毛等关键点。

活体检测

动作活体通过唇语、摇头、眨眼等动作识别活体;静默活体基于人脸特征、双目立体视觉等方式实现活体检测。

人脸比对

基于深度学习算法模型,通过提取人脸特征,计算两张人脸相似度,从而判断是否同一个人,并给出相似度评分。

人脸检索

基于深度学习算法模型,算法模型对给定的一张照片,与指定人脸库中的N个人脸进行检索,找出最相似的一张脸或多张人脸,即1:N人脸检索。

人脸防伪

有效防止照片、仿生脸、视频等攻击行为,并且对复杂背景的攻击和真人能进行有效识别,实现安全可靠的人脸识别应用。

本文根据安卓绿色联盟讲师王美青在技术沙龙上的分享整理而成。首发于安卓绿色联盟微信公众号。