对于中国人而言,时至今日春运抢票依旧是春节期间大家最关注的话题之一。央视财经报道,铁路部门表示第三方软件抢票的相关机器特征已经被识别并被实施限制措施。这意味着即使用户花钱在第三方软件购买加速服务,购票的成功率也绝对不会像各个抢票软件显示的一样。

12306为什么要限制第三方抢票软件?他们的技术如何?

图片来自中国铁路微博

限制抢票软件12306早有准备

春节期间全国交通运力与需求的不配以及铁路部门饱受质疑的购票系统让第三方软件成为了不少人购票的首选。这也带来了安全和公平性等问题,因此铁路部门在各方的压力下持续改进购票系统,最近,12306动作不断。

2018年11月3日,12306新版上线,新版网站界面UI更加清晰友好,移动页面属性更强,购票流程更加便捷,还增加了用户扫码登录功能。2018年12月27日,铁路部门正式宣布12306正式上线候补购票功能,雷锋网了解到12306的候补购票功能指当旅客遇到车票售完的情况,在12306平台登记购票信息支付预购票资金后,如有退票、余票,12306系统将自动为其购票,其购票速度和成功率都要强于抢票软件。

更具体地说,在候补购票实行阶段试点的始发地和到达地支持候补购票的列车,当火车票售罄之后会自动开启候补购票。当然购票人首先需要通过人证验证,并提交候补票购票订单后售票系统自动安排网上排队候补,当对应的车次、席别因退票、改签等业务产生可供发售的车票时,系统自动兑现车票,并将购票结果通知旅客。

12306官方的候补购票功能上线之时就有不少人认为这是第三方抢票软件的大杀器。1月,铁路部门就表示已经对抢票软件进行了限制。

抢票软件的风险

央视财经在报道中提到,中国铁路总局之所以采取相关措施是因为第三方抢票软件存在安全隐患,个人隐私信息得不到保障。新京此前报道,有乘客下载了一款抢票软件后,输入时间、车次等购票信息,没一会儿软件就提示“抢票成功”,但该乘客按照提示将个人信息包括银行卡和密码都输入进去,准备付钱买票时,突然收到银行发来的提示短信,银行卡里的数千元被刷走,联系抢票软件的客服,才发现是空号。

上面是买票不成反被骗的案例,然而还有很大的信息泄露风险。铁道部在2011年开始试水网络售票服务,并在2011年底兑现了网络售票覆盖所有车次的承诺。不过自网络售票服务开始,用户信息泄露一直都是12306的困扰。

2014年,报道称有超过13万12306的用户数据在互联网上传播售卖。不过,12306网站回应称,经核查,此泄露信息全部含有用户的明文密码,12306网站数据库所有用户密码均为多次加密的非明文转换码,网上泄露的用户信息系经其他网站或渠道流出。

12306还发布公告提醒乘客通过12306官方网站购票,不要使用第三方抢票软件购票,或委托第三方网站购票,以防止个人身份信息外泄。同时还提醒称,部分第三方网站开发的抢票神器中,有捆绑式销售保险功能,请乘客注意。

在利益的驱使下,信息泄露的问题并没有好转的迹象。2018年12 月 28 日,Freebuf 称,“圈内又在传一张疑似12306泄露数据暗交易的图,春运抢票高峰还没到,黑产分子就已经出手了”。据称,这份数据包括 60 万账户信息,详细到除了ID、手机号、密码之外,连姓名、身份证、邮箱、问题及答案然都有,根据安全问题很可能能够直接申诉获取其它平台账户的重要信息。

此外,还包括每个账户中添加的联系人信息,涉及姓名及身份证号,这些联系人数据总量高达410万。中国铁路微博当日辟谣称12306网站未发生用户信息泄露,同时再次提醒用户避免非正常渠道购票带来的风险。

雷锋网在当时的报道中指出,经多方了解,业内人士认为此次的数据泄露可能是第三方抢票软件被攻击或历史数据的清洗。要知道,第三方抢票软件不仅能获取核心的商业信息(如价格、用户信息等),还会扰乱正常用户的活动(如抢购、恶意刷票等),第三方会获得越来越多业务营收,但12306的信誉以及核心数据等方面则会遭受损失。

由此,我们就更能够理解12306为什么要上线候补购票的功能。

12306可能是这样限制抢票软件

那么,铁路部门是如何识别第三方软件抢票的相关机器特征并被实施限制措施?由于12306并没有公布其具体的限制技术,因此雷锋网询问了业内专家,专家表示具体的原理不便讲,但可以判定的是抢票软件是程序(机器人)自动运行,属于爬虫一类。

因此我们可以参考防爬虫的对应方式,以防爬虫的四种思路:特征库直接封禁、JS无感人机识别、行为异常检测和威胁情报库去了解。第一种需要借助安全人员丰富的经验,他们往往能很快从访问日志中看出有无异常行为,比如正常用户不会直接请求的页面访问却不带任何referer、从主域名跳转过来的请求不带任何cookie、request body中包含一个大量重复的手机号,这些明显或不明显的“特征”,都可以作为第一道爬虫检测策略——特征封禁。

除了访问控制,通过JS采集网页环境中的操作行为、设备硬件信息、指纹等特征来判断请求是否来自于自动化工具也是常见的思路。不过,虽然思路简单,但在没什么秘密的前端对抗环境中,确保采集到的信息和风险判断模型的准确性却是专业的安全团队投入相当大的精力来建设的能力。

但是,特征匹配因具备很强的对抗特征,是最容易绕过的防护规则,这就涉及到行为异常行为检测。说到行为,大部分人第一反应肯定是限速,不过限速有许多需要思考的细节问题。另外, 从UBA(UserBehavior Analysis)角度去建模也是一种不错的思路,机器学习能够综合多个观察角度和维度去识别爬虫,增加了绕过和对抗的成本,这是相对于规则类防护的一个优势。而且,针对一些精心构造的低频、离散IP,机器学习可以很好的弥补规则检测的短板。

威胁情报库用一个例子来说明,机票向来是爬虫重点关注的对象,一个黄牛或旅行社背后的爬虫往往会光顾各大航司以获取最全的票价信息,所以当检测到一个爬虫光顾了ABCDE航司后,他爬X航的概率大吗?当然。 这个不是假设,而是已经在实际的流量中发现的行为。

由此拓展开,基于一定的模型生成在多家航司网站上有过可疑行为的,实时的爬虫库,这就是典型的云上协同防御模型。这样对于新接入的X航来说,甚至可以用情报的思路把防护做到事前。

至于12306到底是采用了哪些技术,还需等待确认。

雷锋网(公众号:雷锋网)认为,从安全性的角度看,从12306官方渠道确实相对更有保障,但相信许多用户不使用12306网站和APP是因为对其体验非常不满。因此,从需求的角度看第三方抢票软件仍有很强的需求,并且12306的限制与抢票软件的对抗将会一直持续,直到春运的关键问题发生变化。

本文参考阿里云安全公众号君扬作者的《一场无休止的战争 浅谈纵深防爬的”抗战“ 之路》

相关文章:

铁总否认,那暗网超 400 万 12306 用户数据是从哪泄露的?

尴尬!我被有偿抢票软件骗了,这货居然抢不过12306

12306对抢票软件“下手”了相关推荐

  1. python编写12306窗体抢票软件(二)

    python编写12306窗体抢票软件(二) 本文这次介绍如何获取12306网站的验证码并登陆. 1 获取验证码 12306它是一个服务器,每次我们访问它都是以客户端的方式去向它索取信息. 建议用谷歌 ...

  2. python编写12306窗体抢票软件(一)

    python编写12306窗体抢票软件(一) 第一次写博客,拿写过的软件练个手~ 12306是学习爬虫的比较好的一个练手网站.本文带你重零开始编写一个python窗体,十分简单,小白进来看哈~这节只说 ...

  3. 12306自动抢票软件哪个好?记者亲测体验

    春运期间的火车票可谓一票难求,广大购票者抢票需求难以满足.在网上,铺天盖地的抢票插件也弄不清到底选哪家好.不要急,下面为大家介绍几款小编亲身实践过的功能强大的抢票软件,希望可以帮助大家顺利回家过年! ...

  4. 2019年 12306 爬虫 抢票软件

    2019 基于C#写的最新12306抢票软件.本软件只用学习使用,完全开源.本人会不定期更新. 源码地址:https://github.com/JohnnyZhang0628/12306GoHome, ...

  5. 12306春运抢票软件

    2017年春运: 比较好的是12306订票助手.NET抢票和捡漏都可以 其他软件列举如下,效果一般般: 12306Bypass.智行 转载于:https://www.cnblogs.com/phyki ...

  6. 12306爬虫抢票软件代码

    '''1.需要登录页面,手动输入账号密码! 2.地查询车次,输入 起点.目的.出发时间,找到车次,就进行选择 3.选择完成后,就查询该车次是否有余票(进行显示)如果有就进行购买,没有就进行循环 4.如 ...

  7. 12306订票候补是个坑_还在加钱抢票?12306已屏蔽多个抢票软件渠道!

    据中国之声报道,按铁路春运火车票互联网和电话订票提前30天发售的规定,29日就可以开始买1月27号.也就是大年初三的火车票了.和往年相比,今年春运的运能增加了,购票方式更多元了,12306系统日稳定售 ...

  8. 加速包可能没用!12306屏蔽多个抢票软件

    最近,买回家的春运火车票正火热的进行中,有些人已经买到票了则如释重负,而更多的人仍在苦苦的抢票,相信各位最近都会受到好友发来的"我正在购买加速软件,助我抢到回家的票"类似的链接消息 ...

  9. python GUI+爬虫——12306抢票软件(1)

    使用python 的GUI 和爬虫等功能自己构造一个12306的抢票软件. 该课程来自网易云课堂的撩课学院,付费课程.地址:网易云课堂搜索以下内容就可找到 我跟着学,不一定最后能成功.先试试,想要成功 ...

  10. 假期延长,抢票软件到底还行不?

    作者 | 唐亚华 本文经授权转载自燃财经(ID:rancaijing) 春节假期即将结束,人口大迁移又要来临. 虽然12306近日已经宣称屏蔽了部分抢票软件,并推出官方候补功能,但市面上提供抢票服务的 ...

最新文章

  1. react hooks使用_如何使用React和Hooks检测外部点击
  2. ltrim($str);
  3. CBOX直播故障:正在连接
  4. Object C学习笔记19-枚举(转)
  5. native封装卡片 react_自己动手封装一个React Native多级联动
  6. 西北师范大学地理与环境科学学院考研真题汇总(高等数学)持续更新。。。
  7. ELK篇---------elasticsearch集群安装配置
  8. [面试]排列组合与概率计算(一)
  9. android 串口调试助手源码,GitHub - Michelle0716/SerialPortHelper: Android 串口调试助手
  10. Mac 中如何解压.bin文件
  11. html盒子里的图片居中,文本在盒子中水平、垂直居中(图片与文本居中)、多行文本垂直居中...
  12. 《低风险投资之路》书中的精髓:低风险不等于低收益。
  13. 幸运数划分 lucky
  14. [问题已处理]-helm提示kubernetes configuration file is group-readable
  15. 网络协议 -- HTTP协议,get和post的区别?
  16. 产业公司,咋投股权?|【常垒·常识】
  17. python十六进制排序_python十六进制
  18. IContact接口对应的字段意思
  19. GolangBlog ModuleSeries - Part 2 | Migrating to Go Modules
  20. 实用的 PyCharm 教程

热门文章

  1. 计算机控制d a数模转换实验,实验一 D、A数模转换实验
  2. Spring 最新漏洞修复
  3. [SDOI2015] 星际战争
  4. statusbar 纯白色的解决方案 android:fitsSystemWindows
  5. SSM框架小项目 ACM周总结管理系统 V1.1 开源
  6. AD绘制PCB经验总结3-规则报警 Silk primitive without silk layer+Minimum Solder Mask Sliver
  7. IL汇编语言介绍(译)
  8. Justinmind Prototyper中如何使用变量达到一些效果
  9. 第二篇:呈现内容_第一节:Control呈现
  10. python expend_Python序列化proto中repeated修饰的数据