春运火车票开始预订了,然而,要想在网上买到票,总有些坎不是你抬抬脚就迈得过去的。
最近两天,铁路客户服务中心12306网站的购票验证码难倒了许多旅客。网站要求旅客在购票时做多项选择题,在每组8张图片中选出同类物品,但是给出的图片像素普遍偏低,不易识别,这让分秒必争的春运网上抢票者瞬间“抓瞎”。
当然,12306为了防止黄牛以及抢票软件破解,所以这回直接放大招,不断将登录的图形验证码更新,层出不穷的图形码让一些网购车票的旅客大伤脑筋。
有网友统计后发现,这些验证码,可以细分为十二个品类:动植昆虫类:如蜥蜴、企鹅、恐龙、荷叶、蜻蜓等。食品果蔬类:如油条、韭菜、三明治、话梅、菠萝等。日用百货类:雨靴、牙刷、扫把、铁锹、热水袋等。办公用品类:投影仪、文件夹、传真机、档案袋等。户外运动类:帐篷、篮球、球拍、保龄球、哑铃等。家电3C类:手机、电视机、热水器、电饭煲等。生活用品类:竹席、枕头、床、高压锅、食用油等。珠宝饰品类:翡翠、钻石、玛瑙、钟表等。出行工具类:飞机、自行车、游艇等。传统文化类:紫砂壶、青花瓷、舞狮、脸谱、年画等。公共设施类:喷泉、路灯、图书馆、报刊亭、铁轨等。专有名词类:月亮、金字塔、乌云、太阳能等。面对如此丧心病狂的验证码,每次放票的时候,购票的旅客都要连续奋战个几分钟,但是总有多数人得到的结果是:2秒后重新验证。
有网站统计,12306网站的购票验证码共有581种,按照要输入两个关键词的规则,排列组合多达336980种。一次性输入准确的比例为8%,两次输入准确的比例为27%,三次甚至4次以上输入准确的比例为65%。如果一次性输入成功的平均用时为5秒的话,按照热门车票“秒光”的情况计算,每输错一次验证码,就意味着当次购票成功率下降80%左右。根据统计,目前最容易识别的验证码是自行车、人民币和老虎,最难识别的为七星瓢虫、经筒、喷雾器,而其它的如鱿鱼、章鱼,盒子、收纳箱等也很容易让人分不清楚。有网友表示:“春节将至,登录12306抢票很让人心塞,即使网速手速都给力,图片验证那一关分分钟把用户逼疯的节奏啊!比高考还难啊”!“12306的验证码,已经击败了全国99%的购票者,我已经找不到回家的路了。”
那么,从用户体验上来讲,并没有比之前的文字验证码好用多少。虽然用户不再依靠键盘输入,但是面对小且密集的8张图片,选出“所有”正确的图片,那必须把所有图片仔细看一遍,这一过程带来的不确认型其实是同用户分辨G和9和心里过程是一样的。事实上,图像识别的发展也是趋于成熟。所以,12306的图片验证码被迅速破解也不是什么难事,反而将门槛降低。直接将图片处理后丢入google、百度的识图接口,根据代码,进行了下一步的处理工作,利用第三方软件识别中文字符,然后将字符与图片字符进行匹配,之后选择图片。整个测试图片大概200张(只是模拟了登录,没有去刷掉一整车票),通过率在85%左右。仅仅是技术爱好者动用一些公用接口就轻松能识别图片类容,而且一旦识别后,还可以将这张出现过的图片存库,再次出现就更加快速准确的定位了。暂且不谈图像识别和机器学习这样高大上的破解方法了。 验证安全的终极奥义是什么呢?可以回顾一下去年的关于google的No-CAPTCHA(No-Capthcha是Re-Capthcha的子项目)的文章,google提出了一个概念叫human behavior analysis,大意是将用户的行为做为判断人与计算机的准则。这个理念提出的意义在于,不再依靠图灵测试即单一的答案来判断人机,而是通过用户一系列的上网行为来确定访问者是人,还是机器。但是从google目前的前端代码层和具体流程来看,目前只是试探性的的发展,如果这个理念能够实际操作并完善,那么验证码的安全性将提高的一个史无前例的高水平,至少破解门槛不会低到仅仅调用一下公共接口就瞬间破解。