微信号:infoqchina

介绍:有内容的技术社区媒体

揭秘|阿里云9月1日安骑士升级故障始末

2015-09-12 08:12 魏星

事件描述

2015年9月1日,阿里云官方发布公告向用户致歉,称“因云盾安骑士server组件的恶意文件查杀功能升级触发了bug,导致部分服务器的少量可执行文件被误隔离……对于受影响的客户,我们将立即启动百倍时间赔偿”。9月3日,云盾负责人吴瀚清在自己的微信公众号发布了《危机时刻,我只心疼我们的客户》对事故进行总结。InfoQ针对此次事故采访了云盾负责人吴瀚清。以下为采访文稿整理。



InfoQ:请您简单介绍一下自己以及在阿里云负责的工作内容。


吴瀚清:我现在阿里云主要是负责云盾这个安全品牌。我们想把云盾建设成为互联网安全的基础设施,中国IT的大环境跟国外相比还不够成熟,在云计算安全方面有一些基本的攻防问题需要解决。我们的很多客户对安全并不了解,但是他们的业务有很强的安全需求,所以我们想帮助客户多解决一些这方面的问题,这是云盾诞生的前提。所以我们在云盾里推出了许多产品,比如像DDoS防护产品,比如这次出故障的安骑士,这是一款服务器安全产品,主要防止黑客入侵,另外还有一些Web应用防火墙,等等。


InfoQ:能描述一下这次事故的具体过程和技术细节吗?


吴瀚清:这次故障发生在9月1号早上,我们一位安骑士服务端的研发工程师修改了一行代码,由于改动很小所以就绕过了整个测试的流程,直接把代码发布上线了。发布到第一批机器并观察了半小时之后,并没有发现异常问题,于是这位工程师把剩余的机器也发布上线了。到11点40多的时候,客服开始接到工单,用户反应新启的进程被杀掉、程序文件也被删除。我们在12点的时候定位到了问题,同时对这次发布进行了回滚,制止了问题的蔓延。但是之前反馈问题的用户,需要一个文件恢复的过程。我们在系统设计的时候,对于这种异常情况估计不足,尤其是这次情况特殊,并没有批量恢复的机制。因此,我们需要临时写一个程序,下发到受影响的客户服务器上,帮助客户恢复被删除的文件。下午3点多的时候我们写完了这个程序,并进行了一些调试,下午5点的时候对程序正式下发,下午7点多的时候恢复了受影响的客户文件。


在故障发生的时候,很多客户在微博上情绪比较激动,也有一些人借着这个故障在造谣,说阿里云的信息产生了泄漏,这个事情其实是不属实的。阿里云官方也进行了辟谣,这纯粹是一个技术上的故障,跟安全问题没有太大的关系。


InfoQ:刚才您说工程师改了一行代码造成了这次事故,关于这行代码的细节,您能说一下吗?


吴瀚清:安骑士有一个功能是恶意文件查杀,这个功能有一个黑名单机制,这个黑名单是人工运营的,我们会把人工确认过的恶意文件加入到这个黑名单中。这行代码的逻辑有一个条件判断错误——把所有新启动的文件全部判断为了恶意文件,被加进黑名单中的文件进程于是被阻断、文件被删除。