導語: “12306的驗證碼,已經擊敗了全國99%的購票者,我已經找不到回家的路了”。為了防止搶票軟件破解,12306網站不斷將登錄的圖形驗證碼更新。但從網友的反饋來看,這種做法除了給普通購票者曾加難度以外,並沒有起到攔截刷票的效果。
打黃牛 12306驗證碼一直在戰鬥
春運期間的黃牛票泛濫,是一直難以解決的問題。自從有了12306網絡購票系統以後,黃牛們更加猖獗,常常短時間買完一整趟車的票。為了防止轉型後的“技術黃牛”刷票,12306系統近年來保持著每年更新的節奏,幾乎可寫成一部黃牛與12306的技術博弈史,堪稱屢戰屢敗,屢敗屢戰。
2010年12306訂票系統面世後,2011年刷票軟件緊隨其後,是當時最早的刷票軟件,技術黃牛可以在短時間內定光一趟車的票。2012年,12306上線了排隊系統,升級了驗證碼。但很快黃牛發明了新軟件,可以強行購買一趟已經售罄列車的車票,這樣一旦有退票,就會立刻落入黃牛手中。
隨後在2013年年底,12306升級為彩色動態驗證碼,2014年初升級為新版靜態驗證碼,2014年底升級為“群魔亂舞”驗證碼,2015年3月啟用現在我們看到的圖片驗證碼。然而,每一次升級都會迎來兩撥新聞報道熱潮。一波是在剛剛宣布後,以《12306官網放大招:啟用圖片驗證碼所有搶票軟件將失效》為主題的新聞報道,但是通常一天或幾天後就會出現一大波類似《12306驗證碼被搶票軟件破解 技術過時被鄙視》的新聞。
“反人類”的圖片驗證 在程序員眼中依舊落後
圖片驗證並非春運獨享,今年3月份12306網站便將原有的英文字符驗證碼變換到8張小圖片,用戶必須根據問題提示來點擊選中正確的圖片,然後才能預定車票。然而僅在一天之間,就有技術大牛出來告訴大家這種驗證方式有多落後。
最初扭曲英文字符驗證碼屢屢被識別,是因為在這近十年計算機科學技術的發展,OCR(Optical Character Recognition,光學字符識別)等技術發展的已經十分成熟,識別扭曲英文字符並非難事,根據現有實驗報告統計及真實調查,普通的驗證碼的破解率基本在75%以上。
OCR技術導致英文字符驗證碼很難起作用,事實上,圖像識別的發展也趨於成熟。所以,12306的圖片驗證碼被迅速破解也不是什么難事,反而將門檻降低。數據顯示12306網站圖形碼的數量為581種,一位來自國內互聯網巨頭公司的安全員工曾表示:“581種甚至5800種對於機器來說都不是困難的,只要能夠足夠的耐心,把所有的圖片都刷出來並加上備注,暴力破解很容易。可以讓機器提前記住答案,在需要驗證碼的時候背答案就可以,現成的工具很容易就能做到。”
大家可以看下圖,知乎用戶王貓貓關於12306圖片的程序破解。
沒有用機器學習等高大上的技術,僅僅將圖片處理後放入公共服務網站google或百度的識圖接口,就能得到如此具體的數值,第二章圖片甚至可以區分是沙縣小吃。
在此次春運初期,就有搶票軟件宣布率先破解了12306圖片驗證碼,成功率達到95%左右。即使在12306增多了圖片之後,該軟件依舊適用圖片識別配合人工甄別的方式,在該軟件購票登陸和提交支付環節均能自動識別驗證碼。
雙向核驗 對黃牛打擊沉重
真正對黃牛有打擊性效果的是手機雙向驗證政策。 所謂的手機雙向驗證模式,就是新用戶需使用注冊時留的手機號,向12306發送短信“999”。然後,12306會回複一個6位數字的短信到該手機上。新用戶需在10分鍾之內,輸入這6位數字的驗證碼,從而登錄12306網站。
在雙向核驗制度下,黃牛刷票空間已經不大了。畢竟隨著手機號越來越承載著用戶更多個人信息、綁定服務的當下,每個用戶都會相當珍惜自己手機號的使用。更重要的是,隨著手機號實名制的逐步深入,黃牛購買手機號的難度也在增加。雖然仍舊不可避免黃牛的出現,但無疑會加大其成本。既然防黃牛的是核驗功能,驗證碼圖片又何必搞的“人鬼難辨”?