首页 未命名正文

搭建风控系统道路上踩过的坑01-信息采集:一个CPO的心得分享

作者前言:

在过去的10年里,我参与了三家公司不同领域的风险控制系统的设计。我仔细考虑了风险控制系统的所有环节,但我仍然觉得我只是一只脚进门。

大多数人生产的产品都有明确的目的,比如订单支付、账户系统一开始就知道该做什么,有很多竞争产品可供参考;风险控制系统完全不同——不可能完全理解未来要面对什么问题。每个功能都要谨慎,因为如果你不注意错误的方向,你可能不得不在未来的某个阶段完全推翻它。

对于研发资源短缺的安全需求,我们往往会在某个时候把自己置于非常尴尬的境地,问题无法解决,转型面临着大量的时间和沟通成本。

所以,在这里分享一些我踩过的坑,让准备搭建风险控制的人心里有个数。

业务安全风险控制设计101-信息采集

业务风险控制主要做四件事:

               
  • 获得足够的数据
  •                
  • 做足够灵活的分析平台来分析数据
  •                
  • 阻止产生风险事件的风险
  •                
  • 量化风险拦截的价值,不断分析案例,优化策略
  • 拿数据几乎是决定风险控制系统成败的核心。由于空间问题,我们首先要考虑三件事:

    1、数据越详细越好:

    以账户安全为例。如果您能获得基本的登录注册数据,您可以分析频率和登录注册特征;

    如果您可以进一步获得登录注册行为的上下文,如登录前访问的页面和登录后访问的页面,您可以从访问行为轨迹中增加更多的分析维度,如页面停留时间、是否访问必要的页面等;

    如果您还可以获得用户的操作行为数据,如鼠标移动轨迹和键盘输入,您可以从操作过程中进一步增加分析维度。例如,您在输入密码时是否多次输入和删除?直接复制粘贴的帐户密码吗?

    2、建立标准日志格式:

    在确认可以获得的数据后,开始建立标准的日志格式。

    常见的登陆、注册、下单、密码修改、绑定凭证修改等等都要给出一个标准的日志格式,而且要充分考虑到字段命名的统一,比如密码、用户名字段的名称如果在不同的日志中叫法不统一,在后续分析和指定策略的时候都会遇到不小的麻烦。

    3、拿到的数据质量:

    能得到所有必要的字段吗?

    风险控制往往关心信息,如风险控制IP地址、UserAgent、referer这些信息业务并不关心,但这些信息的缺乏可能会导致许多策略无法完成,所以在信息收集开始时应该有一个明确的信息列表。一旦妥协,然后返工,研发将是白眼睛。

    数据信息准确吗?

    用户访问更为常见IP,结果拿到的IP地址是内网服务器IP;或者想要用户名,结果是传递的UID。这需要大量的前期沟通和确认工作。一旦发现数据不对,一旦上线就会变白。

    有两种主动和被动的方式来获取数据:

    1、主动方式

    主动去数据库和日志读。

    这种 *** 实时性差,基本上很难添加信息,但不需要研发太多的东西,适合喜欢自己丰衣足食的场景。

    当然,一些成熟的公司有自己的消息总线。风险控制可以实时订阅信息,然后作为数据源进行分析,但这通常是少数;

    2、被动方式

    被动方式是为研发提供界面,让业务按照格式标准喷消息。

    这种合作周期很长,但是可以按照标准获得高质量的信息,所以是建立风险控制系统的常用 *** 。

    踩坑记

    1、号坑:

    如果消息是多数据源,则必须考虑消息的时间顺序:

    比如登录日志是公共服务发的,网页访问是拿的access_log,用户操作行为数据页面 *** 或者SDK这三者的时间是不一致的。

    这需要在确认所有信息到位后进行分析和判断。否则,如果实时策略考虑登录时必须单击页面键盘,两个数据到位时间不一致,可能会发生大量误封事故。

    2、号坑:

    收集到的数据必须定期监控数据质量——

    由于技术架构调整、代码更新等各种奇怪原因,收集到的数据可能不准确。如果不能及时发现,可能会导致以下一系列分析过程出现错误。

    3、号坑:

    尽量选择稳定的业务点,如收集登录日志,一次性收集公共服务,只要找到一个问题。

    假如是去前端WEB、移动终端和其他调用登录服务点进行收集。如果出现问题,需要更改的工作将成倍增加,新业务点的日志可能无法覆盖。

    4、号坑:

    关于技术选型:

    必须使用消息队列restful只能处理业务日志,比如登录这种1秒最多几次的类型。如果你想在后期收集页面访问行为,你必须使用队列.

    可以考虑开源RabbitMQ或者Kafka,稳定性好。

    5、号坑:

    关于日志存储:

    ELK为后续的分析平台提供基本的查询功能是一个不错的选择。

    结语

    信息收集往往是实施风险控制最困难的环节,但也是最重要的环节。覆盖、质量和及时性决定了项目的成败。

    由于沟通的压力,往往会有更多的妥协,这为后期风险控制系统的建设埋下了隐患。事实上,一篇文章很难详细描述细节。

    如果您在这方面遇到困难,请留言与我们沟通。如果您对下一个内容感兴趣,请分享并鼓励小边,我们将尽快给出后续章节。

    作者介绍:

    科技联合创始人刘明 ,***产品技术官

    超过6年的风险控制和产品相关经验,曾在网易工作,负责魔兽世界中国账户系统的安全。现带领互联网业务风险控制团队为客户提供明星产品Warden和RED.Q风险控制服务。

       
    版权声明

    本文仅代表作者观点,不代表本站立场。
    本文系作者授权发表,未经许可,不得转载。