一、计算在国内的发展
近年来,云计算已经成为整个互联网科技行业市场常常挂在嘴边的名词,云计算的发展为国内众多企业注入了新的活力,由于云计算的技术先进性以及共享的商业模式带来的巨大优势,大量企业已经或正在将自己的数据中心“云化”。
根据美国市场研究机构Synergy Research Group公布的2017 Q1~2018 Q4中国云基础设施服务(IaaS)市场份额:
在中国市场,阿里云以40.5%的市场份额仍旧位列第一,腾讯云紧追其后,第四季度份额达到16.5%,收入环比增速34.3%,中国区排名第二。Top5的另外三名则被光环新网(AWS)、中国电信和中国联通包揽。报告中数据还显示,腾讯云在2018年全年的市场份额中占据15.3%,年收入增速达到104.7% ,在Top5厂商中增速最快,市场潜力不容小觑。
而目前国内云计算龙头企业在2018年实现了213.6亿元的营收额,足以说明国内云计算市场发展前景。
大量CIO表示业务上云之前会综合考虑上云后的安全问题;同时,一部分的CIO由于对云的不信任导致上云失败,因此,安全已然成为阻碍企业向云迁移的公认事实。
在此背景下,本文简单探讨了云内各类安全风险以及风险的部分应对措施,希望本文对读者有所帮助。
二、云内安全风险综述
围绕安全这个话题,我们永远绕不开GRC(Governance、Risk、Compliance),即治理、风险和合规。从某种程度上来说,合规也是安全风险。本节将以此为出发点,集中讨论云内的各类安全风险。
云内风险涵盖面非常广泛,为了便于阅读,笔者将云内风险按照不同类别进行分类,并分别阐述各个类别下需要注意的安全风险。
2.1基于部署模型的风险
(1)私有云风险
私有云是数据中心的传统形态,企业控制所有基础架构,因此,相对于传统数据中心可能出现的安全风险,私有云数据中心也均有可能出现。例如:
• 人员威胁:包括无意和恶意的威胁,如云架构师错误的Hypervisor配置导致隔离失效、恶意管理员“删库跑路”。
• 外部攻击:如未经授权的访问、窃听和DDOS攻击、恶意软件等
• 监管不合规:相对于公有云、社区云,私有云中的监管合规问题相对来说容易解决,因为一切尽在自己的控制之下。
• 自然灾害:洪水火灾泥石流等。
(2)社区云风险
在社区云中,企业之间共享和分散资源,这种共享和分散资源在为社区提供便利的同时也带来了下述风险:
• 分散的决策风险:由于社区云由整个社区共同出资、共同所有、共同维护,网络所有权和运营也分散在了各个社区成员之间。因此,每个节点都有自己的入口,任一节点中的漏洞都可能导致对其他节点的入侵。同时,几乎无法实现统一的配置管理、统一的基线。很明显,由于社区云属于大家共同维护,这种分散的运营维护将导致策略和管理方面巨大的困难。
• 访问控制难以实现:由于社区成员分担基础架构的开销和成本,访问控制策略措施难以做到统一满足各个组织的需要。
• 性能和检测的集中化管理缺失:各个社区成员无法实现质量标准统一的集中化性能和安全检测带来的可靠性。
(3)公有云风险
这是企业上云最常使用的部署模式。私有云和社区云中所有的风险在公有云中均存在,当然,本文将讨论除此以外的公有云特有风险。
• 云服务供应商Lock-in:想象三种场景,(1)如果企业没有做好尽职调查(Due Diligence),云服务商很可能使用专有的数据格式存储企业的各类数据;(2)企业是个零售机构,受理全球订单,云内主要处理订单支付,因此需要满足PCI-DSS支付卡行业标准要求,而目前国内能够满足合规要求的云服务商寥寥无几;(3)业务已经在云内运行5年,且产生了海量数据合同期满后需要迁移到其他云供应商。这三个常见的场景将会带来三个相同的安全风险:(1)数据格式专有,导致无法更换新的云服务商;(2)假使国内仅有一家云服务提供商满足PCI-DSS合规要求,在合同期满后,云服务供应商增加使用成本,企业将失去谈判能力且无法变更云供应商;(3)产生的海量数据迁移需要足够的带宽和时间,同时短期大量的迁移流量根据云服务商的阶梯式流量费率,可能导致迁移费用大增而放弃迁移。
上述情况均会导致企业上云后被云服务商绑死(Lock-in)。
• 云服务商Lock-out:想象两种场景,(1)云服务商被收购、破产重组(2)云服务商由于违法导致受到制裁停止运营。笔者不将穷举所有可能导致云服务商无法提供服务的原因,但是这导致企业上云后的确面临Lock-out的风险:云服务商停止运营后如何保护我们的业务和数据持续运行?这里需要综合考虑云服务提供商的生命周期、核心竞争力、司法管辖权、供应链依赖性和适用的立法环境,在前期尽量做好云供应商的选择。
• 多租户风险:进入公有云意味着进入多租户环境,多租户带来的风险包括:(1)利益冲突,想象和你运营相同业务的竞争对手的虚拟机和你在同一朵云中,会发生什么?如果云数据库管理员与竞争对手的关系非常好呢?你的数据很有可能被数据库管理员泄露给竞争对手。很明显,从安全的角度来说,这种风险并非不存在,但是使用Brewer-Nash(也叫中国墙)访问控制模型可以有效解决这个风险;(2)特权提升,Vm Escape和Host Escape,即虚拟机逃逸和主机逃逸,可以在云中轻松实现特权提升,并访问同一Host不同Vm或者不同Host中的虚拟机;(3)信息泄露,侧信道攻击方式可以通过多种方式判断、检测到同一Host不同云客户的活动迹象信息,如客户处理数据的时长等,这并非无害,这可能帮助别有用心的人判断你选择的数据处理产品,进而有针对性的进行漏洞利用;(4)法律活动,想象由于触犯法律导致和你处于同一Host中的客户硬盘被司法部门取证没收用以调查,很明显,由于分布式存储的特性,你的数据可能也在那块被取证没收的磁盘中,风险不言而喻。
(4)混合云风险
混合云风险包含私有云、社区云、公有云的所有风险,这里不再赘述。
2.2基于服务模型的风险
(1)IaaS模型风险
• 人员威胁
• 外部威胁
• 缺乏特定技能:企业管理员不一定精通云计算环境的配置和部署,业务的运营可能面临巨大的风险。
(2)PaaS模型风险
• 互操作性风险:PaaS模型中操作系统OS由云服务提供商进行管理和更新,所以当环境有调整时,企业自己部署的软件由于兼容性不一定能正常运行在云服务商的OS上。
• 后门风险:PaaS常用于软件开发和DevOps,这些软件产品发布后开发人员常常忘记把前期自己留的后门删除,导致后期出现0day漏洞。
(3)SaaS模型风险
• 专有格式:SaaS意味着使用云提供商的应用,他们可能使用自己的专有格式收集、存储和现实数据,这可能导致可移植性的降低。
• Web应用安全:大多数SaaS产品依赖于浏览器访问,通过web的访问导致Owasp Top10中所有风险均存在于SaaS云环境中。
2.3基于虚拟化类型的风险
(1)Type1类型风险
Type1类型即裸金属架构,采用虚拟化管理软件Hypervisor作为虚拟化实例和主机资源之间的接口和控制器。恶意黑客认为Hypervisor是一个潜在的攻击目标,因为系统中较低层提供了更大的控制。通过破坏Hypervisor,可以控制已安装的VM、物理系统和托管应用程序。
常见攻击包括超级劫持(安装可以完全控制服务器的流氓虚拟机管理程序),例如SubVir,Blue Pill(使用AMD安全虚拟机[SVM]的hypervisor rootkit),Vitriol(使用Intel VT-x的Hypervisor rootkit),以及直接内核结构操作(DKSM)。
(2)Type2类型风险
Type2类型即宿主架构,它具有Type1类型的所有风险,同时相比于Type1类型,Type2类型多了一层OS,从安全的角度来看,新加入的OS引入了更多的攻击面,这个OS比VMM更复杂,可能含有更多的漏洞。
2.4其他类型的风险
上述根据不同分类列举的风险难以囊括云环境中企业可能面临的所有安全风险,笔者也不打算将所有云内风险全部罗列出来,本文仅讨论以下重要的云内风险内容。下面简单阐述每个所列举风险的基本含义,有时间再进行详细说明。
1、隐私风险:云内数据大集中意味着风险大集中,隐私安全作为数据安全的一部分在国内外均格外受到重视。云存储中可能包含众多的公民隐私PII数据,这些PII数据如果没有得到有效的保护,将会受到法律的制裁。国际上,欧盟GDPR立法对公民隐私保护提出了现有最高要求,各国处理、存储、采集欧盟成员国公民PII数据均需要满足GDPR或者签署具有同等效力的合同约束,或者制定专门法律以满足GDPR要求,如美国的安全港协议和隐私保护盾协议。除了欧盟,美国GAPP、国际ISO 27018、OECD均对公民个人隐私保护提出了安全保护要求,在考虑云环境时需要考虑业务环境是否面临满足上述隐私安全合规风险。同时,隐私保护也不仅仅时为了合规,合规只是下线,如何确保业务数据中的隐私信息能够满足实际生产需求,可能需要更多考虑,这里可以考虑匿名化、加密、脱敏、hash、去标签化、屏蔽等各种隐私数据模糊化技术手段。
2、审计风险:云环境导致数据全球化存储、地域分散式存储,云技术导致数据高度动态存储,多数据中心导致数据位置与企业地理分离,这些因素都导致传统的审计无法或难以适用于云环境。
3、合规风险:云计算业务在国际上飞速发展,每个国家针对云计算业务安全性制定了专门的规章和标准,如国内等保2.0云计算安全扩展要求、美国FedRamp等,企业需要根据实际情况验证云供应商是否能够提供满足合规要求的安全能力。对于一些国际贸易公司、跨国企业,这里推荐采用CCSL、CSA STAR(包括CCM和CAIQ)两个工具交叉验证云供应商合规性满足能力。
同时,云计算导致企业更加难以应对合规性要求。尤其对于运行在公有云环境中的组织。国内企业可能在这一点上稍微好处理,对于跨国企业,企业数据分布在世界各地,可能面临各国合规性要求不同带来的违法违规风险。比如美国FIPS 140-2标准要求所有密钥存储设备均有硬件保护机制,很明显,云中运行的应用难以满足FIPS 140-2要求。
4、数据风险:数据从创建、传输、存储、共享、归档、销毁的各个生命周期均面临不同的安全风险,展开来讲可能需要20页的A4纸才能阐述清楚,这个不做过多介绍。
5、应用风险:应用迁移风险、应用开发文档缺失风险、传统应用不一定适用于云环境、应用隔离风险、API风险(未经验证的API和API供应链安全)、应用整合风险等对应用安全提出了较高的挑战,每一项都具有很大的威胁性。
6、运营风险:运营风险是指云内运营时候可能出现的各种风险状况。合理配置BIOS、合理使用TPM、正确配置存储控制器(Vlan隔离、kerberos/SRP/CHAP身份验证、IpSEC加密等)、网络控制器(端口及端口组隔离、管理网隔离、网络冗余、加密等)、对console-based访问严格控制均需要注意。尤其注意云内补丁维护,因为虚拟机镜像无法打补丁,所以自动化补丁管理可能需要注意以文件形式存储的虚拟机镜像实例的补丁更新问题。
7、取证风险:云技术的发展不仅带来了优越性,也导致云环境中的司法取证过程变得更加困难。虚拟机漂移导致无法定位待取证虚拟机位置,分布式存储带来的数据分散化导致取证需要涉及多个物理位置,多租户导致取证时可能侵犯其他租户隐私数据,这些都是云计算带来了特有安全风险。
8、供应链风险:不论采用公有云部署还是私有云部署,都可能遇到比传统环境更加复杂的供应链问题。国内大部分IaaS交付的云环境,其服务器、存储物理设备一般采用第三方专业厂商产品,或者白牌产品,这将导致我们除了衡量云服务提供商以外,还需要考虑云服务提供商采用的下游供应商;同样,PaaS和SaaS服务模型其操作系统、应用软件、应用软件代码库一般都可以有多个供应商可供选择,这些二级供应商都是需要严格考虑的安全风险,毕竟经济损失可以转移,安全责任是无法转移的。
三、第三方机构对云内风险的总结
目前国际上可以借鉴的云内风险报告包括2013年发布的Notorious 9、2016年发布的The Treacherous12和ENISA Top 8。
Notorious 9列出了9大云内安全风险,包括:数据泄露、数据丢失(当客户将加密信息上载到云环境时,加密密钥将成为确保数据不会丢失并保持可用的关键组件。因为丢失相关的加密密钥会导致数据丢失)、账户/服务流量劫持、不安全的接口和API、拒绝服务、恶意内部人员、滥用云服务、尽职调查不足、共享技术漏洞(所有租户共享相同底层架构,相同的漏洞导致一损俱损)。
云计算顶级威胁The Treacherous12列出了12大安全风险,包括:数据泄露、凭据或身份验证遭到攻击或破坏、接口和API被黑客攻击、利用系统漏洞、账户被劫持、来自企业内部的恶意人员、APT攻击、永久性的数据丢失、缺乏尽职调查、云服务的滥用、DoS攻击、共享技术漏洞。
这两份云环境安全风险调查报告有很多相同的部分,这里不再展开详述,读者可以自寻相同点,必定可以发现云内重要安全风险所在。
除了上述CSA发布的云内安全风险以外,欧盟ENISA也发布了云内8个顶级安全风险,本文列出以供参考:
ENISA Top 8:治理缺失、lock-in、隔离失效、不安全或不完整的数据删除、恶意内部人员、管理平面失效、合规风险和数据保护。
四、云内安全展望
从安全的角度来看,识别云计算风险只是风险管理的第一步,但只有识别清楚云内风险,才能进行下一步的风险分析、设计风险控制措施、判断残余风险和实行风险监督。