《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 解決方案 > 谷歌最新驗證系統又雙叒被「破解」了,這次是強化學習

谷歌最新驗證系統又雙叒被「破解」了,這次是強化學習

2019-03-29
關鍵詞: 谷歌 reCaptcha OCR

自推出以來,谷歌reCaptcha 驗證系統就被頻繁破解,因此谷歌不得不一次又一次地迭代升級。現在,reCaptcha 已經升級到了 v3,由原來的用戶交互直接升級成了給用戶打分。但再強的系統也會有漏洞,來自加拿大和法國的研究者另辟蹊徑,用強化學習「破解」了這個最新的驗證系統。

微信圖片_20190329143950.jpg

谷歌的 reCAPTCHA 驗證系統



對于谷歌瀏覽器的用戶來說,上面這幅畫面想必并不陌生。這是谷歌開發的驗證碼系統 reCaptcha,旨在確認訪問者是人還是程序,并防止惡意程序的入侵。


reCAPTCHA 項目是由卡內基梅隆大學創建的系統,于 2009 年 9 月被谷歌收購。reCAPTCHA v1 將從書本上掃描下來、無法被 OCR 準確識別的文字顯示在 CAPTCHA 問題中,從而判斷訪問者到底是程序還是人類。該版本被 Bursztein 等人破解,他們使用基于機器學習的系統對文本進行分割和識別,準確率達 98%。


為了反破解,谷歌引入了基于音頻和圖像的 reCAPTCHA v2。該系統使用了一些高級的分析工具來判斷一個用戶到底是人還是機器人。


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


用 unCaptcha 攻破 reCAPTCHA


unCaptcha 項目最早創建于 2017 年 4 月,并在當時實現了 85% 的 ReCaptcha 對抗率。后來,谷歌發布了新的 ReCaptcha,實現了更好的瀏覽器自動檢測,而且開始使用短語語音進行驗證。這些改進最開始成功地防御了第一版 unCaptcha 的攻擊,但這一改進版很快又被第二版 unCaptcha 破解了。

微信圖片_20190329144018.jpg


由于 ReCaptcha 添加了語音形式的驗證碼識別,破解 ReCaptcha 變得比以前更加容易。破解者表示,「因為我們只需要調用一個免費的語音識別 API,對所有驗證碼的識別準確率就能達到 90% 左右。」今年一月份,破解者還開源了 ReCaptcha 的破解代碼。


用強化學習「攻破」reCAPTCHA v3


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


前兩個版本的 reCAPTCHA 有可利用的文本、圖像或音頻,可以將其用作訓練神經網絡的輸入。但 reCAPTCHA v3 移除了所有用戶界面,沒有拆開亂碼文本或街道標志,甚至也沒有勾選「我不是機器人」的方框。


它會分析一系列信號,使用機器學習技術返回一個 0 到 1 之間的風險評估分數(這個分數表征了用戶的可信任度,越接近 1 越有可能是人類)。與前兩個版本相比,這種打分完全是在后臺進行的,根本沒有人類交互,因此破解難度更大。


破解從哪兒入手?


這么高難度的項目當然會引得各路「黑客」躍躍欲試。近日,來自法國和加拿大的研究人員聲稱自己破解了谷歌的 reCAPTCHA v3,并根據自己的研究成果發表了一篇名為《Hacking Google reCAPTCHA v3 using Reinforcement Learning》(使用強化學習破解谷歌的 reCAPTCHA v3)的論文。與之前研究的不同之處在于,他們使用的是強化學習方法,測試準確率達到了 97.4%。


實際上,這項強化學習技術并非針對 reCAPTCHA v3 中不可見的分數,而是 reCAPTCHA v2 中首次引入的鼠標移動分析。也就是說,這項研究并非真正攻破 reCAPTCHA v3,而是用機器學習欺騙二級系統(即舊版的「我不是機器人」打勾操作),以繞過 reCAPTCHA v3。


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


論文一作 Akrout 表示,在 reCAPTCHA v3 中,網站設置其分數閾值以判定用戶是否為機器人。如果訪客在某個設定點低于閾值(比如當他們輸入評論或登錄細節時),網站可以選擇立即譴責該訪客是機器人,不過真這么做的話,如果訪客是真人就會很尷尬了。


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


因此,Akrout 表示,很多網站會選擇更友好地緩和這個過程。如果網站訪客低于分數閾值,網站會顯示舊版的「我不是機器人」復選框頁面,這個復選框用來發現機器人的分析行為,包括鼠標移動等。


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


「我認識的大部分程序員會添加復選框,因為他們不知道如何選擇恰當的時機來詢問 v3 系統的判斷。」


正是這個復選框的存在讓 Akrout 和他的同事們發現了繞過 reCAPTCHA v3 的可能。


怎么破解?


Akrout 及其同事利用強化學習來欺騙部分 reCAPTCHA v3 系統,其中軟件智能體試圖找到最佳的可能途徑,并通過正確方向上每一步的獎勵受到鼓勵。


他們的系統在頁面中放置一個正方形網格,鼠標沿對角線穿過網格到達「我不是機器人」按鈕。如果成功,則給予正面強化;如果失敗,則給予負面強化。該系統學會了控制正確的移動方法以欺騙 reCAPTCHA 系統。該論文中稱其準確率達到了 97.4%。在論文發表后,谷歌未對該論文置評。

微信圖片_20190329144209.png


這樣破解真的可以嗎?


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


但是,谷歌的 ReCAPTCHA 結合了其它技術來預測用戶的可信程度,然后嘗試把該用戶納入白名單。一旦你被納入白名單,無論你做什么都可以通過測試。」他表示。


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


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


他還補充:「如果谷歌也已經改善瀏覽器/設備指紋等更先進技術的利用(我們在進行廣泛深入分析和破解 ReCaptcha 版本 2 時已經發現了這些跡象),實際上展開攻擊將會變得更為復雜。」


Akrout 同意基于鼠標移動的攻擊存在局限,但這些也揭露了一點關于 reCAPTCHA 版本 3 工作的信息。他表示,「如果你通過一個常規 IP 連接谷歌賬戶,則系統大部分時間都會認為你是人類。」如果你通過 TOR 或者代理服務器連接谷歌賬戶,則系統通常會認為你是機器人。


如果測試的網站已經具有這種默認設置,了解這些則更容易迫使 reCAPTCHA 系統顯示「我不是機器人」按鈕。


Akrout 表示攻擊需要對谷歌表現出中立性—所以沒有登錄賬戶,也沒有通過代理服務器或使用 Selenium 等瀏覽器控制工具進入。他說道:「這就好像是我在要求該系統直接進入第二個頁面,其目的僅是為了獲得大量移動檢測。」


Akrout 認為谷歌可以通過這項技術(特別是根據用戶點擊按鈕花費的時間),使用更簡單的方法來保護 reCAPTCHA。Akrout 表示,「該智能體點擊復選框花費的時間比人類更多。在沒有任何交互的情況下,任何用戶通常都不會影響 reCaptcha 在后臺的工作。」


肯特大學的網絡安全教授 Shujun Li 先前已經設計了自己用于破解 reCAPTCHA 早期版本的系統,但并沒有參與這個項目。他表示這項工作從技術層面看似可行,但也認為谷歌可輕易更新其系統以避免此類攻擊。


他說道:「尚未清楚的是,該攻擊方法被重新訓練至何種程度才能趕上谷歌系統。可能更加穩健的一種方法是收集真正人類用戶對 reCAPTCHA 的響應,并構建機器學習模型來模擬此類響應。這些模型很容易被重復訓練,而且能夠保證有用,除非 reCAPTCHA 對常規人類用戶不可用。」


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


Li 表示:「破解驗證碼并不是什么新聞了。最近的 AI 進展已經大大提高了自動攻擊的成功率。原則上,驗證碼技術已證明無法抵制先進的攻擊。」本文的研究或許無法破解第 3 版 reCAPTCHA,但這是一個開始。


論文:Hacking Google reCAPTCHA v3 using Reinforcement Learning

微信圖片_20190329144233.jpg


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


摘要:本文提出了一種可以欺騙谷歌 reCAPTCHA v3 的強化學習方法。我們將 reCAPTCHA v3 視為一個網格世界,智能體在這個世界里學習如何移動鼠標并點擊 reCAPTCHA 按鈕獲得高分。


我們研究了在改變網格中格子大小時智能體的性能,結果顯示,當智能體向目標大步前進時,其性能會大大降低。最后,我們用了一個分治策略來應對任意網格分辨率,以攻破 reCAPTCHA 系統。我們提出的方法在 100 × 100 的網格中實現了 97.4% 的勝率,在 1000 × 1000 的屏幕分辨率上實現了 96.7% 的勝率。


實驗結果


研究人員在一個特定尺寸的網格上訓練了一個強化學習智能體。他們的方法是將訓練得到的策略用于在 reCAPTCHA 環境中選擇最佳行動。實驗結果是在訓練 1000 輪之后得到的。


如果智能體得到 0.9 分,他們就認為該智能體成功攻破了 reCAPTCHA。策略網絡是一個全新的雙層全連接層網絡。參數是以 10^(-3) 的學習率訓練得到的,批大小為 2000。


下圖顯示了智能體在 100 × 100 的網格上得到的結果。該方法以 97.4% 的勝率成功攻破了 reCAPTCHA 測試。


接下來考慮在更大的網格上測試該方法。如果增加網格的大小,狀態空間的維數就會指數級增加,在這種情況下訓練強化算法并不可行。這是本研究解決的另一個難題:如果不為每個分辨率的網格重新訓練智能體,該如何攻破 reCAPTCHA 系統?


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

微信圖片_20190329144255.jpg

圖 2:分治方法圖示:智能體在紫色的對角網格世界上運行。紅色網格世界還沒有被探索。

微信圖片_20190329144310.png

圖 3:強化學習智能體在不同網格分辨率上的勝率。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 欧美日韩一级片在线观看 | 国产成人免费a在线资源 | 成人免费a视频 | 日韩美女免费视频 | 精品国产91久久久久 | 欧美日韩中文字幕在线观看 | 久久视屏这里只有精品6国产 | 精品国产欧美一区二区五十路 | 久久久久久久久免费视频 | 欧美在线不卡 | 国产美女主播一级成人毛片 | 99视频在线看观免费 | 精品欧美高清不卡在线 | 国自产精品手机在线视频香蕉 | 国产自产21区 | 怡红院免费全部视频在线视频 | 九草网| 狠狠色综合网站久久久久久久 | 黄a 大片a v 永久免费 | 欧美日韩一区二区三区四区在线观看 | 欧美在线一级毛片视频 | 亚洲欧美视频一区二区 | 黄页网站18以下禁止观看 | 女在床上被男的插爽叫视频 | 亚洲国产三级在线观看 | 午夜爽爽性刺激一区二区视频 | 日韩一区二区三区视频在线观看 | 成年人免费观看视频网站 | 亚洲更新| 国产系列在线播放 | 欧美性猛交xxxxxxxx软件 | 国产欧美综合精品一区二区 | 91久久亚洲精品国产一区二区 | 在线视频免费国产成人 | 真人一级毛片全部免 | 四色6677最新永久网站 | 特级片视频 | 国产一级一级片 | 免费伦费一区二区三区四区 | 办公室紧身裙丝袜av在线 | 精品欧美成人高清视频在线观看 |