如果你通過 Google 搜索購買演唱會門票或者注冊論壇賬號,系統(tǒng)會提示你必須點擊幾個圖框、音頻或者移動鼠標(biāo)等操作來確認(rèn)是人類在操作驗證而不是機器人。
其背后的驗證機制就是 CAPTCHA(驗證碼),保護互聯(lián)網(wǎng)服務(wù)免受諸如 Sybil 的攻擊,這是互聯(lián)網(wǎng)防止自動創(chuàng)建帳戶和濫用服務(wù)的第一道防線。而 Google 的 reCaptcha 服務(wù)是最受歡迎的驗證碼系統(tǒng)之一,目前被成千上萬的網(wǎng)站用于測試用戶是否是人類,以防范機器人的攻擊。
reCAPTCHA 發(fā)布之后,無論是安全專家還是研究人員都在試圖挑戰(zhàn)它,找出它的漏洞,比如一些專家就試圖通過反向圖像搜索、深度學(xué)習(xí)和“實驗神經(jīng)科學(xué)數(shù)據(jù)”來進行攻擊。這些方法要么成功率較低或者很快就被 Google 團隊迅速補上了漏洞。但其中一種攻擊方法讓 Google 團隊看上去束手無策。
馬里蘭大學(xué)的研究人員聲提出的 unCaptcha 攻擊方法 unCaptcha 可以輕松騙過 Google reCaptcha。他們使用來自實時網(wǎng)站的超過 450 次 reCaptcha 挑戰(zhàn)來評估 unCaptcha,并證明可以在 5.42 秒內(nèi)以 85.15% 的準(zhǔn)確率進行破解。
該方法的原理讓人萬萬沒想到的是:在用戶請求語音驗證碼后,只要把收到的內(nèi)容轉(zhuǎn)發(fā)給 Google 語音轉(zhuǎn)文字 API,然后把收到的回復(fù)進行提交,最后竟然給輕易破解了。
古人問:以子之矛,攻子之盾,何如?
Google reCaptcha 團隊:其人弗能應(yīng)也......內(nèi)心苦,說不出。
微博網(wǎng)友如此調(diào)侃:
怎么會這樣呢?
上述研究人員最初在 2017 年開發(fā)了 UnCaptcha,他們在發(fā)表的論文《unCaptcha: A Low-resource Defeat of reCaptcha's Audio Challenge》中給出了更為詳細(xì)的解釋:通過 UnCaptcha 下載音頻驗證碼,將音頻分成單個數(shù)字音頻片段,將片段上傳到多個其他語音轉(zhuǎn)文本服務(wù)(包括 Google),然后將這些服務(wù)得出的結(jié)果轉(zhuǎn)換為數(shù)字編碼。隨后經(jīng)過一些同音詞猜測后,它會決定哪個語音到文本輸出最接近準(zhǔn)確值,然后將答案上傳到 CAPTCHA 字段。
這還是 unCaptcha 1.0 版本,成功率便達到 85%。在這一版發(fā)布后,Google 隨即修復(fù)了一些漏洞,包括提升瀏覽器自動檢測性能以及將驗證方式從數(shù)字編碼切換為短語音,這成功防止了 unCaptcha 的攻擊。
不過,上述研究人員在 2018 年 6 月升級了新方法,unCaptcha v2 依然可以繞過這些防御機制,并且“魔高一丈”,準(zhǔn)確性比以前更高,達到了 90%。
這次他們還公布了 v2 版的代碼和更詳盡的步驟,研究人員稱 unCaptcha2 的操作方法很簡單:
導(dǎo)航到 Google 的 ReCaptcha 演示網(wǎng)站
導(dǎo)航到 ReCaptcha 的音頻挑戰(zhàn)
下載音頻挑戰(zhàn)
將音頻挑戰(zhàn)提交到 Speech To Text
解析響應(yīng)和類型答案
按提交并檢查是否成功
(過程演示)
由于 unCaptcha2 必須轉(zhuǎn)到屏幕上的特定坐標(biāo),因此你需要根據(jù)設(shè)置更新坐標(biāo)。這些坐標(biāo)位于 run.py 的頂部。在 Linux 上,使用命令 xdotool getmouselocation --shell 查找鼠標(biāo)的坐標(biāo)可能會有所幫助。
你還需要為選擇的任何語音轉(zhuǎn)文本的 API 設(shè)置證書。由于 Google,微軟和 IBM 的語音轉(zhuǎn)文本系統(tǒng)看起來效果最好,因此這些系統(tǒng)已包含在 queryAPI.py 中。此外,你必須根據(jù)需要設(shè)置用戶名和密碼,對于 Google 的 API,必須使用包含 Google 應(yīng)用程序證書的文件設(shè)置環(huán)境變量(GOOGLE_APPLICATION_CREDENTIALS)。
最后,使用安裝依賴項 pip install -r dependencies.txt,大功告成。
到此你還有疑惑問這難道不是黑客攻擊嗎?Google 沒報警?研究人員的說法是,他們已經(jīng)聯(lián)系了 Google ReCaptcha 團隊,提醒 Recaptcha 更新后的系統(tǒng)安全性更差了,所以后者完全了解這次攻擊的事件,而研究人員非但沒有受到任何干擾,而且在破解成功率如此之高的情況下,ReCaptcha 團隊甚至允許他們公布代碼。
當(dāng)然,這些研究人員這么努力找 ReCaptcha 的 bug,并善意提醒ReCaptcha 團隊基礎(chǔ)架構(gòu)的問題,卻沒能得到 Google 的獎勵,研究人員也特意強調(diào)了這一點。
ReCaptcha 團隊暫時未給出應(yīng)對攻擊的進一步措施,但研究人員最后發(fā)布免責(zé)聲明稱,當(dāng) Google 再度更新 ReCaptcha 服務(wù)時,他們將不再更新 GitHub 庫。因此,他們預(yù)計 unCaptcha2 攻擊方法未來會失效,項目本身也會隨時中斷。
-
Google
+關(guān)注
關(guān)注
5文章
1754瀏覽量
57380 -
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11073瀏覽量
102615
原文標(biāo)題:Google AI騙過了Google,工程師竟無計可施?
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論