进站建设风险控制系统(1)-信息采集
优采云 发布时间: 2020-08-08 18:27作者的前言
在过去的十年中,我参与了3个不同领域公司的风险控制系统的设计. 我已经仔细考虑了风险控制系统从前到后的所有链接. 但是,我仍然觉得自己刚刚踏上了脚. 刚进门.
大多数人从一开始就知道具有明确目标的产品,例如订单付款和帐户系统,并且可以参考许多竞争产品;风险控制系统完全不同-未来无法完全了解您面临的问题,并且在执行每项功能时都必须谨慎,因为不注意错误方向的人可能会被完全推翻在将来的某个阶段.
就R&D资源的安全需求而言,它们经常在某个时间处于非常尴尬的位置,无法解决问题,并且转型面临大量时间和通信成本.
所以,分享我在这里踩到的一些陷阱,以便将要进行风险控制的人员有一个好主意.
业务安全和风险控制设计101-信息采集
业务风险控制主要做四件事:
获取数据几乎是决定风险控制系统成败的核心. 由于空间问题,我们先来谈谈. 有三件事要考虑:
1您获得的数据越详细越好:
以帐户安全性为例. 如果可以获得基本的登录和注册数据,则可以从频率,登录和注册特征进行分析;
如果您可以进一步获取登录和注册行为的上下文,例如登录之前访问了哪些页面以及登录之后访问了哪些页面,则可以从访问行为轨迹中添加更多分析维度,例如页面停留时间,是否存在“必须访问的页面”等等.
如果还可以获取用户的操作行为数据,例如鼠标的移动轨迹,键盘输入,则可以从操作过程中进一步增加分析范围,例如输入密码时是否存在多个输入删除?帐户密码是否直接复制并粘贴?
2建立标准的日志格式:
在确认可以获取哪些数据之后,我们必须开始建立标准的日志格式.
必须为普通登录,注册,下订单,修改密码,绑定凭证修改等提供标准的日志格式,并充分考虑字段命名的统一性,例如密码名称和用户名字段. 名称在不同的日志中不一致,因此在后续分析和指定策略时会遇到很多麻烦.
3收到的数据质量:
通常,风险控制所关心的信息(例如IP地址,UserAgent,引荐来源网址等)并不在意,但是缺少此信息可能会导致许多策略无法实施,因此在采集时信息,您必须有明确的信息. 如果您在信息列表上有所妥协,则会因返工而受到欢迎,以使其成为R&D plus.
更常见的是需要用户的访问IP,并且获得的IP地址是Intranet的服务器IP;或用户名是必需的,并因此传递UID. 这需要大量的沟通和确认工作. 一旦发现数据在线后不正确,更改数据也将视而不见.
有两种获取数据的方法: 主动和被动:
1种主动方式
活跃的方法是进入数据库并登录读取.
此方法的实时性能很差,基本上该采取什么方法,添加信息比较困难,但是它不需要太多的研究和开发,并且适合于您自己想做的情况.
当然,一些更成熟的公司拥有自己的消息总线,并且风险控制可以获取实时订阅信息,然后将其用作分析的数据源,但这通常是少数;
2被动方式
被动方式是为研发提供接口,使企业可以按照格式标准来发送消息.
这种合作期很长,但是可以根据标准获得高质量的信息,因此这是建立风险控制系统的相对普遍的方法.
踩坑
1号坑
如果将消息作为多个数据源,则必须考虑消息的时间顺序:
例如,登录日志是从公共服务发送的,access_log是从网页访问获得的,而用户操作行为数据是从页面JS或SDK发送的,则这三个时间不一致.
必须在确认所有消息均到位后进行分析和判断. 否则,如果实时策略认为登录时必须在页面上单击键盘,并且两个数据放置的时间不一致,则可能会发生大量错误并引发事故.
2号坑:
必须定期监视所采集数据的质量-
由于技术架构调整,代码更新和其他奇怪的原因,采集的数据可能不准确. 如果没有及时找到,可能会导致随后的一系列分析过程出错.
3号坑
尽可能为采集点选择一个稳定的业务点,例如采集登录日志,一次将其采集到公共服务中,如果以后出现问题,则仅查找一个点.
如果您去前端从Web,移动设备和其他调用登录服务的站点采集数据,则在出现问题时,需要更改的工作将成倍增加,并且在某些情况下新业务点的日志无法覆盖.
4号坑:
关于技术选择:
消息队列是必需的. 静态只能处理业务日志. 例如,登录是每秒最多几次的类型. 如果要采集页面访问行为,例如每秒数千条消息,则必须使用队列.
对于开源,可以考虑使用RabbitMQ或Kafka,并且稳定性非常好.
坑5:
关于日志存储:
ELK是一个很好的选择,它为后续的分析平台提供基本的查询功能.
结论
信息采集通常是实施风险控制中最困难的环节,但它也是最重要的环节. 覆盖范围,质量和及时性都决定了项目的成败.
由于沟通的压力,通常会有更多的妥协,这给以后风险控制系统的构建带来了隐患. 实际上,很难在文章中描述细节.
如果您在这方面遇到困难,请留言并与我们联系. 如果您对下一个内容感兴趣,请分享并鼓励编辑. 我们将尽快给出后续章节.
作者简介
刘明,祁安科技联合创始人,首席产品技术官
超过6年的风险控制和产品相关经验,曾在网易工作,负责《魔兽世界》中国帐户系统的安全性. 现在,他领导祁安互联网业务的风险控制团队,为客户提供包括明星产品Warden和RED.Q在内的风险控制服务.