原標題:驗證碼防衛(wèi)戰(zhàn)
驗證碼識別的研究永遠是一個雙贏的結(jié)果:或者有一種驗證碼不能被破解,網(wǎng)絡(luò)安全依然有保障;或者驗證碼被識別,則人工智能和機器學習水平得到進一步的提高。
高海昌
西安電子科技大學軟件學院副教授
郭剛制圖
全國火車票售賣網(wǎng)站12306日前再次更換了驗證碼,頻繁地出招,卻依然沒有換來12306在“火車票保衛(wèi)戰(zhàn)”中的勝利。
因為很快,搜狗瀏覽器、智行火車票等第三方訂票渠道已對外宣布成功實現(xiàn)了12306圖形驗證碼的自動識別,用戶借此可以實現(xiàn)全自動搶票的體驗。
面對日新月異的驗證碼破解手段,西安電子科技大學軟件學院的一只團隊默默從事著提升驗證碼可靠性的工作。這個團隊的帶頭人高海昌稱自己的團隊是“戴‘白帽’的黑客”。
尋找魯棒性與可用性的平衡點
黑客(Hacker)一詞,最初曾指熱心于計算機技術(shù)、水平高超的電腦專家,尤其是程序設(shè)計人員,后來逐漸區(qū)分為白帽、灰帽、黑帽等。利用公共通訊網(wǎng)路,如互聯(lián)網(wǎng)和電話系統(tǒng),在未經(jīng)許可的情況下,攻入對方系統(tǒng)的被稱為黑帽黑客(black hat);調(diào)試和分析計算機安全系統(tǒng)的稱為白帽黑客(white hat)。
“我們對于驗證碼的研究,概況起來主要關(guān)注兩方面:魯棒性和可用性?!备吆2嬖V《中國科學報》記者。魯棒是Robust的音譯,即健壯和強壯的意思。它是在異常和危險情況下系統(tǒng)生存的關(guān)鍵。比如,計算機軟件在輸入錯誤、磁盤故障、網(wǎng)絡(luò)過載或有意攻擊情況下,能否不死機、不崩潰,就是該軟件的魯棒性。
在驗證碼的領(lǐng)域中,魯棒性就是要求驗證碼機制防破解能力強,不會輕易被計算機程序自動識別。相對的,可用性就是要求驗證碼機制對于人類的使用交互友好,既不能識別困難,也不能讓識別時間過長。
2013年,各大網(wǎng)站普遍推出了空心驗證碼。它打破了傳統(tǒng)的實心字體的模式,用輪廓線的空心字體替代。這樣當多個字符重疊粘連的時候,機器識別度較差,但是人類仍然可以很好的識別。
但這并非無法破解,高海昌發(fā)現(xiàn)只需先將空心填充成實心字符,使用顏色填充算法得到離散的筆畫塊。然后使用卷積神經(jīng)網(wǎng)絡(luò)和深度優(yōu)先算法對筆畫塊進行組合識別,尋求最優(yōu)解作為識別結(jié)果?!拔覀冡槍ahoo、百度、新浪、騰訊、和中國移動在線支付網(wǎng)站的空心驗證碼分別取得了36%、51%、59%、89%和66%的成功率。國際公認的標準是只要成功率高于1%,就認為破解成功。所以我們的破解方法非常有效?!备吆2忉尩馈?/p>
這篇論文也被信息安全頂級旗艦會議CCS’2013錄用發(fā)表,“這是中國大陸研究機構(gòu)首次有論文在這個高檔次會議上發(fā)表?!备吆2f。成功破解了這些機制后,在論文中提出了一系列改進建議。之后,高海昌提出的部分建議被Yahoo和騰訊網(wǎng)站所采納,并使用在他們的后續(xù)改進版本里面。
隨著技術(shù)的發(fā)展,一些公司也推出了新奇的驗證碼。在尋找魯棒性和可用性平衡點的道路上,美國谷歌公司就覓到了一條新路——利用無法識別的門牌號圖片。
谷歌公司為了充實“Google Earth(谷歌地圖)”和“Google Street View(谷歌街景)”,讓車輛沿街拍攝圖片,并將這些圖片與谷歌地圖服務(wù)連接,人們便能從地球的此端近距離查看彼端的街景。“街景車掃描過程中,總會遇到一些無法識別的門牌號等,谷歌公司便將其作為驗證碼?!备吆2f。
具體做法是,設(shè)置兩種驗證碼,其中之一作為驗證程序,另外就用無法識別的門牌號照片替代,只要將第一種驗證碼輸入正確,無論第二個輸入什么都算成功?!八麄冊賹⑷搜圩R別的結(jié)果進行統(tǒng)計,按照大部分人填寫的數(shù)字,得出模糊的門牌號到底是什么??芍^一舉兩得?!备吆2忉尩?。
驗證碼:互聯(lián)網(wǎng)安全的第一道護衛(wèi)
驗證碼并非自互聯(lián)網(wǎng)誕生之日起就存在。在互聯(lián)網(wǎng)尚不普及的年代,黑客的數(shù)量屈指可數(shù),也還沒有人想到去占領(lǐng)有限的網(wǎng)絡(luò)資源。
最先推出驗證碼的是雅虎公司。他們一邊提供免費郵箱,一邊還要解決用戶們每天遇到的數(shù)以百計的垃圾郵件轟炸。
于是,驗證碼誕生了?!八拖袷腔ヂ?lián)網(wǎng)前端的守護者?!备吆2f。
目前,國際知名的驗證碼研究團隊有三個,而在國內(nèi)專注研究驗證碼的恐怕已知的只有高海昌團隊。“像中國科學技術(shù)大學、南京理工大學、重慶大學、解放軍電子工程學院等也有一些學者在關(guān)注和進行研究,并發(fā)表了一些相關(guān)的研究論文,但是他們并未把研究重心都放在驗證碼研究?!备吆2f。
計算機身份認證領(lǐng)域研究出身的高海昌,最終決定將重點放在驗證碼上,是因為“驗證碼作為一種能夠防止網(wǎng)絡(luò)資源被濫用的有效手段,其不易被破解的程度(也稱魯棒性)和可用性迫切需要提高,所以也促使我決定將近幾年的研究重心放在驗證碼研究方面?!?/p>
現(xiàn)在,高海昌帶領(lǐng)團隊的驗證碼研究獲得了國家自然科學基金的資助。在今年12306火車票售賣網(wǎng)站修改驗證碼事件中,高海昌也向有關(guān)部門提出了自己的建議。“不論圖片還是字母的驗證碼,區(qū)別的都是人與計算機,這需要找到人工智能(AI)機制,讓人容易通過,但是計算機程序則難以跨越。”高海昌說,“在這個過程中,最難的就是,如何保證驗證碼不易被破解,同時還要實現(xiàn)用戶友好?!?/p>
安全無小事
研究、破解、提升、再破解、再彌補……在驗證碼此消彼長的拉鋸戰(zhàn)中,高海昌看到更多的是樂趣?!捌平夂头榔平庠谀撤N程度上是互相促進,水平都在提高。但道高一尺,魔高一丈,驗證碼機制的設(shè)計者在明處,破解者在暗處,兩者的較量本來就是不公平的。所以目前來說,還沒有人敢說能提出一種永遠無法被破解的驗證碼機制。事實上也是這樣,現(xiàn)在99%的網(wǎng)站所使用的驗證碼機制其實已經(jīng)都被成功破解了?!备吆2f。
在這個過程中,驗證碼識別的研究永遠是一個雙贏的結(jié)果:或者有一種驗證碼不能被破解,網(wǎng)絡(luò)安全依然有保障;或者驗證碼被識別,則人工智能和機器學習水平得到進一步的提高。
“但是,現(xiàn)在我們羊圈的圍欄很低,也有很多漏洞,而且很多不安全的驗證碼機制仍然在被大量使用。比如國內(nèi)的一些銀行。”高海昌說。盡管一些銀行已經(jīng)將驗證碼、U盾、短信等聯(lián)系在一起,但是卻依然存在一些購物網(wǎng)站不用U盾也能完成購物的情況?!斑@樣就給用戶帶來很大的不安全性。”高海昌表示。
雖然驗證碼研究只是信息安全領(lǐng)域的一個很小的方面,但是斯諾登的棱鏡門事件讓人認識到整個計算機和網(wǎng)絡(luò)空間的安全問題都不容大意?!熬W(wǎng)絡(luò)安全無小事,棱鏡門讓我們認識到國家信息安全和個人信息安全都面臨著嚴峻的形勢,需要相關(guān)從業(yè)者不斷努力,提升安全水平?!备吆2f,“驗證碼就要站好第一班崗?!保ㄔ谎?/p>