阿里云工程师解密热修复xen漏洞

原创
云计算
近日,开源软件Xen发出高危漏洞,称由于Xen存在部分漏洞,有可能会造成数据泄露的潜在风险,建议所有相关的服务器进行重启来修复这些漏洞。采用Xen作为虚拟化软件的云计算服务商,大多都通过服务器重启的方式来解决,而阿里云则采用了全部热升级的方式,在用户没有感知的情况下,解决了此次高危漏洞问题。

近日,开源软件Xen发出高危漏洞,称由于Xen存在部分漏洞,有可能会造成数据泄露的潜在风险,建议所有相关的服务器进行重启来修复这些漏洞。采用Xen作为虚拟化软件的云计算服务商,大多都通过服务器重启的方式来解决,而阿里云则采用了全部热升级的方式,在用户没有感知的情况下,解决了此次高危漏洞问题。

Xen是由剑桥大学发起的开源Hypervisor软件,是实现云计算虚拟化的基础,因此被亚马逊、阿里云、Rackspace等公司作为公有云的基础系统软件。Xen安全漏洞是指Hypervisor自身出现安全问题,可能会造成数据泄漏风险,漏洞披露由Xen安全团队会负责。

修复Xen漏洞一般有两种方法,即冷启动修复和热修复。冷启动修复就是通过打补丁的方式,然后重启机器让补丁生效,从而修复漏洞,冷启动方法相对简单,没有任何技术挑战,但是对用户的业务会造成数分钟的服务不可用。而热修复可以让用户对修复过程无感知,但是这一修复方案也是有一定的门槛。

通常,若想修复系统软件漏洞,必须能够访问系统软件所用到的内存。而Xen作为底层的Hypervisor软件,被设计成一个安全域,它的内存是Xen的控制域Dom0无法访问的,并且不允许任何用户甚至是云计算服务商管理员访问机器内存。因此采用热修复的***难度就在于此。而阿里云在虚拟化方面有着比较深厚的技术积累,实现了热修复,并且在修复过程中采用了极其精细化的设计,让客户在无感知的情况下进行修复。

阿里云资深专家张献涛博士表示,首先,阿里云突破了从控制域Dom0不能访问Xen Hypervisor内存的限制,在CPU不能访问内存的情况下,利用设备DMA(Direct Memory Access,直接内存访问)来读写内存。这个方法需要精准的操作,因为一个异常的DMA请求会导致Hypervisor内存污染或者设备异常,最终导致物理机宕机。然后,在确保上层用户业务不受影响的前提下,动态替换Xen Hypervisor中有问题的指令,而这个替换过程要控制在毫秒级完成。

此次阿里云的热升级方法采用了全自动、逐台机器修复的策略,一旦出现意外,只会影响一台机器,并且修复会马上停止,然后技术人员会分析问题进行解决。此外,为了应对此次Xen高危漏洞,阿里云组成了故障应急团队,修复过程中一旦出现问题,会马上和客户沟通,降低业务受影响的程度。

众所周知,一般云服务商提供服务时,都会与用户签订服务协议,并且承诺一定百分比的可用性,因此,云服务是允许每年发生一些停机或宕机时间。因此,在此次Xen高危漏洞被披露后,大多云服务商都是采用冷启动修复方法。

值得注意的是,早先亚马逊公告通知客户,表示有大约10%的服务器受影响需要重启,随后该公司技术团队找到热升级的方式,但仍有0.1%的服务器需要重启。

张献涛告诉记者,“热修复Hypervisor技术门槛很高,各种各样的软硬件组合都需要考虑,问题比较复杂,不是所有的公司都能解决所有问题。阿里云***版修复方案也只能解决了99.97%左右的客户,但我们没有满足于这个成绩,而是连夜分析方案的缺陷,分析问题所在,最终达到了100%用户不用重启的目标。”

一般情况下,Xen安全团队会在公布漏洞前,会提前10-14天发给全球的关键公司做预披露相关的动作,这些公司都签订了严格的NDA(Non Disclosure Agreement,保密协议)协议,以留出时间给这些公司做线上系统安全漏洞的修复,阿里巴巴是国内唯一一家进入Xen安全漏洞预披露列表的公司,因此阿里云可以提前得之漏洞的相关信息,然后做相应的安全防范动作。

张献涛强调,“复杂的系统都会有安全漏洞,就像我们用的Windows隔三差五就会要求安全更新一样,关键是对于漏洞否能提前发现,提前知道,提前修复。如果能做到,这就是核心竞争力。”

庞大的软件系统会出现安全漏洞是必然的事情,关键在于能否在漏洞被公开前快速修复。云计算业务数据安全和可靠性绝对是最重要的事情,张献涛呼吁国内同行一起合作,重视客户利益,将客户数据安全放在首要的位置。

 

责任编辑:鸢玮 来源: 51cto
相关推荐

2015-03-10 09:07:44

阿里云Xen

2021-12-06 10:29:44

Linux漏洞代码

2015-05-20 13:06:03

2018-10-29 08:20:26

Apache Flin工程师AI

2014-06-20 09:16:26

2019-08-28 20:38:12

好代码编写代码代码质量

2023-04-21 19:05:39

2022-07-21 08:03:15

云安全漏洞修复

2010-01-21 11:17:36

xen虚拟机

2019-01-31 14:24:54

开源阿里云

2010-01-21 08:56:13

2018-06-03 14:26:00

阿里工程师内网代码

2019-06-17 08:57:13

优秀工程师技术程序员

2015-05-20 16:04:22

Chrome

2011-03-29 15:15:06

热备份热修复

2021-01-25 21:38:58

Java去安全漏洞

2023-10-08 10:30:59

云架构人工智能云工程

2012-06-20 10:15:21

技术风云会

2014-10-14 13:34:48

2018-06-22 15:59:46

点赞
收藏

51CTO技术栈公众号