以变制变!验证码动态素材在攻防对抗中的重要应用

核心提示来源:南早网  验证码作为安全服务中最贴近大众用户的一环,也是任何产品在用户登录环节几乎必备的一环,从最初的文本型验证码到知识型验证码到行为轨迹验证码,再到智能无感验证码,验证码厂商花了十几年的时间。而验证码每一次更新的背后则是验证码厂商们

资料来源:Nanzao.com

验证码作为安全服务中最贴近大众用户的环节,几乎是任何产品在用户登录过程中必不可少的。从最初的文本验证码到知识验证码再到行为轨迹验证码,再到智能不敏感验证码,验证码厂商用了十几年的时间。验证码每一次更新的背后,都是验证码厂商与黑灰产不断博弈对抗的结果。

一般来说,验证码的工作流程如下:

1.客户端请求验证码;

2.验证码服务器返回验证码信息;

3.客户端渲染显示,用户根据提示点击或滑动验证码;

4.客户端收集用户验证数据,向服务器发送请求进行验证,服务器返回验证结果。

前不久,顶象正式推出智能无感验证。

智能无感验证,顾名思义,就是让可信用户安全无障碍的通过。比如用户首次申请验证码,客户端自动采集设备信息并上报,服务器通过风控策略、人机识别模型、行为特征模型等判断当前用户的风险信息。无风险用户无需验证码即可通过,疑似风险用户需要再次验证。当然,在一些高风险的业务场景下,用户也可以将智能无感验证修改为强验证模式,以满足业务安全的要求。

其中,验证码的安全性主要由这两个因素决定:

一个是图片本身,机器很难识别图片的内容;

二是验证过程中产生的行为数据,用于检查验证过程是否为人的行为。

今天我们就把重点放在画面本身,探讨它是如何对抗黑灰产的。

图像防御在反爬虫中的应用

我们以反爬虫为例,看看图片在验证码攻防对抗中的作用。

目前的旋转验证码和乱序拼图验证码都是有效的抗爬虫验证码,需要一定的联想能力,但是机器识别很难有这个能力,验证过程类似于一个游戏,既提高了用户体验,又达到了很好的防御效果。

旋转验证,顶部图像旋转验证,顶部图像无序拼图

当然,这种验证码并不是一劳永逸的,爬虫团队也有相应的破解手段:

例如,在旋转验证码中,爬虫团队的一般操作流程如下:

1.收集图片资料;

2.程序模拟旋转生成模型库;

3.通过相似性算法搜索模型库,获得目标的旋转角度;

4.模拟用户将图片旋转到目标角度或者直接合成请求数据包进行验证;

5.通过验证获得凭证。

同样,拼图验证码也面临同样的问题。爬虫破解过程如下:

1.收集图片资料;

2.对恢复后的图片进行手动恢复排序或暴力重试,并写入模型库;

3.搜索模型库找到原图,根据原图还原正确顺序。

综上,不难看出,无论是旋转验证码还是拼图验证码,都需要收集图片素材。但是,要达到防守的效果,光靠图片是不行的。

而这不得不提验证码防御的两个重要指标——求解难度空和动态素材。

空在验证码防御中起什么作用?

首先我们来看看解空之间的定义。

我们可以把解空简单理解为一个概率问题,即用户或爬虫通过验证码的难度。

比如传统的文字验证码,如果是4位数,就是空之间的104。但是,旋转验证码通过滑块的平移长度转换为旋转角度。滑动验证码的长度一般是300px,随机长度可能是300px,所以解空大概是300~400。

那么,这是否证明了文字验证码比旋转验证码更安全呢?

不一定,因为求解空的难度不固定。

以词序点击验证码为例,在不考虑文本库的情况下,解空就变成了从五个单词中按给定顺序找到四个单词的概率,即A=5*4*3*2=120。也就是说,爬虫有1/120的概率通过验证码。

这样看来,旋转验证码似乎比按词序点击验证码更安全。

需要注意的是,解空也会随着破解方案而恶化。当solution 空退化为1时,意味着爬虫每次都能成功通过验证码。

那么,如何解决这个问题呢?

从对抗开始,变来变去——动态材料在验证码防控中的应用

一成不变的防御策略不可能永远有效,解释解空是最合适的,但是需要动态的素材来保证解空的难度。

动态素材分为三种应用场景:

1.手动替换

手动更换,顾名思义就是需要手动更换图片素材。

但是,手动材料替换存在一些问题:

④材料有效期短,需要频繁更换;

ü从网上获取图片资料会有版权问题;

ü即使不考虑版权问题,也需要对图片进行人工筛选,以保证验证码的效果;

④人工更换材料的成本较高。

用程序自动生成背景图片是一个可行的思路,也解决了版权问题。

2.程序生成

解决方法之一是用OpenGL绘图,生成图片输出到素材库。OpenGL可以根据模型结合绘制图片时的模型、数量、大小、旋转、着色、纹理、光线,渲染成3 d图像,理论上可以生成近乎无限的图片。在此基础上,利用动态生成且几乎不重复的图片作为旋转验证码的素材支撑,可以有效防御编码团队采集的图像素材的破解方式,大大提高验证码的防御能力。

动态材料生成模型可以采取多种形式,如几何模型、虚拟物理模型等。

根据验证码动态背景图像的需要,只需要选择简单的材料。验证素材库优化后,可以保证旋转验证和乱序谜题使用的图像素材动态更新,几乎不重复,解决了网络爬虫采集图像素材破解验证码的问题。

3.边缘处理

动态素材的另一个应用在于图像边缘处理,在滑动还原验证码中尤为重要。

动态还原验证码需要用户还原一张剪切平移后的图片,这就需要像上面文章中的旋转验证和拼图验证那样的联想能力。但不同的是,网络爬虫可以突破常规图片的旋转验证,没有联想能力。网络爬虫可以通过连续平移和比较上下图片的rgb值来确定目标位置,直到上下图片的RGB值在误差范围内。

按照这个思路,我们需要上下图片的边缘颜色相似,这就使得网络爬虫无法根据上下图片的RGB值来确定目标的滑动距离。而且,在动态材料的基础上实现这一点是非常简单的。通过动态材质程序,用相同的纹理覆盖所有物体,可以达到理想的效果。

综上所述,从对抗开始,变是验证码永恒的主题,不变的验证码很难在激烈的攻防对抗中立于不败之地。从验证码的迭代过程,也可以证明这一点。虽然验证过程没有改变,但是随着验证码的迭代,验证的难度在不断增加。

就像Top Image推出的第五代验证码,其不灵敏的背后不仅是技术的迭代,更是算法的迭代,而第五代验证码将验证码能力与Top Image防御云深度融合,不仅让防御效果一目了然,也让用户体验不断提升。

毕竟安全对抗是永恒的战场,安全防护需要组合拳,才能在“死亡”中产生黑灰。

 
友情链接
鄂ICP备19019357号-22