云计算很有用,因为它为IT提供了一种新方法,利用共享资源来最大限度地提高生产力和削减开支。但新方法同时也会带来新威胁。我们应该如何将这种环境的风险降到最低呢?
云安全联盟和SAFECode共同合作制定了一套应用开发的最佳实践以满足云计算的独特安全需求。最终他们发布了《云应用安全开发最佳实践》,其中列出了在云环境中开发安全代码的方法。
这份文件中指出:“为了让云计算发挥其真正的潜能,用户和供应商都需要重新考虑安全需求和相关标准。”
参与SAFECode研究的EMC公司产品安全高级主管Eric Baize认为这些新准则是对现有安全做法(SAFECode的《安全软件开发基础做法》)的增编。
约70%的云计算开发工作与其他应用程序环境相同。剩下的30%的差异主要在于,云计算是一个多租户环境,其中需要信任边界,因为在一个实体运行的软件可以被另一个实体使用。
云安全联盟和SAFECode工作组花了六个月时间来审查现有开发做法,找出云环境应用开发存在的问题。来自成员企业的代表也分享了他们的经验和教训。该工作组专注于平台即服务模式,确定了在云环境中需要解决的风险问题:
数据泄漏事故:虚拟基础设施受到攻击可能会给云环境中的其他租户带来威胁,SQL注入等技术可能给共享底层数据库系统的多个应用程序带来风险。一个应用程序中的漏洞可能会影响所有应用程序。
数据泄漏和数据丢失:当数据保存在云中时,系统需要设计和部署为它可以承受在多层架构中不同水平的攻击。对数据的更改应该是可以检测和可以追踪的,并且,数据应该能够被恢复。如果使用加密来保护数据,应该在哪一层进行加密,密钥如何管理?
不安全的接口和API:设计不当的应用编程接口在由第三方使用时,可能会产生漏洞。
拒绝服务:这可能发生在几个层,扩大了在云环境中的攻击面。
该报告描述了在云计算独特要求的背景下的安全最佳做法,并提供了针对特定威胁的建议,开发团队和安全团队应该采取的具体措施等。(邹铮编译)