研究人員利用強化學習破解Google用來區分是人還是機器人的reCAPTCHA v3

研究人員以強化學習破解reCaptcha v3

三名研究人員Ismail Akrout、Amal Feriani及Mohamed Akrout近日發表一研究論文,指出他們已成功利用強化學習(Reinforcement Learning,RL)破解了Google用來區分是人還是機器人的reCAPTCHA v3。

reCAPTCHA是個可自動化辨識機器與人類的圖靈測試系統,第一個版本(reCAPTCHA v1)是藉由要求使用者輸入扭曲的文字進行辨識,但已被研究人員以基於機器學習技術的系統所破解,由機器人曚混過關的比例可高達98%;reCAPTCHA v2則是進一步加入影像與聲音的辨識,亦被基於深度學習(Deep Learning,DL)的unCAPTCHA所破解。

這次研究人員則採用了強化學習技術來擊敗reCAPTCHA v3。reCAPTCHA v3利用一個0到10分的評分系統,來判斷網站的訪客是人還是機器人,愈趨近於0分就愈像機器人,愈靠近10分就愈可能是人類。

研究人員透過強化學習公式來破解reCAPTCHA v3:首先提出一個看似合理的問題形式,作為可被先進RL演算法解決的馬可夫決策過程(Markov Decision Process,MDP),繼之導入一個新環境與reCAPTCHA v3進行互動,再藉由分析RL代理人所學到或失敗的教訓,來破解reCAPTCHA v3。

實驗顯示此一RL代理人通過reCAPTCHA v3測試的比例高達97.4%,而這也是第一個利用強化學習來擊敗reCAPTCHA v3的研究。

研究人員還發現,當使用連結Google帳號的瀏覽器來執行reCAPTCHA v3測試時,所得的分數會高於未連結Google帳號的瀏覽器,再加上reCAPTCHA v3偵測了用戶在網頁上的行為,有侵犯用戶隱私之嫌。

根據Built With的統計,現階段全球約有66萬個網站使用reCAPTCHA v3,若計算所有的版本,已有450萬個網站使用reCAPTCHA,在最受歡迎的前1萬個網站中,就有25%使用reCAPTCHA。


有450萬個網站使用reCAPTCHA?🤔insoler絕對沒有!就算是reCAPTCHA v1、v2、v3... v100都不使用!😈

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏

Google 驗證碼進化史:我們越來越方便,但也交出了越來越多的隱私

使用 reCAPTCHA v3 的網站被鼓勵在網站的每個頁面放置 reCAPTCHA v3 代碼,而不只是在登錄頁面,因為 reCAPTCHA 系統會跟蹤使用者的所有瀏覽行為進行分析。兩個因素結合,Google 可以獲得幾乎所有的使用者行為。在 FastCompany 的報導發出後,Google 確認,使用者使用的硬體訊息即設備上的軟體會被發送回 Google 伺服器,但它表示,獲得的結果「只用於分析使用者行為,不用於個性化廣告推薦」。

即使現在網際網路已經滲透到我們生活的方方面面,但它依然只是現實的真實世界在虛擬的網路空間上按比特訊息編碼後的投射。

這就意味著自動化程式同樣可以模仿人的行為,同時,因為機器速度更快且不知疲倦,它會被用於大量在論壇、網站、app 中發佈行銷訊息。而且,在監管不足的情況下,利潤更高的行業往往底線更低,自動機器人發佈的垃圾訊息經常也和賭博、詐騙、色情等灰色產業有關。一些自動化程式還會嘗試以暴力法的方式竊取使用者帳號、密碼,給網站帶來巨大的安全隱患。

驗證碼正是為瞭解決這樣的問題而生的。它也是個自動化程式,不過存在目的是區分使用者到底是機器人還是真實的人。

自動產生的扭曲的文字和圖案是最常見的驗證碼,雖然它可以有效地辨識出很大一部分自動化程式,但它對真人使用者的體驗並不好。而且隨著機器學習的發展,它的破解也越來越容易。

Google 的驗證碼團隊做了很多創新,比如創造性地把驗證碼用於紙質典籍數位化。而在扭曲文字、圖片的主流路線之後,Google 的團隊還嘗試了新的思考方式,透過追蹤點擊行為等來辨識使用者是否是真人,使用者只需要點擊「我不是機器人」的複選框進行驗證即可。

在最新版本的 Google 驗證碼 reCAPTCHA v3 中,你甚至什麼都不用做,系統就在悄悄核驗當前的使用者是不是機器人。技術正在讓「驗證碼」越來越隱形,人類不必再為了自證身份去做「反向圖靈測試」,但驗證碼的進步也帶來了一些新的問題。

初代驗證碼 CAPTCHA:歪歪扭扭的文字是為了故意讓機器人看不懂

卡內基梅隆大學校舍不大,學校排名也和常春藤盟校也有一定差異,但它有全美排名第一的電腦科學專業。

這所學校出了 13 名圖靈獎得主,其中的一位,Herbert Simon 還因為把電腦科學和系統理論、運籌學結合用於管理決策問題,開創了「決策理論」而在 3 年後獲得了諾貝爾經濟學獎。

在嚴肅的學術研究之外,卡內基‧梅隆大學還有一些對電腦和網際網路行業影響深遠的「小發明」,比如給了 emoji 產業靈感的第一個笑臉符號 :-),以及「煩人」的驗證碼。

2000 年,從杜克大學數學系畢業,來到卡內基梅隆大學讀電腦科學博士的路易斯‧馮‧安(Luis von Ahn)和指導教授一起提出了驗證碼的概念,全稱是全自動區分電腦和人類的公開圖靈測試(英語:Completely Automated Public Turing test to tell Computers and Humans Apart,簡稱 CAPTCHA)。

圖靈測試由電腦先驅人物,「人工智慧之父」艾倫‧圖靈提出,如果一台電腦能和人類對話而不被辨識出是機器人即被認為通過圖靈測試。驗證碼也是一種圖靈測試,不過它的目的不是為了篩選出人工智慧,而是辨識出真實的人類使用者。

一種最常見的驗證碼是由演算法產生的扭曲的文字,這麼做是為了防止被光學字符辨識程式(OCR)自動辨識出來。

還有一些更現代的方法包括在字母上加一條曲線、將不同的字母疊在一起或者添加複雜的背景。

圖片驗證碼也大行其道,包括要求使用者辨識圖片的物體,以及把缺失的部分拖到正確的位置和拼圖等。

不管形式如何,這些驗證碼有一個共同的原則:人類很容易辨識,但對電腦來說非常困難。一位人工智慧研究者在自己的Podcasting中有一個更詳細的解釋,為避免 CAPTCHA 過難而使網站損失使用者,通常要求人類使用者通過測試的時間小於 30 秒,使用者通過率大於 90%(引用自 CSDN 使用者  luolan9611)。

還有一個不被普通人知道的點,驗證碼被稱為一種「圖靈測試」,所以它在設計之初就有促進人工智慧發展的初衷。

根據定義,驗證碼的演算法必須公開,這樣做的目的是為了讓破解驗證碼的過程是在解決對應的人工智慧問題,例如圖像辨識、準確度更高的 OCR 等,破解者不必花費心思透過逆向工程推演演算法。

再次引用上文提到的研究者的部落格文章:

CAPTCHA 機制的研究是一個雙贏的局面。CAPTCHA 的設計和破解研究呈現出「設計 – 辨識 – 再設計 – 再辨識」的互相攀升現象,促使 CAPTCHA 研究不斷向前發展,從而帶來 CAPTCHA 機制的魯棒性和可用性的不斷提升。

reCAPTCHA:驗證碼還能用於紙質典籍數位化

驗證碼發明人路易斯‧馮‧安除了是個電腦科學家,還是一位企業家,但是是那種相信人性美好,希望借助技術,在創造商業價值的同時能附帶創造社會價值的人。

馮‧安的博士論文完成於 2005 年,他創造了一個新概念「人本運算」(Human-based Computation),即把人的腦力和電腦的能力結合起來,完成兩者都無法單獨完成的工作。具體的實現方式上,「群眾外包」是最典型的一種,馮‧安也被公認是群眾外包的先驅。

不僅是理論提出者,馮‧安也是實踐的先驅。驗證碼已經被廣泛用於各大網站、app 中,有數據顯示,這項技術在推出後的短短五年內,每天就有 2 億個驗證碼在被使用。

很快,他提出一個新的專案 reCAPTCHA,主要用於把網際網路出現前的紙質典籍數位化。思考方式是這樣的:驗證碼系統會向使用者出示兩個單詞,第一個是正常的自動產生扭曲文字,另外一個則來自紙質典籍的掃瞄版,它們通常因為年代久遠、紙上有汙點等原因難以被 OCR 程式所辨識。

使用者輸入驗證碼時,只要第一個單詞輸入正確就可以被判別為人類,輸入第二個單詞就成了「義務勞動」。系統會預設這個單詞輸入正確,並與其他使用者的輸入結果進行對比,如果多名使用者的答案一致,這個詞的數位化就完成了。

不要小看這樣一個詞一個詞的積累,推出之初,reCAPTCHA 每天就能錄入 3000 萬個字符。2011 年,它已經完成了全部的《紐約時報》數位化的工作,這份從 1851 年開始出版的老報紙有大量純紙質版的內容。

2009 年,Google 看上了這個專案的價值,並出手收購了 reCAPTCHA,它也被 Facebook、Twitter、CNBC 等使用。在幫助這些流量最大的網站抵禦自動化程式騷擾的同時,Google 圖書中難以被自動辨識的掃瞄版的古老典籍同樣借助 reCAPTCHA 得以數位化。

reCAPTCHA 還被用於幫助機器學習系統提高圖像辨識率,運作原理和前述方法一樣,機器難以辨別的門牌號、貓狗照片都被拿來當做驗證碼考人類。

辨識驗證碼的同時,使用者實際在幫機器學習系統標註訓練集,所以,AlphaGo 背後的人工智慧技術,可能早就有你的功勞。

在 reCAPTCHA 被 Google 收購後,馮‧安還有很多基於「人本運算」的專案,比如「帶著目的玩遊戲」(Games With A Purpose,簡稱 GWAPs),遊戲由兩個人同玩,如果兩名玩家對一張圖片的描述一致即可得分,實際上,遊戲的同時也在為人工智慧標註數據。

2014 年,馮‧安創辦了一家更知名的公司——多鄰國(Duolingo),這個學外語的app同樣採用「群眾外包」的模式,使用者在免費學習一種外語時,也在反過來協助建構多鄰國的語言課程,讓其他人也能多學習一種語言。

NoCAPTCHA:不用輸入字符的新驗證碼,以及它帶來的隱私風險

一家公司的「基因」通常和個人一樣,與生俱來難以改變。

收購 reCAPTCHA 後,Google 對它進行了改進,以 Google 的方式。

2014 年,Google 推出了新的驗證碼系統——NoCAPTCHA reCAPTCHA,名字有點拗口,核心是不需要輸入驗證碼的驗證系統,使用者只需要點擊一個「我不是機器人」的複選框,Google 就能判別你是不是真正的人類。

reCAPTCHA 的口號也從「別發垃圾訊息了,讀點書吧」(Stop Spam. Read Books),變成了驗證碼最初的目的「對人類簡單,對機器人困難」(Easy on Humans, Hard on Bots)。

NoCAPTCHA 的工作機制是跟蹤使用者點擊驗證框之前、當時和之後的行為,比如在網頁上花費的時間,從而來判斷是否是人為操作。

如果你被誤判為機器人,還有一個「申訴」的機會,還是從一堆圖片中選出正確的目標。

2018 年,Google 再次升級了 reCAPTCHA,在這個被稱為 v3 的版本中,使用者已經連「我不是機器人」的複選框也看不到了,系統會在背後悄悄分析使用者瀏覽網站的方式,並根據其行為的惡意程度給出一個風險評分。如果使用者評分過低,網站可能會要求使用者輸入更多的訊息來證明自己的身份。

目前,已經有 65 萬個網站使用了最新的 reCAPTCHA v3,而使用 reCAPTCHA 的網站超過了 450 萬,包括 top 1000 網站中的 25%。

在 Google 看來,這是最好的體驗,使用者不需要任何輸入,而且它很難被破解程式學習。唯一的問題是,Google 掌握了越來越多的使用者隱私。

據 FastCompany 報導,兩位研究者對 reCAPTCHA v3 進行了測試後發現,使用者是否使用 Google Cookies 是決定評分的一個重要因素。也就是說,如果使用者選擇讓 Google 記住登錄訊息的話,會得到更高的分數,沒有登錄 Google 帳號,或者使用 VPN 或者洋蔥瀏覽器通常會被提示高風險。

使用 reCAPTCHA v3 的網站被鼓勵在網站的每個頁面放置 reCAPTCHA v3 代碼,而不只是在登錄頁面,因為 reCAPTCHA 系統會跟蹤使用者的所有瀏覽行為進行分析。

兩個因素結合,Google 可以獲得幾乎所有的使用者行為。在 FastCompany 的報導發出後,Google 確認,使用者使用的硬體訊息即設備上的軟體會被發送回 Google 伺服器,但它表示,獲得的結果「只用於分析使用者行為,不用於個性化廣告推薦」。

2018 年,Facebook 遭遇了史上最大的危機,除了商業上的廣告收入增速放緩,在監管和公眾層面,作為最大的社群網路和網路廣告公司之一,Facebook 對使用者隱私保護不力激起了前所未有的質疑。Google 也牽連其中。但一個不可逆轉的趨勢是,我們的一舉一動都在被網際網路巨頭「記錄在案」,從這個層面來看,在隱私保護上,監管部門應該對大公司有更高的要求。

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏