前言
我们纵观互联网发展史,验证码诞生初期,正是web 2.0方兴未艾之时。web 2.0打开了用户入口,同时也给机器程序开了一个通道。黑产通过恶意程序对平台进行批量注册、破解密码、刷票、论坛灌水等,严重影响平台的正常运营。验证码的诞生正是为了解决恶意机器流量而诞生的,对自动化的攻击起到良好的防御效果。随着互联网技术发展,尤其像云计算、机器学习、数据挖掘、OCR识别等技术,使得黑产的攻击方式升级,而成本和难度却在降低,迫使验证码防御技术的迭代升级,以便有效对抗黑产的自动化攻击。验证码的进化之路其实是持续对抗黑产攻击的迭代历程。

阶段一:自动化攻击脚本使机器流量泛滥,图形验证码诞生
通过具备JS解析能力的python、Node.js等基础工具编写自动化攻击脚本,例如电子邮件垃圾邮件是最简单的网络犯罪之一,攻击者使用自动化软件生成电子邮件地址并发送低级别的骗局,例如钓鱼木马,伪造的礼品券等,至少已有数百万的受害者。
最先想要解决这一问题的是雅虎,作为互联网时代早期最重要的免费邮件提供商,他们一方面要解决用户们每天遇到的数以百计的垃圾邮件轰炸,另一方面,雅虎提供的免费邮箱,恰恰又是垃圾邮件的最爱,耗费无数资源所阻止的垃圾邮件,都来自于自己的服务器。这让雅虎开始认真考虑如何解决恶意机器流量问题。他们找到一位当时刚刚21岁的天才——Luis von Ahn。而Luis Von Ahn给出的方案就是图形验证码。当时,计算机图像识别技术还未成熟,对于经过扭曲、粘连等文字,无法辨识。而人类却可以轻松认出这些文字。这是一个简单而巧妙的设计,计算机先是产生一个随机的字符串,然后用程序把这个字符串的图像进行随机的污染,扭曲,再显示给显示器前的人或者机器。凡是能够辨识这些字符的,即为人类。图形验证码被验证有效后,得到了迅速推广,各大平台纷纷上线图形验证码。

阶段二:黑产利用视觉识别技术破解图形验证码,行为验证码诞生
随着计算机视觉技术的发展,通过预处理、分割、机器算法等方式,图形验证码可以被OCR技术轻松识别。同时,主流浏览器的开放性使得黑产通过脚本驱动类的工具进行自动化攻击,例如,大家比较熟悉的自动化测试工具Selenium/WebDriver,可以基于浏览器完成对Web页面的自动化操控。黑产通过整合不同类型的资源完成自动化攻击,例如专门提供手机号码的料商、接码平台、打码平台、设备资源提供商及管理平台(群控、云控、箱控等)、秒拨IP等资源。




此时,图形验证码已无法起到良好的防御效果,通过OCR技术、自动化的黑产工具可以轻松被绕过。行为验证码,将机器学习运用在验证安全领域,通过对人和机器行为特征持续刻画,观察特征差异,区分是否机器操作,不再使用原有的“问题--答案”方式。体验良好的滑动验证码被广泛接受。
阶段三:模拟真人行为数据进行自动化攻击,智能验证码诞生
黑产不断升级自动化攻击技术,提供模拟真人点击/操控工具,通过触发鼠标/键盘/触控等事件,或者通过代码注入等方式,完成界面控件的输入、点击、移动等操作。涉及的开发难度较低,目前是黑灰产较为喜欢的自动化攻击方式。例如,按键精灵、Auto.js等模拟真人行为的操作工具。


单点的防御已经无法满足业务安全要求,需要从多个维度构建防御体系。智能验证码,通过收集用户行为特征、设备等多个维度的数据,基于生物行为特征构建AI模型持续学习,交叉识别黑产特征,有效拦截自动化攻击。Google的验证码经历几次换代升级,从最初的文本输入到自适应风险分析,通过对访问者行为评估危险程度,对于可疑流量设置额外的挑战,对于符合人类行为的流量则无需通过额外的挑战,这样提升用户体验,摒弃了让用户解决视觉谜题或通过其他挑战才可以登录的麻烦。
阶段四:血汗工厂攻击,真人作弊
由于企业采用多维度的防护及算法模型,黑产开始采用最朴实的真人作弊方式。黑产通过线上群组和作弊APP完成分工协作。据最新的报告统计,真人作弊攻击发展迅猛,真人作弊APP的数量增长了40倍以上。例如积分墙APP,用户通过完成相应的任务(下载、注册、投票、助力砍价、阅读分享等)获得奖励。此时,业务安全不仅需要Captcha产品,还需要结合其它反欺诈系统。
总结

黑产的高度自动化攻击是降本增效的必经之路,由于自动化测试工具和技术被黑产滥用,极大的提高了黑产的开发和攻击效率。这对于业务厂商来讲,无疑将面临更大的挑战。人机识别的对抗是一个持续升级和演进的过程,不管是对于业务方来讲,还是对于黑灰产来讲,双方都没有绝对的银弹。在未来的人机对抗中,企业将会面临越来越多的自动化攻击。