极验验证:传统验证码破解算法浅析

时间:2024-04-16 19:47:49

大家都知道,极验验证首创了行为式的验证技术,以滑动的验证形式取代了传统验证码识别的验证形式。极验首席砖家也一直告诉大家,传统的验证码很容易被破解,形同虚设。

我想大家肯定有疑问,为什么说传统验证码容易被破解呢?今天就跟随极验破解砖家的脚步,带大家一起了解下传统验证码的破解原理。

为了进行验证安全的防护,传统验证码有很多的处理方式,包括添加干扰线,添加文理背景,增加噪音,以及扭曲字符,粘连字符和使用空心字符。这些变换都是建立在图像识别技术的基础之上的,主要是增加破解的难度,当然显而易见的是,这样的变换同样也增加了人类的识别难度。说到这里,忍不住吐槽了,这种验证码简直是违背人性啊。挡住的都是普通用户,挡不了破解高手啊。

传统验证码破解算法有很多,不同的处理形式有相对应的破解算法。但是主要的破解步骤却是一样,包括验证码预处理,字符分割以及字符识别。

极验破解砖家潜心研习破解大法已有时日,下面就来了解下常用的破解大法有哪些吧!

一、破解大法第一式:验证码图片预处理

预处理的主要方法包括:图像灰度化,阈值处理算法,迭代法和大律法。

去噪声的方法主要包括:基于空间域滤波,基于形态学去噪,基于连通域去噪。

这些破解招式这么学术,都是什么鬼,且听极验砖家娓娓道来。

a.破解大法第一式第一招:图像灰度化

灰度化是指在RGB模型中,如果R=G=B时,彩色则会被表示成一种灰度颜色,其中R=G=B的值叫灰度值。因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255

灰度化方法:分量法、最大值法、平均值法、加权平均法

 

b.破解大法第一式第二招:阈值处理算法

将图像进行灰度化之后仍然会有噪声和干扰线等,那么可以设置一个阈值T,我们需要的目标的阈值可以设置成为大于T,而噪音,干扰的阈值小于T,就可以对目标和干扰进行区分了。极验破解砖家友情提示,阈值处理算法至关重要,具体破解算法,后续极验砖家会分享例子给大家。

主要的阈值处理方法:迭代法、大律法、基于HSL色彩空间阈值处理法

 

c.破解大法第一式第三招:去除噪声

传统的验证码多会增加噪声,那么图片的预处理过程中还需要进行去噪,目前去噪也是相当的容易的了,主要的方法有:基于空间域滤波、基于形态学去噪、基于连通域去噪

各种方法中,基于连通域的去噪方法会比较好一点,能够尽量保证字符信息的完整性。

 

二、破解大法第二式:验证码字符分割

大部分的识别算法都需要验证码字符的分割这一步骤。对破解大法研究颇深的极验砖家透露,只要能将验证码上的字符分割出来, 用现有的机器学习算法一般都可以取得比较好的识别效果。机器学习算法可以有效地解决字符识别问题, 所以有效分割对传统验证码的识别是很有必要的。目前还没有比较通用的字符分割算法。

当然,如果说能够应用深度学习的方法,进行大量的图像识别训练,将不再需要进行字符分割。一个大的神经网络可以自己学习认知一只猫,识别字母肯定已经不是难事了,但这并不普遍,目前也是像Google,百度,Facebook等公司取得了比较大的进展。

 a.破解大法第二式第一招:非粘连字符分割

投影分割算法

直通域分割算法

 

 b.破解大法第二式第二招:粘连字符分割算法

基于直方图的分割算法

基于最大连通域的分割算法

基于背景的细化分割算法

 

c.破解大法第三式:验证码字符识别

验证码字符的识别一般就是使用机器学习的算法,使用比较简单的卷积神经网络就可以进行比较有效的识别。卷积神经网络的介绍大家可以参考文章《浅析深度学习的模型与应用》,后面极验砖家会专门再和大家更加细致的探讨关于卷积神经网络的。

在图像识别技术发达的今天,传统的字符验证码已经无安全性可言,但是验证安全对于我们来说又是那么的重要。验证码肩负着我们每个企业保护用户账户安全,保护网站资源不被恶意薅取,保护网站接口不被盗用。

 

极验验证采用行为式验证技术,通过200多种维度对用户的“行为特征”进行人机区分,并且每30分钟全网动态更新的安全模型库进一步保障网站安全。这种360度保护网站安全的验证技术,让破解的难度和成本大大提高,即使有黑客破解了,但是也会被立即被拉入黑名单。

 

既然传统验证码充满着被破解的隐患,已经不再安全了,所以我们应该重视这一块,用最新的验证码技术进行网站安全的防护。