歡迎光臨
每天分享高質量文章

Google AI騙過了Google,工程師竟無計可施?

導讀:古人問:以子之矛,攻子之盾,何如?

Google reCaptcha 團隊:其人弗能應也……內心苦,說不出。

作者:若名

來源:AI科技大本營(ID:rgznai100)

如果你通過 Google 搜索購買演唱會門票或者註冊論壇賬號,系統會提示你必須點擊幾個圖框、音頻或者移動滑鼠等操作來確認是人類在操作驗證而不是機器人。

其背後的驗證機制就是 CAPTCHA(驗證碼),保護互聯網服務免受諸如 Sybil 的攻擊,這是互聯網防止自動創建帳戶和濫用服務的第一道防線。

而 Google 的 reCaptcha 服務是最受歡迎的驗證碼系統之一,目前被成千上萬的網站用於測試用戶是否是人類,以防範機器人的攻擊。

reCAPTCHA 發佈之後,無論是安全專家還是研究人員都在試圖挑戰它,找出它的漏洞,比如一些專家就試圖通過反向圖像搜索、深度學習和“ 實驗神經科學資料 ” 來進行攻擊。

這些方法要麼成功率較低或者很快就被 Google 團隊迅速補上了漏洞。但其中一種攻擊方法讓 Google 團隊看上去束手無策。

馬裡蘭大學的研究人員聲提出的 unCaptcha 攻擊方法 unCaptcha 可以輕鬆騙過 Google reCaptcha。他們使用來自實時網站的超過 450 次 reCaptcha 挑戰來評估 unCaptcha,並證明可以在 5.42 秒內以 85.15% 的準確率進行破解。

該方法的原理讓人萬萬沒想到的是:在用戶請求語音驗證碼後,只要把收到的內容轉發給 Google 語音轉文字 API,然後把收到的回覆進行提交,最後竟然給輕易破解了。

古人問:以子之矛,攻子之盾,何如?

Google reCaptcha 團隊:其人弗能應也……內心苦,說不出。

微博網友如此調侃:

怎麼會這樣呢?

上述研究人員最初在 2017 年開發了 UnCaptcha,他們在發表的論文《unCaptcha: A Low-resource Defeat of reCaptcha’s Audio Challenge》中給出了更為詳細的解釋:

通過 UnCaptcha 下載音頻驗證碼,將音頻分成單個數字音頻片段,將片段上傳到多個其他語音轉文本服務(包括 Google),然後將這些服務得出的結果轉換為數字編碼。隨後經過一些同音詞猜測後,它會決定哪個語音到文本輸出最接近準確值,然後將答案上傳到 CAPTCHA 欄位。

這還是 unCaptcha 1.0 版本,成功率便達到 85%。在這一版發佈後,Google 隨即修複了一些漏洞,包括提升瀏覽器自動檢測性能以及將驗證方式從數字編碼切換為短語音,這成功防止了 unCaptcha 的攻擊。

不過,上述研究人員在 2018 年 6 月升級了新方法,unCaptcha v2 依然可以繞過這些防禦機制,並且“魔高一丈”,準確性比以前更高,達到了 90%。

這次他們還公佈了 v2 版的代碼和更詳盡的步驟,研究人員稱 unCaptcha2 的操作方法很簡單:

  1. 導航到 Google 的 ReCaptcha 演示網站

  2. 導航到 ReCaptcha 的音頻挑戰

  3. 下載音頻挑戰

  4. 將音頻挑戰提交到 Speech To Text

  5. 解析響應和型別答案

  6. 按提交並檢查是否成功

▲過程演示

由於 unCaptcha2 必須轉到屏幕上的特定坐標,因此你需要根據設置更新坐標。這些坐標位於 run.py 的頂部。在 Linux 上,使用命令 xdotool getmouselocation –shell 查找滑鼠的坐標可能會有所幫助。

你還需要為選擇的任何語音轉文本的 API 設置證書。由於 Google,微軟和 IBM 的語音轉文本系統看起來效果最好,因此這些系統已包含在 queryAPI.py 中。

此外,你必鬚根據需要設置用戶名和密碼,對於 Google 的 API,必須使用包含 Google 應用程式證書的檔案設置環境變數(GOOGLE_APPLICATION_CREDENTIALS)。

最後,使用安裝依賴項 pip install -r dependencies.txt,大功告成。

到此你還有疑惑問這難道不是黑客攻擊嗎?Google 沒報警?研究人員的說法是,他們已經聯繫了 Google ReCaptcha 團隊,提醒 Recaptcha 更新後的系統安全性更差了,所以後者完全瞭解這次攻擊的事件,而研究人員非但沒有受到任何干擾,而且在破解成功率如此之高的情況下,ReCaptcha 團隊甚至允許他們公佈代碼。

當然,這些研究人員這麼努力找 ReCaptcha 的 bug,並善意提醒ReCaptcha 團隊基礎架構的問題,卻沒能得到 Google 的獎勵,研究人員也特意強調了這一點。

ReCaptcha 團隊暫時未給出應對攻擊的進一步措施,但研究人員最後發佈免責宣告稱,當 Google 再度更新 ReCaptcha 服務時,他們將不再更新 GitHub 庫。因此,他們預計 unCaptcha2 攻擊方法未來會失效,專案本身也會隨時中斷。

來源:

http://uncaptcha.cs.umd.edu/

論文鏈接:

http://uncaptcha.cs.umd.edu/papers/uncaptcha_woot17.pdf

代碼和資料:

https://github.com/ecthros/uncaptcha

https://github.com/ecthros/uncaptcha2

赞(0)

分享創造快樂