人们对飞速前进的互联网生活已经习以为常,很难意识到这样一个真相——仅仅一两次恶意或无意的破坏发生后,你眨眼就可以回到蒙昧时代。
互联网公司常常将资源集中于高速发展的业务,而忽略了在安全方面的投入。对于从事互联网金融的公司,这是个致命的缺陷。
从2015年5月27日下午开始,一直到5月29日上午,你很可能接连遭遇到这样三件倒霉透顶的事:支付宝结不了账;携程宕机了;眼看着大盘暴跌,股票软件却卖不了股票。
先是你去超市里购物,以为打开手机里的支付宝就能付款,当你结账的时候,收银员却说支付宝这会用不了,可是你又没有带钱包,最后只能空着手回家。
第二天早上你要出差,打开手机里的携程客户端,发现用不了,打开电脑登录携程官网,还是登不上。这天下午,中国A股暴跌超过6%。
到了第三天,股市早盘一度暴跌4个点,你打算把股票卖了,却发现你的证券软件无法交易。公开报道显示,招商证券、国泰君安和国金证券等股票软件一度出现无法交易现象。
人们对飞速前进的互联网生活已经习以为常,很难意识到这样一个真相——仅仅一两次恶意或无意的破坏发生后,你眨眼就可以回到蒙昧时代。
“挖断”支付宝
“如果是真的做到了异地多活,应当是分钟级别的切换。两个小时已经足够拷贝一个数据库的备份,然后找一个新机房重新开启业务了。”
2015年5月27日17时左右,拥有数亿用户的支付宝被部分用户反映,服务突然无法正常使用。
5月27日22点37分,支付宝在其官方微博上发布声明称,本次事故由杭州一主要机房的光缆被市政施工挖断所造成。南方周末记者获得的一份盖有“中国电信杭州分公司”公章的说明函显示,此次市政施工未通知电信公司,顶管施工导致了“四条大对数光缆中断”,造成了阿里巴巴公司的业务受到影响。
到19时左右,支付宝的服务恢复正常。事实上,在服务恢复正常的时候,被挖断的线路还未修复完毕。上述说明函显示,一直到28日凌晨3点57分,光缆才陆续抢通。南方周末记者就事故修复过程咨询支付宝内部的多位技术人员,对方表示,无法提供更多的技术细节。
一家国有银行的信息部门人士对南方周末记者表示,对于支付宝事件一种可能的推测是,连接数据中心的双线中的一条线被破坏后,原有的容量对仅剩的一条线产生极大压力,于是“挤爆了”支付宝的有效传输通道。如果剩下的一条传输线路中突增的服务请求不能被合理分发到所有服务器中,部分压力过大的服务器就有可能宕机、停摆。剩下的就是滚雪球效应了:尚未宕机的服务器接到越来越多的未处理请求,压力逐渐变大而接连发生宕机。
双线架构是一般金融机构传输信息的基本架构,两条通路的布置方向和位置还必须互相远离,例如一条线从南出,另一条线就得从北出,甚至这两条通信线路还要来自两个相互独立的运营商,以充分规避风险。
网络上的段子手们再次第一时间发声:“什么互联网+、大数据、云计算,都顶不住传统行业一铲子。”
支付宝官方在回答公众可能关心的问题时,用到一个关键词“异地多活”。这也被业内人士称为“分布式多活”,即在不同的地理空间分布着多个数据中心,一般情况下彼此地位均等,协同工作,并行提供服务;而在某个中心发生故障的情况下,其他数据中心可以正常运行并对关键业务或全部业务实现接管,互为备份,实现用户的“故障无感知”。
但此次支付宝的部分用户明显对故障有感知,“异地多活”的救场似乎还未达到支付宝想要的最理想状态。
其在官方声明中也说,“作为一个金融系统,对切换中的数据与资金安全性要求极高,因此切换速度上没有做到更快,后面我们会不断提升切换速度。但是,这并不代表我们对这次恢复时间是满意的,我们希望未来这样的切换能让用户无感知或者最小化感知。”
但对于在“异地多活”的环境下仍超过两小时的恢复时间,来自一家国有大行和一家互联网公司的两位信息安全人士均持怀疑态度:“如果是真的做到了异地多活,应当是分钟级别的切换。两个小时已经足够拷贝一个数据库的备份,然后找一个新机房重新开启业务了。”
“当然这种猜测是基于不清楚他们的负载均衡策略和架构的,更多的符合事实的细节还是要他们自己来披露。”前述银行人士说。
目前,国有大型银行基本上采用“两地三中心”的架构模式来应对紧急情况,即除了同城有一个灾备中心外,异地也有一个灾备中心。当一个机房出问题时,系统会切到同城或者异地的灾备中心。以广发银行为例,南海数据中心、广州同城备份中心、深圳异地灾备中心就形成了典型的“两地三中心”整体架构。
传统的灾备切换模式下,备用中心在接替主中心时需要较长的时间、关系复杂,会严重影响用户的业务办理,备用中心的投资回报也无法达到预期。真正在“两地三中心”架构上实现的“异地多活”模式则具有无中断时间、无数据损失等对客户透明的效果,在正常运行时,备份中心也不会闲置,而是可以提供成倍的服务能力。
“一键删掉”携程?
“大众情绪是一件很奇怪的事情。支付宝瘫了,平静地过了;携程瘫了,也平静地过了;证券公司瘫了,没有逃成顶没有抄成底,也平静地过了,如果是银行呢?”
支付宝的光缆抢通后7个小时,携程又陷入了麻烦。5月28日上午11点左右,携程的用户反映,携程的官网和App无法使用。
按照携程官方的说法,5月28日11时09分,因部分服务器遭到不明攻击,导致官方网站及App暂时无法正常使用。一位接近携程的消息人士告诉南方周末记者,携程在第一时间启动了技术排查,所有技术人员紧急值班。大家很快发现问题出在数据库被删除了,而且被删除的情况“很严重”。在修复过程中还发现,只要你在上面上传代码,数据会自动被删除。一直到下午一点半,数据还在“持续被删”中。
“一开始大家的第一反应是外面的黑客攻击的,但很快意识到,应该是内部人所为,黑客不可能把数据库删除得这么干净。”上述人士对南方周末记者透露。
当天23点左右,携程在宕机12个小时后恢复正常。按照携程一季度财报公布的数据计算,携程宕机的损失为平均每小时106.48万美元。
5月29日1点30分,携程发表声明称,经携程技术排查,确认此次事件是由于员工错误操作导致。
奇虎360网络攻防实验室负责人林伟对南方周末记者表示,即便是大企业,灾备方案也做得不够完整。
“支付宝属于金融支付,如果是银行,就不会出现这样的情况,银行有同城和异地灾备等完善灾备体系。携程被删除的代码经过8小时还没有恢复,有可能是在重新上线的过程中遭遇攻击者的阻碍,影响了服务恢复的进度,否则在有备份的情况下,代码和数据一般能在1小时内恢复。这个修复时间太长了,删除应该是故意的,误操作的可能性很低。”他说。
携程的声明发布8个小时之后,中国A股开市,经历了5月28日的暴跌之后,A股在29日早盘一度下跌4个点,很多人纷纷卖掉自己的股票,但有些股民发现自己的证券交易软件又出了问题,预定的逃顶和抄底计划不得不纷纷搁浅。
互联网公司以指数级别的加速度构筑起了我们的互联网世界,另一方面,也将用户置于瞬时崩溃的危险之中。
但对大多数人来说,互联网服务的中断,远较对其钱袋子的威胁来得轻松。相比之下,传统金融机构开设的实体网点、背后的国家信用都让用户天然地抱有更多信任,当然他们的要求也更高,遇到问题常常激起更广泛关注。
一名银行研究人士在一个非公开的场合总结了5月底这三天接连发生的互联网安全事件:“大众情绪是一件很奇怪的事情。支付宝瘫了,平静地过了;携程瘫了,也平静地过了;证券公司瘫了,没有逃成顶没有抄成底,也平静地过了,如果是银行呢?”
高额投入的“危险按钮”
“当时主中心已经宕机,是可以选择切换的,但是可能觉得切换的风险比修复的风险更大,所以没有选择切换,而是进行了修复。”
“世界上没有绝对的安全,只有通过一个平衡可以把客户体验和安全做得最佳。”时任阿里小微金融服务集团(现为“蚂蚁金服”)首席风险官胡晓明在接受南方周末记者采访时曾说,在数据存储、安全体系上,如果要投入,就是一个非常大的数字。
广发银行负责安全应急的部门在给南方周末记者的回复中称,在网络、信息系统服务器等采用高可用性架构的基础上,还要加上日常开展有效应急演练及专项应急演练,金融机构才能比较有效应对突发情况,减少中断时间甚至是实现无缝切换。
“这也需要在网络设计、系统架构、数据同步、安全控制以及配套的运维管理等方面均有非常高的要求和资金投入。”一位银行相关人士表示。
但是注重投入产出比,是大多互联网公司安全体系建设所面临的现状。
“互联网公司发展得很快,一片欣欣向荣,在自己的架构方面,可扩展性、高并发能力总是考虑得多一点。安全性、容错性上就相对差一些。”负责过数家互联网公司信息安全事务的林鹏对南方周末记者说,高速发展的业务通常是互联网公司首要考虑的,在安全性上,互联网公司远没有传统金融机构的沉淀这么多。
互联网安全社区“乌云”的多位人士都曾对南方周末记者提及,互联网公司更看重业务的拓展,安全部门的地位经常居次。
金融则是对安全极为敏感的行业,当互联网公司也争先恐后涉足金融领域时,不得不像传统金融机构一样如履薄冰。
“任何一笔投资、交易的丢失都是无法被用户接受的。”林鹏说,可资对比的是微信,作为腾讯的拳头产品,微信也因光缆被挖断而出现过故障,但是“发生意外时丢两条聊天记录,显然在用户的接受范围内”。
“发生支付宝这种事件时,切是可以切的,但是谁来保证切过去之后信息的一致性?”林鹏说,通常的情况是,没有人敢。这样的切换即使在技术上能达到,目前对于各大银行等金融机构来讲也是几乎未在实际操作中尝试过的昂贵操作:一则风险太大,要保证整个数据的完整性;二则可能切换不回来。
“据我所知从没有哪个银行真的切换了的,大多是在演习。有一些故障时,一般是等到故障修复或者系统回退,而不是选择切换。”前述银行信息部门人士对南方周末记者说。
2013年6月23日上午10点38分至11点23分,工商银行部分地区因计算机系统升级原因造成柜面和电子渠道业务办理缓慢,ATM机暂停服务,甚至连余额都无法查询。“当时主中心已经宕机,是可以选择切换的,但是可能觉得切换的风险比修复的风险更大,所以没有选择切换,而是进行了修复。”一位接近工商银行的人士对南方周末记者说。
金融机构的信息系统出现问题,往往还会带来意料之外的猜测甚至恐慌。
工商银行短暂宕机事件适逢全国“钱荒”,在故障刚出现时,就有舆论揣测,工行是因为资金链紧张而无法办理取款业务。最终,其官方微博在23日12点50分时表示,“系统已恢复,各项业务正常办理。”事后的复盘也证明,确实是信息系统故障导致了前述事故。
IBM方面提供给南方周末记者的一篇报道显示,2014年8月,中国工商银行的同城双活数据中心投产。“双活”方案意味着,“当任何一个站点的系统计划内或计划外需要停止运行时,金融交易可以在分钟级的时间内全部转移至另外一个中心,并对外提供服务”。
但这是任何一家金融机构不到最后不愿按动的“最危险按钮”。