求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
阿里巴巴云舒:弹性计算的安全问题
 
作者 魏兴国 火龙果软件  发布于 2014-05-16
 

云计算涉及的服务繁多,弹性计算服务、文件存储服务、关系数据库服务、Key/Value数据库服务等不胜枚举。本文将简要阐述弹性计算服务的安全问题,因为弹性计算是应用最为普遍的云服务,也是安全风险最高的云服务。

云计算带来的新风险

在云计算之前的时代,传统IDC机房就面临着许多安全风险。这些问题毫无遗漏地传递到了云计算时代,不仅如此,云计算独有的运作模式还带来了更多新的问题。

云内部的攻击

安全域被打破。在对外提供云计算业务之前,互联网公司使用独立的IDC机房,由边界防火墙隔离成内外两块。防火墙内部属于可信区域,自己独占,外部属于不可信区域,所有的攻击者都在这里。安全人员只需要对这一道隔离墙加高、加厚即可保障安全,也可以在这道墙后面建立更多的墙形成纵深防御。

但在开始提供云计算业务之后,这种简洁的内外隔离安全方案已行不通了。通过购买云服务器,攻击者已深入网络提供商的腹地,穿越了边界防火墙。另一方面,云计算内部的资源不再是由某一家企业独享,而是几万、几十万甚至更多互相不认识的企业所共有,当然也包含一些怀有恶意的用户。显然按照传统的方式划分安全域做隔离已行不通了,安全域被打破。

新的攻击方式。传统IDC时代,攻击者处于边界防火墙外部,与企业服务器、路由器之间只有IP协议可达,也就是说攻击者所能发起的攻击只能位于三层之上。但对于云计算来说,情况发生了变化。在一个大二层网络里面,攻击者所控制的云服务器与云服务提供商的路由器二层相连,攻击者可以在更低的层面对这些设备发动攻击,如基于ARP协议的攻击,常见的ARP欺骗攻击,甚至更底层的以太网头部的伪造攻击。

关于以太网头部的伪造攻击,我曾遇到一次。攻击者发送的数据包非常小,只包含以太网头部共14个字节,源和目的物理地址都是伪造的,上层协议类型为2个字节的随机数据,并基于常见的IP协议或者ARP协议,对交换机造成一些不良影响。

虚拟层穿透。云计算时代,一台宿主机上可能运行着10台虚拟机,这些虚拟机可能属于10个不同的用户。从某种意义上说,这台物理机的功能与传统IDC时代的交换机相当,它就是一台交换机,承担着这10台虚拟机的所有流量交换。入侵了一台宿主机,其危害性与入侵了传统时代的一台交换机相当。但与交换机相比,是这台宿主机更容易被入侵还是交换机更容易被入侵呢?显然是宿主机更容易入侵。

首先,攻击者的VM直接运行在这台宿主机的内存里,只使用一个虚拟层隔离。一旦攻击者掌握了可以穿透虚拟层的漏洞,就可以毫不费力地完成入侵,常见的虚拟化层软件(如Xen、KVM)都能找到类似的安全漏洞。

其次,交换机的系统比较简单,开放的服务非常有限。而宿主机则是一台标准的Linux服务器,运行着标准的Linux操作系统和各种标准的服务,可被攻击者使用的通道也多得多。

大规模效应

传统攻击风险扩大。为了方便地让VM故障漂移以及其他原因,云计算网络一般都会基于大二层架构,甚至是跨越机房、跨越城市的大二层架构。一个VLAN不再是传统时代的200来台服务器,数量会多达几百台、几千台。在大二层网络内部,二层数据交换依赖交换机的CAM表寻址。当MAC地址达到一定规模后,甚至可能导致CAM表被撑爆。类似的,ARP欺骗、以太网端口欺骗、ARP风暴、NBNS风暴等二层内部的攻击手法,危害性都远远超过了它们在传统时代的影响。

攻击频率急剧增大。由于用户的多样性及规模巨大,遭受的攻击频率也急剧增大。以阿里云现在的规模,平均每天遭受约300起DDoS攻击,其中50%攻击流量超过5GBit/s。针对Web的攻击及密码破解攻击更是以亿计算。这种频度的攻击,给安全运维带来了巨大挑战。

安全的责任走向广义

随着更多的云用户入驻,云内部署的应用也更是五花八门。安全部门需要负责的领域也逐渐扩大,从开始的保护企业内部安全,逐渐走向更上层的业务风险。

云计算资源的滥用。云计算资源滥用主要包括两方面。一是恶意欠费,因为云计算的许多业务属于后付费业务,恶意用户可能使用虚假信息注册,不停地更换信息使用资源,导致云服务提供商产生资损。作为安全部门,要对这种行为进行控制。二是许多攻击者也会租用云服务器,进行垃圾邮件发送、攻击扫描、欺诈钓鱼之类的活动。安全部门要能准确、实时地发现这种情况,并通过技术手段拦截。

不良信息处理。不良信息主要是指云服务器用户提供一些色情、赌博之类的服务,云服务提供商需要能及时识别并制止,防止带来业务风险。

技术挑战

要解决上述这些风险,基于传统的防御思路,需要在网络中部署访问控制策略,实施流量监控系统等。但对于云来说,实施这些东西会遇到巨大的挑战。

失控的云

传统时代,所有的流量都会通过交换机进行。通过NetFlow、SNMP、ACL等手段可以做到足够完善的流量监控和访问控制策略。但在云时代,不跨越宿主机的VM之间的流量在宿主机的内存中直接交换完毕,网络部门、安全部门无法查看和控制这些流量。

为了解决云服务器被入侵的问题,安全部门需要在服务器上部署各种安全产品。但不幸的是在云时代,这些服务器的所有权并不归属于云提供商,安全部门同样没有权限对这些机器进行操作。在云时代,安全部门只能隔靴搔痒地来解决安全问题。

业务多样化带来防御复杂性

传统IDC时代,安全部门联合网络部门划分一个一个的安全域,DNS服务器归DNS区域,Web服务器归Web区域,数据库服务器归数据库区域,一切都井井有条。但在云时代,数以十万计的用户在几十万的云服务器上运行着各种各样的服务。他们的PV、QPS和响应时间要求各不相同。

而安全方案又不可能有放之四海皆准的万能药。以DDoS防御为例,CC攻击最常见的防御方案为客户端meta跳转、302跳转甚至验证码。对于普通的以PC为主要客户的网站来说,这么做没有任何问题。但对于以手机App为主要客户的网站来说,这么做就是灭顶之灾。由于手机App访问的是Web API接口,一般不会解析这种客户端跳转,更不用说填写验证码了,这将导致业务完全不可用。业务的这种复杂性,给安全防御带来不小的挑战。

隐私与监控的平衡

担心隐私和数据安全是目前上云的最大阻力,但为了解决云计算资源滥用、个性化安全策略等问题,又需要做流量监控,可能引起用户的担忧。作为云计算安全的设计者,需要小心把握两者的平衡。

阿里云的解决方案

分布式虚拟交换机

在阿里云,安全部门是作为公司成立的第一批员工加入的,初期占公司总员工总数的10%以上。从一开始,我们就考虑了安全性的问题,设计了一台分布式的虚拟交换机,提供Web API,应对上述的各种挑战和风险。分布式虚拟交换机部署在每一台宿主机里,与控制中心实时通信,主要提供了以下两大功能。

自动迁移的安全组策略。在云时代,不同的用户共用同一段IP地址,所以基于IP地址已难以区分业务了。因此,我们使用用户ID来做区分,基于用户ID来实现安全域,实施安全策略。当用户的VM出现故障迁移到其他宿主机时,这个VM的安全策略会自动迁移过去。

动态绑定过滤。我们借鉴思科的DAI技术,实现了对数据包的动态检查。在VM发出的数据包出虚拟网卡之前做一次过滤,剔除伪造的报文,如伪造源IP地址的报文和伪造源MAC地址的报文。靠近源端过滤,可以有效减轻恶意流量对网络造成的影响。

宏观分析统计

鉴于隐私的考虑,我们不对应用层数据做监控,而是通过对五元组之类的数据做宏观统计,发现恶意用户对云主机的滥用。图1是一个典型的端口扫描之后做密码扫描的例子。凌晨1点到9点之间,云VM在对外做端口扫描,因为许多主机不存活,导致出流量远大于进流量,而且具备非常典型的攻击特征,它只尝试访问大量IP地址的22、1433、3389端口。在上午10点半左右,进的流量开始大起来,而且目的端口不变,目的IP是前面IP地址的子集。这说明,攻击者已提取了开放服务的主机,在进行密码扫描了。使用这种方式,我们避免了侵犯隐私,又能实现对恶意行为的侦测。

图1 典型的端口扫描之后做密码扫描的例子

基于数据分析的个性化安全

基于数据分析的个性化安全,与监控恶意行为类似。我们统计并绘制每个云服务器的BPS、PPS、QPS时间曲线图,掌握最终用户的访问规律。根据User-Agent、源IP地址归属分析移动App和PC的访问分布。基于这些统计数据,我们定制每个云VM的WAF防御策略、DDoS防御触发阈值和清洗阈值。

其次,由于前文描述过的大规模的原因,我们的云盾系统每天可以捕获大量的恶意IP地址,包括Web攻击行为、DDoS攻击行为、密码破解行为、恶意注册行为等。我们的安全系统将这些IP地址作为统一的资源库提供,与所有的安全产品进行联动,在攻击者对某个VM进行攻击之前就完成了防御。

总结

我认为,云安全不会是由云服务提供商一家来做的,一定是通过SDN之类的方式,将网络开放出来由众多的安全服务厂商提供自己的产品,为形形色色的用户提供个性化、定制化的产品和服务。云计算在安全方面确实面临着许多困难,但云终究是未来,这是不可阻挡的趋势。

 
相关文章

云计算的架构
对云计算服务模型
云计算核心技术剖析
了解云计算的漏洞
 
相关文档

云计算简介
云计算简介与云安全
下一代网络计算--云计算
软浅析云计算
 
相关课程

云计算原理与应用
云计算应用与开发
CMMI体系与实践
基于CMMI标准的软件质量保证
 
分享到
 
 


专家视角看IT与架构
软件架构设计
面向服务体系架构和业务组件的思考
人人网移动开发架构
架构腐化之谜
谈平台即服务PaaS
更多...   
相关培训课程

云计算原理与应用
Windows Azure 云计算应用

摩托罗拉 云平台的构建与应用
通用公司GE Docker原理与实践
某研发中心 Openstack实践
知名电子公司 云平台架构与应用
某电力行业 基于云平台构建云服务
云计算与Windows Azure培训
北京 云计算原理与应用