来源:https://mp.weixin.qq.com/s/xlCO__HucTUd_gYNRTueGg
作者简介
刘江,携程金融管理部风险管理总监,负责携程集团的全面风险管理工作。拥有近15年风险管理经验,先后在广发银行、OperaSolutions、阿里巴巴和腾讯等公司任重要管理岗位,一直从事风控政策、风控模型、大数据征信等相关工作。
携程反欺诈体系经过超过10年的发展和积累,在大数据实时并行计算和实时多维关联分析方面已经非常成熟,是整个体系稳定高效运行的基础。
近两年来,我们在大数据和人工智能方向投入研发资源,产出了设备指纹、CDNA、实时复杂变量计算引擎等一系列创新项目,取得到很好的应用效果。2017年整体卡BP降低50%以上,远低于同行平均水平,为携程业务的发展以及全球化化进程提供了有利条件。
性能和复杂度可以兼得
携程的风控系统,和大部分第三方支付平台一样,也是以实时风控系统为主:
- 支付环节一般留给风控校验的时间不会超过1s,业务风控点上更是希望风控能在100ms内就能通过;对性能的追求,也是对极致用户体验的追求。
- 携程近两年每年的订单增幅在50%以上,营销活动、恶意占资源等业务风控的干预量更是每年10x以上的幅度增长。
- 规则数量两年翻了五倍,同时规则使用更多的数据不再仅限于产品信息、支付信息、账号信息,行为数据等弱关联数据开始大量的应用于规则分析。
- 在实时风控场景里大量部署复杂模型,使模型也能和规则一样能直接拒绝交易;平均来看、执行一个模型以及相关的变量计算所需的资源可能与200条普通规则相当,对系统的架构和性能都是很高的挑战。
- 欺诈份子的技术也在不断进步,更隐蔽,我们需要更多的数据来识别,比如对模拟器的识别、对代理服务器的识别,都投入了不小的研发资源。
给大家看一些数据:
一笔支付请求背后,携程风控的规则计算复杂度:
期间计算生成的变量个数接近2000个,90%以上的变量是Velocity和Ratio类型的变量,甚至较大一部分是精确到当笔交易的;执行完整个规则校验,风控返回给支付系统通过或拒绝的指令,平均耗时不到150ms,99.9%线也只有500ms左右。
携程风控架构变迁简史
携程自建风控系统开始于2011年左右,直到2015年正好赶上公司技术栈从.Net往Java平台转变,风控系统也迎来了一次完全的重写。
新系统的架构、设计复杂度、预计的处理能力也充分考虑了公司的业务发展预期,第一次让技术走在了业务到来之前。经过每年一个大版本的迭代,到目前为止,携程风控的技术水平已经处于行业第一梯队。
架构概述及核心服务
下面我们看看携程风控的架构实现:
上图可能有点抽象,我们看一个具体的例子:
概念:登录/注册、下单、支付、支付结果通知、出票等等这些我们称之为风控接入点。
有些接入点是做实时校验用的、有些是收集数据用的,在携程整个大系统内一共有超过400个风控接入点,审核或监控携程交易的每一个环节,保障着每一笔交易的安全和用户的利益。
每天风控收集上来的数据超过50亿条,其中超过1亿左右的请求需要风控实时校验风险并返回给业务系统当前操作是否可以继续。
用户从登录开始风控就已经开始在介入,在用户浏览、下单的过程中,对这个用户的风险评估和计算一直在持续,等到用户发起支付请求时,风控的热数据里已经有了完整的关于这个用户画像数据,风控引擎可以在这些数据的基础上实时计算和衍生出规则和模型需要的变量。
支撑风控系统的高可用、高性能,离不开强大的基础设施,下面我向大家展示一下携程风控的几个核心服务和组件:
风控引擎:
我们给他起了一个名字叫 Matrix,意思是像魔方一样灵活多变。 数以千计的规则是分布式并行执行的、以保证规则数量和执行耗时没有明显的正相关性;并且风控引擎可以按业务动态分组,既保证了业务之间良好计算资源的隔离性、也提供了足够的灵活性。
**
规则引擎:
初始版本基于drools实现,不过经过两个版本的迭代优化后,已经完全替换成自主研发的引擎,新引擎兼容drools的脚本,迁移到新引擎几乎零成本。迁移后规则执行性能提升一个数量级以上且具有更好的稳定性。
**
模型执行引擎:
风控引擎支持把SAS或SPARK等工具训练出来的模型直接在风控系统中部署,支持DOT和PMML等多种格式。
我们自主实现了DOT模型文件的解释器,执行效率相对于Python执行提升20倍以上。
**
实时流量服务:
内部称为Counter Server,负责衍生计算所有Velocity变量和Ratio变量,重要性不言而喻,Counter的性能直接影响到整笔交易的耗时和准确性。
我们基于Redis集群构建了一个Slide window,实现上其实很轻量,但确是很好用,把时间窗口的刻度映射到了redis的key上,目前支持秒、分钟、小时、日、月等的精度。可以根据变量的要求灵活、动态的配置各类实时统计项。目前集群容量在2-5TB之间。
Counter服务每天支撑了超过100亿次查询,单次流量查询的平均耗时仅1ms左右,保证了变量衍生的可靠性。
设备指纹:
传统上都用IP来标识一个设备,但是随着移动网络的普及,IP基本已经失去这个功能了,你取到的很多都是基站IP、出口IP,封掉一个IP可能会误杀一片。
在APP里可以使用IMEI或IDFA硬件ID来识别设备,但在PC和H5需要一个比IP更准确的设备识别标识。已经有一些公司走在了前面,比如业内知名的ThreatMetrix、国内也有几家专业做设备指纹的服务商。
设备指纹是风控识别欺诈交易的关键技术,此类核心技术要掌握在自己手里,携程风控研发的设备指纹服务,已经在携程全站部署以及携程集团旗下的多个站点部署,应用后规则抓取准确性提升非常明显。
设备指纹的架构及关键指标:
CDNA:
我们需要完整且深入的了解对于同一个人或同一类欺诈团伙在携程“一生”的行为以及“足迹”。
基于此目标,研发了CDNA服务,通过对所有流经风控的数据进行多维度的无限极收敛关联,把同一个人的数据聚合在了一起;CDNA服务每天处理超过100TB的数据。
通过CDNA对于发现新的欺诈特征很有帮助,让规则抓取更准确。
代理和模拟器识别:
欺诈分子的技术也在不断的演进,作案的隐匿性更强,代理服务器和模拟器是非常好的隐匿手段,在交易刷单、信用卡欺诈等很多场景都会见到。
我们研究了TCP Signature、Time Gap、用户行为、针对各类模拟器的实验数据等,有了一套自己的方法论和识别方案。
人工规则vs模型
模型对于规则的补充意义是非常显著的,可以弥补人工规则的盲区,模型可以很好的覆盖历史欺诈特征、可以大大减少规则数量。
不管是规则还是模型,都需要建立在对业务上下文充分理解的基础之上。脱离业务上下文、仅针对数据本身的分析而提取出的特征往往是有偏颇的、不全面的,实际上线效果必然也不会很理想。
简单介绍我们的特征变量提取方法:
**
变量衍生方法:
结束语
“Make the Travel More Freely and Securely”,是携程风控的内部文化和使命。随着携程全球化步伐的不断推进,交易量日益增长的情况下,国内外的黑产技术也日趋成熟,欺诈形势越来越严峻。
携程是OTA行业的领导者,携程反欺诈技术团队也将引领反欺诈领域的技术进步,提前研究并掌握大数据和人工智能等先进工具的应用,以应对未来更大的挑战,给用户提供更好的服务。