当时间来到2012年, 随着以深度学习为代表的人工智能技术的飞速发展,传统字符验证码已经陷入了死胡同。源于斯坦福大学的一篇研究报告显示,99%的字符验证码都可以被轻而易举的破解。彼时,国外最成功的reCAPTCHA 通过创新的众包验证的方式正在给英文经典书籍进行数字化,但仍然是很传统的字符验证码,也就是说,全球范围内在存在广泛痛点但非常细分的验证码领域依然没有出现一个真正做到安全与体验兼顾的真正划时代的产品。
图片来源:斯坦福大学2011年报告
一、行为验证的设想
基于上述背景的思考,极验创始团队用创新融合的思维研究了验证码的本质,认为在深度学习技术发展的趋势之下,传统字符验证码是毫无疑义需要摈弃的,而且考虑到深度学习等AI技术将会成为机器破解的强大能力,在验证码安全能力底层上必须也是构建于AI内核。只有用AI来对抗可能的AI破解,才能保证所设计的验证产品的持久安全。
既然字符验证码需要摈弃,那么应该设计一种怎样的验证呢,而且还能打造一个AI内核的安全模型?极验创始团队分析了传统字符验证码的本质,即它其实是一种依赖键盘输入的知识答案型验证。我们知道在计算机时代,人与计算机进行交互的方式主要就是通过键盘和鼠标,既然传统字符验证码是依赖键盘输入的一种答案型验证,那么利用鼠标所代表的信息则可能完全跳出这种答案型思维。接下来,团队分析鼠标信息由于是人的手通过肌肉来操作的,本质上蕴含了人类的生物行为特征,用这些特征来构建人与机器区分的安全模型是完全可行的,而且完全可以通过AI来实现。因此,能不能设计一种验证码,让人用鼠标去完成一个任务,这个任务看起来可能比较简单,但是完成任务过程中的鼠标行为却反映了访问者作为真人的特征。基于这样一个设想,极验将任何人类都能完成的拖动拼图的过程作为了行为式验证的创始形式,如下图所示:
图片来源:极验2012年设计的行为验证草图
当然,其实早在提出行为式验证时,极验创始团队就进行了深入本质的思考,因此可以看到早在2012年极验申请的行为式验证的专利中,极验就对行为验证进行了准确的概念定义,而不仅仅限于拖动滑块拼图这一种,比如跟着绘制五角星等。
二、行为验证的实现
即使有了前面对行为验证充分详细的设想,现实中也不可能一次性就打造出完美的行为验证产品。因此,在极验的发展过程中也是遵循精益创业快速迭代的思想不断去推动行为验证的实现,最终达到设想的目标。
2.1 Demo实现
产品的第一步,就是要实现行为验证的滑动拼图形式,并且能够采集到行为数据便于后续的判断。在这一阶段,主要完成的就是作为web服务的前端和后台交互通讯流程,以及重点在前端对行为验证形式的实现。经过几个月的打磨,极验最早就在武汉大学BBS珞珈山水上线,一出世便让众多同学感到惊艳。从最开始要对丑陋难以辨认的字符进行睁大眼睛的识别输入 ,到轻松惬意的通过完成一个水墨画的拼图就能够顺利完成验证,这种转变无疑是非常巨大的。
图片来源:2012年底,极验行为验证在武大珞珈山水BBS上线
2.2 机器学习模型的验证
在上线了最初的Demo产品后,极致的用户体验和审美已经得到了充分的验证。因此接下来的重点工作就要专注于是否可以用行为特征来构建安全模型。
根据极验定义的行为验证的概念,人在拖动鼠标的行为特征中蕴含着最本质的生物特征,它是能区分人和机器最本质的信息。于是极验创始团队根据行为特征的一些论文以及设想,构建了如拖动速度、加速度、速度的均匀度、纵轴偏移度等初始行为特征,并尝试构建分类的模型。由于Demo上线时极验团队能够获得的都是人类拖动行为的白样本数据,没有黑样本,因此团队成员发挥极客精神进行自我攻防,通过编写各种各样的机器拖动脚本来实现自动破解攻击,从而得到自己产生的第一批的黑样本数据。通过前面构建的特征和可视化的分析,就能发现比较普遍的攻击行为的特征数据与正常人类存在较高的可区分度,这样就基本上验证了极验团队通过行为特征构建人机区分模型的可行性。
有了可行性的初步验证,还得验证是否真正可以构建人机区分的机器学习模型。同样采用精益的思想,团队早期直接采用 SPSS 统计分析软件,用经典的决策树模型来进行训练,模型构建成功的结果预示着极验实现了真正有着行为模型的行为式验证。
2.3 机器学习工程化
在验证了机器学习模型的可行性之后,团队开始对验证模型进行工程化实现,不再依托于SPSS软件来建模。由于团队采用的Python技术栈,开始直接用 sk-learn 的 Python 机器学习库进行工程化,运转顺畅之后,为了整个提升整体性能,对模型训练和预测的关键代码进行原生实现和优化,从而一个高效运转的机器学习模型就顺利构建。
随着行为验证这种创新的验证产品越来越受欢迎,极验也开始直面越来越多黑灰产的攻击。简单的决策树模型已经不能满足要求,因此很快极验创始团队从决策树替换到更高级的机器学习模型包括随机森林和SVM,并且不断去研发新的行为特征。因而,面对实际业务的挑战,依靠成熟的传统机器学习的工程流程不断地去优化模型,持续提高安全防御能力。
2.4 真正的 AI 实现
基于对行为特征的挖掘研究以及行为模型的不断实验优化,行为式验证的安全能力越来越强。但随着越来越多的客户包括各个行业的标杆客户都选择了极验作为他们的验证安全解决产品,极验所面临的黑产攻击压力也呈现快速增长。传统的特征分析工程以及这套机器学习流程太依赖人工经验的弊端还是凸显出来,因此只有真正实现基于端到端的深度学习AI模型,才能保证最终的持久安全。
然而,行为验证所采集的轨迹数据对流行的深度技术技术而言是一种全新的输入,它的数据长度不固定,而且包含坐标和时间两种完全不同的维度,它呈现某种序列数据的模式,但是跟语音文本这种序列数据又有很大的差别,这样的数据对采用深度学习技术而言无疑是一种巨大的挑战。但是带着打造真AI内核行为验证的信念,团队采用各种创新的方法,最终将最强大的广泛应用于图像领域的CNN模型成功应用到行为轨迹数据上,并且不断发散思考,带着对验证安全性“三防”体系的认知,构建了完备的分类模型、聚类模型与Hash模型。于是,随着真AI内核行为验证的实现,客户越多,黑产攻击越多,用于训练AI模型的黑白样本数据就越多,行为验证的AI内核的安全能力就越强,从而极验就能做到持久的自动化安全更新。
结语
行为式验证就在这样一种精益迭代,不断验证不断完善的路径中逐渐达到了最初的设想。横空出世的行为验证在对抗黑灰产的验证攻击上,像一个全新的物种,呈现了降维打击的效果。在持久的安全碰撞中,覆盖广泛的客户形成了安全的协同效应,由于其真AI的安全内核,越多的攻击数据在AI面前成为安全能力提升的“数据输入”,让AI模型能力更强大,是一种真正的智能验证。总之,从2012年开始,传统字符验证码面临被瓦解的危局之下,极验所创造的行为验证成为验证安全领域最为创新和成功的产品,甚至称得上唯一可行的继字符验证码之后的下一代验证技术,因而这次验证码的革命也被称为行为革命。
从时间维度来看,行为革命发展至今也已快十年,后续会如何演变呢,欢迎关注下一期:「验证码与人工智能的激荡二十年:现状、思考与展望」