《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(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

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

微信圖片_20190329143950.jpg

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



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


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


為了反破解,,谷歌引入了基于音頻和圖像的 reCAPTCHA v2,。該系統(tǒng)使用了一些高級(jí)的分析工具來判斷一個(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ì)抗率,。后來,谷歌發(fā)布了新的 ReCaptcha,,實(shí)現(xiàn)了更好的瀏覽器自動(dòng)檢測(cè),,而且開始使用短語語音進(jìn)行驗(yàn)證。這些改進(jìn)最開始成功地防御了第一版 unCaptcha 的攻擊,,但這一改進(jìn)版很快又被第二版 unCaptcha 破解了,。

微信圖片_20190329144018.jpg


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


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


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


前兩個(gè)版本的 reCAPTCHA 有可利用的文本,、圖像或音頻,可以將其用作訓(xùn)練神經(jīng)網(wǎng)絡(luò)的輸入,。但 reCAPTCHA v3 移除了所有用戶界面,,沒有拆開亂碼文本或街道標(biāo)志,甚至也沒有勾選「我不是機(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)行的,根本沒有人類交互,,因此破解難度更大,。


破解從哪兒入手?


這么高難度的項(xiàng)目當(dāng)然會(huì)引得各路「黑客」躍躍欲試,。近日,,來自法國(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)分析。也就是說,,這項(xiàng)研究并非真正攻破 reCAPTCHA v3,,而是用機(jī)器學(xué)習(xí)欺騙二級(jí)系統(tǒng)(即舊版的「我不是機(jī)器人」打勾操作),以繞過 reCAPTCHA v3,。


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


論文一作 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ī)器人,,不過真這么做的話,如果訪客是真人就會(huì)很尷尬了,。


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


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


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


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


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


怎么破解,?


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


他們的系統(tǒng)在頁面中放置一個(gè)正方形網(wǎng)格,,鼠標(biāo)沿對(duì)角線穿過網(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


這樣破解真的可以嗎,?


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


但是,谷歌的 ReCAPTCHA 結(jié)合了其它技術(shù)來預(yù)測(cè)用戶的可信程度,,然后嘗試把該用戶納入白名單,。一旦你被納入白名單,無論你做什么都可以通過測(cè)試,?!顾硎尽?/p>


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


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


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


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


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


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


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


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


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


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


Li 表示:「破解驗(yàn)證碼并不是什么新聞了。最近的 AI 進(jìn)展已經(jīng)大大提高了自動(dòng)攻擊的成功率,。原則上,,驗(yàn)證碼技術(shù)已證明無法抵制先進(jìn)的攻擊?!贡疚牡难芯炕蛟S無法破解第 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è)分治策略來應(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è)試。


接下來考慮在更大的網(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)而無需重新訓(xùn)練強(qiáng)化學(xué)習(xí)智能體。中心思想是將網(wǎng)格進(jìn)一步切分為子網(wǎng)格,,然后將訓(xùn)練得到的智能體應(yīng)用到這些子網(wǎng)格上,,以為更大的屏幕尋找最優(yōu)策略(見圖 2)。圖 3 顯示了該方法的有效性,,在不同大小的網(wǎng)格上勝率超過了 90%,。

微信圖片_20190329144255.jpg

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

微信圖片_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)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]