猎云网注:近期,携程被曝发生了重大安全漏洞,尽管携程发声明称2个小时后乌云曝光的漏洞已经被修复,但仍然有编辑亲身通过试验,证明携程存在盗刷可能。
作者:小白不菜 (微信号:xiaobaibucai521)
危险的携程
93名用户被携程通知更换信用卡之后, 携程网络称该公司的支付是安全的。
然而就在携程表示用户持卡人的支付信息——如姓名、身份证、银行卡号、卡CVV码、6位银行卡BIN均按照国际信用卡支付安全标准要求经过加密处理,携程对所有用户的信息安全全权负责之时,俺却在23日又经历了一次被“盗刷”!
盗刷,成功!
3月23日,杨姐借用别人的手机号拨打携程的电话4008206666,一位服务专员384409接待了编辑。
杨姐表示要订从上海去广州的票,这位专员用俺借来的手机号注册了一个新的携程会员,姓名是乘机人D。
携程专员向杨姐问了乘机人D的姓名、身份证后,又帮助俺选好航班,准备定票。
在付款的时候,携程的服务专员将电话转至系统,在俺输入了一个招商银行的卡号后,电话转回服务专员,服务专员讯问了该信用卡的有效期。(注意:俺没有提供信用卡最后三位的数字!也没有提供信用卡主人姓名。)
服务专员表示:如果在30分钟之内支付成功,就可以了。因为银行要审核!
很快,一件可怕的事情出现了:杨姐本人的手机几分钟之内就收到了信用卡被“预授权”的信息。
1490元钱被“预授权”!
要知道,被刷的信用卡并不是登机人的!而且,杨姐所给出的招商银行信用卡实际上已经是一张2013年年底刚刚更换的新信用卡,而此前在携程上的最后一次订票记录为2013年3月。这意味着,招商银行没有核实新的CVV码的情况下,审核通过了这笔交易。
是的,在整个过程中,携程的服务专员从未核实过打电话的“我”是不是“乘机人”,也没有核实过注册手机号的机主是否为拨打电话订票的人,也没有核实过,打电话的人是不是乘机人。
这意味着:
一、在携程上用陌生人招商银行信用卡定机票,只要卡号和有效期两个信息即可,犯罪分子完全可以去买点信用卡信息啥的,就在携程上可以定票了;二、携程并未核实信用卡是否是乘机人本人的;三、携程并未采取任何措施向信用卡本人征询是否同意这笔交易。
23日晚,携程副总裁汤澜对编辑此次购票过程中产生的问题解释是,有的银行需要6个信息才能刷卡,但是招商银行可能只需要两个信息就能扣款。具体流程他也不熟悉,需要等待重听购票时的录音。
24日,携程公共事务部闫鑫回复本报:“信用卡的MOTO支付通道(即信用卡远程收款系统MOTO pay全称Mail Order and Telephone Order payment,主要为商家与消费者解决非面对面交易的支付问题),客人大多只需要提交完整卡号,有效期及校验码即可用于支付,此方式符合国际惯例并且是国际上通用的网络支付方式;国内电商如果是采用MOTO支付通道,都是按此方式。”
“部分信用卡发卡银行为了提高支付成功率及客人感受,仅需输入卡号及有效期即可支付,此并非源于携程的要求。”闫鑫称。
编辑用自己的手机拨打携程客服时,得到的答案是,只要能证明是携程这方面泄露信息所导致的用户损失,携程负责赔偿。由于此前这个手机注册的账户已经绑定过信用卡,尽管服务专员称自己无法看到卡号,但他表示,用户只要用这个手机号拨打进来,报出卡号的后四位,就可以随便订票、订酒店。
尽管携程称,由于携程信息泄露导致的用户损失,携程全额赔付。但问题在于,即便是携程泄露的信息导致了用户损失,用户也几乎没有能力举证证明这一点——现在能够获得用户信用卡信息的渠道实在太多了,如何证明是携程泄露的?
所以,对于携程来讲,可谓已经立于“不赔”之地!
那么杨姐是否可以猜测:既然怎么都不用赔钱,那么携程自然就会以最方便的流程来帮助客户订票!因为对于携程来讲,没有任何风险——风险完全都已经“合法地”转嫁给了消费者!
24日上午,杨姐又拨通招商银行信用卡服务中心,服务专员称,此前只接到21、22两天内用户的危险排查,目前没有接到电话的可以放心使用。但当经济观察网编辑将23日的订单情况如实反应给招商银行信用卡客户服务中心时,服务专员表示要将此事转到相应部门再查询才能回复。
结果呢?老百姓就真的没有损失么?
而如果编辑要想冻结(保护)信用卡的使用,是可以的。但是如果每年刷卡不足6次,则需要付年费;如果挂失这张信用卡,也需要交纳60元钱。
那么携程的安全是技术问题,还是流程问题?乌云上的曝光是“第一次”,还是“又一次”?
乌云
事情暴发于3月22日,著名的网站漏洞曝光平台“乌云网”上,网名“猪猪侠”登出了“携程某分站源代码包可直接下载(涉及数据库配置和支付接口信息)”以及“携程安全支付日志可遍历下载 导致大量用户银行卡信息泄露(包含持卡人姓名身份证、银行卡号、卡CVV码、6位卡Bin)”的两条信息。
尤其是后面的漏洞类型属于“敏感信息泄露”,危害等级为“高漏洞”。且“厂商已经确认”。
事情的过程是,由于携程用于处理用户支付的安全支付服务器接口存在调试功能,将用户支付的记录用文本保存了下来。同时因为保存支付日志的服务器未做校严格的基线安全配置,存在目录遍历漏洞,导致所有支付过程中的调试信息可被任意骇客读取。
所谓遍历通常是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。这一被归类为“敏感信息泄露”的漏洞,被指可能导致大量携程用户持卡人姓名身份证、银行卡号、卡CVV码、6位卡Bin等信息外泄。
事情的解决办法正如本文开头所描述的那样,当晚携程很快就在其官方微博上回应称公司相关部门已经在第一时间展开技术排查,并在消息发布两个小时内进行了漏洞弥补工作。
但是,人们关注的是,根据中国人民银行发布的《银行卡收单业务管理办法》第28条规定,收单机构不得以任何方式存储银行卡磁道信息或芯片信息、卡片验证码、卡片有效期、个人标识码等敏感信息。并应采取有效措施防止特约商户和外包服务机构存储银行卡敏感信息。
银联2008年出台的《银联卡收单机构账户信息安全管理标准》中也有称,银行卡受理终端仅限于保存当前交易批次内用于交易清分所必需的基本信息要素,并在该批次结束后及时予以清除;各类受理终端均不得存储银行卡磁道信息、卡片验证码、个人标识代码、卡片有效期等敏感账户信息。
“从目前披露的情况看,携程方面可能存在一些瑕疵”,银联风险管理专家王宇对此声称,我们一直在积极推动相关机构严格落实相关要求,商户及收单机构不能留存持卡人的敏感信息,同时也要采取多种措施提升交易环节的信息安全管理。
但这并不是携程在信息泄露上的全部危险。更大的漏洞,是流程上的不合理。
存储信息资格
“2010年的时候,携程的这个方案已经在用了。”一位支付行业高管透露:“如果只有信用卡卡号和有效期就刷卡成功,那么这个漏洞太大了。”听了杨姐讲述整个订票的过程,这位第三方支付公司的副总裁惊奇地表示。
“理论上来说第三方支付公司从银行拿接口必须提供实名校验,这就意味着必须提供个人的姓名、身份证号、卡号、CVV有效期才能完成这笔扣费。其实携程无权留取用户的卡等信息,因为这必须是银行或者是第三方有资质的机构。但携程是在走擦边球,一直在做这种留存。据我所知,如果你不给他提供这种接口,携程不会跟你合作。而且合作条件很苛刻。”该人士透露。
从乌云上流传出来的内容看,携程是对用户的银行卡、身份证等敏感信息做了留存的。
更重要的问题是,这显然已经不是个新问题了,携程却一直木有解决。
几天前编辑接到过银率网一封邮件:
该邮件中提到,王先生的同事许女士近日要到深圳出差订酒店,她使用公司的固定电话拨打了携程的客服电话,由于订房需要预付房款,许女士就按照携程的电话语音提示输入了自己的信用卡卡号、信用卡有效期和后三位的CVV2支付密码,输入完成后,携程客服表示卡片有效,房间预定成功,会随后通过邮件发给她订单。
然而许女士的同事王先生在半个小时之后收到了招商银行发来的扣款短信,称他在携程预订的房款已扣除。正在开会的王先生一头雾水,自己根本没有通过携程订房,为何却被扣款了,难道是信用卡被盗刷了?王先生赶紧拨打了携程的电话询问这笔扣款的情况,被告知这笔扣款是同事许女士预订的深圳酒店。
事件截止到这里似乎只是携程扣款不当的问题,但是携程扣款成功的这张卡是王先生很久以前办过的一张招商银行信用卡,有效期马上就要到了,王先生在上个月已经申请了换新卡,目前这张新卡已经激活使用,旧卡早就无效了,而且旧卡和新卡后三位的支付密码并不相同,为什么携程依然能够通过这张卡扣款成功了?
对此,招商银行方面表示(银率网资料中所引用,并非经济观察网采访),对于携程这样有品牌的网站,银行在收到支付请求时通常审核的比较松,可能在核对相关信息时出现了失误,但是到底是哪个环节的问题银行表示还需要进一步调查。
银率网分析师华明认为,在这件张冠李戴的扣款事件中,携程和银行都存在着审核漏洞:携程方面的问题是,虽然是同一个电话做的电话预定,但是许女士明明输入了自己的卡号和信息,携程却直接无视,而将款项扣到了王先生头上。
银行方面的问题是,明明已经过期的信用卡,后三位的支付密码也不相同,为何却让携程通过了扣款申请,在如今信用卡盗刷案件频发的情况下,发卡银行不仅没有对于信用卡支付请求进行更严格的把关,反倒是对大型网站的支付“睁一只眼闭一只眼”,让信息在并不正确的情况下过了关,银行无疑需要好好检讨一下了。
对于此事,汤澜用数个“巧合”来解释:
第一个巧合:许女士曾经用同事王先生的信用卡订过酒店,在徐女士的账号内产生过王先生信用卡的消费记录。而此前银率网所称,王先生的信用卡与许女士所打座机绑定,事实并非如此——当许女士再次用自己的账号订酒店,进行支付时账号绑定的仍是王先生的信用卡,许女士误认为是自己的。
第二个巧合:输入验证失败后,许女士被要求再次输入验证信息,此时由于工作人员操作失误,误将重新输入验证信息的操作变成了“修改”信用卡的验证信息。
第三个巧合:“修改”信用卡验证信息,需要提供信用卡有效期——“巧合”的是,许女士的信用卡过期日期与王先生此前注销过的旧卡过期日期完全一致,所以旧卡才会被重新激活,并发生效用,产生了订单。
汤澜表示,携程在此次事件中有不少失误。比如许女士在验证时,携程工作人员将此操作当成了修改,并由于许女士账号有王先生信用卡消费记录以及两人信用卡有效期完全一致等种种巧合导致了此次事件的发生。携程网确实接到了许女士的投诉,也向她做了解释并得到理解。
汤澜还谈到具体改进措施。一是要在在信息确认的界面上讲“修改”选项移除,从而避免类似的“误操作”
好吧,不该留存的也留存了,那么能不能严格保护这些用户信用卡的敏感信息呢?
杨姐带领五六个实习编辑在报社查询了很多相关网站,PCI DSS(Payment Card Industry Data Security Standards)即资料安全作业标准。
这是由信用卡组织(American Express, Discover Financial Services, JCB International, MasterCard Worldwide, and Visa, Inc.)之PCI安全标准委员会(Payment Card Industry Security Standards Council)所制定,为储存、处理、或传输信用卡持卡人账户或交易资讯之信用卡相关业务、相关机构必须遵守的安全规范。
BTA三家中的著名第三方支付业内人士指出:通过了这个认证,才能证明自己符合国际卡组织的安全要求。
汤澜则坦承,携程已经申请,目前确实没有通过该认证。但汤澜称在国外好像已经通过。
而在PCI DSS的认证网站上,并没有已经从事机票、酒店业务15年的携程,却有刚刚成立4年的小米。
现在,杨姐要问的是,监管部门在干什么?
为什么允许银行和携程存在流程上的这么大的漏洞?
我要问招行:
难道携程给你们提供的订票人、乘机人和银行信用卡主人的信息不一致,招行你就随便扣信用卡主人的款吗?只按照携程的语音输入了卡号和有效期,连最后三位的CVV数字都木有输入!你就帮携程划走了我的钱!
我要问携程:
我给你提供的信用卡是别人的,你不用问?我用自己的手机一拨入携程的电话,服务专员立刻就能叫出我是“杨小姐”。这个感觉说实在话确实挺好,那么携程的技术是不是能够赶紧研发一个信用卡自动匹配功能——当用户输入的信用卡卡号不是乘机人或者会员本人的,是不是能够跳出来提醒一下:这个订票人“有可能”在用别人的信用卡消费?
要知道,订票的人都甚至不是携程的会员,更不是你们的集团、签约客户,而且那个信用卡还是此前在携程注册过的别人的——作为平台方,携程都不问一问?
当然,虽然你可以说,杨姐我输入的信用卡时是语音提示的,你们人工不知道,但是你们的系统里信用卡主人的身份证信息你们也有,乘机人的身份证你们也有!你们的系统应该自然匹配不是吗?我真心希望携程赶紧更改这样的流程和几乎丝毫不存在的刷卡“门槛”!
其实,如果能让我用的放心,亲爱的携程,我才会更多滴、放心地使用你家的服务啊!
好吧,接下来,我要问工信部:
我们的信息可以这样被携程用嘛?流程上这么大的漏洞,作为行业主管部门,难道不应该“关心”我们老百姓的钱?
难道作为监管部门,不需要对这样的支付流程进行关注?工信部难道不能命令禁止携程这样做么?
一位BTA之一支付公司的高管告诉俺,只有通过PCI DDS认证的公司才能留存信用卡卡信息。
OK,杨姐又组织了五个勤勤恳恳、可爱的实习生一起找了这个认证。
结果那个网站都是英文——俺们又翻译了一下:
看到了吗?各位菜心们,那些中文是后打上去滴呦!
细心的你一定会发现:咦,其他公司咂摸都有,就是木有支付宝涅?
来,往这里看:
马云他老人家就是骨骼清奇,偏偏就跟所有公司不一样,人家搞了另一个PCI DSS认证,嘿嘿,也有效。
注:支付宝公司对有效期的解释为:由于该认证为美国trust wave,上面的有效期为美国时间,由于这样的认证非常严谨,所以显示的有效期均为最新的截止有效期,每天更新。