事情经过

2014年3月22日晚上6点多,乌云平台报告了携程平台支付日志泄漏问题,然后信息快速传播。晚上八点左右我就得到消息。

从描述中大致来看,应当是支付过程的各种信息都被打到了日志里面,然后日志泄漏了。

第二天,携程发表声明。简单归纳就是几点:

  1. 漏洞系调试所致。
  2. 受影响的用户为21-22日的用户,统计仅93人。
  3. 因漏洞引起损失,携程将全额赔付。

个人认为,携程的声明基本就是在推卸责任。

过程还原

漏洞细节虽然没有暴露,但是从透露出来的信息仍然可以拼凑出部分过程。

  1. 某个时间开始,携程的某个内部人员打开了线上系统的日志,用来做调试。不幸的是,日志里面包含了信用卡所有刷卡信息,而且日志可以被穷举下载。这个人是谁,什么时间开始,不知道。
  2. 22日,漏洞发现者(猪猪侠)发现了这个问题,并报告在了乌云上。
  3. 携程收到信息后,立刻关闭了调试模式。并且把系统日志拉出来看看,发现里面有一些人。于是携程就发表声明。

问题分析

在整个过程中,暴露出几个问题:

  1. 携程未必是故意记录CVV信息。但是根据携程可以让用户仅提供卡号后四位就可以完成刷卡来看,携程一定是记录某些信息的,但是未受到本次漏洞影响。
  2. 交易过程所交流的数据属于机密,到底是什么人有权限打开调试日志,又没有经过严格的访问控制?是主管级以上?还是普通员工?无论哪个级别都是严重的问题。如果是普通员工,说明携程对员工的管理不到位,权限分割控制不合理。任何恶意员工可以打开日志得到数据而主管无法察觉。如果是主管以上级别则更加糟糕。说明主管根本不懂技术,也不知道如何保护客户的安全。
  3. 时间是否仅限于21-22日?如果是的话,意味着仅仅2天就被攻击者找到了漏洞。如果是偶然的话也太快了,如果是必然的话,则代表携程内部其实还有其他问题。
  4. 两天的交易仅仅是93人?没有更多?为什么只是部分用户受影响?携程并没有披露更多细节。要么是这里仍旧隐藏着漏洞,要么是携程的危机公关不到家。

评论

为什么说携程的声明是推卸责任?

  1. 首先,对于受到影响的用户,只要能证明是携程的责任,无论携程是否发布声明,都可以打官司获得赔偿。携程的声明仅仅是表达了他必然受到的法律后果。如同驾驶员发表声明:“我喝醉后所撞伤的所有人,我将全额赔付其医疗费”一样,没有任何意义。而如果无法证明是携程的责任,携程当然不会管你。
  2. 携程是否隐瞒了更久以前服务器调试开启的事实?这并不好说。个人倾向于善意的揣测携程不会隐瞒,但是在行动上不妨恶意的揣测其实调试信息打开时间更长,受影响的人更多。
  3. 为什么只有93人受到影响,携程并没有公布。携程的事后分析,应当都是基于这个漏洞的特性“下载日志”而定的。其赔偿基线也是根据“下载日志就会有日志”而产生。但是是否有可能被擦脚印?或者内部人员打开日志然后关闭而逃过被抓?这些携程并不能回答。从问题分析2来看,这种可能并不能排除。而携程的声明并没有表示对这些情况负责(当然就算想要负责也无能为力)。
  4. 由于携程信息的不透明,其声明“只有93人受到影响,其他用户安全不受影响”,换个说法就是,“不接受任何赔偿请求,除非你们有足够证据”。问题是用户怎么可能有证据?证据都在携程的服务器上和拿到信息者手里。当有用户的信用卡被盗刷,如何确认是自己的责任还是携程的责任?

基于上述几点,我认为携程的声明是在推卸责任。

建议

如果你是93人之一,当然,携程应该已经联系你换卡了。

如果你不是93人之一,根据上文分析,携程是不会理你的。基于携程并没有透露更多的信息,也没有第三方机构佐证其说法的事实。你需要自行考量信用卡信息泄漏的风险。因此,我对所有在三年以内在携程使用过信用卡的所有用户的建议是,立刻用各种方法冻结信用卡或额度,并尽快换卡

我对所有人将来的建议是,远离携程直到其展现出对用户隐私和安全足够的尊重,或者关门。

PS,你可以用下面几种方法冻结信用卡:

  1. 打电话给发卡行,要求冻结。发卡行核对一些基本信息后就会帮你冻结。
  2. 使用网银将额度改为1元。根据网友反馈,建行的额度是千元为单位设定的,建议建行的用户们尽快弃卡。

信用卡的固有弱点

信用卡消费的几个要素是,卡号,CVV号,还有有效期。如果是线下消费,需要核对签名(理论上如此)。如果有设定密码,需要核对密码。

密码的问题是,如果设定了密码,一旦信用卡被盗刷,而密码一次正确,将被视为用户责任。而且很多发卡行的跨境消费是设定了密码但是没有密码也能成功的。因此信用卡的建议是不打开密码。

在网络使用中,这里有个很严重的不便——卡号,CVV,有效期,都是发行时即固定,不可更换。这导致一旦你将这些信息交给对方,你的安全就全由对方保护,发卡行无法帮你做任何事情。

正常来说,应当使用密码乃至在信用卡上附上电子token来加强安全性需求。这样的话,token信息无法保存,密码可以修改。当出现携程这类问题时(或者更普遍的,当碰到有恶意的商家时),可以通过修改密码来解决问题,不需要换卡。

一个小故事——我和携程打交到的经历,还有我为什么幸运的逃过一劫

我在某年,使用携程订机票的时候,对方业务员让我报出身份证号。我当时就一阵错愕——难道身份证号不是应当使用手机键盘输入么?

两者的区别在于,手机键盘输入,信息是直接输入到VI系统的电脑中,业务员只能看到尾号。而如果是业务员输入,那么他就有我的所有信息——从身份证号到信用卡号。也许我可以相信携程,但是我如何相信业务员?出了问题,我如何证明?

所以我就向携程的客户经理投诉了这个问题。具体经历在网络安全——你需要知道的东西里面已经描述了。这里面甚至我质疑了携程保存信用卡的安全性,几乎和今天的问题类似。

结果没多久,我打给携程的时候,丫的业务员和我说,如果你信不过我,咱们可以走这套系统。

我了个大去,这种系统还允许旁路绕过?那有个毛线的意义?

从此(12年年中吧)我再也没有用过携程的业务——用也是让公司同事帮我用。因此,当去年(13年某个时候)我的老卡到期,我就换用了新卡。新卡还没有在携程上用过。所以本次问题我一点事都没有。