網站登錄圖形驗證碼的前世今生是怎樣的?在發展中有哪些技術對抗?


有史以來的第一個系統架構師盤古開天闢地,最初他並沒有考慮任何安全防範措施,天地間混沌一片,因此當水神共工怒觸不周山,暴力破解弱密碼用戶時,天傾西北地陷東南,系統安全幾乎崩壞,首位安全架構師女媧取五彩之石,煉就「密碼三次錯誤自動鎖定賬戶」之禁制,才將天空補完。

天雖補完,水患依舊橫行,蠻荒野獸肆虐,它們或者採用慢速掃描,或者利用密碼輪詢賬號,以避過女媧所留「密碼三次錯誤自動鎖定賬戶」的禁制,堯帝派鯀治水,鯀定「堵水之策」,限訪問者IP,堵洪水源頭,洪水因此而改道,或經代理,或走肉雞,鯀治水歷時九年,水患難除,疲於奔命,卒於羽山。

鯀之子禹定「疏水之策」,立「定海神針」 - 以驗證碼確定正常訪問者身份,是人是妖一眼看穿,杜絕洪水肆虐,終解大患,此乃驗證碼之由來。

蠻荒蚩尤仍未死心,以西夷所傳之「光學字元識別術」(西語:OCR Optical Character Recognition)破之,然定海神針千變萬化,可大可小,時長時短,或增加噪音,或扭曲形狀,難以分辨。於是一時道消魔漲,一時魔消道漲,爭執不下。

後極西之地有西夷,以「雲海之術」破定海神針:設傀儡網站而采批量驗證碼,欺普通用戶以識輸入之字元,存於雲中,以備後用,謂之「雲計算」。

又有極東之地東夷,以「人海之術」破定海神針:雇百千廉價勞工,每日端坐於計算之機前,識驗證碼於頃刻,謂之「人計算」。

彼時中土鐵路局被逼無奈,乃祭出「奧特曼」 及 「連連看」,於是無論善惡,一概中槍,也是無可奈何。

暢想未來,「機關之術」(極西之地謂之人工智慧)、「生化之術」(極西之地謂之生物識別),必將把諸神之戰推向高潮,屆時蚩尤一方有何對策,我等拭目以待。


TED Luis von Ahn: Massive-scale online collaboration

Luis von Ahn是驗證碼的發明人之一,他說驗證碼的作用就是驗證你是一個真人,這是因為人類,至少是沒有視力問題的人,可以識別這些扭曲的文字,而機器做不到。比如說在票務大全網站上,驗證碼就可以防止黃牛寫一個電腦程序一次購買上萬張票。

後來他們開始了一個叫做reCAPTCHA的計劃,原因是,每天全球範圍內有大約2億次驗證碼輸入,每次浪費了10秒鐘,這個乘以2億,全人類每天就浪費了50萬個小時,用來輸入煩人的驗證碼,這令他feeling bad。

然後他就開始思考,既然不能放棄驗證碼,因為網頁安全依賴於此。那麼有什麼方法可以利用它來做點好事呢?在輸入驗證碼的時候,你的大腦在做了不起的工作,這是電腦目前尚無法做到的。

reCAPTCHA計劃就是一個幫助紙質書籍電子化的計劃。書籍電子化的過程就是先掃描一本書,然後通過光學字元識別技術識別這些文字。但是對於一些墨水褪色書頁泛黃舊書,電腦識別就困難,比如五十多年前的書,有百分之三十的單詞電腦無法識別。

這個計劃的原理就是,電腦提供兩個單詞,一個是電腦不能識別的,一個可以識別的,兩個都輸入以後,可以識別的那個驗證你是否是一個真人,如果那個不能識別的單詞被不同的人輸入十次都一致,那麼,這就是一個新的被確認的單詞了(現在肯定被優化了,因為我沒有輸過兩個單詞的驗證碼)。

很多網站都在使用reCAPTCHA,每天電子化的單詞數量大概是一億,每年大概識別250萬本書,而這一切僅僅都是通過人們輸入驗證碼來做到的 。

後來他們又開了一個叫做duolingo的網站。因為世界上的網頁很大一部分是英文的,如果你不會英語就用不了。他們的目標就是把英語網頁翻譯成其他的語言。

機器翻譯不行,錯誤率太高。如果請專業人士翻譯的話,太昂貴,把維基百科從英語翻譯成西班牙語至少要五千萬美元。而且他們覺得肯定找不到這麼多的翻譯人員。

語言學習,完美解決了這個問題。現在全球有超過12億的人在學習外語。Duolingo- 就是基於這個讓人們免費學習外語 同時翻譯網頁的想法建立的。

用它確實可以學外語,不僅可以學好,而且更有趣味性。因為通過Duolingo人們學的是真正的語言使用內容,而不是編造的句子,通過學習真正的文本內容,趣味性大大提高。

對於一些句子,初學者的翻譯和專業的翻譯人員幾乎不相上下。為了得到專業人員的水準,他們把多名翻譯者的翻譯結合起來。

這個網站一個很大的優點是可以迅速翻譯,如果要把維基百科從英文翻譯成西班牙語,這個五千萬美元的工程,十萬名活躍用戶可以在五周內完成,一百萬活躍用戶可以在八十小時內完成,現在他們的項目小組已經有了上百萬使用者在進行這個翻譯工程 。

最讓他興奮的是,duolingo為外語教育創造了一個公平的商業模式。因為現在的外語教育的商業模式是面向富人的,對窮人而言就很不公平。而Duolingo是免費的,而且你學習的時候,也在創造價值。

漢語字幕版:網易公開課大型在線共同創作

Duolingo | Learn Spanish, French, German, Portuguese, Italian and English for free

iPhone和Android商店均有多鄰國應用。


烏雲上很多案例和文章,這裡總結一下:

客戶端問題

1、客戶端生成驗證碼並且僅僅在客戶端用js驗證

2、驗證碼輸出客戶端

(1)輸出在html中

(2)輸出在cookie中

服務端問題

1、session中的數據沒有及時銷毀,導致驗證碼復用,可導致暴力破解

2、判斷驗證碼是否可用的參數可控

比如去掉cookie中的某個欄位可以繞過驗證碼

其他類型繞過

1、登錄介面繞過驗證碼撞庫

2、驗證碼太容易被圖片處理破解(ecshop)


上過一個設計類的網站,驗證碼是紅綠色盲測試圖╰(‵□′)╯︵┻━┻,尼瑪

想了想還是要匿名的


某matlab論壇,驗證碼是微積分,驗證你是不是大學生


那些網站前世今生是特么的日了狗還是被狗日了就是要虐得用戶懷疑自己的前世今生啊。技術對抗包括但並不限於「視力」「屏幕解析度」「概率」「邏輯思維能力」「想像力」和「心理承受能力」。


一項反人類的技術


推薦閱讀:

高清視頻中的手部特寫豈不是會暴露名人的指紋?
信息安全行業人員除了黑產還有其他賺外快的途徑么?
黑客X檔案現在不更了,有沒有什麼途徑可以接觸到類似黑客檔案這樣通俗易懂的書籍或者與其相關很好的論壇呢?
如何看待「小紅書用戶信息遭大面積泄露:至少50人被騙,總額近90萬」這一事件?
別人拿了身份證掃描件、信用卡掃描件能幹什麼?

TAG:計算機 | 信息技術IT | 黑客Hacker | 信息安全 |