演示實例
大家可以看看CAPTCHA的一個例子:人類能夠比較容易識別圖片中的字母,但如果編寫電腦程式,難度就非常大了。按照Lenore Blum的說法,任何的圖片中的內容都能被識別,不存在一種計算程式生成的圖片不能被電腦程式識別出來。於是,比賽開始了,有人站到Captcha一方,有人站到破譯Captcha的一方.......如今,GZUG的兩位牛人已經開始了這個遊戲:CYT(Coremail的主要設計者)加入了Captcha一方。靈感之源 (Guardio/Definio的Designer)加入了破譯Captcha的一方。
遊戲規則
Captcha方公布一系列的圖片,破譯Captcha的一方提供程式能夠分析這些圖片中的內容,如果破譯方提供的應用程式能夠以高於10%的識別率識別出圖片內容,則判定破譯方獲勝。獲勝方將得到BEA UG禮品一份!
破解方法
複雜的Captcha對文字識別,圖形圖像處理以及人工智慧專家來說都是一個很大的挑戰,但是這並不能阻止網際網路上那些Bot創造者們的腳步,一些新興的破解Captcha的辦法也就應運而生,最常用的包括兩種方法:
1. 利用現成的網站(很多是吸引眼球的不正當網站)的高流量,讓那些過路者免費幫忙輸入驗證碼。
2. 直接付費利用人力資源輸入驗證碼,就是一個專門進行此類勾當的網站。
當然Captcha並不是唯一的解決網際網路垃圾的手段,相信以後會有更多的更方便更安全的技術出現在人們的眼前。
安全問題
CAPTCHA 的安全性與 SPAM 數量息息相關,一直以來,是此消彼長。
據了解,Yahoo! 是 CAPTCHA 的第一個用戶,而Slashdot 上一則題為: Yahoo CAPTCHA Hacked 的訊息引起了不少人的震驚。乖乖,精確度能達到 35%!要知道,一直研究 CAPTCHA 有效性的 PWNtcha 項目的評測中,Yahoo! 的驗證字幾乎是最安全的那種, "A very good captcha, but not always human-solvable",之前也有專門針對 Yahoo ! 所用驗證字進行破解研究項目,比如 Gimpy。
肯定沒有 100% 安全的驗證字--除非你根本不想讓人看明白,在用戶可識別性與機器識別之間的平衡是最大的問題,“挑戰--回響”,兩個環節之間的問題其實也挺微妙。在註冊微軟的一些服務的時候,驗證字很難讓人看明白,要多刷新幾次才能有個好認的;而一些電子商務的網站,比如 Paypal ,驗證字被 PWNtcha 破解的機率是 88% ,這么做應該也是有苦衷的,畢竟要考慮用戶體驗。
中文網站所使用的驗證字機制,個人覺得還沒有引起足夠的重視。唯一值得一提的是騰訊的 "中文" 驗證字算是一個創新(估計是申請專利了),估計能夠抵擋住國外 SPAM 的攻擊(誰讓老外不認識中文呢). 而從我個人的體驗上來看,通過機器人傳送 SPAM 的大部分來自國外,國內目前處於“手工”Spam 方式比較多,當然,更為精準。這就是技術的“馬奇諾防線”啊!
觀雲小道