反人類的驗證碼,早應該被干掉
編輯導語:你有沒有遇到過一些反人類的驗證碼?那些不斷翻新花樣的驗證碼,讓人類自證為人更加困難,用戶體驗也變差了,但驗證碼為何會越來越難呢?本篇文章將為你解析這個問題,感興趣的朋友快來看看吧!
「我不是機器人」,本應是不言自明的事情。
但在計算機承認你是人類之前,你可能會被要求點擊包含紅綠燈或人行道的圖像。
當你靠近屏幕瞇起眼睛,思考一個微乎其微的邊角算不算時,你就會知道,這并不像聽起來那么容易。
這種難以自證的感覺,2015 年在 12306 搶票的春運人應該就有領略。
多年過去了,不斷翻新花樣的驗證碼,依然迫使你思考古老的哲學問題——我是誰?
一、微笑的狗,云做的馬,自證是人更難了
「請點擊每張包含微笑的狗的圖片?!?/p>
某創意營銷機構創始人 Jared Bauman 最近被驗證碼難住了。他疑惑的是,狗真的會笑嗎?大多數狗看起來既不高興也不難過,有些在做鬼臉,有些只是張著嘴。
8 月 2 日,他又被要求找出「用云做成的馬」,9 張圖里有 2 張用云做成的大象,他第一次點擊時不幸敗北。
Jared Bauman 意識到了一個嚴重的問題——找出紅綠燈、公交車或煙囪已經過時了,驗證碼系統開始設置下一個級別的挑戰了。
這些驗證碼出自 hCaptcha,開發者稱,它比 Google 的驗證碼系統 reCAPTCHA 更注重隱私,只收集最低限度的必要個人數據。
而驗證碼為什么會越來越難,還是要從驗證碼是什么,以及 Google 的驗證碼系統 reCAPTCHA 是什么說起。
驗證碼(CAPTCHA),全稱是「全自動區分計算機和人類的公開圖靈測試」。
由于它是用計算機來考人類,而不是標準圖靈測試中那樣由人類來考計算機,所以驗證碼也被視為一種反向圖靈測試。
驗證碼的設計初衷是,保護網站免受有害機器人的侵害,包括傳播惡意軟件、散布虛假賬戶、執行 DDoS 攻擊、發送大量垃圾郵件、竊取用戶信息等。這些機器人本質上是一行行自動運行的計算機代碼。
驗證碼創建于 2000 年代初,最早由卡內基梅隆大學的幾位計算機科學家開發。
最初的驗證碼采用了扭曲的文本形式,避免被光學字符識別等計算機程序自動識別,超過了當時計算機可以破譯的程度,但對大多數人類可讀。
很快,研究人員意識到這項技術具有區分人類和機器人之外的潛力,他們開發了 reCAPTCHA 技術,讓用戶在填寫驗證碼的過程中將紙質檔案數字化,因為人類可以比計算機更好地破譯老舊文獻中扭曲的字母。
這一階段,用戶必須輸入兩個詞,一個是答案明確的真正測試,另一個是尚未轉錄的新詞。通過向世界各地用戶多次顯示相同單詞,reCAPTCHA 便可以自動驗證單詞是否被正確轉錄。
這就像互聯網的一次眾籌,求得你的時間而非金錢。互聯網的神奇之處便在此,在技術支持下,再創造一些樂趣,你可以利用所有人的一點精力,自然而然聚沙成塔。
2009 年,Google 收購了 reCAPTCHA,并將其用于數字化 Google 圖書和紐約時報檔案。2011 年,Recaptcha 已經完成了整個 Google 圖書檔案、1300 萬篇紐約時報文章的數字化。2012 年,它每天翻譯大約 1.5 億個單詞。
二、驗證碼為什么越來越難?
人類沉浸在知識的海洋,機器人也沒有停下學習的腳步。
2014 年,Google 發布了一個專門解讀扭曲文本驗證碼的算法,人工智能技術已經能以 99.8% 的準確率解決最困難的扭曲文本,而人類的成功率是 33%。
扭曲的字母失去了它最初的用處,該讓下一代驗證碼登場了。
2012 年,Google 推出了 reCAPTCHA 的圖像識別版本,其中包括來自 Google 街景的照片,從而讓用戶轉錄門牌號碼和其他標志。
類似當初將舊書數字化,在這個過程中,Google 一舉多得,既防御了惡意腳本,自己的人工智能也在進步。
Google 稱:「街景和 reCAPTCHA 團隊密切合作,兩者都將繼續改進,使地圖更加精確和有用,reCAPTCHA 更安全、更有效。」讓地圖更加精確和有用,意味著 Google 需要訓練人工智能更好地識別圖像中的物體。
那怎么訓練人工智能?reCAPTCHA。數以億計的用戶為了證明自己是人類,為科技公司建立起了機器學習數據集。
進步的不止 Google。2017 年,開發人員 Francis Kim 進行了一項實驗,用 40 行 Javascript構建了一個系統,使用 Google 競爭對手 Clarifai 的圖像識別 API,嘗試通過 reCAPTCHA 的圖像驗證碼。結果,這個腳本成功找出了圖中的商店。
理論上,這也可以使用 Google 自己的圖像識別技術來實現。
Google 的驗證碼系統其實有兩個目的:在用文本、圖像等訓練人工智能的同時,抑制惡性腳本的行為。但事實是,Google 的人工智能是越來越厲害了,但惡性腳本也在斗智斗勇中進步,只有用戶證明自己是人越來越難了。
2014 年,Google 的「No CAPTCHA reCAPTCHA」登臺,即「沒有驗證碼的驗證碼」,界面簡潔友好,只需要你堅信「我不是機器人」。
Google 稱,它推出了一個新的 API,可觀察用戶行為,收集指針移動速率、當前 IP、是否使用插件、頁面使用時間、進行過多少次點擊等數據,從根本上簡化了 reCAPTCHA 體驗。大多數情況下,只需單擊一下,就能確認用戶是不是機器人。
但是,驗證碼沒有消失。甚至可以說,最討人厭的驗證碼出現了。
在風險分析引擎無法預測用戶是不是人的情況下,Google 會讓驗證碼再次出山,并且給出了更多新玩法,比如基于經典計算機視覺圖像標記問題,讓你選出所有包括貓或火雞的照片。
此外,還有類似游戲的驗證碼,要求用戶將物體旋轉到特定角度,或將拼圖移動到適當的位置。
人類能夠理解謎題的邏輯,但缺乏明確指令的機器人會被難住。但以后會不會掌握就難說了。
機器學習得越多,人類擁有的優勢就越少,這是一個道高一尺魔高一百丈的過程。
三、驗證碼可以被替代嗎?
伊利諾伊大學芝加哥分校計算機科學教授 Jason Polakis 指出,機器學習現在在基本的文本、圖像和語音識別任務上與人類差不多,「我們需要一些替代方案」。
更重要的是,在驗證碼系統前,用戶體驗和可訪問性大大降低。驗證碼對很多人來說已經不容易,特別是老人等有學習障礙的群體。
為老年客戶提供技術建議的 Eileen Ridge 表示,她經常接到客戶的電話,老人很難辨別油漆磨損的人行道和正常的人行橫道,并且十分擔心自己因為錯誤答案被鎖定帳戶,就像許多國內老年人對互聯網的態度一樣。
微笑的狗、云做的馬,對他們來說可能更難。
而代替驗證碼的方案,也在不斷開發中。
一些網站使用一種人類用戶不可見的驗證碼形式,將字段插入到僅對機器人可見的屏幕上,誘騙它們填寫表格并證明它們不是人類。
近兩年,Google 推出了新驗證碼系統 reCaptcha v3,它采用逆向思維,自動記錄使用者在網站中瀏覽的行為特征,根據這些記錄來給用戶打分,若用戶分數過低則會被判定為機器人。否則不會打擾到用戶,上網體驗很絲滑。但它可能涉及隱私問題。
FastCompany 報道,用戶是否使用 Google Cookies 是決定評分的一個重要因素。如果用戶選擇讓 Google 記住登錄信息的話,會得到更高的分數,沒有登錄 Google 帳號,或者使用 VPN 或者洋蔥瀏覽器通常會被提示高風險。
機器人檢測公司 Shape Security 的首席技術官 Ghosemajumder 則認為,游戲驗證碼、視頻驗證碼等驗證碼測試,最終都會被破解。與測試相比,他更喜歡「持續身份驗證」,本質是觀察用戶的行為,從中尋找自動化的跡象:
「一個真正的人類不能很好地控制自己的運動功能,因此即使他們非常努力地嘗試,他們也不能在多次交互中多次以相同的方式移動鼠標?!?/p>
今年 6 月,蘋果在全球開發者大會宣布將用私人訪問令牌(Private Access Tokens)取代驗證碼。
密碼或生物識別解鎖手機、打開瀏覽器、精準輸入網站……一系列操作足以「驗明正身」。當蘋果系統驗證該設備和 Apple ID 帳戶是正常狀態,再向需要驗證碼的 app 或網站提供「私人訪問令牌」即可。
提供網站安全管理的 Cloudflare、Ffast 等公司已支持私人訪問令牌,用 iOS 16 設備登錄這兩家公司的 app 或網站,不再需要驗證碼。目前,這項技術還在推廣之中,需要更多的支持者加入,才能更好用。
蘋果工程師 Tommy Pauly 指出:「這將為很多人節省大量時間,并且用戶喜歡被信任的感覺?!?/p>
但只要有虛假賬戶、垃圾郵件、騷擾信息等的存在,我們仍然需要將人類用戶與機器人分開的技術,某種形式的驗證碼技術將始終存在,與人工智能并行發展。
未來,驗證碼系統識別人類,很可能不是通過我們超越機器人的能力,而是通過我們犯錯誤的可能。也就是說設置更多挑戰性的測試,我們往往會失敗,而機器人給出正確答案?;蛟S,在我們抓耳撓腮地尋找圖中所有的信號燈時,就是在進行以人類一敗涂地為結局的斗爭。
參考資料:
1.https://auth0.com/blog/captcha-can-ruin-your-ux-here-s-how-to-use-it-right/
2.https://www.wired.com/story/smiling-dogs-horses-made-of-clouds-captcha-has-gone-too-far/
3.https://www.techradar.com/news/captcha-if-you-can-how-youve-been-training-ai-for-years-without-realising-it
4.https://www.theverge.com/2019/2/1/18205610/google-captcha-ai-robot-human-difficult-artificial-intelligence
作者:張成晨
公眾號:愛范兒(ID:ifanr)
本文由人人都是產品經理合作媒體 @愛范兒 授權發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議
只要有虛假賬戶、垃圾郵件、騷擾信息等的存在,我們仍然需要將人類用戶與機器人分開的技術,很贊同這個觀點。
通不過的驗證碼真的很讓人下頭,攔截的是真人(狗頭)
驗證碼不是防真人的,是防機器的
但是如果機器比人輸驗證碼還要快還要準確,確實就失去其本身的意義了
驗證碼還是需要的,畢竟作為安全保障,但是也不能太反人類了
谷歌也開始作惡了