最近开始学习风控,字面简单理解就是风险控制。
为什么需要做风控,最近看了一本书上讲说,之所以又黑产的存在是因为有利益的存在,没有利益就不会有黑产黑客的存在,也就不存在风险问题。
没有做安全之前,我是不大会思考这些问题的,但是现在越来越发现这句话的正确性。
甚至在日常生活中我想要尝试去破解一个东西,也是因为有目的,我需要使用,或者是我不想要掏钱,我才会尝试破解,不然我没有必要去浪费时间和精力去做这件事情。
只要有利益就会有正常思维流程之外的东西,其实风控包括安全评审等等对我而言最大的问题是打破开发固有的逻辑思维或者说线性思维,去跳过这些更加细致和反向的思维去获取自己的所需。
当遇到需要解决的风控问题时,一般会主要从以下两个方向去分别思考和解决。
第一个是基于业务流程,第二个是基于治理流程。
1. 基于业务流程的风控治理方法
在介绍这种方法之前,需要普及两个前提:
1. 如果一个用户是黑用户,那么他在所有的业务流程中产生某种行为的目的极大概率上是为了提升最终获利,那么他在每一个业务节点上产生的行为都大概率是异常的。
2. 我们无法指望在某一个业务节点上解决所有的安全问题,安全问题不可能一次解决
所以基于业务流程去思考风控治理的时候,我们首先要不仅仅是正常的流程图,还要绘制出来完整的用户行为路径。
绘制用户行为路径的目的是摸清每一个可能产生异常行为的业务位置,并且通过每一个位置的分析去逐步打击最终实现治理效果。
比如以招聘信息的发布为例,我们可以绘制出这样路径:
根据这个路径我们一般会产生这样的解决方案:
1. 当用户只产生流量没有实际userid产生时,分析流量分布和浏览行为,提取异常数据流入注册环节作为辅助数据。
2. 当用户注册时,分析这次注册是否为正常注册,如果产生批量注册、养号等异常行为,针对账户或相关资源进行高危标记。如果判断不了,数据留存转入登录环节进行判断。
3. 当用户登录时,判断登录行为是否异常,是否是撞库、爆破、异常环境等。如果是,核验账号身份,并且做出标记流转至发布环节判断。
4. 当用户发布时,判断发布行为和内容两部分是否异常。如果异常则阻止发布。并且将数据同步至全部环节作为辅助
5. 当产生申诉投诉时,回归策略进行相应优化并且妥善处理相关异议。将确认的数据同步至全部环节作为辅助。
可以看到按照这种方法去思考,我们没有在一个业务环节中去解决所有的安全问题,而是将用户的行为进行拆分,在每一个业务节点都努力将问题率控制在最低,这样就达到了各个击破的效果。
这种方法在黑产每一个动作上都产生了影响,因为黑产追求高效,有不同的团队分工,所以黑产在行为上不是连贯的而是分离的,所以黑产想完全消除掉这种影响成本非常巨大。
因为每个环节都进行数据同步的,任何一个环节都可标注异常信息和行为,就算消除他们也只能消除自己的当前环节的,而无法去消除别的环节的标注等等。
而且大部分黑产只是按照一套固有流程去操作,因为不会是真正人人精通计算机,能够每个人都去跨环节爆破。这样也就能产生比较好的风控效果。
下面是基于这个方法的一个总结和核心注意事项:
1. 每一个关键的业务节点,都应尽可能有效的完成风险控制,想出可能出现的异常和处理应对策略和通用策略,不能将所有的风控问题寄托在一个业务节点的风控治理中
2. 每个业务节点的数据串联是重中之重,当前业务节点产生的所有有效结论,都应该流入下一个业务节点作为辅助特征。下游节点产生的确切结论,也应反哺上游判断,形成回溯。
3. 关于异常行为的处理方法:
(1) 离获利越远的业务节点,越不应该做直接阻断和强对抗。
比如在注册环节直接拦截注册行为,我们就相当于为黑产提供了试错机制,只要一个账户注册能突破现有策略,那么这个业务节点的风控就相当于完全沦陷。
针对这样的业务风控,我们需要做的是做出有效的标记并完成流转。让阻断、封禁、删帖这种类似的处理方法在最后的转化关键节点中完成,这样会给将黑产作弊或攻击的成本提升N倍。
(2) 各种挑战方式,比如验证码等,如不能明确得出风险结论,则用来采集数据作为后续的风控辅助数据。
(3) 因为黑产分工在行为路径上分离的特点,可以不定时的确认用户在各个业务环节中的身份一致性。
(4) 处理方法应该有轻有重,去适用各种策略准召率的情况,处理要尽量做到可以限制每一个关键业务环节的权限。
4. 尽量做到有限资源被明确定性之后,一切业务环节都参照相关定性去完善识别能力。
2. 基于治理流程的风控思考方法
当我们基于治理流程去思考的时候,我们需要介绍下在任何一个需要风控的业务场景中,面对风险我们的一般的治理流程:
如果当我们只考虑某一个具体的风控业务场景时,我们最好的方法就是通过去不断提升每一个治理环节的效率去提升整体风控的效率,风控的效率提升了,我们就可以在有限的时间内做出更多有效的决策用于黑产对抗,频率越快给黑产带来的成本增加越高。
所以基于这种思考方法,我们要做的就是针对每一个风控环节制定产品解决方案,将效率做到极致。
风险发现环节:发现什么、怎么发现、怎么快速发现是核心痛点
1. 发现什么:什么是我们要解决的安全或风控问题,就发现什么
1) 安全漏洞
2) 垃圾信息
3) 重大舆情
4) 黑产资源
5) 异常行为
2. 怎么发现:通过什么样的手段来发现风险
1) SRC、漏洞扫描器(漏洞)
2) 聚类分析、信息巡检抽检(垃圾信息)
3) 舆情抓取分析(重大舆情)
4) IP画像、手机号画像(黑产资源)
5) 规则的设定(异常行为)
5) 一些第三方提供的威胁感知能力
3. 怎么快速发现:整个监测预警机制的搭建
风险分析环节:如何快速分析产生决策是核心痛点。
对应着一些核心能力:智能分析平台、风控引擎、算法孵化平台
4.风险处置环节:如何处置、处置哪些。
如何处置:
我们将用户所有的权益进行总结,以电商网站为例,用户可以拥有:发布的权益、浏览的权益、账户使用的权益、推广分享宣传的权益等,在每一个关键的权益上都需要有着灵活的处理方法。
处置哪些:
所有资源类的唯一性数据都是处置的范围,处置的时间范围应该覆盖过去和未来,当一个资源被定性成黑产,那么相关的所有资源都会被处理,最大程度的提升黑产对抗成本。
效果回归:通过对已产生效果的策略生命周期进行监控,随时关注在业务中的准召率,并及时作出优化
以上就是在风控业务中常用的两个切入点,不同的思考方法适合不同的风控阶段。
比如对于风控初期的业务,到处救火是常态,可能基于业务流程的思考方法更加适合,这样就可以从整体上去思考快速建立起一套比较有效的风控体系。
如果对于风控稳定期的业务,可能更加追求稳定和可控,基于治理流程的思考方法可以帮助业务进一步的提升风控能力,让每一步产品动作都会产生价值沉淀,每一步的沉淀都会让风控这件事情变得更加得心应手。
就像知识体系沉淀,大数据的积累,后期来讲,数据沉淀才是风控的重点。
3. 基本名词释义
风控=风控场景+风控规则+风控参数+风控措施+风控反馈
3.1. 风控场景
风控场景,定义了哪一个用户场景需要进行相应的风控。
这需要了解业务的全流程是怎样的,如:用户如何注册、认证、使用、邀请等,划分为一个个场景,思考哪个场景存在哪些可能。
每一个场景,风控的点不同。如:注册时,可能产生的风险有:重复获取短信验证码、用户处在高危地区、批量注册等等。
通过这样的划分和定义,弄明白自己需要在哪些环境和哪些点上做风控,做到有的放矢。
3.2. 风控规则
风控规则,就是对于每个场景,定义一些规则,来进行相应的控制,“没有规则,不成方圆”。
有了场景之后,针对各个场景,提出不同的规则。如:注册,可以提出同一个手机号在多少分钟内获取验证码的条数;如:提现,可以提现单笔提现上限或者单日提现上限这样的规则。
对于规则这块,在我个人认为,在有条件的情况下,对规则进行分级。
这是因为,在某些场景下,如用户提现,同一条规则,如手工提现单笔上限,不同的参数下,可能会触发不同的风控措施,通过分级的话。
在这些场景比较复杂的情况下,可以做到更细的控制,将会更加灵活。
3.3. 风控参数
风控参数,定义每一个风控规则的具体数值。通过相应的数值的控制,来做到详细的控制,区分出不同的人群,采取不一样的措施。
如:注册,同一个手机号在10分钟内获取验证码的条数为3条。这里条数和分钟数,都可以是参数。再比如,提现时单笔上限为10000元。这里的10000,就是参数。
因为公司每个时候所处的阶段不同,有时候需要提高用户的活跃度或者交易量,有时候又需要控制支出及降低损失等。
同时,所处的外部环境经常发生变化,像互联网金融行业的话,国家经常会出政策,这些都经常需要调整相应的风控参数,因此参数这种东西需要做成后台可设置的,便于随时调整。
3.4. 风控措施
风控措施,即针对触发了风控规则的行为,需要采取的措施。风控措施设置的好坏,会直接影响到用户体验。
因为许多风控规则和参数,用户是无法直接得知的,只有被采取了相应的措施之后,才会感知。而措施制定的不好,大大影响了用户的相应行为的话,引起用户不满和投诉是常会发生的。
所以风控措施需要制定的合理,相应的提示或者引导要更加人性化,尽量避免用户的负面情绪。
正如上面风控规则里说的,可以有分级的规则,那么措施也是一样,针对不同级别的规则,采取不同的措施。
在这里,我分为两类:
不同规则下的不同措施;
同一规则下不同等级的措施。
不同规则下的不同措施,如注册时同一个手机号10分钟内获取的短信数量已达到3条,再获取时,禁止获取,并进行相应的提示10分钟后再获取。
又比如:注册时,禁止某某区域的人入网,触发了,提示XX地区不允许入网。
同一规则下不同等级的措施,如提现时,单笔提现达到5000元,触发较轻微的规则,风控措施仅仅是提醒后台工作人员,追踪这个用户的行为。
但是单笔提现达到10000元时,触发更高一级的规则,风控措施就是禁止用户提现了。
3.5. 风控反馈
风控反馈,即制定了相应的风控体系,在运行之后,从风险事故率和用户满意率或者投诉率等方面的情况,来综合评估现有的风控体系。是否满足,哪些需要进行调整优化之类的。
风控体系的建设很多时候是在业务上线时,就先设计了一套,这时候的很多规则参数措施之类的,都是根据自己的经验来设计的,缺少数据的支持。
上线之后,收集到的数据越来越多,用户反馈也越来越多,相应的风险事件也有了,那么就可以看出现有的这套体系,是否足够支撑,还是需要进行相应的调整,需要不断的进行改进提高。
如:在支付场景中,一开始只限制了单卡的限额,没有区分信用卡还是借记卡,后续运营发现有大量的借记卡大额刷卡,这时候有可能就是洗钱了,需要针对借记卡调整风控措施。
只有不断的循环下去,风控体系才会越来越完善,才可以更好地适应各种场景和各种业务。
总结
所以,在我个人认为,风控=风控场景+风控规则+风控参数+风控措施+风控反馈。一个好的风控体系,需要在这五个点上都做好。其中风控措施最影响用户体验,用户的感受是最直观的。
风控规则和风控参数是最复杂的,需要根据大量的数据,和不同的模型总结出适用于不同业务的规则及参数。
风控场景是最需要全面考虑的,要充分考虑到每个用户场景,才不会有一些遗漏。风控反馈是最持续的,不是一蹴而就,而是不断更新迭代,再上一层。
综合上面说的,再总结下例子就是:在用户注册环节,获取短信验证码这个点上,为了防止恶意获取短信,造成短信系统大量输出,需要制定同一个手机号在固定分钟内可以获取短信的数量,其中固定分钟为10分钟,条数为3条(即同一个手机号在10分钟内可以获取短信的数量为3条)。
当同一个手机号获取3条了时,再次获取,不再发送短信,同时进行相应的提示:短信获取太过频繁,请在10分钟后再获取短信。经过大量前端用户反馈后,以及后端的短信发送成功率和注册流程的优化,发现10分钟3条限制太宽,于是优化为5分钟3条。
上面的例子,就是个人认为的一个较为完整的风控链条了。而风控体系,就是在大量的风控链条上组成,正如,形状是由多个点线面构成的,达到更加环环相扣,更起风控作用。