机器学习在小米帐号风控中的应用
随着同黑产对抗的升级,对己方数据进行挖掘成为防守一方的重要武器,机器学习也随之成为防守方的制胜法宝。
机器学习在风控中的应用同一般的应用场景有所不同,主要体现在以下几个方面:
①标注标签成本较高,导致标签较少甚至无标签
②坏 人会主动改进作弊策略,导致原有模型失效
③需要实时或近实时的返回结果
④场景多种多样:撞库盗号、黄牛领券、积分墙、反爬虫等
但是考虑到线上情况的复杂性,我们希望给样本的异常程度进行打分,以便结合历史数据进行策略回溯,灵活的确定阈值,从而达到最佳准召,因此最终会输出异常得分,从而达到量化异常的效果:
最终我们实现了对异常的量化,从而实现了对线上规则的改进,这样一来,对规则的维护变成了对特征的维护。只要能够产生特征及同模型相关的特征组合,就可以得到相应的异常量化模型,从而实现了灵活的线上规则管理。同原来的规则拦截相比,模型的覆盖率达到了规则拦截的80%+,召回率则提升了70%+。
二、无感知验证码
既然验证码又不能防机器,又阻碍了正常用户,那是否有更加用户友好的手段可以代替验证码呢?这里我们引入了人机识别,采用手机传感器在用户无感知的情况下完成人机区分。
智能手机中存在多类传感器,如加速度传感器、角速度传感器(陀螺仪)、重力传感器、磁场传感器等,在手机运行的每时每刻,这些传感器都在以成百上千Hz的频率将其收集到的X/Y/Z轴数据传递给手机的操作系统。
那么这些传感器数据是否足以区分人/机呢?我们假定坏人可以通过操纵手机API或外力让手机产生物理行为从而产生运动状态的传感器数据,对坏人而言可选的操作包括:静止时、手机震动时和手机置于摇摆装置中。我们分别收集了这几个场景产生的传感器数据,可以对以下4张图片做肉眼的对比:
图中从上至下依次对应的操作是:手机静止、手机震动、手机摇摆和正常点击操作。
从上图可以看出,静止时传感器仍然存在轻微的抖动,震动时的传感器的波动更有规律性,摇摆中的传感器数据像极了正弦波,而正常的点击操作由于手指的点触操作会带来加速度的陡升/陡降。
从这里可以看出,要区分传感器数据是否由人类产生,更准确的说:某次滑动或点击的交互操作时否由当前传感器产生,正是很适合由机器学习来判断的二分类问题。
最终产出是人机识别模型,可以判断SDK采集的传感器数据是否由人类产生。从线上的拦截效果来看,整体准确率在97.3%,好人误拦率为1.8%。