阅读更多
03月16日上午,12306网站更新了自己的验证码形式,将原有的验证码从英文字符变换到8张小图片,用户必须根据问题提示来点击选中正确的图片,然后才能预定车票。紧接着,各路媒体开始发稿,《12306官网放大招:启用图片验证码所有抢票软件将失效》《12306官网推出全新图片验证码抢票软件将失效》等新闻层出不穷。作为一个程序员,看到这样的标题,十分困惑这些媒体是怎么用上帝视角这么直接断定抢票软件将全部失效的,可以想象一大波刷票公司正准备捋起袖子干活就直接听到12306宣布自己胜利了。当然,我们反对一切的黄牛党,本文只是谈谈验证码技术。
重技术的验证码是一场拉锯战

当我们谈论验证码时,不免地提到两个人。第一个是计算机科学之父、人工智能之父艾伦.图灵,图灵对整个计算机科学的贡献和意义在此就不用展开,之前所以提到他,是因为他提出的“图灵测试”,这一理论第一次提到将电脑和人区分开。第二个必须提到的是卡内基梅隆大学的路易斯·冯·安,他在2002年第一次将扭曲的文字用于区别人和计算机,就是我们现在普遍见到的英文字符验证码,后来他将验证码公司Re-CAPTCHA卖给了google。

现在12306同样也用了扭曲的英文字符,但是却抵挡不住黄牛党和刷屏软件机器识别,是因为在这近十年计算机科学技术的发展,OCR(Optical Character Recognition,光学字符识别)等技术发展的已经十分成熟,识别扭曲英文字符并非难事,根据现有实验报告统计及真实调查,普通的验证码的破解率基本在75%以上。说到这里我们看看百度和腾讯是怎么解决的。



腾讯将验证码图片背景直接贴上真实图片做干扰,而且颜色采取的近似值。



被称为百度神兽的九宫格汉字验证码,利用中文的博大精深,在防刷上有较大的提升,但是对人的用户体验上就略差了。
12306的验证码出发点是安全?用户体验?

那么,我们来谈谈12306的图片验证码到底是个什么鬼。12306所采用的图片式验证码的验证形式,并不是什么首创,早在一些游戏网站上也采用过这样的验证形式,请看下图。



这把人都能吓懵的验证码还真出现过,而且很不幸的是,上了一阵子之后就被破解了。

现在12306推出的图片验证码,首先从用户体验上来讲,并没有比之前的文字验证码好用多少。虽然用户不再依靠键盘输入,但是面对小且密集的8张图片,选出“所有”正确的图片,那必须把所有图片仔细看一遍,这一过程带来的不确认型其实是同用户分辨G和9和心里过程是一样的。不信你瞅瞅下面哪些是邮票?重要的是这一过程中带来很大的不确认性,心理负担略重。



用户体验这个标准,不好衡量,我们再来谈谈安全性。从一开始变成图片验证形式,事情就不会像今天新闻标题说的那样,“刷票软件将全部失效“(我本着好奇的态度,搜了一下相关新闻,基本上从2012年起,每次12306更换比较明显的验证码,媒体都是这样报道的),为什么呢?前面我们讲到成熟的OCR技术导致英文字符验证码很难起作用,事实上,图像识别的发展也是趋于成熟。所以,12306的图片验证码被迅速破解也不是什么难事,反而将门槛降低。

下面的具体破解举例引用知乎用户王猫猫在问题“如何评价 12306 的最新版验证码?”下的回答。



直接将图片处理后丢入google、百度的识图接口,返回的数值让人惊讶(第二张图居然能精准识别到是沙县小吃?)。后来根据王同学提供的代码,我进行了下一步的处理工作,再次利用第三方软件识别中文字符,然后将字符与图片字符进行匹配,之后选择图片。整个测试图片大概200张(只是模拟了登录,没有去刷掉一整车票),通过率在85%左右。所以,仅仅是技术爱好者动用一些公用接口就轻松能识别图片类容,而且一旦识别后,还可以将这张出现过的图片存库,再次出现就更加快速准确的定位了。暂且不谈图像识别和机器学习这样高大上的破解方法了。

图片验证码之所以不安全,是因为目前的图片识别技术也是相当的成熟。12306这些图片如果是人工标记,无疑是将自己摆到一个愚公移山的悲壮位置;如果是机器识别,也一样是可以被识别内容,即用图片内容的识别作为验证核心将毫无意义。

从12306这次更新来看,12306的验证思路,还是在玩已经过时的技术,对验证的视野和理解并不是很透彻,才会落到上线不到一天就被破解的尴尬局面。当然,12306有面对黄牛的进行创新的勇气是可嘉的,但是方向走错了,进行购票流程上的全面优化才能让问题得到最终的解决,将赌注放在验证码身上,目前看来不太现实。
走在前面的依然是Google

那么,验证安全的终极奥义是什么呢?我们可以回顾一下去年的关于google的No-CAPTCHA(No-Capthcha是Re-Capthcha的子项目)的文章,google提出了一个概念叫human behavior analysis,大意是将用户的行为做为判断人与计算机的准则。这个理念提出的意义在于,不再依靠图灵测试即单一的答案来判断人机,而是通过用户一系列的上网行为来确定访问者是人,还是机器。但是从google目前的前端代码层和具体流程来看,目前只是试探性的的发展,如果这个理念能够实际操作并完善,那么验证码的安全性将提高的一个史无前例的高水平,至少破解门槛不会低到仅仅调用一下公共接口就瞬间破解。

本文转自虎嗅网
  • 大小: 35.9 KB
  • 大小: 25.7 KB
  • 大小: 44.4 KB
  • 大小: 23.4 KB
  • 大小: 80.6 KB
来自: 虎嗅网
6
0
评论 共 17 条 请登录后发表评论
17 楼 一只懒猫 2015-12-14 16:22
基于用户行为的验证感觉是一个比较新鲜的想法呢?能够从根本上去区分用户和机器,不过这需要很强大而且丰富的样本啊。
16 楼 dsjt 2015-07-17 11:02
dogg 写道
string2020 写道
hanjiangit 写道
grandboy 写道
dsjt 写道
实在不行上大招,短信校验。


这个办法可能行,但毕竟有些场合是信号不行,但又能上网。可以加强识别难度或者短信两者选择一个。体验和安全都可以顾及到。

短信验证早就被破解了


短信验证怎么破解?求科普

有专门网站提供批量手机号码接受验证码,并提供api调用查询收到的码,按条计费,这已经是一个产业了。国人的神通你是想象不到的。


道高一尺魔高一丈.
防不胜防啊。
15 楼 公用1 2015-06-16 13:14
只要不断的改进就行了,破解是需要时间的。
14 楼 shuhen2011 2015-04-28 13:05
string2020 写道
dogg 写道
string2020 写道
hanjiangit 写道
grandboy 写道
dsjt 写道
实在不行上大招,短信校验。


这个办法可能行,但毕竟有些场合是信号不行,但又能上网。可以加强识别难度或者短信两者选择一个。体验和安全都可以顾及到。

短信验证早就被破解了


短信验证怎么破解?求科普

有专门网站提供批量手机号码接受验证码,并提供api调用查询收到的码,按条计费,这已经是一个产业了。国人的神通你是想象不到的。


难道能接受任何一个手机号码的验证码?

哪里需要接受任意手机号的验证码,只要用这些批量手机号注册购票就是了
13 楼 string2020 2015-03-24 11:06
dogg 写道
string2020 写道
hanjiangit 写道
grandboy 写道
dsjt 写道
实在不行上大招,短信校验。


这个办法可能行,但毕竟有些场合是信号不行,但又能上网。可以加强识别难度或者短信两者选择一个。体验和安全都可以顾及到。

短信验证早就被破解了


短信验证怎么破解?求科普

有专门网站提供批量手机号码接受验证码,并提供api调用查询收到的码,按条计费,这已经是一个产业了。国人的神通你是想象不到的。


难道能接受任何一个手机号码的验证码?
12 楼 dogg 2015-03-24 09:33
string2020 写道
hanjiangit 写道
grandboy 写道
dsjt 写道
实在不行上大招,短信校验。


这个办法可能行,但毕竟有些场合是信号不行,但又能上网。可以加强识别难度或者短信两者选择一个。体验和安全都可以顾及到。

短信验证早就被破解了


短信验证怎么破解?求科普

有专门网站提供批量手机号码接受验证码,并提供api调用查询收到的码,按条计费,这已经是一个产业了。国人的神通你是想象不到的。
11 楼 string2020 2015-03-23 14:57
hanjiangit 写道
grandboy 写道
dsjt 写道
实在不行上大招,短信校验。


这个办法可能行,但毕竟有些场合是信号不行,但又能上网。可以加强识别难度或者短信两者选择一个。体验和安全都可以顾及到。

短信验证早就被破解了


短信验证怎么破解?求科普
10 楼 高军威 2015-03-21 16:04
hanjiangit 写道
grandboy 写道
dsjt 写道
实在不行上大招,短信校验。


这个办法可能行,但毕竟有些场合是信号不行,但又能上网。可以加强识别难度或者短信两者选择一个。体验和安全都可以顾及到。

短信验证早就被破解了

怎么破的???
9 楼 loogson 2015-03-20 17:25
hanjiangit 写道
grandboy 写道
dsjt 写道
实在不行上大招,短信校验。


这个办法可能行,但毕竟有些场合是信号不行,但又能上网。可以加强识别难度或者短信两者选择一个。体验和安全都可以顾及到。

短信验证早就被破解了

短信验证怎么破解?求科普
8 楼 hanjiangit 2015-03-20 10:30
grandboy 写道
dsjt 写道
实在不行上大招,短信校验。


这个办法可能行,但毕竟有些场合是信号不行,但又能上网。可以加强识别难度或者短信两者选择一个。体验和安全都可以顾及到。

短信验证早就被破解了
7 楼 vcok 2015-03-19 22:00
以前我不理解为什么要封杀Google,现在明白了,原来它对我国信息安全有很大的威胁,领导有先见这明啊。
6 楼 grandboy 2015-03-19 09:21
dsjt 写道
实在不行上大招,短信校验。


这个办法可能行,但毕竟有些场合是信号不行,但又能上网。可以加强识别难度或者短信两者选择一个。体验和安全都可以顾及到。
5 楼 jack24 2015-03-19 09:00
用个体的起止地点作为判断依据也许可以防止一部分黄牛,再就是靠长期积累的大数据分析了。黄牛的旅行地比较飘忽,呵呵。
4 楼 dsjt 2015-03-18 17:47
实在不行上大招,短信校验。
3 楼 faye.feelcool 2015-03-18 14:00
关键是12306上的门槛比扭曲的文字门槛更低了。
2 楼 3gwind 2015-03-18 13:28
不管怎么来说增加了破解的门槛也是一种功效
1 楼 Comven_eye 2015-03-18 11:59
楼主从技术的角度分析的不错,从12306验证图片改版几小时后已经有公司破解了这个新方式。
其实楼主不用纠结媒体为何武断的在12306发布新图片验证功能后夸大的说所有抢票软件失效,从媒体的角度来说,它必须使用较为有吸引力的标题来吸引读者的眼球,这样才能提高关注度,加大转载的数量。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【12306图片验证12小时内被破解,验证安全的出路到底在哪?】

    03月16日上午,12306网站更新了自己的验证码形式,将原有的验证码从英文字符变换到8张小图片,用户必须根据问题提示来点击选中正确的图片,然后才能预定车票。紧接着,各路媒体开始发稿,《12306官网放大招:启用图片...

  • 12306验证码已不再安全 机器准确率99.8%

    4月13日,中国科学院科技战略咨询研究院与腾讯研究院在北京联合举办了“2017人工智能:技术、伦理与法律研讨会”。 会议邀请了中国科学院科技战略咨询研究院院长潘教峰、腾讯研究院院长司晓、中国科学院学部科学...

  • 前淘宝工程师谈12306:做它比做淘宝难

    如果把12306外包给IBM或者阿里巴巴来做,能否比现在做得好? 如果是以前,我肯定会回答:是。因为我们始终认为,一个年投入超3亿元的卖火车票网站,没有什么理由做不好吧?其实不光是小编这样认为,包括众多媒体,...

  • [突发奇想] 验证码 识别人与自动化操作是否可采用 鼠标 停留位置 与 时间 来自动验证 是否是人呢?...

    12306图片验证12小时内被破解,验证安全的出路到底在哪? [突发奇想] 验证码 识别人与自动化操作是否可采用 鼠标 停留位置 与 时间 来自动验证 是否是人呢? 转载于:...

  • 一篇可以让12306考虑的文章

        Martin Fowler最近的一篇文章:LMAX架构。LMAX是一种新型零售金融... 这个系统是建立在JVM平台上,核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单. 业务逻辑处理器完全是运行在内存中(in-...

  • 数据分析侠A的成长故事

    回忆起数据分析的发展史,在国内被接受也才这么几年,而大家谈的更多的是数据分析、数据挖掘到底是什么,是对过去历史数据的剖析、分析,还是从中发现更多的问题和机会。同学A不在纠结于此,他选择了翻阅大量的国外...

  • 从互联网到云时代,Apache RocketMQ 是如何演进的?

    为了解决电商业务对于消息队列的高性能、一致性、无限扩展等需求,自研消息队列成为了当时阿里唯一的出路,最终互联网消息队列 RocketMQ 应运而生。

  • 软件测试的出路到底在哪?

    Gartner 的一份报告预测,到 2020 年,将有 58 亿个终端被使用。 测试基础架构对于评估物联网系统中的以下问题至关重要: 测试整个物联网系统的可用性 检测连接到物联网中设备的性能 完整地身份验证和隐私控制 测试...

  • 乌云漏洞平台:一枚孢子如何生长成群落

    让安全领域变得公开透明,打破行业的信息不对称,又能得到官方支持——无论怎么看,这样的事都不大可能发生在眼下这片土地上。可乌云做到了。2012 年,CSDN 数据泄露事件让乌云名声大噪,此后优酷接口漏洞、微博控制...

  • 网联下发42号文督促生产测试 银行代扣通道都将关闭 协议支付

    一位行业内人士向我们透露,就在3月20日,网联刚刚下发了42号文督促第三方支付机构接入网联渠道。 42号文称,各相关成员单位应积极配合,完成协议支付、付款、网关支付、商业委托支付、认证支付全业务功能的生产...

  • 《增长黑客》节选与笔记

    它能满足我完全的控制欲,因此也能验证一些在别人的平台上无法完成的想法。当然,对比在国内出书微薄的稿酬收入与不成比例的精力付出,借写作本书之契机,更让我兴奋的是能与形形色色的聪明人交流,交换彼此的人生...

  • 性能测试面面观——HP性能测试专家宗刚访谈

    在QCon开始之前,专题出品人高楼对宗刚就性能测试领域内的许多问题做了深入的访谈。以下是访谈内容:\u0026#xD;高楼:能否先简单谈谈您在测试领域的工作经验?和您对此领域的理解?\u0026#xD;\u0026#xD;宗刚:我的...

  • OpenStack

    这些资源能够被快速提供,只需投入很少的管理工作,戒不服务供应商迚行很少的交互 通常涉及通过互联网来提供劢态易扩展且经常是虚拟化的资源 云计算服务模型 一、IaaS IaaS是Infrastructure as a server的缩写,意思是...

  • pandas-1.3.5-cp37-cp37m-macosx_10_9_x86_64.zip

    pandas whl安装包,对应各个python版本和系统(具体看资源名字),找准自己对应的下载即可! 下载后解压出来是已.whl为后缀的安装包,进入终端,直接pip install pandas-xxx.whl即可,非常方便。 再也不用担心pip联网下载网络超时,各种安装不成功的问题。

  • 基于java的大学生兼职信息系统答辩PPT.pptx

    基于java的大学生兼职信息系统答辩PPT.pptx

  • 基于java的乐校园二手书交易管理系统答辩PPT.pptx

    基于java的乐校园二手书交易管理系统答辩PPT.pptx

  • tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl

    tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl

  • Android Studio Ladybug(android-studio-2024.2.1.10-mac.zip.002)

    Android Studio Ladybug 2024.2.1(android-studio-2024.2.1.10-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/89954174 part2: https://download.csdn.net/download/weixin_43800734/89954175

  • 基于ssm框架+mysql+jsp实现的监考安排与查询系统

    有学生和教师两种角色 登录和注册模块 考场信息模块 考试信息模块 点我收藏 功能 监考安排模块 考场类型模块 系统公告模块 个人中心模块: 1、修改个人信息,可以上传图片 2、我的收藏列表 账号管理模块 服务模块 eclipse或者idea 均可以运行 jdk1.8 apache-maven-3.6 mysql5.7及以上 tomcat 8.0及以上版本

Global site tag (gtag.js) - Google Analytics