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