模糊糾纏,難辨難認(rèn),許多人都有與此類驗證碼斗爭卻敗下陣來的經(jīng)歷。小小不便的背后,若這些驗證碼被電腦程序攻破,電腦輕松通過任何一個網(wǎng)站的注冊程序,我們的郵箱將可能被垃圾郵件充斥,木馬和爬蟲程序盜取用戶信息也將更加容易,同時,網(wǎng)站、論壇留言板或許將被垃圾留言及數(shù)以千萬記的廣告轟炸。我們可能再難趕在販票的“黃?!鼻百I到一張回家的火車票。
“安全無小事,驗證碼就是要站好網(wǎng)絡(luò)安全的第一班崗。在信息安全領(lǐng)域,人為盜取的信息只占很少部分,絕大多數(shù)是因為木馬、爬蟲等計算機(jī)程序自動盜取信息。”面對日新月異的驗證碼破解手段,西安電子科技大學(xué)軟件學(xué)院高海昌副教授一直默默地從事著提升驗證碼安全性和可用性的工作。
近日,高海昌提出一種簡單通用的新的文本驗證碼自動識別方法,一舉破解當(dāng)前所有使用基于字母和數(shù)字識別作為驗證碼的網(wǎng)站。至此,包括全球流量排名前20的所有網(wǎng)站(Google、Facebook、Youtube、Twitter、Yahoo、Baidu、QQ、Amazon、Taobao、Sina、eBay等)所使用的驗證碼被首次全面破解。團(tuán)隊共同撰寫的論文《A Simple Generic Attack on Text Captchas》被信息系統(tǒng)安全頂級國際會議NDSS’2016正式全文接收。
高海昌:白帽黑客
“我們平時所說的驗證碼,是‘全自動區(qū)分計算機(jī)和人類的圖靈測試’的俗稱?!备吆2忉屨f,“驗證碼可區(qū)分操作行為的是人還是計算機(jī),目的是保護(hù)互聯(lián)網(wǎng)資源不被濫用。常見的驗證碼主要包括文本驗證碼、語音驗證碼、圖形驗證碼。”
為了加強(qiáng)對網(wǎng)絡(luò)信息的保護(hù),有效遏止計算機(jī)程序惡意竊取信息,大多數(shù)網(wǎng)站都使用了網(wǎng)頁驗證碼強(qiáng)制進(jìn)行人機(jī)交互來驗證當(dāng)前用戶是否為合法用戶。驗證碼可有效防止電腦程序自動注冊、登錄及在留言板界面發(fā)布廣告等垃圾信息,還可以防止黑客通過暴力破解方式不斷地進(jìn)行嘗試登陸,以對某特定用戶密碼信息進(jìn)行破解及盜取相關(guān)信息。
“驗證碼測試問題由計算機(jī)自動生成,經(jīng)人類解答并輸入答案,最終由計算機(jī)進(jìn)行評判。這些測試絕大多數(shù)可以被人類完成而機(jī)器不能或很難通過。因使用簡便,基于字母和數(shù)字的文本驗證碼是當(dāng)前使用最廣泛的驗證碼,其安全性依賴于字母和數(shù)字的扭曲變形、相互粘連重疊以及背景加噪點和干擾線等干擾效果?!备吆2榻B說。
文本驗證碼最為常見,因而若存在漏洞,后果也最嚴(yán)重?!拔覀冇靡环N簡單方法,全世界首次實現(xiàn)所有現(xiàn)存主要文字驗證碼的破解??梢哉f,從此以后,文本驗證碼的研究可以畫個句號了?!备吆2f。
“總得來說,我們的破解思路就是‘拆散’再‘組合’?!彪S意選擇一組文字驗證碼,使用方向濾波器,經(jīng)0、45、90、135度四個方向濾波后,原驗證碼被分解成為只有這四個方向線條的四張圖片。經(jīng)過這一步,原先粘連在一起的字符便被拆散。隨后,再把這些線條重新組合在一起。最后,運(yùn)用動態(tài)規(guī)劃算法將可能的所有結(jié)果都組合出來,運(yùn)用K近鄰算法,與樣本庫中的字符對比,找到最佳組合,也就是要輸入的結(jié)果?!?/p>