張襦心
網(wǎng)上消費已經(jīng)進入中國鄉(xiāng)村,新技術對于年青一代農(nóng)村務工者來說不難,但年齡偏大的務工者大多還是不會使用。
因為神一樣的驗證碼,12306被“噴”慘了。是誰為12306打造了這套驗證系統(tǒng)?背后又有著怎樣的考慮?本刊記者就此展開了調(diào)查。不過,在對調(diào)查結果展開敘述前,各位有必要先跟隨記者來了解一下驗證碼的前世今生,這有助于您對12306驗證系統(tǒng)的了解。
驗證碼之“大禹治水”
估計每個上網(wǎng)的人,都有過看不清驗證碼而抓狂的經(jīng)歷,越著急越出錯,有時候恨不得摔鍵盤。
這還不算悲催。據(jù)驗證碼創(chuàng)始人2008年的統(tǒng)計,當時每天全球范圍內(nèi)就有大約2億次驗證碼輸入,每次浪費10秒鐘,意味著全人類為了輸入驗證碼,每天要浪費55萬個小時。時過7年,這個數(shù)字想必還要再翻幾番。
這就令人產(chǎn)生了一個疑問:人類為什么要造出這么“反人類”的存在?為什么驗證碼非要歪歪扭扭、模模糊糊地令人生厭?
老網(wǎng)民應該都有印象,這個世界本來沒有驗證碼。公元2000年前,堪稱互聯(lián)網(wǎng)的荒蠻時代,那時候剛剛開天辟地不久,天地一片混沌,根本沒有什么安全概念。垃圾郵件和垃圾評論應運而生。
1994年,美國亞利桑那州,有一對在互聯(lián)網(wǎng)世界里臭名昭著的律師夫婦Cantor和Siegel,為了宣傳自己的移民顧問服務,寫了一段小程序,把 “綠卡抽獎”的廣告郵件,同時發(fā)送給了兩人能夠窮盡的近6000個Usenet新聞組的用戶,這就是垃圾郵件的起源。這一事件因此也被稱為“綠卡事件”。當時這對夫婦只花了不到20美元的上網(wǎng)通信費用,就吸引來了25000個客戶,賺了10萬美元。后來還把這段“成功經(jīng)驗”寫了一本書:《網(wǎng)絡賺錢術》,宣傳這種“前所未有的幾乎無需任何成本的營銷方式”。
“綠卡事件”導致很多服務商的服務處于癱瘓狀態(tài)。遭受郵件騷擾的用戶,紛紛跑到新聞組里聲討,有人甚至留言說:“我恨不能用椰子殼和SPAM午餐肉罐頭砸扁他們”。從此美國大名鼎鼎的午餐肉品牌“SPAM”,就變成了互聯(lián)網(wǎng)垃圾信息的別名,沿用至今。
盡管“綠卡事件”的始作俑者被口誅筆伐,但“賺錢的示范效應”歷來都是驚人的。憤怒聲中,一些觸覺敏銳的商人覺察到了其中的商機,從此潘多拉的盒子就被打開了。
圖表:2016 年鐵路出行購票七大變化。
第二年,有人寫出了可以大批量發(fā)送電子郵件的程序。緊接著,又有人拿出200萬個郵件地址出售。到了1997年,垃圾郵件已經(jīng)泛濫成災。
有垃圾郵件,就有反垃圾郵件。
有人將這段纏斗過程,戲稱為“大禹治水”:
“首位安全架構師女媧取五彩之石,煉就密碼三次錯誤自動鎖定賬戶之禁制,才將天空補完?!?/p>
“天”雖補完,“水”患依舊橫行,蠻荒野獸肆虐,它們或者采用慢速掃描,或者利用密碼輪詢賬號,以避過“女媧”所留“密碼三次錯誤自動鎖定賬戶”的禁制?!皥虻叟甚呏嗡保磅叀倍ǘ滤摺拊L問者IP,堵“洪水”源頭,“洪水”因此而改道,或經(jīng)代理,或走“肉雞”,“鯀”治“水”歷時九年,“水”患難除,疲于奔命,卒于“羽山”。
“鯀”之子“禹”定疏水之策,立“定海神針”——以驗證碼確定正常訪問者身份,是人是妖一眼看穿,杜絕洪水肆虐,終解大患,此乃驗證碼之由來。
這里面的“大禹”,其實就是雅虎。
別看雅虎今天已經(jīng)變得跟“紙老虎”差不多了,當年它可是互聯(lián)網(wǎng)第一代創(chuàng)業(yè)標桿,也是互聯(lián)網(wǎng)早期最重要的免費郵箱提供商。而免費郵箱,恰恰是垃圾郵件的最愛。雅虎發(fā)現(xiàn):垃圾郵件,竟然都來自自己的服務器。通過機器程序注冊,短時間內(nèi)就可以自動創(chuàng)建上千個電子郵件地址,然后就可以利用這些地址發(fā)送垃圾郵件了。
于是雅虎就找到了在卡內(nèi)基·梅隆大學碩博連讀的——Luis von Ahn。這家伙當時才21歲,不愧是拿過“麥克阿瑟天才獎”的人物,向世人展示了學神和學霸的差距,就是誰解決問題更簡潔、更優(yōu)雅。
如何分辨正在注冊的究竟是人還是機器呢?Luis von Ahn想到了一個非常簡單而又巧妙的設計。讓計算機先產(chǎn)生一個隨機的字符串,然后用程序把這個字符串的圖像進行隨機的污染、扭曲,再顯示給顯示器前的人或者機器,這玩意,就是驗證碼(CAPTCHA)。很顯然,人類能夠辨識這些字符,計算機可就傻眼了——當時計算機的辨識技術還很落后。
雖然驗證碼攔截住了大部分的惡意注冊和垃圾信息,但也帶來了用戶時間的浪費。
有人會說,輸入一次不就10秒鐘嗎?對學渣而言,你給他一年他也敢瀟瀟灑灑地浪費啊?但“神”可不是這么想的。
Luis von Ahn掐指一算,全人類一天就要浪費55萬個小時。這些時間怎么能收集起來,讓它產(chǎn)生價值?
優(yōu)質男想到了拿這些零碎時間,來幫助紙質圖書進行數(shù)字化,稱之為“reCaptcha”。比如150 年前的《紐約時報》,從前我們要數(shù)字化,要不就是手動輸入,需要花費巨大的人力、資金,要不就是掃描后靠軟件識別,但軟件識別的準確率很難保證。尤其不少文章,已經(jīng)因為年代久遠,油墨褪色,變得更難辨識。而Luis von Ahn要做的,就是把掃描件上的單詞切割抽取出來,然后與一組自動生成的字符混合,生成驗證碼。于是《紐約時報》從 1851 年到現(xiàn)在的所有報紙,總共超過1300萬篇文章,就這么借助廣大網(wǎng)友之手,成功地錄入了計算機。一個令人生厭、又為了安全不得不做的輸入驗證碼,就這么變成了一個對人類知識寶庫做貢獻的公益之舉。因而Luis von Ahn又被稱為著名的眾包先驅,《彭博商業(yè)周刊》譽其為“人類計算”的先鋒,即借由計算機和網(wǎng)絡平臺,發(fā)揮人類技能,去解決大規(guī)模、復雜的問題。
2009年,谷歌收購了這個天才的項目。隨后人們就發(fā)現(xiàn),咦?驗證碼里怎么會出現(xiàn)疑似門牌號碼的圖片?沒錯,這些就是門牌號,來自Google拍攝的街景。為了提高地圖的準確度,那些機器人識別不出來的門牌號碼,就可以丟給reCaptcha讓廣大網(wǎng)友幫忙識別咯。
沒有驗證碼的驗證碼
所謂道高一尺,魔高一丈。
當年“魔”還只是發(fā)發(fā)垃圾廣告獲利,后來用計算機還能破解密碼、盜號、操縱網(wǎng)絡輿論和投票……試想,如果沒有驗證碼,黃牛用個電腦程序就可以把大量12306的火車票購入囊中。
巨大的黑金利益,催生了破解驗證碼的瘋狂。而在極客的世界里,攻守驗證碼,也變成了一種較量刀法和劍術的“賽事”。
為了防止驗證碼被輕易破解,十幾年間驗證碼陸續(xù)發(fā)展出了多種形式。比如驗證碼最早是數(shù)字,后來是字母,然后是數(shù)字加字母,后來騰訊又推出了漢字驗證碼。漢字就漢字吧,還給漢字打上了馬賽克。驗證碼還開始跟手機短信結合。如果沒有驗證需求,在微信已經(jīng)一統(tǒng)天下的今天,手機短信幾乎失去了存在的必要。
但上述不管怎么變,驗證碼都依然處于輸入字符的時代。而慣于挑戰(zhàn)人類想象力的谷歌則反向行之,先是推出了圖片驗證碼,后來又致力于把人類再從輸入驗證碼中解放出來。
這個牛氣閃閃的項目,就是上面谷歌收購的reCaptcha的新版。去年底,谷歌宣稱,他們開發(fā)了一種沒有驗證碼的驗證碼 “No Captcha reCaptcha”),只提供了一個復選框,里面寫著“I'm not a robot”(我不是機器人)。當你打鉤之后,谷歌就能利用“風險分析引擎”進行全方位測評,以此來判斷你到底是不是真人。
谷歌敢顛覆傳統(tǒng)驗證碼的背后,有著強大的人工智能技術的支撐?!帮L險分析引擎”,就像一個善于搜集蛛絲馬跡,深諳行為分析術的超級FBI。據(jù)reCAPTCHAs的產(chǎn)品經(jīng)理Vinay Shet說,他們會收集大量信息,包括IP地址和cookies,然后通過收集這些數(shù)據(jù)看對方是否和過去在互聯(lián)網(wǎng)上的行為一致,來判定這個用戶究竟是不是機器人。即便是在單擊復選框之前移動鼠標的那一瞬間,谷歌都可以借此區(qū)分一個真人和一個自動程序之間的那點微妙的差異。
如果你被谷歌判斷為“可疑”,那它就會給你傳統(tǒng)的驗證碼進行第二次驗證。這里面既包括升級版的字符驗證碼,也包括圖片驗證碼——早在2009年,谷歌就研發(fā)出了這種新型的圖片驗證碼。谷歌高級研究科學家Rich Gossweiler當時表示:“我們的技術拓展了圖形驗證碼的表現(xiàn)形式,使其不再局限于字符,也讓分辨驗證碼圖形的過程不再枯燥無味,而平添了不少樂趣?!倍覉D片驗證碼還可以根據(jù)網(wǎng)站的主題創(chuàng)建,例如,迪士尼網(wǎng)站可以采用卡通圖片,eBay則可以采用銷售的商品圖片。
如果您有興趣去細看谷歌的圖片驗證碼。您就會覺得有點眼熟,跟12306最近被吐沫星子淹死的驗證碼如出一轍!
大學生創(chuàng)業(yè)項目
現(xiàn)在,話題可以回到12306了。話說12306的驗證碼4年6版本,說出來也是一部血淚史。它的“技術?!?,甚至從這家網(wǎng)站2010年1月30日剛誕生,就已經(jīng)被吐槽,每年春運訂票進入高峰期,12306都會成為“話題之王”:有時候登陸12306比登陸釣魚島還難,或者登陸了沒法點購買,能點購買了沒法付費,付費了收不到短信通知……廣大購票者一時怒火滔天: 3億多元的軟硬件投入,就做出了這么個玩意?
好在隨著這些年的升級改進,12306終于變得不那么難用了。但怎么對付“黃牛黨”,卻一直缺乏妙招。據(jù)說網(wǎng)絡黃牛信奉天下武功,唯“快”不破。用搶票軟件本來就比12306網(wǎng)站要快一些,更何況網(wǎng)絡黃牛每天都掛在網(wǎng)頁上不停地刷。
為了阻擋黃牛,12306的驗證碼已經(jīng)從數(shù)字-字母-加減法-閃爍變形字母-干擾線變形字母,升級到了最新的圖片驗證碼。
記者注意到,如今被吐槽的“圖片驗證碼”,其實12306早在今年3月15日就已經(jīng)推出。叫好、拍磚的皆有。
微博ID為“中國民間評論員”的網(wǎng)友評論說:“12306這新驗證碼果然威武!看圖識字,可以幼教啟蒙了?!倍鳤zura則抱怨:“昨天買票的時候還是正常的驗證碼。今天買票的時候說讓我選圖片,關鍵是怎么選都不對啊,怎么搞。后來發(fā)現(xiàn),要兩個圖片一起點,你說坑爹不坑爹啊?!”
但當時春運已過,圖片驗證碼并沒有掀起多大的反響,直到9個月后,新一年春運即將到來之前,才一舉躥成了“網(wǎng)紅”。
為12306提供圖片驗證碼的,此前有媒體報道,為“北京點觸互聯(lián)科技有限公司”。從工商注冊資料可以看出,這是一家2015年12月3日才剛剛成立的新公司,公司位于中關村商圈,法定代表人為宋超,注冊資本為100萬元。線索似乎暫時中斷。但長期跑科技口的老記或許能想起,當年有幾個大學生對外稱自主研發(fā)了一種“點觸驗證碼”,曾在浙報傳媒主辦的新媒體創(chuàng)業(yè)大賽上拿到二等獎,吸引了數(shù)百萬的天使投資。為首的那位大學生,名字即為宋超。
記者通過查閱相關資料,證實兩位“宋超”確實為同一人,今年26歲。
那是在2011年的11月,宋超當時還是哈工大計算機學院網(wǎng)絡信息安全專業(yè)的研一的學生,他接手了學校大學生創(chuàng)業(yè)聯(lián)盟注冊的子公司“千元軟件工作室”,平時接點外包項目賺錢。有一次在團隊頭腦風暴時,偶然想到了“點觸驗證碼”的點子。宋超后來曾對媒體表示:“傳統(tǒng)的驗證碼輸入方式已經(jīng)20多年沒變化了,其操作習慣已遠不適應當下。我們首創(chuàng)的點擊、拖動驗證方式更加簡單、高效,足以引發(fā)一場驗證碼革命?!彼麄兊尿炞C碼就是讓用戶在特殊處理過的組合圖片中識別特定區(qū)域的意義,比如在幾張圖片中識別出水果,讓用戶用點擊、拖拽、觸摸的方式,完成驗證碼的輸入。
2012年4月,宋超報名參加了浙報傳媒的“中國首屆新媒體創(chuàng)業(yè)大賽”,據(jù)說比賽還沒有結束,傳媒夢工場創(chuàng)投基金就表現(xiàn)出了投資興趣。該基金是由傳媒夢工場聯(lián)合阿里資本及創(chuàng)新工場共同發(fā)起創(chuàng)業(yè)投資基金。
但在那個時候,宋超還要忙于學業(yè)。而互聯(lián)網(wǎng)創(chuàng)業(yè)的特點,就是如果跑得不夠快,那就會死得很快。學業(yè)還是創(chuàng)業(yè),讓宋超似乎陷入了“創(chuàng)業(yè)躁郁癥”,曾在自己的微博上感慨:“大學生創(chuàng)業(yè)最缺的不是創(chuàng)意,不是經(jīng)驗,不是決心,而是時間!”
最終他和兩位伙伴選擇了休學創(chuàng)業(yè)。 2012年9月,杭州微觸科技有限公司成立,宋超擔任了CEO。2014年1月,該公司正式開始商業(yè)化運作,累計盈利超過200萬元,曾計劃在2015年上半年完成A輪融資1000萬元。其間公司總部已由杭州搬至北京,并經(jīng)歷了多次股權變更。2013年5月28日,韓光明從投資人中退出。2015年3月,最初創(chuàng)業(yè)“三劍客”之一的郝忠翁也從投資人名單中消失。宋超也在媒體采訪中坦承:“由于有段時間公司發(fā)展困難,資金流出現(xiàn)緊張。一名同學看不到希望,跳槽走了?!钡?015年5月27日,杭州微觸股東實繳出資額,從變更前的夢工廠傳媒有限公司6萬、張揚3.36萬、宋超20.64萬,變?yōu)閭髅綁艄S6萬、張揚3.36萬、龔甜3.45萬、宋超17.19萬。
而在新成立的北京點觸中,自然人股東只有張揚和宋超兩位。到目前為止,該公司的客戶包含了12306、中國郵政、金山快盤、浙江在線、IT之家、新文化網(wǎng)社區(qū)等。與12306合作的這一外包項目,據(jù)宋超本人稱,服務價格超過了100萬元,委托方則是鐵科院電子所。
本來是作為第一大客戶案例的項目,卻遭來了鋪天蓋地的批評,該公司的壓力驟增。
目前無論是北京點觸,還是鐵科院電子所,對該項目都是三緘其口。
記者致電北京點觸,該公司的吳姓負責人表示:“公司最近承受了很大的壓力,不太方便接受采訪?!苯o宋超發(fā)送的采訪郵件,未得到回復。而鐵科院電子所,則對該外包項目是否進行了招標、中標原因等問題,也未有回應。
從該公司網(wǎng)站公布的一些驗證碼案例看,其圖片清晰美觀,趣味感強。但在12306上卻顯得非常模糊劣質。
這似乎是鐵科院電子所主導的結果。鐵科院電子所副所長朱建生近日在媒體上承認:“為了防范搶票軟件的自動識別,我們會對圖片做出微調(diào)、旋轉、切割的處理。這樣做主要是為了在方便旅客購票和打擊搶票軟件中尋找平衡。”
攻守之戰(zhàn)
成本與效果,是檢驗“驗證碼”的唯一真理。
一位曾在BAT就職的技術管理者告訴記者:“圖片驗證碼的獲取與維護成本,比字符驗證碼更高。因為字符都是現(xiàn)成的,可以隨意變形、加干擾線等,識別不受背景知識和文化差異的影響。而一張圖片的內(nèi)容不能變,只能在圖片的組合與出題上加以變化,圖庫也需要專門去獲取?!?/p>
朱建生近日稱:“將對驗證碼中數(shù)萬張圖片進行優(yōu)化,剔除一些辨識度不高的圖片,提高圖片的清晰度?!薄澳戏饺藳]見過或北方人沒見過的,或各地叫法不同的,未來在優(yōu)化時都將進行篩除?!?/p>
網(wǎng)友總結的搶票“技術”。
這顯然也是一件耗費人工與時間成本的事情。如果成本大,但效果好,這似乎也是值得投入的事情。但上述人士認為:“圖片驗證碼比字符驗證碼更容易破解?!彼e了騰訊為例?!膀v訊是國內(nèi)對驗證碼最上心的的公司之一??梢栽O想一下,是黃牛倒票利潤大?還是QQ盜號利潤大?目前QQ盜號的黑色產(chǎn)業(yè)都已經(jīng)呈現(xiàn)集團化和行業(yè)細化的特征了。為了應對QQ盜號,騰訊必須采用目前最先進的驗證碼技術。而他們采用的,就是字符驗證碼。如果圖片驗證碼真的效果好,騰訊早就采用了?!?/p>
據(jù)其推算,12306的圖片數(shù)量應該沒有幾萬張,有可能是在1萬張左右,這個量并不大,可以先把所有圖片都刷出來,并加上備注,形成自己的圖片庫。當破解程序遇到驗證碼的時候,雖然它并不認識這些圖片是什么,但通過比對,可知這些圖,跟自己圖片庫里的某些圖相同,由此便可以進行破解。谷歌、百度現(xiàn)有的圖片識別,將會幫助加快這一過程。即使12306增加驗證碼的難度,但圖片的組合與題目的變化,總體而言是有限的。而字符的變形則是無限的。從目前來看,字符驗證碼,依然是判斷正在輸入的是真人還是程序的最簡單、高效的方法。
在12306圖片驗證碼推出不久,獵豹移動曾表示:搶票不受影響,速度還提升了1秒。緊接著,就有技術高手公開了破解方法和代碼,原理如下:1.12306存儲的圖片并非無限多2.模擬點擊完全沒問題3.智能識別圖像雖然有難度,但是所有圖片可以用MD5來標志。
日前,360瀏覽器“春運搶票開發(fā)團隊”也對外宣布, 360瀏覽器已經(jīng)攻破了12306的圖片驗證碼。在本次春運搶票初期,360瀏覽器就破解了12306圖片驗證碼,成功率達到95%左右。不到兩天,12306展開了“報復”,增加圖片驗證碼的數(shù)量與關鍵詞,并提升識別難度。不過360瀏覽器工程師們也開始了新一輪破解大法,還喊出了“為全國人民干一票!”的口號。最后宣稱已在購票登陸和提交支付環(huán)節(jié)均能自動識別驗證碼。
當然無論是字符驗證碼,還是圖片驗證碼,都會遭遇一個終極難題,那就是“人工打碼”。如今百度上隨便一搜,就可以看到大量招聘兼職打碼的小廣告。比如有家打碼平臺給出的任務價格是1000張1.2元,還有獎勵機制,活躍會員以全職媽媽、殘障人士、收入不高的上班族為主。
人工打碼的存在已經(jīng)不是一天兩天了?!都~約時報》早在2010年即有報道稱,一些發(fā)送垃圾郵件的公司會將填寫驗證碼的工作外包給發(fā)展中國家(中國、印度等國)的工人,每填寫1000個驗證碼可獲得0.8-1.2美元的報酬,還有專門的經(jīng)紀人和中間人。一位孟加拉的驗證碼經(jīng)紀人在自己的簡介網(wǎng)頁上稱,公司擁有30臺電腦,實行三班倒,可以每周7天、每天24小時地開展工作。
記者注意到,還有知名自媒體聲稱,12306推出圖形驗證碼,其實是在下一盤很大的棋,即想把驗證碼變成廣告展示位。其實打廣告,這確實是宋超選擇創(chuàng)業(yè)的初衷之一。上文提到,2009年谷歌推出圖形驗證碼的時候,也支持各家網(wǎng)站根據(jù)自己的主題創(chuàng)建,增加跟網(wǎng)友的互動。
但這在12306上恐怕行不通。江南春可以在樓梯間裝液晶屏,利用的是人的閑置時間。而搶票爭分奪秒,誰還有閑心去看廣告。廣告云云,不過是臆想罷了。