《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 解決方案 > 谷歌最新驗(yàn)證系統(tǒng)又雙叒被「破解」了,,這次是強(qiáng)化學(xué)習(xí)

谷歌最新驗(yàn)證系統(tǒng)又雙叒被「破解」了,,這次是強(qiáng)化學(xué)習(xí)

2019-03-29
關(guān)鍵詞: 谷歌 reCaptcha OCR

自推出以來(lái),,谷歌reCaptcha 驗(yàn)證系統(tǒng)就被頻繁破解,,因此谷歌不得不一次又一次地迭代升級(jí)?,F(xiàn)在,,reCaptcha 已經(jīng)升級(jí)到了 v3,,由原來(lái)的用戶交互直接升級(jí)成了給用戶打分,。但再?gòu)?qiáng)的系統(tǒng)也會(huì)有漏洞,,來(lái)自加拿大和法國(guó)的研究者另辟蹊徑,,用強(qiáng)化學(xué)習(xí)「破解」了這個(gè)最新的驗(yàn)證系統(tǒng)。

微信圖片_20190329143950.jpg

谷歌的 reCAPTCHA 驗(yàn)證系統(tǒng)



對(duì)于谷歌瀏覽器的用戶來(lái)說(shuō),,上面這幅畫面想必并不陌生,。這是谷歌開發(fā)的驗(yàn)證碼系統(tǒng) reCaptcha,旨在確認(rèn)訪問(wèn)者是人還是程序,,并防止惡意程序的入侵,。


reCAPTCHA 項(xiàng)目是由卡內(nèi)基梅隆大學(xué)創(chuàng)建的系統(tǒng),于 2009 年 9 月被谷歌收購(gòu),。reCAPTCHA v1 將從書本上掃描下來(lái),、無(wú)法被 OCR 準(zhǔn)確識(shí)別的文字顯示在 CAPTCHA 問(wèn)題中,從而判斷訪問(wèn)者到底是程序還是人類,。該版本被 Bursztein 等人破解,,他們使用基于機(jī)器學(xué)習(xí)的系統(tǒng)對(duì)文本進(jìn)行分割和識(shí)別,準(zhǔn)確率達(dá) 98%,。


為了反破解,,谷歌引入了基于音頻和圖像的 reCAPTCHA v2。該系統(tǒng)使用了一些高級(jí)的分析工具來(lái)判斷一個(gè)用戶到底是人還是機(jī)器人,。


他們使用了多種元素,,包括 cookie、解題的速度,、鼠標(biāo)的移動(dòng)以及解題的成功率,。但盡管如此,還是有研究人員宣稱自己破解了 ReCAPTCHA,,其中比較有名的就是美國(guó)馬里蘭大學(xué)四位研究人員開發(fā)的 unCapture,。


用 unCaptcha 攻破 reCAPTCHA


unCaptcha 項(xiàng)目最早創(chuàng)建于 2017 年 4 月,并在當(dāng)時(shí)實(shí)現(xiàn)了 85% 的 ReCaptcha 對(duì)抗率,。后來(lái),,谷歌發(fā)布了新的 ReCaptcha,實(shí)現(xiàn)了更好的瀏覽器自動(dòng)檢測(cè),,而且開始使用短語(yǔ)語(yǔ)音進(jìn)行驗(yàn)證,。這些改進(jìn)最開始成功地防御了第一版 unCaptcha 的攻擊,但這一改進(jìn)版很快又被第二版 unCaptcha 破解了,。

微信圖片_20190329144018.jpg


由于 ReCaptcha 添加了語(yǔ)音形式的驗(yàn)證碼識(shí)別,,破解 ReCaptcha 變得比以前更加容易。破解者表示,,「因?yàn)槲覀冎恍枰{(diào)用一個(gè)免費(fèi)的語(yǔ)音識(shí)別 API,,對(duì)所有驗(yàn)證碼的識(shí)別準(zhǔn)確率就能達(dá)到 90% 左右,。」今年一月份,,破解者還開源了 ReCaptcha 的破解代碼,。


用強(qiáng)化學(xué)習(xí)「攻破」reCAPTCHA v3


當(dāng)然,谷歌也沒(méi)有閑著,,一直在迭代自己的驗(yàn)證系統(tǒng),。2018 年 10 月,谷歌正式發(fā)布 reCAPTCHA v3,。谷歌這次放出的大招是:移除所有用戶界面,。


前兩個(gè)版本的 reCAPTCHA 有可利用的文本、圖像或音頻,,可以將其用作訓(xùn)練神經(jīng)網(wǎng)絡(luò)的輸入,。但 reCAPTCHA v3 移除了所有用戶界面,沒(méi)有拆開亂碼文本或街道標(biāo)志,,甚至也沒(méi)有勾選「我不是機(jī)器人」的方框,。


它會(huì)分析一系列信號(hào),使用機(jī)器學(xué)習(xí)技術(shù)返回一個(gè) 0 到 1 之間的風(fēng)險(xiǎn)評(píng)估分?jǐn)?shù)(這個(gè)分?jǐn)?shù)表征了用戶的可信任度,,越接近 1 越有可能是人類),。與前兩個(gè)版本相比,這種打分完全是在后臺(tái)進(jìn)行的,,根本沒(méi)有人類交互,,因此破解難度更大。


破解從哪兒入手,?


這么高難度的項(xiàng)目當(dāng)然會(huì)引得各路「黑客」躍躍欲試,。近日,來(lái)自法國(guó)和加拿大的研究人員聲稱自己破解了谷歌的 reCAPTCHA v3,,并根據(jù)自己的研究成果發(fā)表了一篇名為《Hacking Google reCAPTCHA v3 using Reinforcement Learning》(使用強(qiáng)化學(xué)習(xí)破解谷歌的 reCAPTCHA v3)的論文,。與之前研究的不同之處在于,他們使用的是強(qiáng)化學(xué)習(xí)方法,,測(cè)試準(zhǔn)確率達(dá)到了 97.4%,。


實(shí)際上,這項(xiàng)強(qiáng)化學(xué)習(xí)技術(shù)并非針對(duì) reCAPTCHA v3 中不可見的分?jǐn)?shù),,而是 reCAPTCHA v2 中首次引入的鼠標(biāo)移動(dòng)分析,。也就是說(shuō),這項(xiàng)研究并非真正攻破 reCAPTCHA v3,,而是用機(jī)器學(xué)習(xí)欺騙二級(jí)系統(tǒng)(即舊版的「我不是機(jī)器人」打勾操作),,以繞過(guò) reCAPTCHA v3。


等等,「我不是機(jī)器人」這種界面不是已經(jīng)在 v3 中被移除了嗎,?理論上是該這么做,,但在實(shí)際操作中并沒(méi)有。


論文一作 Akrout 表示,,在 reCAPTCHA v3 中,,網(wǎng)站設(shè)置其分?jǐn)?shù)閾值以判定用戶是否為機(jī)器人。如果訪客在某個(gè)設(shè)定點(diǎn)低于閾值(比如當(dāng)他們輸入評(píng)論或登錄細(xì)節(jié)時(shí)),,網(wǎng)站可以選擇立即譴責(zé)該訪客是機(jī)器人,不過(guò)真這么做的話,,如果訪客是真人就會(huì)很尷尬了,。


想象一下在網(wǎng)購(gòu)的時(shí)候,你正在查看的頁(yè)面突然消失,,隨之而來(lái)的是滿屏的「你是機(jī)器人」譴責(zé),。就問(wèn)你糟不糟心?從用戶體驗(yàn)的角度來(lái)看這種做法實(shí)在太……emmm…


因此,,Akrout 表示,,很多網(wǎng)站會(huì)選擇更友好地緩和這個(gè)過(guò)程。如果網(wǎng)站訪客低于分?jǐn)?shù)閾值,,網(wǎng)站會(huì)顯示舊版的「我不是機(jī)器人」復(fù)選框頁(yè)面,,這個(gè)復(fù)選框用來(lái)發(fā)現(xiàn)機(jī)器人的分析行為,包括鼠標(biāo)移動(dòng)等,。


這樣可以讓用戶更好地理解為什么他們的網(wǎng)購(gòu)或其它正在干的事會(huì)被打斷,,而且會(huì)給他們一個(gè)證明自己人類身份的機(jī)會(huì)。


「我認(rèn)識(shí)的大部分程序員會(huì)添加復(fù)選框,,因?yàn)樗麄儾恢廊绾芜x擇恰當(dāng)?shù)臅r(shí)機(jī)來(lái)詢問(wèn) v3 系統(tǒng)的判斷,。」


正是這個(gè)復(fù)選框的存在讓 Akrout 和他的同事們發(fā)現(xiàn)了繞過(guò) reCAPTCHA v3 的可能,。


怎么破解,?


Akrout 及其同事利用強(qiáng)化學(xué)習(xí)來(lái)欺騙部分 reCAPTCHA v3 系統(tǒng),其中軟件智能體試圖找到最佳的可能途徑,,并通過(guò)正確方向上每一步的獎(jiǎng)勵(lì)受到鼓勵(lì),。


他們的系統(tǒng)在頁(yè)面中放置一個(gè)正方形網(wǎng)格,鼠標(biāo)沿對(duì)角線穿過(guò)網(wǎng)格到達(dá)「我不是機(jī)器人」按鈕,。如果成功,,則給予正面強(qiáng)化;如果失敗,,則給予負(fù)面強(qiáng)化,。該系統(tǒng)學(xué)會(huì)了控制正確的移動(dòng)方法以欺騙 reCAPTCHA 系統(tǒng)。該論文中稱其準(zhǔn)確率達(dá)到了 97.4%。在論文發(fā)表后,,谷歌未對(duì)該論文置評(píng),。

微信圖片_20190329144209.png


這樣破解真的可以嗎?


這種做法并沒(méi)有讓伯恩茅斯大學(xué)的 Nan Jiang 信服,,他沒(méi)有參與這次研究,。「理論上來(lái)說(shuō),,任何僅依賴于檢查用戶行為的驗(yàn)證碼方法都可以用定制的機(jī)器學(xué)習(xí)算法破解,,比如那種可以輕易地模擬用戶在頁(yè)面上交互的算法。


但是,,谷歌的 ReCAPTCHA 結(jié)合了其它技術(shù)來(lái)預(yù)測(cè)用戶的可信程度,,然后嘗試把該用戶納入白名單。一旦你被納入白名單,,無(wú)論你做什么都可以通過(guò)測(cè)試,。」他表示,。


破解 reCAPTCHA 版本 2 的伊利諾伊大學(xué)計(jì)算機(jī)科學(xué)助理教授 Jason Polakis 指出,,reCAPTCHA 版本 3 的工作要比論文中描述的更多。


他說(shuō)道:「本文試圖展示的攻擊僅僅是從頁(yè)面中的隨機(jī)起點(diǎn)移至復(fù)選框,。這是用戶在實(shí)踐中與實(shí)際頁(yè)面產(chǎn)生交互的非常具體和有限的子集(如填寫表格,、與多頁(yè)面元素交互以及跨越更復(fù)雜模式等)?!?/p>


他還補(bǔ)充:「如果谷歌也已經(jīng)改善瀏覽器/設(shè)備指紋等更先進(jìn)技術(shù)的利用(我們?cè)谶M(jìn)行廣泛深入分析和破解 ReCaptcha 版本 2 時(shí)已經(jīng)發(fā)現(xiàn)了這些跡象),,實(shí)際上展開攻擊將會(huì)變得更為復(fù)雜?!?/p>


Akrout 同意基于鼠標(biāo)移動(dòng)的攻擊存在局限,,但這些也揭露了一點(diǎn)關(guān)于 reCAPTCHA 版本 3 工作的信息。他表示,,「如果你通過(guò)一個(gè)常規(guī) IP 連接谷歌賬戶,,則系統(tǒng)大部分時(shí)間都會(huì)認(rèn)為你是人類?!谷绻阃ㄟ^(guò) TOR 或者代理服務(wù)器連接谷歌賬戶,,則系統(tǒng)通常會(huì)認(rèn)為你是機(jī)器人。


如果測(cè)試的網(wǎng)站已經(jīng)具有這種默認(rèn)設(shè)置,,了解這些則更容易迫使 reCAPTCHA 系統(tǒng)顯示「我不是機(jī)器人」按鈕,。


Akrout 表示攻擊需要對(duì)谷歌表現(xiàn)出中立性—所以沒(méi)有登錄賬戶,也沒(méi)有通過(guò)代理服務(wù)器或使用 Selenium 等瀏覽器控制工具進(jìn)入,。他說(shuō)道:「這就好像是我在要求該系統(tǒng)直接進(jìn)入第二個(gè)頁(yè)面,,其目的僅是為了獲得大量移動(dòng)檢測(cè),。」


Akrout 認(rèn)為谷歌可以通過(guò)這項(xiàng)技術(shù)(特別是根據(jù)用戶點(diǎn)擊按鈕花費(fèi)的時(shí)間),,使用更簡(jiǎn)單的方法來(lái)保護(hù) reCAPTCHA,。Akrout 表示,「該智能體點(diǎn)擊復(fù)選框花費(fèi)的時(shí)間比人類更多,。在沒(méi)有任何交互的情況下,,任何用戶通常都不會(huì)影響 reCaptcha 在后臺(tái)的工作?!?/p>


肯特大學(xué)的網(wǎng)絡(luò)安全教授 Shujun Li 先前已經(jīng)設(shè)計(jì)了自己用于破解 reCAPTCHA 早期版本的系統(tǒng),,但并沒(méi)有參與這個(gè)項(xiàng)目。他表示這項(xiàng)工作從技術(shù)層面看似可行,,但也認(rèn)為谷歌可輕易更新其系統(tǒng)以避免此類攻擊,。


他說(shuō)道:「尚未清楚的是,該攻擊方法被重新訓(xùn)練至何種程度才能趕上谷歌系統(tǒng),。可能更加穩(wěn)健的一種方法是收集真正人類用戶對(duì) reCAPTCHA 的響應(yīng),,并構(gòu)建機(jī)器學(xué)習(xí)模型來(lái)模擬此類響應(yīng),。這些模型很容易被重復(fù)訓(xùn)練,而且能夠保證有用,,除非 reCAPTCHA 對(duì)常規(guī)人類用戶不可用,。」


Li 表示破解這些系統(tǒng)的確還有很多其他方法,。雖然這種特定攻擊受到限制,,但 reCAPTCHA 將繼續(xù)淪為人工智能系統(tǒng)犧牲品的事實(shí)并不意外。


Li 表示:「破解驗(yàn)證碼并不是什么新聞了,。最近的 AI 進(jìn)展已經(jīng)大大提高了自動(dòng)攻擊的成功率,。原則上,驗(yàn)證碼技術(shù)已證明無(wú)法抵制先進(jìn)的攻擊,?!贡疚牡难芯炕蛟S無(wú)法破解第 3 版 reCAPTCHA,但這是一個(gè)開始,。


論文:Hacking Google reCAPTCHA v3 using Reinforcement Learning

微信圖片_20190329144233.jpg


論文鏈接:https://arxiv.org/pdf/1903.01003.pdf


摘要:本文提出了一種可以欺騙谷歌 reCAPTCHA v3 的強(qiáng)化學(xué)習(xí)方法,。我們將 reCAPTCHA v3 視為一個(gè)網(wǎng)格世界,智能體在這個(gè)世界里學(xué)習(xí)如何移動(dòng)鼠標(biāo)并點(diǎn)擊 reCAPTCHA 按鈕獲得高分,。


我們研究了在改變網(wǎng)格中格子大小時(shí)智能體的性能,,結(jié)果顯示,當(dāng)智能體向目標(biāo)大步前進(jìn)時(shí),,其性能會(huì)大大降低,。最后,,我們用了一個(gè)分治策略來(lái)應(yīng)對(duì)任意網(wǎng)格分辨率,以攻破 reCAPTCHA 系統(tǒng),。我們提出的方法在 100 × 100 的網(wǎng)格中實(shí)現(xiàn)了 97.4% 的勝率,,在 1000 × 1000 的屏幕分辨率上實(shí)現(xiàn)了 96.7% 的勝率。


實(shí)驗(yàn)結(jié)果


研究人員在一個(gè)特定尺寸的網(wǎng)格上訓(xùn)練了一個(gè)強(qiáng)化學(xué)習(xí)智能體,。他們的方法是將訓(xùn)練得到的策略用于在 reCAPTCHA 環(huán)境中選擇最佳行動(dòng),。實(shí)驗(yàn)結(jié)果是在訓(xùn)練 1000 輪之后得到的。


如果智能體得到 0.9 分,,他們就認(rèn)為該智能體成功攻破了 reCAPTCHA,。策略網(wǎng)絡(luò)是一個(gè)全新的雙層全連接層網(wǎng)絡(luò)。參數(shù)是以 10^(-3) 的學(xué)習(xí)率訓(xùn)練得到的,,批大小為 2000,。


下圖顯示了智能體在 100 × 100 的網(wǎng)格上得到的結(jié)果。該方法以 97.4% 的勝率成功攻破了 reCAPTCHA 測(cè)試,。


接下來(lái)考慮在更大的網(wǎng)格上測(cè)試該方法,。如果增加網(wǎng)格的大小,狀態(tài)空間的維數(shù)就會(huì)指數(shù)級(jí)增加,,在這種情況下訓(xùn)練強(qiáng)化算法并不可行,。這是本研究解決的另一個(gè)難題:如果不為每個(gè)分辨率的網(wǎng)格重新訓(xùn)練智能體,該如何攻破 reCAPTCHA 系統(tǒng),?


為此,,研究人員提出了一種分治方法,可以攻破任意網(wǎng)格大小的 reCAPTCHA 系統(tǒng)而無(wú)需重新訓(xùn)練強(qiáng)化學(xué)習(xí)智能體,。中心思想是將網(wǎng)格進(jìn)一步切分為子網(wǎng)格,,然后將訓(xùn)練得到的智能體應(yīng)用到這些子網(wǎng)格上,以為更大的屏幕尋找最優(yōu)策略(見圖 2),。圖 3 顯示了該方法的有效性,,在不同大小的網(wǎng)格上勝率超過(guò)了 90%。

微信圖片_20190329144255.jpg

圖 2:分治方法圖示:智能體在紫色的對(duì)角網(wǎng)格世界上運(yùn)行,。紅色網(wǎng)格世界還沒(méi)有被探索,。

微信圖片_20190329144310.png

圖 3:強(qiáng)化學(xué)習(xí)智能體在不同網(wǎng)格分辨率上的勝率。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。