前言:在业务场景中,企业的安全团队通常将验证码作为降低业务受损风险的方法,以减少撞库盗号、虚假注册、刷量作弊、信息盗窃、薅羊毛等风险事件发生的可能性。
今天将通过验证码在极验十周年特别活动的实际应用,探讨验证码在业务风控中的意义。
在十月份的极验十周年活动中,我们模拟电商的营销活动营造了业务场景遭受机器攻击的真实事件。此次活动,机器人一共参与了118.39万次抽卡,通过机器作弊累计领取了7811份爱奇艺月会员。若把这笔投入换算到大型的运营活动,企业业务或会因此造成23.43万的金额损失。
机器与人类用户领奖情况
以10月27日在领取奖励场景部署验证码为分界线,我们将整个活动分成第一阶段和第二阶段,在未配置验证码的第一阶段机器人成功领走了6081份奖励;不过在第二阶段,验证码发挥了拦截异常账户的作用,成功识别了风险账号并执行风控策略。根据数据统计,本次活动通过验证码识别到的异常账户有3464个。那么,在这种业务场景下,验证码是如何识别出风险账号的?
此次活动使用的验证码为极验行为式验证码,这种验证码基于生物行为特征利用人工智能深度学习对验证过程中产生的行为数据进行高维分析,发现真实人类用户与机器行为模式与行为特征的差异,精准地区分该场景下的人机。
极验交互安全实验室通过对破解平台的跟踪分析和相关安全产品的逆向研究发现,黑产破解验证码主要依靠模拟器破解和接口破解两种方式。
模拟器破解:通过各种自动化测试工具,例如 Selenium 操作 chromium 内核实现自动化的拖动、点击等操作;
接口破解:利用接口程序破解正确的关键参数,从而对验证码进行破解。由于接口破解需要对前端 JS 进行逆向还原,同时需要完全理清参数生成的逻辑,相对模拟器破解的技术门槛与实现成本都更高。
模拟器破解和接口破解是进行破解过程自动化的两种技术路径,但是无论使用哪一种,都还必须通过人工、穷举图片、AI识别等方式获得验证答案,然后生成尽可能真实的行为轨迹。轨迹的自动化生成方式包括:
函数生成:通过编写函数,自动生成具有特定行为模式的轨迹数据,机器特征相对明显。
轨迹重放:通过各种途径,积累不同类型、长度的真实轨迹样本,根据答案适配进行轨迹数据的重复投递。
基于这些,验证码可以通过以下三个模型进行异常识别:
CNN 模型:全称为卷积神经网络模型,从海量数据库中自动学习机器轨迹特征,进行人机轨迹实时区分,封禁异常风险轨迹。
Cluster 模型:因函数生成的轨迹在特征空间上极易产生聚集模式,动态聚类模型通过这种行为模式的聚集自动化地发现新的变种机器数据。聚类模型通过将数据在高维特征空间中进行低维映射,实时计算当前一段时间内的数据在低维空间上的概率分布,如果某个区域的概率高于阈值,则对于新的落到此区域的轨迹数据进行封禁处理。
Hash模型:哈希模型将数据在高维特征空间中进行哈希编码,每条真实轨迹都有其对应的唯一一条哈希编码。当黑产尝试通过重放轨迹,或生成随机轨迹库破解验证时,轨迹会产生哈希碰撞,从而暴露机器特征。
面对机器的入侵,验证码可以发挥实时防御作用,即机器需要在相应场景回答出正确的答案才能进行下一步操作,在本次活动中为通过验证领取奖励,这样一来便可以实时拦截机器,减少网站、软件或小程序内的异常机器用户,降低业务受损风险。
除此以外,若出现黑产在攻击过程中通过机器学习升级了入侵手段的情况,验证码也可以通过动态变化对此进行科学有效地防御,如前端 JS 定期混淆变换、前端动态参数定期变化、全网风险库会定期更新、灵活变更参数加密算法等。不过在现有的验证码中,只有极验行为验4.0可以做到这一点。
譬如,在验证码的防护下,该活动27日与28日的领奖数量与未配置验证码的26日相比都有明显下降,但29日领奖数据略有上升,根据与黑产博弈长达十年的丰富经验,我们判断黑产此时已通过机器学习升级了攻击手段。
随即,我们升级验证模型策略,面对有风险的请求,验证AI大脑会自动强化对抗策略,如:动态切换验证形式、自动更新视觉模型等。动态变化的验证码模型给黑产带来极大的挑战,增加了破解成本和时间,拦截能力提升,所以我们可以清楚地看到活动最后两天的机器数再次呈下降趋势。
时至今日,黑产利用机器攻击的手段更加多样化,通过以上真实案例可以看出验证码在风控中具有以下实际意义:
1)辅助企业做出风险判别:验证码收集到的行为数据可有效丰富风控系统的信息采集维度,为最终判别提供更多样的视角和依据。比如,滑动拼图验证可以收集到用户滑动轨迹,图片识别验证可以收集用户鼠标点击事件。
2)提高黑产攻击难度:验证码作为必备组件部署在登录、找回密码、下单、评论发帖等关键业务的入口处,可以有效防止撞库、暴力猜解等攻击,验证码的部署提高了黑产的攻击难度。
3)处置恶意流量:除了以上的直接意义,当前众多互联网企业已经或正在致力于结合实际业务情况,构建自己的风控系统。在风控系统判定结果的前提下,可以结合不同难度级别的验证码进行处理,提升用户体验,降低误判。