说起验证码,许多网友憋了一肚子火,有时输入半天都不对,极大的影响了登录体验。
不过这也不能怪设置验证码的软件,毕竟也是为了你的安全着想。未来,安全策略更加周全、新型技术解决登录身份验证等问题,可以预想,终有一天验证码会退出互联网的历史舞台。
日前,腾讯TEG安全平台部就验证码问题,结合腾讯的发展历史进行了来龙去脉的梳理,一起来了解下:
腾讯出现验证码,得从13年前那股疯狂的“挂太阳”热潮说起。
如果是QQ老用户,你一定记得那些年我们挂过的星星、月亮和太阳。伴随着这股热潮,网络上开始出现一种特殊服务——代挂QQ,也就是代挂团伙为有需要的用户长时间登录QQ以提升等级,这就需要用户把帐号密码给到他们。
当年的挂机软件
这个时候,坏人出现了。他们手里掌握的密码资源哗啦啦多了起来,并开始盗卖变现,还变本加厉,不断用机器高频的暴力破解,一个一个去试可能的密码。
于是,正如大家所见,QQ登录场景中的验证码应运而生,并有效打断了坏人自动机暴破的疯狂节奏。
从那时起,腾讯验证码正式登上历史舞台。在2008年之前,凡是在网页上登录QQ都得输入验证码。当时的策略是“一视同仁”,给所有用户下发验证码。
经过一段时间的摸索,团队开始意识到一个问题:验证码的初衷,是为了拦住“坏人”,而不是拦住“所有人”。因此,腾讯开始尝试对那些明显是正常用户的行为免去下发验证码。
也就是通过安全大数据的能力,自动区分机器与正常用户,向机器下发验证码拦截,对好人则免验证码直接登录,以此提升用户体验。
在腾讯,这项平衡安全和体验的策略工作称之为“免验”。在下发“免验”策略初期,只能免掉10%的验证码。
对可疑行为下发验证码
随着数据积累和能力的提升,免验比例也在不断提高,力求免去正常用户辨别验证码的苦恼。直到现在,免验策略还在持续优化。
电商、团购、互联网金融崛起,黑产从业者的可图之利增多,验证码的战场正式进入了一段破解与抗破解的持久博弈。
早期的密码暴力破解软件
业界普遍把验证码设计得越来越复杂。长久下来,就形成了机器人和用户都看不懂的尴尬局面。
显然,这条路是走不通的。
在长期的试错和斗争中,腾讯的研究人员发现坏人在破解验证码时存在一大死穴——时间。
从一套新的验证码出现,到坏人成功破解,再集成到自动化软件流入黑市,整个过程需要一个周期。那么,如果我们更新验证码的速度快于坏人的工作周期,问题不就迎刃而解了?
基于这种对抗理念,在2011年7月,“魔术师”验证码诞生了。如同魔术师快得让人看不清的手法,魔术师验证码采用了高频的切换策略,不停的更换字体,使对抗形成了“敌方未破我先变”的局面。
原有验证码 vs 魔术师验证码
果然,敌人自动机大军的步伐被成功遏制,铩羽而归。
字库都用枯竭了,还有啥办法?
但为了巨大的潜在利润,敌人永远不会消停。由于魔术师的字体库已经跑了一年,再加上图像识别技术的发展,坏人几乎遍历研究。
以前,只要验证码的字体一切换,破解率立马就会刷刷地往下掉。而后来,破解率仅小掉一下马上又反弹了。
换字体策略失效!该怎么办?研究人员发现,任何一种自动机,对验证码的识别率都不可能达到100%,有验证成功的图片,肯定也有验证失败的图片。
做个假设,某种自动机的破解率是10%,也就是指在100张图片里,有90张无法识别。那么我们把这90张图片收集起来,每次都给它下发这些图片,10%的破解率会瞬间掉到0%。
因为此时,自动机已陷入了绕不开的死结。根据这个思路,2013年元旦前,“猜你喜欢”验证码诞生了。“猜你喜欢”通过分析自动机行为特征,自动寻找、收集自动机的弱点,反复攻敌之弱。
原有验证码 vs 猜你喜欢验证码
在体验上,“猜你喜欢”摆脱了对图片复杂性的依赖,做到了“高清无码”,正常用户的识别率也大幅提高。在安全性上,防破解效果立竿见影.
坏人永远不停歇,对抗也越发激烈。黑产也运用起了人工智能,推出验证码的杀手锏–打码平台,从设计原理上突破验证码。
他们招募大批的打码工人,进行流水线作业。
而让这个情况更糟糕的是打码和深度学习结合,打码平台和使用打码平台的开发者给自动机破解程序提供样本,通过神经网络学习,破解程序可以很快做到较高的破解率。
再加上OCR(文字识别技术)的发展,字符验证码对抗非常艰难。
此时,许多新型的验证码出现了:
世界上没有绝对破不了的验证码。随着机器学习的不断发展,程序猿遇到的挑战也将越来越多。不断尝试和跟坏人斗智斗勇,更多新型验证码也正在研究当中。
验证码团队不会采用一成不变的单一验证手段,而是配合策略,组合下发,快速迭代。
可以肯定的是,无论是过去、现在,亦或是不远的将来,对抗黑产,这都注定是一场没有硝烟的血战。
快问快答:
Q:是不是字符验证码就不安全?
A:不是。现在腾讯许多业务仍在使用字符验证码,不过也正在向新型验证码转移。
除了验证码,保护用户的安全需要多元化手段综合运用,比如用户行为识别、后台策略对抗等,根据不同情况,启动不同的安全应对策略。
Q:就上面提到的各种验证码来讲,现在哪种验证码的效果最好呢?
A:不同产品面临的战场不一样,比较难下定论说哪一种验证码效果最好。
从目前坏人的手段和技术来看,大家拼的更多的是后台策略,而不是单纯的验证码本身了。适合产品安全策略的才是最好的。
Q:指纹验证的频率也越来越高,是不是以后可以免去验证码?
A:指纹验证本质是身份验证,验证码是对抗自动机,不过随着移动设备指纹的普及,用指纹做身份验证,免去验证码是有可能的。
Q:验证码属于反人类设计,未来什么情况下可能退出历史?
A:验证码的设立很大程度上是为了对抗高频的暴力破解,阻挡坏人的自动机进攻的步伐。所以在现阶段还是非常必要的。
验证码彻底退出历史舞台,预计还需要比较长的一段时间。