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风暴等等二层内部的攻击手法,危害性都远远超过了它们在传统时代的影响。
[Ok3w_NextPage]l 攻击频率急剧增大
由于用户的多样性以及规模巨大,遭受的攻击频率也是急剧增大。以阿里云现在的规模,平均每天遭受数百起起DDoS攻击,其中50%的攻击流量超过5GBit/s。针对WEB的攻击以及密码破解攻击更是以亿计算。
这种频度的攻击,给安全运维带来巨大的挑战。
2.3. 安全的责任走向广义
随着更多的云用户入住,云内部署的应用也更是五花八门。安全部门的需要负责的领域也逐渐扩大,从开始的保护企业内部安全,逐渐走向更上层的业务风险。
l 云计算资源的滥用
云计算资源滥用主要包括两个方面,一是使用外挂抢占免费试用主机,甚至恶意欠费,因为云计算的许多业务属于后付费业务,恶意用户可能使用虚假信息注册,不停的更换信息使用资源,导致云服务提供商产生资损。作为安全部门,需要对这种行为进行控制。
另一方面,许多攻击者也会租用云服务器,进行垃圾邮件发送、攻击扫描、欺诈钓鱼之类的活动,甚至用来做botnet的C&C。安全部门需要能准确、实时的发现这种情况,并通过技术手段拦截。
l 不良信息处理
不良信息主要是指云服务器用户提供一些色情、赌博之类的服务,云服务提供商需要能够及时识别制止,防止带来业务风险。
3. 技术挑战
要解决上述的这些风险,基于传统的防御思路,需要在网络中部署访问控制策略,实施流量监控系统等等东西。但是对于云来说,实施这些东西会遇到巨大的挑战。
3.1. 失控的云
传统时代,所有的流量都会通过交换机进行。通过netflow、snmp、ACL等手段可以做到足够完善的流量监控和访问控制策略。但是在云时代,不跨越宿主机的VM之间的流量在宿主机的内存中直接交换完毕,网络部门、安全部门无法查看、控制这些流量。
为了解决云服务器被入侵的问题,安全部门需要在服务器上部署各种安全产品,但是不幸的是在云计算时代,这些服务器的所有权并不归属云提供商,安全部门同样没有权限对这些机器进行操作。
也就是说,在云时代,安全部门只是隔靴搔痒的来解决安全问题。
3.2. 业务多样化带来防御复杂性
传统IDC时代,安全部门联合网络部门划分一个一个的安全域,DNS服务器归DNS区域,WEB服务器归WEB区域,数据库服务器归数据库区域,一切都井井有条。但是在云时代,数以十万计的用户在几十万的云服务器上,运行着各种各样的服务。他们的PV、QPS、响应时间要求各不相同。
而安全方案又不可能有放之四海皆准的万能药,拿DDoS防御为例,CC攻击
最常见的防御方案为客户端meta跳转、302跳转甚至验证码。对于普通的以PC为主要客户的网站来说,这么做没有任何问题。但是对于以手机APP为主要客户的网站来说,这么做就是灭顶之灾,手机APP由于访问的是WEB API接口,一般不会解析这种客户端跳转,更不用说填写验证码了,将导致业务完全不可用。
业务的这种复杂性,给安全防御带来不小的挑战。
3.3. 隐私与监控的平衡
担心隐私,担心数据安全是目前上云的最大阻力,但是为了解决云计算资源滥用、个性化安全策略等许多问题,都需要做流量监控,可能引起用户的担忧。作为云计算安全的设计者,需要小心的把握两者的平衡。
4. 阿里云的解决方案
在阿里云,安全部门是作为公司成立的第一批员工加入的,初期占公司总员工总数的10%以上。从一开始,我们就将云的安全性作为首要问题。2013年12月10日讯,英国标准协会(简称BSI)宣布阿里云计算有限公司(简称阿里云)获得全球首张云安全国际认证金牌(CSA-STAR),这也是BSI向全球云服务商颁发的首张金牌。
4.1. 分布式虚拟交换机
[Ok3w_NextPage]为了解决云VM的网络控制问题,我们设计了一套分布式的虚拟交换机,并提供WEB API供外部调用。分布式虚拟交换机部署在每一台宿主机里面,与控制中心通信,上报、接收安全策略。它主要提供两大功能:
l 自动迁移的安全组策略
在云时代,不同的用户共用同一段IP地址,基于IP地址已经难以区分业务了。因此,我们使用用户ID来做区分,基于用户ID来实现安全域,实施安全策略。当用户的VM出现故障迁移到其它宿主机时,这个VM的安全策略会自动迁移过去。
l 动态绑定过滤
我们借鉴思科的DAI技术,实现了对数据包的动态检查,在VM发出的数据包出虚拟网卡之前做一次过滤,剔除伪造的报文。如伪造源IP地址的报文,伪造源MAC地址的报文。靠近源端过滤,可以有效的减轻恶意流量对网络造成的影响。
4.2. 基于数据分析的云盾系统
基于数据分析的个性化安全,与监控恶意行为类似。我们统计并绘制每个云服务器的 BPS、PPS、QPS时间曲线图,掌握最终用户的访问规律。根据User-Agent、源IP地址归属分析移动APP、PC的访问分布。基于这些统计数据,我们定制每个云VM的WAF防御策略,DDoS防御触发阈值、清洗阈值等,这就是阿里云的云盾系统。
其次,由于前文描述过的大规模的原因,我们的云盾系统每天可以捕获大量的恶意IP地址,包括WEB攻击行为、DDoS攻击行为、密码破解行为、恶意注册行为等等。我们的安全系统将这些IP地址作为统一的资源库提供,所有的安全产品进行联动,在攻击者对某个VM进行攻击之前就完成了防御。
由于有了这些数据的整合,阿里云的云盾形成一个完整的体系,在各个不同的层面形成防御,组建战略纵深。各个子产品的数据打通,互相协助,一同进化,保护着云平台的安全。
4.3. 宏观分析统计
鉴于隐私的考虑,我们不对应用层数据做监控,而是通过对五元组之类的数据做宏观统计,发现恶意用户对云主机的滥用。
如上图是一个典型的端口扫描之后做密码扫描的例子。凌晨1点到9点之间,云VM在最外做端口扫描,因为许多主机不存活,导致出流量远大于进流量,而且具备非常典型的攻击特征,他只尝试访问大量IP地址的22、、1433、3389端口。在上午10点半左右,进的流量开始大起来,而且目的端口不变,目的IP是前面IP地址的子集。这说明,攻击者已经提取了开放服务的主机,在进行密码扫描了。
使用这种方式,我们避免了侵犯隐私,又能够实现对恶意行为的侦测。
5. 总结
就我个人的理解,云的安全不会是由云服务提供商一家来做,一定是将网络开放出来由众多的安全服务厂商提供自己的产品,为形形色色的用户提供个性化、定制化的产品和服务。