極驗驗證:傳統驗證碼破解算法淺析


大家都知道,極驗驗證首創了行為式的驗證技術,以滑動的驗證形式取代了傳統驗證碼識別的驗證形式。極驗首席磚家也一直告訴大家,傳統的驗證碼很容易被破解,形同虛設。

我想大家肯定有疑問,為什么說傳統驗證碼容易被破解呢?今天就跟隨極驗破解磚家的腳步,帶大家一起了解下傳統驗證碼的破解原理。

為了進行驗證安全的防護,傳統驗證碼有很多的處理方式,包括添加干擾線,添加文理背景,增加噪音,以及扭曲字符,粘連字符和使用空心字符。這些變換都是建立在圖像識別技術的基礎之上的,主要是增加破解的難度,當然顯而易見的是,這樣的變換同樣也增加了人類的識別難度。說到這里,忍不住吐槽了,這種驗證碼簡直是違背人性啊。擋住的都是普通用戶,擋不了破解高手啊。

傳統驗證碼破解算法有很多,不同的處理形式有相對應的破解算法。但是主要的破解步驟卻是一樣,包括驗證碼預處理,字符分割以及字符識別。

極驗破解磚家潛心研習破解大法已有時日,下面就來了解下常用的破解大法有哪些吧!

一、破解大法第一式:驗證碼圖片預處理

預處理的主要方法包括:圖像灰度化,閾值處理算法,迭代法和大律法。

去噪聲的方法主要包括:基於空間域濾波,基於形態學去噪,基於連通域去噪。

這些破解招式這么學術,都是什么鬼,且聽極驗磚家娓娓道來。

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

灰度化是指在RGB模型中,如果R=G=B時,彩色則會被表示成一種灰度顏色,其中R=G=B的值叫灰度值。因此,灰度圖像每個像素只需一個字節存放灰度值(又稱強度值、亮度值),灰度范圍為0-255

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

 

b.破解大法第一式第二招:閾值處理算法

將圖像進行灰度化之后仍然會有噪聲和干擾線等,那么可以設置一個閾值T,我們需要的目標的閾值可以設置成為大於T,而噪音,干擾的閾值小於T,就可以對目標和干擾進行區分了。極驗破解磚家友情提示,閾值處理算法至關重要,具體破解算法,后續極驗磚家會分享例子給大家。

主要的閾值處理方法:迭代法、大律法、基於HSL色彩空間閾值處理法

 

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

傳統的驗證碼多會增加噪聲,那么圖片的預處理過程中還需要進行去噪,目前去噪也是相當的容易的了,主要的方法有:基於空間域濾波、基於形態學去噪、基於連通域去噪

各種方法中,基於連通域的去噪方法會比較好一點,能夠盡量保證字符信息的完整性。

 

二、破解大法第二式:驗證碼字符分割

大部分的識別算法都需要驗證碼字符的分割這一步驟。對破解大法研究頗深的極驗磚家透露,只要能將驗證碼上的字符分割出來, 用現有的機器學習算法一般都可以取得比較好的識別效果。機器學習算法可以有效地解決字符識別問題, 所以有效分割對傳統驗證碼的識別是很有必要的。目前還沒有比較通用的字符分割算法。

當然,如果說能夠應用深度學習的方法,進行大量的圖像識別訓練,將不再需要進行字符分割。一個大的神經網絡可以自己學習認知一只貓,識別字母肯定已經不是難事了,但這並不普遍,目前也是像Google,百度,Facebook等公司取得了比較大的進展。

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

投影分割算法

直通域分割算法

 

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

基於直方圖的分割算法

基於最大連通域的分割算法

基於背景的細化分割算法

 

c.破解大法第三式:驗證碼字符識別

驗證碼字符的識別一般就是使用機器學習的算法,使用比較簡單的卷積神經網絡就可以進行比較有效的識別。卷積神經網絡的介紹大家可以參考文章《淺析深度學習的模型與應用》,后面極驗磚家會專門再和大家更加細致的探討關於卷積神經網絡的。

在圖像識別技術發達的今天,傳統的字符驗證碼已經無安全性可言,但是驗證安全對於我們來說又是那么的重要。驗證碼肩負着我們每個企業保護用戶賬戶安全,保護網站資源不被惡意薅取,保護網站接口不被盜用。

 

極驗驗證采用行為式驗證技術,通過200多種維度對用戶的“行為特征”進行人機區分,並且每30分鍾全網動態更新的安全模型庫進一步保障網站安全。這種360度保護網站安全的驗證技術,讓破解的難度和成本大大提高,即使有黑客破解了,但是也會被立即被拉入黑名單。

 

既然傳統驗證碼充滿着被破解的隱患,已經不再安全了,所以我們應該重視這一塊,用最新的驗證碼技術進行網站安全的防護。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM