標籤:

網路安全的第一道「門」已被撬開,這些驗證碼不在安全

前言

互聯網交互安全的第一道門面臨嚴峻挑戰,企業資產、隱私信息、賬戶安全… …如果你身邊仍有網站&AP還在使用圖片驗證碼,請務必重視!

網路安全的第一道「門」已被撬開

今日,互聯網巨頭Google公司近日對外宣布了重磅消息:用於做人機判斷的圖片驗證碼reCaptcha V1將於2018年3月31號完全停止服務。

(Google官網截圖)

(reCaptcha V1 網路圖片)

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

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

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

圖片驗證碼的剋星—卷積神經網路(CNN)

簡單型圖片驗證碼

複雜型圖片驗證碼

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

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

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

圖片驗證碼的識別方法

對於不同難易程度的圖片驗證碼,有不同的處理方式,比如「蠻力型」的通用識別方法和「特事特辦」的特別識別方法。但是對於卷積神經網路來說,他們的區別只在於對樣本的依賴度不同。理論上,只要給充足的帶標記樣本,神經網路都是有能力實現擬合。

1.「蠻力型」的通用識別方法

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

識別步驟如下:

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

由Google主推的深度學習框架tensorflow的入門文檔裡面就介紹了分別用矩陣回歸和CNN神經網路對手寫數字識別的方法。

當然,關於如何獲取帶標記的數據,目前也有比較便宜的獲取渠道,直接在網上搜索「打碼平台」後,可發現有許多提供 「人工智慧」領域的「人工」打碼服務的服務商,並且大部分都有明碼標價。對於圖片驗證碼,基本上是幾分錢一張標記圖。

2.「特事特辦」 的特別識別方法

此類識別方法仍然是基於深度學習這種通用方法來做的,只是我們可以將一些複雜問題進行適當的簡化,這個思想有點類似於「降維」處理的意思。

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

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

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

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

全球企業網站&APP該何去何從

由於大眾缺乏對互聯網交互安全的認知,圖片驗證碼仍然存在於互聯網的各個業務場景。然而,現在的圖片驗證碼已無任何安全性可言,企業網路資產安全將岌岌可危。

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

行為式驗證碼

根據極驗CTO黃勝藍採訪報道了解到,在人機交互的過程中,由滑鼠移動產生的行為軌跡是機器難以模仿的。因此結合人工智慧技術,並利用交互過程中產生的生物行為特徵來進行人機區分的行為式驗證技術能在保障用戶體驗最優的基礎上,有效對惡意程序進行封禁。

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

「無感驗證」—驗證碼的未來趨勢

不難發現,隨著人工智慧技術的發展和普及,未來互聯網交互安全領域的發展方向將是安全與體驗的動態平衡。驗證碼作為互聯網交互安全領域的重要環節,在安全性最優的基礎上,零打擾、無感化將是未來驗證碼的發展趨勢。

本文由安全客原創發布

轉載,請參考轉載聲明,註明出處: anquanke.com/post/id/10

安全客 - 有思想的安全新媒體

推薦閱讀:

科普文:NTP反射攻擊
0x00 序
Python3學習系列(四):編寫屬於自己的郵件偽造工具
PHPMyWind存儲型xss漏洞說明及復現
密碼學應用(Day027)

TAG:網路安全 |