cover_image

【技术分享】唯品会风控系统的进化之路

杨哲 唯品会安全应急响应中心
2017年08月21日 06:50


每周的干货分享来啦!!~

图片

引子

唯品会从2008年成立,2012年上市,到2014年才开始组建风控团队,这是目前国内很多互联网创业公司在业务安全领域的一般发展路线:

第一阶段:发展业务优先,忽视业务安全。

第二阶段:开始关注业务安全,在部分关键业务领域加入风控逻辑。

第三阶段:重视业务安全,组建独立风控团队,从公司高度统一把控业务安全风险。

第四阶段:风控系统不断自我进化升级,在业务与安全的冲突中发展。

唯品会风控目前就处于第四阶段,有了一些成果但也并不完美,本文会对唯品会风控系统这三年的发展做个总结,与诸位分享。


图片


业务安全生态环境


风控系统的进化发展,离不开对业务安全生态环境的理解,最近几年,随着互联网的发展,业务安全领域的变化,超过了历史上几十年的变化,主要有以下几点:

  1. 业务风险从线下到线上转移,从传统金融部门向互联网金融、电商等部门转移

  2. 互联网的发展带来了巨大的利益,迅速引导黑产专业分工细化,并加入了一大批高智商的产品、技术、组织管理人员

  3. 攻击方式迭代迅速,安全与黑产的博弈斗争进入白热化,在安全开始使用AI进行防御手段的同时,黑产也开始使用AI手段进行破解

  4. 云计算的发展,为企业和个人用户带来便利的同时,也为黑产带来了便利,大部分攻击都来自公有云

  5. 木桶效应明显,黑产总是从各个渠道和业务接入点防御最弱的地方进行攻击

为了在这种生态环境下生存,抵抗黑产的攻击,风控系统需要在以下几个方面进化发展:

  1. 套路:黑产非常善于总结捕捉风控系统的策略,一旦确定风控策略,马上会进行有针对性的攻击,因此必须隐藏自己的防御策略,从数据采集、拦截位置、拦截方式等方面做文章,混淆自己的目的和手段。

  2. 速度:快,快,快,重要的事情说三遍,风控系统的拦截响应速度、异常发现速度、策略变更速度都是越快越好,理论上任何防控手段都存在被破解的可能,但只要我们能及时发现并有足够丰富的策略手段,就可以大大降低黑产攻击的收益。

  3. 监控:要有系统层面、规则层面、业务层面等不同层面的监控能力,及时发现黑产的攻击行为,定位遭受攻击的渠道和业务点,为快速响应提供数据支持

  4. 工具:工具就是我们战斗的武器,武器越先进,种类越多,在这场战斗中取胜的概率越大。

  5. 合作: 风控是为业务服务,不是为了风控而风控,必须要和业务部门等公司其他部门紧密合作,才能为公司业务大发展保驾护航。同时,黑产是全行业的毒瘤,我们需要和兄弟公司展开紧密的合作,包括技术分享和数据交流。


图片


唯品会风控系统的进化演变


经过近3年的发展,唯品会风控系统的接入业务从几个增长到400多个,系统流量从几百qps发展到最高13万qps,从仅仅关注于使用简单规则进行风险判断,到结合数据模型进行精准定位, 主要从以下几个方面不断完善:


流程

不断总结业务接入流程,简化接入流程和接入操作,提供更灵活的配置工具,主要包含以下几个方面:

数据源:定义不同的数据库集群

元数据:定义不同数据的获取方式,可从不同的数据源根据配置读取数据,可对数据进行预处理,支持备用数据源的切换

集合:定义各种类型的黑白名单

业务模版:针对不同的业务,生成不同的拦截结果查询报表模版

执行动作:对不同的业务,可定义不同的操作动作,对拦截的结果进行自动或手动处理,如冻结账户、取消订单等

有了这些配置工具,在新业务接入时,可以快速配置安全策略,大部分配置都是可复用的,大大节省了接入的时间。




规则引擎

风控系统的大部分拦截都是基于规则判断的,规则引擎是风控系统的重要组成部分。早期唯品会是基于开源规则引擎drools开发了一个简单的规则配置界面,随着业务的复杂度不断提升,后期我们花时间重新开发了一个全新的规则引擎产品,从功能、性能方面进行了全面的提升:

1、提供了自然语言的规则配置界面,支持自定义模型,可将数据定义、数据字典、函数、操作符等与自然语言进行映射

2、提供了多种规则展现形式,支持复杂的表达式,覆盖各种规则需求

3、将配置的规则生成java代码,客户端提供自定义类加载器,提供最优的性能表现

4、支持动态语言进行插件化扩展,很容易进行定制开发

5、支持不同的规则执行策略和分流策略,实现灰度发布和AB测试

6、提供版本管理、结果查询、监控统计等辅助功能




数据

风控的数据来源,除了风控系统外,还要大量从内外部采集数据,我们这几年的主要从以下方面开展工作:

1、完善统计引擎和ETL工具,可快速配置采集新的数据和统计量

2、引入第三方风险数据

3、使用大数据的手段建立标签系统,识别马甲、撞库等行为




拦截手段

最初唯品会风控系统只负责进行风险等级的判断,并没有任何拦截手段,风险拦截从以下几个方面做文章:

1、建立统一验证码平台,将散落在公司各处的验证码统一维护,不断增加新的验证码方式和算法,根据风险产生不同的验证码对抗机器攻击行为

2、建立挑战系统,在登录等关键业务环节进行拦截,在异常情况下用于验证是否是用户本人操作

3、接入用户系统、订单系统,对风险用户进行冻结账号、取消订单、冻结唯品币等操作




性能

风控系统的接入流量越来越大,对性能的要求也越来越高,为了应对高并发流量,我们从以下方面进行了优化:

1、从早期的restful接口改为RPC接口,减少协议层的性能损耗

2、优化风控系统和规则引擎的代码,特别是规则引擎底层从drools改为java大大提升了性能

3、对数据库进行拆分和扩容,提高数据查询速度



图片


小     结


唯品会风控系统在三年的发展过程中有了长足的进步,但时代在发展,黑产也在不断发展,我们和黑产的对抗仍再继续,我们只有不断进化,提高自己的能力,才能在这个没有硝烟的战场取得胜利。在这里,希望我们的分享能为各位提供小小的帮助,也希望各位同仁能将自己的经验与我们分享,通过交流,共同进步。





精彩原创文章投稿有惊喜!

图片
欢迎投稿!

VSRC欢迎精品原创类文章投稿,优秀文章一旦采纳发布,将有好礼相送,我们为您准备的丰富奖品包括但不仅限于:MacbookAir、VSRC定制雨伞,VSRC定制水杯以及VSRC精美POLO衫(活动最终解释权归VSRC所有)


我们聆听您宝贵建议


不知道,大家都喜欢阅读哪些类型的信息安全文章?

不知道,大家都希望我们更新关于哪些主题的干货?

现在起,只要您有任何想法或建议,欢迎直接回复本公众号留言!

精彩留言互动的热心用户,将有机会获得VSRC赠送的精美奖品一份!

同时,我们也会根据大家反馈的建议,选取热门话题,进行原创发布!





点击阅读原文进入   通过Selenium模拟Firefox登录网页并识别验证码




继续滑动看下一个
唯品会安全应急响应中心
向上滑动看下一个