携程错在哪里?

来源:互联网 发布:阿里云 分享 编辑:程序博客网 时间:2024/04/28 05:56
先转一个段子"我理解的携程事件":“你偷我内衣这事被别人知道了。”携程:,“我们已经把漏洞堵上了,别人不会在知道了,这内衣放我们这也是安全的,如果破了我们会给你买新的…… ”“别废话,我就想知道你为什么偷我内衣!”
这个段子很解气,携程避重就轻、推卸责任的态度跃然纸上。所要揭示的问题,就像很多公众和公众人物所质问的:携程凭什么保存我的信用卡信息?

但这个段子只是外行人编的。携程是错了,除了漏洞的出现不应该外,他的主要错误是否真的错在不应该保存用户的信用卡?在本人看来,这只是表面的问题。

1.虽然有人行和银联明确规定过商家不能保存用户的信用卡信息,但这毕竟只是国内的规定,你不遵守,最多不能接入银联。不能接入银联,还可以接入master, visa,一样可以在线支付。
2.更不要因此而指责携程的道德问题,因为,首先,携程保存这些信息的目的还是为了更好的为用户服务,应该没有人怀疑携程保存这些信息是为了盗刷用户的信用卡吧;其次,这其实是互联网支付的潜规则,大多数公司都是这么干的,包括大名鼎鼎的苹果app store,否则,你以为你能这么方便的购买一个个app? 所以也许伦理上,行业这样做是有道德问题,但是这不是携程出错的原因。

那么携程的错是不是可以找个工程师定罪了事?这个漏洞的出现,很可能就是某个工程师为了找bug方便等原因,把这些信息给记录了下来,上面的领导都不知道。但这样处理,相当于找了一个临时工顶罪了事。

事实上,对于这些信用卡敏感信息,visa,master也有明确的规定,一般不能保存,实在要保存,就必须遵循他们的pci规范。携程已经在申请pci规范审核。但是,光靠规范也是不行的,规范是死的,人是活的,关键还是要靠人的执行。企业的技术管理人员必须要有这样的意识:
1.最起码的一条,密码等敏感信息绝对不能明文保存。
2.作为规范的公司,研发和运营要严格分开。运营可以看到加密后的数据,但是不知道怎么解密;研发可以加密、解密,但是看不到正式运营的数据。这样单个人就无法做坏事。再控制接触到这些数据、算法的人员数量,可以进一步加强安全性。
3.生产服务器和测试服务器也要严格分开。要找问题,只能用测试服务器。携程这次犯的错误,有可能就是违反了这一条。本人偏向于相信,携程正式设计的保存方式,应该是加密进行保存的。发现的这些明文信息是在log里找到的,而log一般都是用来查找问题的。所以,估计是携程的工程师为了查找问题,在生产服务器上运行了debug程序。

另外,携程的流程设计上存在着问题。看报道,携程的客服人员居然直接在电话里问用户的cvv2码,不可想象!!你见过银行的客服直接问你的密码吗? 如果银行打电话直接要你报密码,不用怀疑,肯定是诈骗电话! 银行需要验证密码,都是切换到按键输入,软件系统自动处理,不会给任何人犯错误的机会。所以,虽然这次出错和这个流程无关,但是难保下次不出现内鬼。

所以,携程错在哪里?错在技术开发的制度、架构和执行,技术总监引咎辞职吧。
0 0