报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

专访季虎:如何突破瓶颈构建高质量风控系统?

  • 2015-12-08
  • 本文字数:3143 字

    阅读完需:约 10 分钟

互联网的开放性极大地促进了互联网产业的发展,也给人们的生活带来了诸多便利。然而,随之而来的高风险性 - 账号盗用、虚假交易、金融欺诈等 - 也让大家闻之色变。在当今互联网 + 的时代,如何构建强劲的风险控制系统,保障交易、信用、资金等的安全,是任何一个从事互联网业务公司的头等大事。

为此,我们采访了苏宁 IT 总部安全研发技术总监,请他为读者们介绍互联网安全架构的个中精要以及苏宁安全团队在应对“11.11”等大规模活动时的努力。

受访嘉宾

季虎,苏宁 IT 总部安全研发技术总监,主导构建了苏宁电商和金融的风控技术体系。在此之前,季虎曾任阿里集团安全部高级技术专家,参与了 AE、金融和集团的风控系统建设,并致力推进风控自动化和大数据风控实践。其将在 ArchSummit 北京 2015 全球架构师峰会分享《简单的不像技术活——风险检测中的时间窗口计算》

互联网 + 大数据时代,安全领域也越来越多的引入实时的风险识别技术,风险特征(值)计算是实时性和海量数据下的扩展性是很多风险识别系统的难点。业务安全领域,已经在这点上做了很多年的尝试和研究,这次分享从风险检测的过程分析、时间窗口统计的需求场景和各种实现等角度切入,介绍多种场景的风险特征(值)计算以及尝试性解决通用问题的框架,让参会人员了解时间窗口统计的多种技术方案和技巧、如何快速构建业务风控系统等。

精彩内容敬请期待,以下是 InfoQ 记者对苏宁 IT 总部安全研发技术总监季虎的专访:

InfoQ:季虎你好,请给我们介绍一下业界有哪些常见的风险行为及识别技术吧。

季虎:在电商这一块,常见的风险行为包括垃圾账号注册、账号盗用、虚假交易、盗卡、广告的点击欺诈,信用炒作、DDOS 攻击等等,这些是行为方面的风险。我们用到的识别技术有基于用户行为,作特征分析,辅助以大数据模型,构建用户画像;有利用统计模型和规则引擎作事中控制的;甚至还会对用户做主动探测。

在苏宁,风控还包括了内容合规,比如色情,暴力等,也包括版权方面的事情,需要确保开放平台商户不能销售违反国家法律法规的商品,也有用户会发表违禁的评价等等。这里面用到的技术会有自然语言识别,图像识别,这些都依赖机器学习的技术; 此外,不同的行业也会有些特有的风险类型,如游戏,会遇到挂机的问题,P2P 会有征信方面的需求,也各有不同的识别方法。

InfoQ:风控的技术门槛在哪?业界是否有一些开源系统可以使用?

季虎:风控最大的难点在于它跟具体的业务模式息息相关,很难有一个通用的方法。就以黄牛抢购爆款来说,仅抢购的业务形态就有很多,比如秒杀,预约等等,多样性对系统的架构是一个挑战;另一个难点(对电商),事中的风险识别是用户体验最好的,这就在性能上有很高的要求。以苏宁为例,下单过程中的风控识别的时间只留了 50ms,这对性能有很高的挑战。

如果是从头搭建一个新的风控系统,初期可以选择开源的规则引擎(drools 等)做二次开发,后期按照实际情况再作调整。

InfoQ:通常在业务场景中风控系统采用什么样的指标进行评估,如何评价一个风控系统的优劣?

季虎:风控系统的评估,跟大多数的后端系统评估没太多差别,具体包括:灵活性,体现在一个新业务上线,一个新规则的变更,一个新模型的调整,要多久,投入多少人力;性能,是不是满足业务需要;易用性,风控系统跟业务结合紧密,能不能支撑业务需求的变更;还有一个重要的指标 - 效果,不同的业务形态,评估指标不同,可能是资损,可能是坏账率等,通过数据来说话。

InfoQ:风控计算会不会带来很大的额外计算压力?在苏宁,我们采用什么样的技术手段来降低风控计算对业务的影响?

季虎:这个必须会!风控系统内部称这为指标计算。压力主要在两方面,一个是 CPU(GPU),一个是内存;具体的手段有不少,在马上召开的 ArchSummit 大会上我会分享一些具体的例子, 到时候大家可以一听。

大致的思路有两个方向:一是预先处理,另一个就是保证计算尽量在内存中进行,根据计算的类型,把计算拆分成多个阶段,以均值为例,M(n)=((n-1)×M(n-1)+M(n))/n,这样计算形式的转换,把求均值变成可以累加计算,一部分预先处理好(可以离线处理),这样风控系统中的计算量就尽可能的减少。不能拆分的计算类型,就尽可能把数据预先加载到内存中,我们曾经在一个信用卡盗卡的模型中使用过单机 250G 以上内存容量的服务器。另外还有一个小技巧,根据实际的模型设计,可以考虑降低计算精度,一些特殊的数据结构可以做到计算精度降低 1 个点,需要的计算量降低 10,甚至更多。这是些简单逻辑运算,更复杂的,如矩阵运算,我们采用高性能 GPU 代替通用 CPU,图像识别是典型场景。

上面说的是提高计算能力的方法,此外,还需要考虑把指标计算的部分独立出来做成微服务。这样既可以降低与规则引擎系统和模型的耦合性,也能更好的在系统之间共享风险指标。

InfoQ:对于初创公司来说,如果公司需要构建自己风控系统,有哪些因素需要特别考虑?

季虎:优先组建业务风控团队,优先组建业务风控团队,优先组建业务风控团队,重要的事说三遍。

回到系统本身,有一些个人体会可以分享下:

1)初期就要考虑的数据沉淀和再利用。风险判断的准确性要么看规则的合理性,要么看模型的准确性,这两个都需要数据支撑进行评价和改良。

2)系统要提供效果评估评价的功能。他的点只关系到系统能不能做好,这个关系到风控业务能不能做好。

3)不要过度追求规则和模型的灵活性,适当降低架构设计的目标设定,灵活性是个无底洞。

4)风控系统只是辅助决策系统,不要串联到业务流程中,要旁路。

InfoQ:从苏宁的风控系统实践的经验来说,风控系统架构的瓶颈会在什么地方?

季虎:主要可能有三个方面:

1)第一个会遇到的瓶颈,都是灵活性。实际上,我参与过的风控系统建设,都会经常性做重构,基本上一年一版。我们做得好的地方在于,设计的时候采用了微服务化的思路,重构的时候不需要全盘推到重来。最近一次重构,重构了模型部分–因为 spark 等技术的发展,性能上已经满足实时需求,我们就仅仅重构了这个部分。其他的如风险指标的计算,处罚等服务,可以维持原样。

2)活动期间的性能问题,一般系统的性能冗余留一倍就差不多了,但是风控不行,我们活动期间的容量需求是平时的几十倍左右,方便的 scale out 是必须的,这点苏宁的私有云技术提供了很好的技术支撑。在 11.11 等活动期间,我们能做到一键扩容,动态资源回收。PS:真不是替苏宁云打广告,私有云方面,整个业界苏宁应该是走在前列的。

3)离线模型的支持,要保证线上线下数据一致性,这在架构设计上有一定难度,netflix 定义的 online,nearline 和 offline 的三线协作模型是很好的参考。

InfoQ:随着业务的飞速发展,你认为风控系统的下一步发展方向将是?

季虎:从两个维度说说我的认识,从风控系统本身来看,自动化应该是一个很重要的需求,自动训练,学习,评估,我们也正在作深度学习方面的探索,特别是无监督学习的尝试;在整个行业的高度看,就要借用我前同事的一个词语“联防联控”,通过云的方式,交付风控的技术能力,并达到整个行业的能力共享。

12 月 18-19 日举办的 ArchSummit 北京 2015“信息安全保障最佳实践”专题中除了季虎的精彩分享外,还有来自腾讯云安全技术副总监刘宁、阿里巴巴 PE 核心架构组专家李振宇、百度运维部资深研发工程师欧阳君沛的精彩分享,专题精彩日程提前看:

演讲议题 演讲嘉宾 《从甲方到乙方—腾讯云安全实践之路》 腾讯云安全技术副总监 刘宁 《简单的不像技术活—风险检测中的时间窗口计算》 苏宁 IT 总部安全研发技术总监 季虎 《百度超大规模分布式安全系统实践》 百度运维部资深研发工程师 欧阳君沛 《让用户数据更安全—淘宝、天猫全网 HTTPS 实践》 阿里巴巴 PE 核心架构组专家 李振宇 ArchSummit 讲师邀约完毕,想了解更多精彩日程,请关注 ArchSummit 大会官网

2015-12-08 19:146862

评论

发布
暂无评论
发现更多内容

英特尔神经拟态芯片Loihi大显身手 帮助轮椅上的儿童实现独立生活

最新动态

可能是首个支持部署 Deno 前后端应用的部署工具

binggg

taro GitHub 大前端 deno Node

37岁程序员被裁,想用6月工资跪舔领导划掉被裁名额,结果蒙了!

程序员生活志

非IT行业大企程序员讲述MIS系统开发案例

Learun

敏捷开发 企业信息化 企业管理 .net core 「Java 25周年」

linux入门系列7--管道符、重定向、环境变量

黑马腾云

Linux centos 运维 linux命令 管道符

一位男程序员的英语学习之路

盛安德软件

第11周总结

娄江国

物联网SIM卡和SIM卡真的不是一回事

华为云开发者联盟

人工智能 物联网 华为云 传感器 SIM卡

python自动生成一整月的排班表

不会写诗的王维

Python

如何让我的简历有价值、有亮点

escray

学习 面试 简历

火眼云CEO张陆鹏:A轮融资5000万,解密国内ABM生态首位玩家

ToB行业头条

王者荣耀为什么不使用微服务架构?

程序员生活志

终极学习法,你能学会任何东西--程序员的学习之路

盛安德软件

​JDK1.8新特性(八):还在重复写空指针检查代码?赶紧使用Optional吧!​

xcbeyond

Java 新特性 JDK1.8 Optional JDK1.8新特性

开源,轻松实现RTC与SIP互通

anyRTC开发者

WebRTC 编码 SIP 源码解析

linux入门系列8--shell编程入门

黑马腾云

Linux centos Shell linux命令 linux编程

linux入门系列6--软件管理之rpm和yum仓库

黑马腾云

Linux centos 运维 rpm yum

区块链技术正向平台化、组件化、集成化演进

CECBC

大数据 区块链技术 科技

区块链技术助力甘肃建食安信息追溯平台 为食品安全“立规矩”

CECBC

食品追溯 食品安全

CHAR与VARCHAR详解

Simon

MySQL

通过波士顿矩阵模型做产品定位

GuOjixIE

数据分析 产品定位 波士顿矩阵模型

提高GIT中代码质量的七点优秀实践

程序员生活志

git 经验总结

【Kafka】消费者客户端小结(java)

guoguo 👻

网页游戏

小端taro

全票通过!易观开源项目DolphinScheduler进入Apache孵化器

易观大数据

影响音视频延迟的关键因素(二): 采集、前处理、编解码

ZEGO即构

H264 API 3A算法

质量门禁:Verigreen开启Git的Commit门禁

陈磊@Criss

INT类型知多少

Simon

MySQL

第11周作业

娄江国

Devops与敏捷二者能否结合?

禅道项目管理

DevOps Scrum 敏捷开发

企业信息化怎么构建?

代码制造者

大数据 低代码 企业信息化 零代码 编程开发

专访季虎:如何突破瓶颈构建高质量风控系统?_语言 & 开发_龙永昕_InfoQ精选文章