【编者按】银行与运营商,客户与银行,运营商与客户,只要留下数据痕迹,每一个环节都有可能出现纰漏让攻击者有机可乘。银行希望提供更加便捷的小额支付服务,吸引更多的用户使用 ;运营商希望提供更多的增值服务,从而形成长尾效应,创造更高的附加值。本文并非针对工行、移动,任何银行与运营商都有可能发生。雷锋网作者shotgun是安全领域的专家,他希望借此来探讨当下方便快捷的网络支付所潜藏的安全隐患,给三方警示,从而能更好地保护我们的财物安全。
那么,在支付交易的过程中,运营商、银行、用户,三者之间如何协作?哪个环节会出现纰漏?用户银行卡里的钱是怎么丢的?
事件回顾(主人公视为小王):
为了方便理解,提取这个过程的几个节点:
2015年7月1日,小王发现自己被强制开通了10086的短信保管箱业务。第二天,小王就修改了自己的10086密码。
7月6日,小王收到近10条自己在各种网站注册账号的验证码信息; 小王再次发现自己被强制开通了短信保管箱业务; 几分钟后,工商银行向受害者发来短信验证码,显示工商银行卡B中一笔9990元的存款正在转账。
这个事件中,我进行了以下这些推论分析:
第一,用户的手机应该是干净的。也就是说,没有被植入木马后台。
一般来说,网银攻击者喜欢使用手机木马来直接盗取他人的钱。
手机木马的工作原理: 一般工作在安卓或者越狱后的苹果手机上(近期也出现了不需要越狱就可以植入的苹果木马),利用APP或者手机操作系统的漏洞,不仅仅可以截获短信、窃听通话,甚至还可以直接拿到手机银行的帐号和交易密码。
手机木马不仅可以偷取网银的账号密码,还可以直接读取验证短信。换句话说,如果有手机木马,那么是不需要通过短信保险箱来获取验证短信,也不需要多次尝试取款密码。但是从小王被强制开通了10086的短信保管箱业务可以看出,攻击者并没有直接在手机上读取认证短信,所以排除了手机被植入木马后台的可能。
第二,攻击者不是通过入侵银行的服务器来窃取。
如果攻击者拿下了银行的服务器,那么就可以直接转帐到自己的帐号,根本不需要短信验证,即使有短信验证的环节,服务器上也可以直接读取,压根不需要短信保管箱。就算银行的监管系统和支付安全一直都饱受质疑,但是不可否认的是,绝大多数银行服务器的保护措施都比个人电脑高很多,不只是一个级别的差距。所以,出现网上银行服务器被攻破的概率相对较小。
在这个事件中,小王同样是被强制使用短信保管箱,那么也就说明,攻击者并非通过入侵银行服务器来窃取的。
第三,小王的电脑、网关中应该有一个出了问题。
电脑、网关的运行过程如下:
在这个过程中,攻击者只需要利用安全漏洞获得受害人电脑或者网关中任意一个的权限,就可以读取到受害人的银行卡号、 手机号码等等信息。但是因为银行的网银系统受到安全控件的保护,所以取款密码是很难直接读取,这就是攻击者多次尝试导致银行卡被锁的原因。
而当小王修改移动运营商的网站登录密码时,由于移动运营商的网站安全级别远低于网银,所以该密码很容易被攻击者直接窃听到。
小王B卡的卡号在第二天就泄露,他在修改了手机的网站登录密码后,攻击者还是可以强行打开短信保管箱。虽然我们目前还没能检查过小王的电脑和网关,但是攻击者通过电脑木马或者网关劫持获取受害人的帐号的可能性很大,而小王的手机号码,也很可能是通过类似的方式被获得的。
所以说,这个环节中,小王的电脑、网关中应该有一个出了问题。根据工行做出的回应,事发原因是不法分子使用非法手段获取了客户相关信息和密码,再利用客户信息开通了客户手机的“短信保管箱”业务,从而获取交易验证短信并盗取资金。当然,银行方面的责任不可推脱,这里就不具体展开,后面“e支付”会再说明下。
第四:移动运营商业务的安全风险控制存在漏洞。
1、短信保管箱业务本身存在的较大风险未能事先评估出来。
短信作为包含用户隐私,甚至经常会携带支付认证信息的服务,提供云保管服务应该更加慎重。例如应该由用户亲自前往营业厅才能够启用,或者至少允许用户可以禁用该服务,直到亲自前往营业厅解禁。
2、允许通过wap方式启用短信保管箱服务,使得第三方可以强行打开该服务,从而劫持敏感的短信。
根据移动公司的回应:“目前经过后台网络日志显示,不知情定制均系有人使用客户的手机号和客服网站密码,通过手机登录客服WAP页面开通,目前并没有任何迹象显示是中国移动网站被攻击造成了客户信息泄漏。”
原本“短信保管箱服务”必须本机回复短信才能够激活,但是因为系统上线时未能仔细检查老旧的wap服务接口,使得攻击者通过wap服务绕过了本机短信验证环节,最终导致了小王的网银失窃。
正常情况下运营商一个新业务上线应该做风险评估的。而wap是老业务,短信保管箱是新业务,运营商疏忽了这个环节,或者说,攻击者的脑洞开得很大,运营商并没有想到会有人用老古董业务去开新业务。如果运营商有行动,这个环节的纰漏会有很大的概率被发现,完全可以关掉通过wap开保管箱这条路。不过,经过这次事件之后,运营商应该会把wap申请关掉。
尽管就像移动说的那样,并非“中国移动网站被攻击造成了客户信息泄漏”,但是由于运营商对wap服务的忽视也会对用户造成财务损失。毕竟,这方面的风险本就该由运营商来管控的。
第五:银行使用短信这种不可靠的方式来进行用户身份认证是不妥的。
短信不仅可以通过本次案件中的短信托管服务劫持,还可能被“伪基站”、“手机木马”劫持,因此应该使用强度更高的U盾或者随机密码器。这个方法很多银行已经都有了,主要的问题可能还是出现在“e支付”,因为“e支付”是小额支付,一般还是用短信验证。
即使必须使用短信来进行二次身份认证,也应该将支付\转帐金额控制在较小的额度。但是,每家银行定义的“小额”不同。显然工行的额度比较大:工行默认1万,然后可以提升到2万。
之前有用户说“e支付”的安全隐患曝光,工行回应“系误解”。其实说到底还是攻击者借助非法途径截获短信验证码,轻而易举地盗窃存款。
通过工商银行查明,小王总计13990元被转入了一个叫“杨少华”的账户里。几笔金额其实并不小,有一笔交易是9990元。
第六:用户应该提高安全警惕性。
1、用户启用银行的网上支付、网上交易功能时应该仔细阅读风险提示,并做好帐户的隔离,例如用一张金额较低的卡来专门进行网上交易,而存放金额较高的卡则关闭所有网络支付、交易功能。或者把大额的活期放在货币基金或者定期存款里,但是这样要多一次定期/货基转活期的操作。当然,这个就涉及到了银行的业务,人行和银监会的监管要求也不同,我就不展开来讲。
2、不要使用弱密码,注意定期更换密码,也不要把密码存放在电脑或者手机里面,不同的卡尽可能采用不同的密码。
这个事件中,小王在第一张银行卡频繁被冻结之后,办了第二张工行卡,而他还是使用原来的密码,这种情况下,很容易导致密码泄露。
3、在遇到银行卡被盗刷时,我们要第一时间联系银行冻结相关帐户,而不是花时间和运营商讨论。
总结
在银行和运营商角度,本质上这还是一个新业务创新和风险控制之间平衡的老问题。
银行希望提供更加便捷的小额支付服务,吸引更多的用户使用 ;运营商希望提供更多的增值服务,从而形成长尾效应,创造更高的附加值。但是业务创新中,信息风险控制措施未能及时跟上,银行方面忽视了短信的不可靠性,而运营商则忽视了短信服务承载的密码认证责任。
再加上平时对用户的教育培训不足,使得用户缺少安全警惕,内部风险控制的敏感度不足,两家企业的电话服务中心员工也都忽视了之前的各种异常情况,最终导致了本次事件的发生。