腾讯QQ验证码十二年的技术变迁

一、腾讯验证码的诞生
当然,鹅厂也经历过没有验证码 的时代。这就得从十二年前那股疯狂的“挂太阳”热潮说起。如果是QQ老用户,那你一定记得那些年我们挂过的星星、月亮和太阳。伴随着这股热潮,网络上开始 出现一种特殊服务——代挂QQ,也就是代挂团伙为有需要的用户长时间登录QQ以提升等级,这就需要用户把帐号密码给到他们。
然而,这种黑产服务导致大量密码遭到泄漏,坏人手里掌握的密码资源哗啦啦多了起来,开始不断尝试盗号以获利。因此,QQ帐号开始频繁遭到坏人自动化程序的暴力破解。
面对来势汹汹的敌人,鹅厂急需新的对抗手法来拦住坏人疯狂进攻的步伐!于是,正如大家所见,QQ登录场景中的验证码应运而生,并有效打断了坏人自动机暴破的疯狂节奏。从那时起,验证码正式登上我们的历史舞台。
二、免验证码时代
同学们应该还记得,在2008 年之前,凡是在网页上登录QQ都得输入验证码。没错,当时的策略是“一视同仁”,给全员下发验证码。经过一段时间的摸索,团队开始意识到一个问题:验证码 只是一种手段,不是目的。设立验证码这道防线的初衷,是为了拦住“坏人”,而不是拦住“所有人”。
举个例子,你在一处别墅开了个盛大的公众派对。为了防止不怀好意的人趁机混进来,你请了保安在门口进行安检。可是,有没有必要对所有来客都进行安检呢?如果是认识多年的好友,或是常来你家串门的邻居呢?如果你全都同等对待,友谊的小船肯定说翻就翻。
因此,安全平台部联合即通登录 团队,开始尝试对那些明显是正常用户的行为免去下发验证码。也就是通过安全大数据的能力,自动区分机器与正常用户,向机器下发验证码拦截,对好人则免验证 码直接登录,以此提升用户体验。在腾讯,我们把这项平衡安全和体验的策略工作称之为“免验”。
i腾讯QQ验证码十二年的技术变迁0
如图,对可疑行为下发验证码。
在下发“免验”策略初期,只能免掉10%的验证码。随着数据积累和能力的提高,时至今日免验比例已达到90%以上,大大免去了正常用户辨别验证码的苦恼。直到现在,免验策略还在持续优化。
三、策略为王
1、大魔术师
当大部分的好人都不会遇到验证 码时,另一头,给坏人下发验证码的战场还在继续。进入2010年后,随着微博和团购的横空出世和快速发展,黑产从业者的可图之利增多,互联网黑产市场不断 扩张。作为绝大多数互联网业务的第一道安全防线,验证码的战场正式进入了一段破解与抗破解的持久博弈。
腾讯QQ验证码十二年的技术变迁1

如图,这是早期的密码暴力破解软件。
在很长一段时间内,为了避免被坏人的自动化程序识别,业界普遍把验证码设计得越来越复杂。长久下来,就形成了机器人和用户都看不懂的尴尬局面。
显然,把验证码“复杂化”这条 道路走不通,那怎么办?在长期研究坏人的作恶模式及利益链条后,我们发现坏人在破解验证码时存在一大死穴——时间。从一套新的验证码出现,到坏人成功破 解,再集成到自动化软件流入黑市,整个过程需要一个周期。那么,如果我们更新验证码的速度快于坏人的工作周期,问题不就迎刃而解了?
做个假设,第一天,网站上了验 证码A,这套验证码简单朴实、清晰可辨,简直就是那么多反人类验证码中的一股清流!坏人一瞅,这不是在藐视我的智商吗?于是废寝忘食连日研究,很快在第三 天时就研究出了破解方案。正当坏人得意洋洋准备投入使用时,殊不知在第二天时网站已换上了验证码B。这里面的制胜点就一个字,快!
基于这种对抗理念,在2011年7月,“魔术师”验证码诞生了。如同魔术师快得让人看不清的手法,魔术师验证码采用了高频的切换策略,使对抗形成了“敌方未破我先变”的局面。果然,敌人自动机大军的步伐被成功遏制,铩羽而归。

 

腾讯QQ验证码十二年的技术变迁2

如图,原有验证码 vs 魔术师验证码
2、猜你喜欢
如同超级英雄电影里一波又一波打不尽的反派一样,为了巨大的潜在利润,敌人永远不会消停。在“魔术师”换来了近一年的风平浪静后,我们遭遇了有史以来最为疯狂的一波进攻。
由于魔术师的字体库在现网已跑了一年,再加上图像识别技术的发展,坏人几乎已遍历研究。以前,只要验证码的字体一切换,破解率立马就会刷刷地往下掉。而现在,破解率仅小掉一下马上又反弹了。换字体策略已失效!曾经立下无数汗马功劳的魔术师验证码,如今成了一道马其诺防线。
敌人已经兵临城下,怎么办?经 过研究我们发现,任何一种自动机,对验证码的识别率都不可能达到100%,有验证成功的图片,肯定也有验证失败的图片。做个假设,某种自动机的破解率是 10%,也就是指在100张图片里,有90张无法识别。那么我们把这90张图片收集起来,每次都给它下发这些图片,10%的破解率会瞬间掉到0%。因为此 时,自动机已陷入了绕不开的死结。
根据这个思路,2013年元旦前,“猜你喜欢”验证码诞生了。“猜你喜欢”通过分析自动机行为特征,自动寻找、收集自动机的弱点,反复攻敌之弱。这可以说是对自动化破解的“致命一击”。
腾讯QQ验证码十二年的技术变迁3

如图,原有验证码 vs 猜你喜欢验证码
在体验上,“猜你喜欢”摆脱了 对图片复杂性的依赖,做到了“高清无码”,正常用户的识别率提高到了90%以上。在安全性上,防破解效果立竿见影,据团队监测,气急败坏的敌人连最后的 IM登录验证码都不来尝试破解了。“猜你喜欢”验证码以其强大的杀伤力,终于又换来了暂时的息战。
四、验证码的挑战
前面我们介绍的都是对抗自动机,然而随着验证码对抗战场越发激烈,黑产也推出验证码的杀手锏—打码平台,利用廉价的人工智能, 从设计原理上突破验证码。验证码(CAPTCHA)的英文全称就是全自动区分计算机和人类的图灵测试,对方是人,验证码就失效了。
腾讯QQ验证码十二年的技术变迁4
如图,打码平台的原理。
而让这个情况更糟糕的是打码和深度学习结合,打码平台和使用打码平台的开发者给自动机破解程序提供样本,通过神经网络学习,破解程序可以很快做到非常高的破解率。
正如外国学者Elie Bursztein等人所编著的论文(The End is Nigh: Generic Solving of Text-based CAPTCHAs),字符验证码终结将至。
五、新验证码时代
字符输入是我们最熟悉最常遇到的验证码,然而在打码平台和深度学习的结合下,字符验证码最终将会退出舞台。
腾讯QQ验证码十二年的技术变迁5

如图,12306识图验证码 vs 知乎倒立验证码
腾讯QQ验证码十二年的技术变迁6
如上图,Google的nocaptcha vs 极验、阿里滑动验证码
鹅厂从2013年开始尝试新型验证码,2013年的识图验证码。和12306验证码很像,当时的图片是设计师画的,最终因为图片资源难以满足自动机对抗要求的海量数量需求而暂时没推广。还有2014年第一版拼图验证码尝试。

腾讯QQ验证码十二年的技术变迁7
新时代验证码需要更大的舞台和更快的反应:摒弃了过去多年对字符的依赖,它可以快速支持和推广新型交互验证码。另外,用户在完成操作同时,前端会收集用户行为数据,通过机器学习,为线上策略输出更准确有效的策略。
腾讯QQ验证码十二年的技术变迁8

如图,几种新型验证码。
六、最后的话
在上世纪五十年代,人工智能之父阿兰?图灵设计出了图灵测试。在约半个世纪后,图灵测试的理念被做成最简单粗暴的形式——验证码,渗透到人们互联网生活的方方面面。然而,验证码是一个时代的产物,是一种治标不治本的速效手段。战术和战略的改变,才是终极解决方法。
可以预想,终有一天验证码会退出互联网的历史舞台。但现阶段,由于巨额潜在利润的驱动,不法之徒必定不会放弃对验证码的虎视眈眈。无论是过去、现在,亦或是不远的将来,这都注定是一场没有硝烟的血战。未来,我们拭目以待。

余下全文(1/3)
分享这篇文章:

请关注我们:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注