1. 前言
云计算已经是非常火爆的概念了,涉及的服务也非常多,弹性计算服务、文件存储服务、关系数据库服务、key-value数据库服务等等不胜枚举。本文将简要阐述一下弹性计算服务的安全问题,因为弹性计算是应用得最普遍的云服务,也是安全风险最大的云服务。
由于许多东西涉及公司机密,细节、实现或者新的方向,本文中不进行讲解。有兴趣的可以投一份简历过来,我们共同为云计算努力。
2. 云计算带来的新风险
在云计算之前的时代,传统IDC机房就面临着许多的安全风险。然后这些问题毫无遗漏的传递到了云计算时代,不仅如此,云计算独有的运作模式还带来了更多新的问题。
2.1. 云内部的攻击
l 安全域被打破
在对外提供云计算业务之前,互联网公司使用独立的IDC机房,由边界防火墙隔离成内外两块。防火墙内部属于可信区域,自己独占,外部属于不可信区域,所有的攻击者都在这里。安全人员只需要对这一道隔离墙加高、加厚即可保障安全,也可以在这道墙之后建立更多的墙形成纵深防御。
但是在开始提供云计算业务之后,这种简洁的内外隔离的安全方案已经行不通了。通过购买云服务器,攻击者已经深入提供商网络的腹地,穿越了边界防火墙。另外一方面,云计算内部的资源不再是由某一家企业独享,而是几万、几十万甚至更多的互相不认识的企业所共有,当然也包含一些怀有恶意的用户。显然,按照传统的方式划分安全域做隔离已经行不通了,安全域被打破。
l 新的攻击方式
传统IDC时代攻击者处于边界防火墙外部,和企业服务器、路由器之间只有IP协议可达,也就是说攻击者所能发起的攻击,只能位于三层之上。
但是对于云计算来说,情况发生了变化。在一个大二层网络里面,攻击者所控制的云服务器与云服务提供商的路由器二层相连,攻击者可以在更低的层面对这些设备发动攻击,如基于ARP协议的攻击,比如说常见的ARP欺骗攻击,甚至更底层的以太网头部的伪造攻击。
关于以太网头部的伪造攻击,我曾经遇到过一次。攻击者发送的数据包非常小,仅仅包含以太网头部共14个字节,源和目的物理地址都是伪造的,上层协议类型为2个字节的随机数据,并非常见的IP协议或者ARP协议,对交换机造成了一些不良影响。
l 虚拟层穿透
云计算时代,一台宿主机上可能运行着10台虚拟机,这些虚拟机可能属于10个不通的用户。从某种意义上说,这台物理机的功能与传统IDC时代的交换机相当,它就是一台交换机,承担着这10台虚拟机的所有流量交换。
入侵了一台宿主机,其危害性与入侵了传统时代的一个交换机新党。但是与交换机相比,是这台宿主机更容易被入侵还是交换机更容易被入侵?显然是宿主机更容易入侵。
首先,攻击者的VM直接运行在这台宿主机的内存里面,仅仅是使用一个虚拟层隔离,一旦攻击者掌握了可以穿透虚拟层的漏洞,毫不费力的就可以完成入侵,常见的虚拟化层软件如xen、kvm都能找到类似的安全漏洞。
其次,交换机的系统比较简单,开放的服务非常有限。而宿主机则是一台标准的Linux服务器,运行着标准的Linux操作系统以及各种标准的服务,可被攻击者使用的通道也多得多。
2.2. 大规模效应
l 传统攻击风险扩大
为了方便让VM故障漂移以及其它原因,云计算网络一般的都会基于大二层架构,甚至是跨越机房、跨越城市的大二层架构。一个VLAN不再是传统时代的200来台服务器,数量会多达几百台、几千台。在大二层网络内部,二层数据交换依赖交换机的CAM表寻址。当MAC地址的规模达到一定规模之后,甚至可能导致CAM表被撑爆。
类似的,ARP欺骗、以太网端口欺骗、ARP风暴、NBNS风暴等等二层内部的攻击手法,危害性都远远超过了它们在传统时代的影响。
l 攻击频率急剧增大
由于用户的多样性以及规模巨大,遭受的攻击频率也是急剧增大。以阿里云现在的规模,平均每天遭受数百起起DDoS攻击,其中50%的攻击流量超过5GBit/s。针对WEB的攻击以及密码破解攻击更是以亿计算。
这种频度的攻击,给安全运维带来巨大的挑战。
2.3. 安全的责任走向广义
……