在文章開頭,老狐先給大家玩一個(gè)驗(yàn)證碼的游戲,猜出圖中驗(yàn)證碼字母。

請(qǐng)計(jì)算出圖中驗(yàn)證碼的結(jié)果。

好了,我們還是回到標(biāo)題上來(lái),聊一聊驗(yàn)證碼是怎么為難我們?nèi)祟惖摹?/p>
驗(yàn)證碼的由來(lái)
2000年,雅虎當(dāng)時(shí)還是全球最大的網(wǎng)絡(luò)郵箱服務(wù)商,雅虎郵箱的用戶經(jīng)常收到許多垃圾和詐騙短信。
這種經(jīng)歷放在今天,就是你下班回到家,發(fā)現(xiàn)自己門口擺滿了快遞。
但注意,其中只有一個(gè)快遞是你自己購(gòu)買的,其他的快遞都是別人發(fā)的垃圾。 你為了找到自己的快遞,只好拆了全部的快遞。
這時(shí),你恐怕只會(huì)后悔自己有這一個(gè)快遞。
當(dāng)時(shí)受到影響的不止雅虎,還有許多互聯(lián)網(wǎng)公司。 黑客們利用腳本機(jī)器人大量注冊(cè)賬戶,進(jìn)行評(píng)論注水、黃牛搶票、撞庫(kù)掃號(hào)等影響互聯(lián)網(wǎng)企業(yè)運(yùn)營(yíng)的行為。
現(xiàn)如今,“ 天下苦驗(yàn)證碼久矣 ”,而在二十年前,則是“ 天下苦腳本機(jī)器人久矣 ”。
后來(lái)雅虎找到在卡內(nèi)基梅隆大學(xué)的路易斯·馮·安(驗(yàn)證碼之父)等人,與他們合作。
他們利用當(dāng)時(shí)的人機(jī)驗(yàn)證機(jī)制,為雅虎設(shè)計(jì)了一套防御機(jī)器人的程序,并首次提出了“驗(yàn)證碼”的概念。
驗(yàn)證碼,更專業(yè)的名字是“全自動(dòng)區(qū)分計(jì)算機(jī)和人類的圖靈測(cè)試”,簡(jiǎn)稱 CAPTCHA。
驗(yàn)證碼的作用是讓計(jì)算機(jī)區(qū)分人類和計(jì)算機(jī)。
大家熟知的圖靈測(cè)試是讓人區(qū)分人和計(jì)算機(jī),與驗(yàn)證碼作用剛好相反。
因此,有些人也將驗(yàn)證碼叫做“反向圖靈測(cè)試”。
文本類驗(yàn)證碼
然而,一切沒(méi)有那么容易。 早期的驗(yàn)證碼非常簡(jiǎn)單,只是普通的字母組合,干擾的信息很少,而文字識(shí)別技術(shù)( OCR )的應(yīng)用甚至要比驗(yàn)證碼早 30 年。 沒(méi)過(guò)多久,黑客利用 OCR 成功破解了驗(yàn)證碼。
于是,計(jì)算機(jī)科學(xué)家們繼續(xù)尋找更好的防御機(jī)制。 他們?cè)隍?yàn)證碼的字符中加入更多的干擾因素,將字符連接、變形、空心,變成動(dòng)態(tài),加入更復(fù)雜的背景。
總之,一切都是為了降低腳本機(jī)器人的識(shí)別成功率。
然而降低機(jī)器人識(shí)別正確率的效果是暫時(shí)的,降低用戶的識(shí)別成功率卻是永久的。
我經(jīng)常遇到無(wú)法識(shí)別的驗(yàn)證碼,要么需要刷新,要么輸入錯(cuò)誤。
此時(shí)計(jì)算機(jī)對(duì)我的判定是:你不 是 個(gè) 人! 這句話聽起來(lái)是不是好像是在罵人。
2008 年,兩位英國(guó)紐卡斯?fàn)柎髮W(xué)的計(jì)算機(jī)研究人員發(fā)布了一篇論文。
在論文中,他們用新的字符分割法來(lái)識(shí)別微軟、雅虎和谷歌的驗(yàn)證碼。
微軟和雅虎的驗(yàn)證碼識(shí)別正確率超過(guò) 60%,谷歌的驗(yàn)證碼識(shí)別率較低,為 8.7%。
雖然谷歌這個(gè)數(shù)字看起來(lái)比雅虎和微軟優(yōu)秀,但腳本機(jī)器人可以發(fā)動(dòng)大量攻擊,100 萬(wàn)次嘗試就將有 8.7 萬(wàn)個(gè)驗(yàn)證碼被破解。
因此,這個(gè)結(jié)果仍然是無(wú)法令人滿意的。
在這份論文中,研究人員還列出了用戶會(huì)混淆的幾個(gè)驗(yàn)證碼:
比如:

開頭是字母 “ d ” 還是 “ cl ”?
這是哪幾個(gè)字符? 別問(wèn)我答案,我也不知道。 雖然變形扭曲的字符能提升攔截腳本機(jī)器人的效率,但真人用戶同樣難以辨別驗(yàn)證碼,也被阻擋在外。
甚至有研究表明,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)模型( CNN ),機(jī)器識(shí)別扭曲字體的正確率還要高于人類。
驗(yàn)證碼殺敵一千,自損一萬(wàn)。
簡(jiǎn)單文本內(nèi)容的驗(yàn)證碼已經(jīng)無(wú)法滿足需要,于是,又出現(xiàn)了答題類的驗(yàn)證碼。
驗(yàn)證碼成了考題,用戶輸入正確的答案才能通過(guò)驗(yàn)證,這種形式的驗(yàn)證碼雖然能暫時(shí)有效阻擋腳本機(jī)器人,但卻對(duì)用戶不友好,受到許多吐槽。
因此,答題驗(yàn)證碼并不常見。
畢竟,當(dāng)你遇到文章開頭這種驗(yàn)證碼,你可能不會(huì)愿意計(jì)算出答案,而是直接關(guān)閉頁(yè)面。

文本類驗(yàn)證碼面對(duì)腳本機(jī)器人的攻擊,漸漸招架不住,研究人員決定調(diào)轉(zhuǎn)方向,開發(fā)采用圖像選擇類的驗(yàn)證碼。
圖像選擇類驗(yàn)證碼
相比于文本類的驗(yàn)證碼,圖像選擇類驗(yàn)證碼對(duì)用戶友好很多,只需點(diǎn)擊圖像,不再依賴鍵盤輸入,而且圖像驗(yàn)證碼趣味性更強(qiáng)。
例如根據(jù)題目要求在幾張照片中找出符合要求的照片即可,體驗(yàn)起來(lái)像是玩連連看。
2007 年,研究人員提出了圖像選擇類驗(yàn)證碼,之后迅速受到研究人員和用戶的歡迎。
畢竟,誰(shuí)會(huì)喜歡考試而不喜歡游戲呢?
2015 年 3 月,12306 為了防止黃牛搶票引入了圖片驗(yàn)證碼,引發(fā)熱議。 搶過(guò)火車票的小伙伴對(duì)此肯定不陌生,為了不被 12306 的驗(yàn)證碼難住,不得不調(diào)鬧鐘提早登錄 12306。
剛開始,圖像選擇類驗(yàn)證碼還能起到不錯(cuò)的保護(hù)效果。 然而,隨著圖像識(shí)別技術(shù)的發(fā)展,特別是 AI 技術(shù)的進(jìn)步,人們可以訓(xùn)練機(jī)器學(xué)習(xí)分類圖片,破解圖像。
例如,國(guó)外的研究人員就利用 SVM 分類器和卷積神經(jīng)網(wǎng)絡(luò)模型等方式,來(lái)破解部分圖像選擇驗(yàn)證碼。
來(lái)自卡內(nèi)基梅隆大學(xué)的一個(gè)團(tuán)隊(duì)在 2017 年發(fā)布論文表示: 他們通過(guò)收集 260 萬(wàn)個(gè)驗(yàn)證碼和短語(yǔ),以及 2100 萬(wàn)張圖片,經(jīng)過(guò)卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,最終可以使機(jī)器在 2 秒內(nèi)以 77% 的正確率通過(guò) 12306 的驗(yàn)證碼。
為了阻擋腳本
機(jī)器人的攻擊,維護(hù)人員不得不制作更多新的驗(yàn)證碼圖片,利用新的驗(yàn)證碼圖片還未被機(jī)器學(xué)習(xí),以此來(lái)降低機(jī)器的識(shí)別正確率。 于是更多奇怪的驗(yàn)證碼被制作出來(lái)。
然而,我們普通用戶成了最大的受害者,各種奇葩的圖片驗(yàn)證碼讓人難以區(qū)分,連登錄自己的賬戶,都變成了一件難事。
不過(guò)一些研究統(tǒng)計(jì)表明,在圖片驗(yàn)證碼的正確率上,機(jī)器在某些方面的圖像感知能力也已經(jīng)領(lǐng)先人類。
既然圖像選擇驗(yàn)證碼也干不過(guò)機(jī)器,研究人員再次使出絕招:調(diào)轉(zhuǎn)方向!
行為軌跡類驗(yàn)證碼
無(wú)論文本還是圖像都是以問(wèn)答的形式來(lái)驗(yàn)證人和腳本機(jī)器人,腳本機(jī)器人通過(guò)學(xué)習(xí),表現(xiàn)比人類還要穩(wěn)定。
于是,研究人員發(fā)明了行為軌跡類的驗(yàn)證碼,而它的原理就是利用人類在行為軌跡上不如機(jī)器穩(wěn)定。
以我們熟悉的滑動(dòng)驗(yàn)證碼為例: 當(dāng)我們將左邊的滑塊向右拖動(dòng),后臺(tái)服務(wù)器不僅驗(yàn)證用戶能否正確地將滑塊填進(jìn)空缺位置,還要記錄用戶的鼠標(biāo)位置,滑塊的移動(dòng)軌跡等信息。
通常來(lái)說(shuō),相對(duì)于腳本機(jī)器人,人類的滑動(dòng)軌跡都是非勻速的,不準(zhǔn)確的。
尤其是像我這樣肢體不靈活的人,越接近空缺位置,速度越慢,直到合上滑塊。
這個(gè)過(guò)程有很多不穩(wěn)定的因素,正是通過(guò)不穩(wěn)定的軌跡,后臺(tái)服務(wù)器才會(huì)識(shí)別該操作來(lái)自于人,而不是穩(wěn)定的腳本程序。
雖然滑動(dòng)驗(yàn)證碼相比之前的驗(yàn)證碼是一個(gè)進(jìn)步,但破解驗(yàn)證碼的方式也在跟著進(jìn)步。
2010 年,日本京都大學(xué)的研究人員向外界公布了滑動(dòng)驗(yàn)證碼,并于 2012 年投入商用。
2014 年,馬德里康普斯頓大學(xué)的研究人員就宣布他們破解了滑動(dòng)驗(yàn)證。
如今,加入了學(xué)習(xí)模型的智能腳本機(jī)器人也能通過(guò)學(xué)習(xí)人的滑動(dòng)軌跡,通過(guò)做出變速,折返、抖動(dòng)等行為軌跡來(lái)模仿人類,騙過(guò)服務(wù)器。
行為軌跡類的驗(yàn)證碼還有更簡(jiǎn)單無(wú)感的方式,點(diǎn)擊驗(yàn)證,直接點(diǎn)擊按鈕,服務(wù)器通過(guò)收集檢測(cè)用戶的環(huán)境信息來(lái)判斷是真人還是腳本機(jī)器人。
這無(wú)疑是目前所有驗(yàn)證碼中用戶體驗(yàn)最好的,但它也并非絕對(duì)安全,而且還存在用戶隱私泄露的風(fēng)險(xiǎn)。
短信驗(yàn)證和掃臉認(rèn)證
現(xiàn)在,短信驗(yàn)證已經(jīng)成為最常見的驗(yàn)證方式之一。 在老狐的手機(jī)短信中,兩類短信最多。
一類是驗(yàn)證碼短信,一類是需要發(fā)送“ TD ”才能退訂,但退訂后又還能收到新短信的垃圾營(yíng)銷短信,而最實(shí)用的快遞簽收短信只能排在第三。
短信驗(yàn)證通過(guò)綁定手機(jī)號(hào)碼來(lái)確認(rèn)該用戶是否是本人,跳出了網(wǎng)絡(luò)這一維度,調(diào)用了外部設(shè)備,安全程度比以上幾種驗(yàn)證碼有所提升。
但驗(yàn)證碼短信恰恰成了這種驗(yàn)證方式的薄弱環(huán)節(jié)。
不法分子可以通過(guò)建立偽基站,截取用戶短信驗(yàn)證碼,獲得登錄甚至交易權(quán)限。
又或者,通過(guò)詐騙獲取用戶的驗(yàn)證碼。
另一方面,短信驗(yàn)證碼又是最不友好的驗(yàn)證方式之一,尤其是手機(jī)不在的時(shí)候,還要找手機(jī),解鎖、記住驗(yàn)證碼,再輸入驗(yàn)證碼,這是我最討厭驗(yàn)證碼的時(shí)刻。
如今,一些對(duì)安全要求較高的驗(yàn)證通道已經(jīng)卷向了掃臉驗(yàn)證,需要對(duì)著手機(jī)前后移動(dòng),調(diào)整角度,眨動(dòng)眼睛才能登錄。
然而這種看似安全的方式也不是絕對(duì)安全,百度搜索可看到許多掃臉認(rèn)證被破解的信息。
驗(yàn)證碼的另類敵人
這時(shí)老狐不禁想:我們普通用戶登錄個(gè)賬號(hào)怎么就這么麻煩。
本質(zhì)上而言,驗(yàn)證碼技術(shù)的戰(zhàn)爭(zhēng)是網(wǎng)站維護(hù)人員與黑客攻擊者之間的競(jìng)爭(zhēng)。
雙方你追我趕,驗(yàn)證碼的技術(shù)在 20 年里已經(jīng)多次迭代。
從最簡(jiǎn)單的輸入字母到需要調(diào)動(dòng)用戶攝像頭的刷臉驗(yàn)證,破解技術(shù)也從曾經(jīng)的 OCR 發(fā)展到如今的 AI。 然而,最受傷的卻是我們這些普通用戶,驗(yàn)證方式逐漸復(fù)雜,意味著我們要在驗(yàn)證碼上花更多時(shí)間和更多手段。
驗(yàn)證碼要面對(duì)的敵人,并不僅僅是腳本機(jī)器人或技術(shù)頂級(jí)的黑客,還有毫無(wú)技術(shù)含量的人類。
一些不法分子建立了驗(yàn)證碼破解平臺(tái),將驗(yàn)證碼打包發(fā)送至平臺(tái),以非常低廉的價(jià)格雇傭一批人。
人工輸入正確驗(yàn)證碼答案,并建立數(shù)據(jù)庫(kù),用來(lái)破解驗(yàn)證碼,這個(gè)方法簡(jiǎn)單粗暴卻有效。
AI 也學(xué)會(huì)了這一方式。 據(jù)媒體報(bào)道,一個(gè)測(cè)試 AI 的機(jī)構(gòu)發(fā)現(xiàn) OpenAI 的 GPT4 會(huì)假裝成一個(gè)視障人員,讓人類幫他輸入驗(yàn)證碼。 沒(méi)錯(cuò),AI 甚至學(xué)會(huì)了欺騙人類免費(fèi)幫它勞動(dòng)。
面對(duì)越來(lái)越接近人類的 AI,區(qū)分人類和機(jī)器人將會(huì)變得越來(lái)越困難,驗(yàn)證碼只會(huì)更加復(fù)雜繁瑣。
而作為一個(gè)普通的網(wǎng)絡(luò)用戶,老狐只希望輸入驗(yàn)證碼的方式能簡(jiǎn)單一點(diǎn)。
審核編輯:劉清
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
31263瀏覽量
223194 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7824瀏覽量
93371 -
OCR
+關(guān)注
關(guān)注
0文章
175瀏覽量
17257 -
圖像識(shí)別技術(shù)
+關(guān)注
關(guān)注
1文章
30瀏覽量
6742 -
卷積神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
4文章
372瀏覽量
12897
原文標(biāo)題:變態(tài)的驗(yàn)證碼,到底在驗(yàn)證啥?
文章出處:【微信號(hào):良許Linux,微信公眾號(hào):良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
聊一聊電源電壓對(duì)晶振頻率的影響
RDMA設(shè)計(jì)36:驗(yàn)證環(huán)境設(shè)計(jì)
RDMA設(shè)計(jì)35:基于 SV 的驗(yàn)證平臺(tái)
置信度驗(yàn)證對(duì)于自動(dòng)駕駛來(lái)說(shuō)重要嗎?
如何驗(yàn)證電能質(zhì)量在線監(jiān)測(cè)裝置的抗干擾能力?
如何驗(yàn)證硬件冗余設(shè)計(jì)的有效性?
【一文講解】汽車生產(chǎn)DV與PV驗(yàn)證
NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)24: UVM 驗(yàn)證包設(shè)計(jì)
芯盾時(shí)代智能風(fēng)控決策平臺(tái)助力金融機(jī)構(gòu)守好反詐防線
自動(dòng)化測(cè)試如何繞過(guò)Cloudflare驗(yàn)證碼?Python + Selenium 腳本實(shí)戰(zhàn)指南!
Veloce Primo補(bǔ)全完整的SoC驗(yàn)證環(huán)境
HarmonyOS5云服務(wù)技術(shù)分享--登錄郵件功能整理
HarmonyOS5云服務(wù)技術(shù)分享--手機(jī)號(hào)登錄教程
硬件輔助驗(yàn)證(HAV) 對(duì)軟件驗(yàn)證的價(jià)值
FPGA EDA軟件的位流驗(yàn)證
驗(yàn)證碼到底在驗(yàn)證啥?聊一聊驗(yàn)證碼是怎么為難我們?nèi)祟惖?/h1>
評(píng)論