行業(yè)動態(tài)

這些圖片驗證碼不再安全

來源:聚銘網(wǎng)絡    發(fā)布時間:2018-04-08    瀏覽次數(shù):
 

信息來源:安全牛

互聯(lián)網(wǎng)巨頭Google公司近日對外宣布了重磅消息:用于做人機判斷的圖片驗證碼reCaptcha V1將于2018年3月31日完全停止服務。

reCaptcha V1

為什么圖片驗證碼不再安全

圖片驗證碼長達十余年的統(tǒng)治最終走向終結(jié),主要的原因還是歸結(jié)于目前人工智能技術的飛速發(fā)展和知識的快速普及。隨著深度學習技術在圖像處理上越來越強大的表現(xiàn),圖片驗證碼已經(jīng)沒有任何安全性可言。Google正因為發(fā)現(xiàn)了圖片驗證碼已形同虛設,才停止了此類驗證碼的服務。

作為網(wǎng)絡安全的第一道“門”,驗證碼已滲透到人們數(shù)字化生活的各個角落。全球企業(yè)主雖然知道驗證碼的重要性,但仍有許多企業(yè)的網(wǎng)站&APP依然在使用圖片驗證碼。而隨著“大門”的失守,意味著全球企業(yè)網(wǎng)站&APP的虛擬資產(chǎn)以及賬號隱私等重要信息面臨“裸奔”的風險!

圖片驗證碼的克星——卷積神經(jīng)網(wǎng)絡

左:簡單型圖片驗證碼 右:復雜型圖片驗證碼

為了應對黑客的破解,圖片驗證碼雖然通過增加背景干擾、擴大字符范圍、字體類型多樣化等方法提升其被破解難度,但它的設計理念仍然停留在圖像學上,而利用現(xiàn)在的卷積神經(jīng)網(wǎng)絡(CNN)技術是完全可以破解的。

使用CNN對多位字符驗證端到端的識別,對于圖片驗證碼來說是致命克星。CNN模式通用性強更換模式后,不用修改代碼就可直接訓練出新的模型,但需要大量的帶標注的數(shù)據(jù)。例如端到端的可能需要幾萬帶標記的先驗數(shù)據(jù)集。

如果對試驗CNN效果感興趣,可以直接用第三方標準庫無限生成帶標記圖片。但是如果在具體的場景使用,則需要準備大量的帶標記數(shù)據(jù),像復雜型圖片驗證碼,如果要達到90%以上的正確識別率,則需要5萬帶標記數(shù)據(jù)。下圖是生成的部分先驗數(shù)據(jù)集:

圖片驗證碼的識別方法

對于不同難易程度的圖片驗證碼,有不同的處理方式,比如“蠻力型”的通用識別方法和“特事特辦”的特別識別方法。但是對于卷積神經(jīng)網(wǎng)絡來說,他們的區(qū)別只在于對樣本的依賴度不同。理論上,只要給充足的帶標記樣本,神經(jīng)網(wǎng)絡都是有能力實現(xiàn)擬合。

  • “蠻力型”的通用識別方法:

此類識別方法就是流程化作業(yè),基本不太需要在編程上思考太多。

識別步驟如下:

  1. 下載一定數(shù)量的目標驗證碼圖片,數(shù)量根據(jù)驗證圖片的復雜程度而定
  2. 準備好一套標準的CNN圖像分類的項目模板,并做好相關的功課
  3. 對項目模板進行簡單的參數(shù)調(diào)整,以適配當前問題的圖片尺寸
  4. 將圖像輸入CNN,對輸出的結(jié)果和先驗標記的類型做誤差對比
  5. 不斷迭代生成模型

由Google主推的深度學習框架tensorflow的入門文檔里面就介紹了分別用矩陣回歸和CNN神經(jīng)網(wǎng)絡對手寫數(shù)字識別的方法。

當然,關于如何獲取帶標記的數(shù)據(jù),目前也有比較便宜的獲取渠道,直接在網(wǎng)上搜索“打碼平臺”后,可發(fā)現(xiàn)有許多提供 “人工智能”領域的“人工”打碼服務的服務商,并且大部分都有明碼標價。對于圖片驗證碼,基本上是幾分錢一張標記圖。

  • “特事特辦” 的特別識別方法:

此類識別方法仍然是基于深度學習這種通用方法來做的,只是我們可以將一些復雜問題進行適當?shù)暮喕?,這個思想有點類似于“降維”處理的意思。

理論上,利用深度學習能對絕大多數(shù)的線性或者非線性問題實現(xiàn)非常好的擬合。

雖然問題越復雜、數(shù)據(jù)需求量越大的現(xiàn)狀是無法避免的,但是我們可以做一些人為的自動化工作來達到目標。

比如像下圖中的驗證碼,無論它們的色彩、字體及干擾項如何變化,字符之間容易分割的事實是無法被改變的。也就是說,此類驗證碼可以很容易將一個本來要判定N位字符串的問題簡化為“判定1位字符,然后將N個這樣的圖片再組合起來”。這樣網(wǎng)絡的復雜度可以大大的簡化,訓練所需要的樣本數(shù)量及訓練時長都會大量減少。

如果驗證碼圖片可以從N維“降維”到1維,并且字符的字體單一(以下圖為例),那么問題就更簡單了:只需為每個字符分類準備一張圖片即可。例如你的驗證碼范圍是[0,9],則只需要從下載的圖片集中對0~9這幾個數(shù)字每個標記一張即可,然后就是使用一些普通的數(shù)據(jù)增強技術:貼圖,綻放,上下自由截取,隨機噪點等等,可以生成無限多的數(shù)據(jù)集了。當然,這些全部是由程序自動化完成。

全球企業(yè)網(wǎng)站&APP該何去何從

由于大眾缺乏對互聯(lián)網(wǎng)交互安全的認知,圖片驗證碼仍然存在于互聯(lián)網(wǎng)的各個業(yè)務場景。然而,現(xiàn)在的圖片驗證碼已無任何安全性可言,企業(yè)網(wǎng)絡資產(chǎn)安全將岌岌可危。

面對當前風險,全球近些年針對各類場景改進的驗證碼開始出現(xiàn)。目前市面上的主流新型驗證碼大致分為短信驗證碼和行為式驗證碼。其中,行為式驗證碼這種帶點游戲性質(zhì)的交互驗證方式,在保障安全的同時,為用戶帶來了更有趣的驗證過程,提升了用戶的交互體驗。受到當前各大企業(yè)網(wǎng)站&APP的青睞,算是當前比較流行的一種驗證碼。

行為式驗證碼

根據(jù)極驗CTO黃勝藍采訪報道了解到,在人機交互的過程中,由鼠標移動產(chǎn)生的行為軌跡是機器難以模仿的。因此結(jié)合人工智能技術,并利用交互過程中產(chǎn)生的生物行為特征來進行人機區(qū)分的行為式驗證技術能在保障用戶體驗最優(yōu)的基礎上,有效對惡意程序進行封禁。

目前極驗與Airbnb、AirAsia、新浪微博、銀聯(lián)商務、斗魚、36Kr、魅族、百勝、高德地圖等全球22萬家企業(yè)網(wǎng)站&APP達成合作,每天提供超過7億次的安全防護。

不難發(fā)現(xiàn),隨著人工智能技術的發(fā)展和普及,未來互聯(lián)網(wǎng)交互安全領域的發(fā)展方向?qū)⑹前踩c體驗的動態(tài)平衡。驗證碼作為互聯(lián)網(wǎng)交互安全領域的重要環(huán)節(jié),在安全性最優(yōu)的基礎上,零打擾、無感化將是未來驗證碼的發(fā)展趨勢。

 
 

上一篇:2018年04月07日 聚銘安全速遞

下一篇:因數(shù)據(jù)丑聞 Facebook封殺加拿大公司AggregateIQ