云API的安全性及亟待解决的问题

云安全联盟(CSA)的最新报告《云计算面临的主要威胁》中,提出了一些新出现的风险,并对已经存在的风险进行了修改和重新排序。报告名为《九宗罪:2013年云计算面临的主要威胁》,该报告是根据云计算和安全社区的反馈,许多个人和组织权衡比较,在他们所面临的风险中,该关注哪些风险,这些都是最新报告值得更加关注的地方。

作为负责该报告的工作组的三位联席主席之一,针对名单上的第四种威胁,我提出了很多问题,比如“不安全的接口和API”到底代表什么?

所涉及的风险有哪些?

以及组织如何去评估并确保这些云API?

在这篇文章中,我们将探讨云API的安全性,并解答这些亟待解决的问题。

定义不安全API所带来的风险

首先,对于那些对云API是什么以及云API如何使用不熟悉的人来说,云API本质上只是软件接口,云提供商利用云API,让用户管理云服务,典型的如基于标准的云API。API能够让许多常见的云计算进程变得容易,让更复杂的业务需求实现自动化,例如在多个供应商之间配置各种云,以及为云和内部部署系统应用第三方管理平台。

然而,云API特别关注云提供商和云客户。如《九宗罪》报告中所述,在保密性、完整性、可用性和可说明性等方面,不安全的云API会带来多种风险。虽然所有的云服务提供商都应该密切关注其API的安全性,但是因人而异。因此,了解如何分析云API的安全性是很重要的。

分析云提供商API的一个很好的起点,可以查看Gunnar Peterson的Web服务安全清单(PDF),此清单提出了许多与CSA报告同类的问题。以下包括一些客户应该关注的主要领域:

●传输安全性。多数API都通过多种不同的渠道提供,但是需要交互或者携带敏感数据的API,应该通过安全的渠道加以保护,如SSL / TLS或IPSec。在云服务提供商(CSP)与客户之间建立IPSec通道可能很困难或者根本不可能,因此,建立SSL / TLS通道较容易实现。然而这又带来大量潜在问题,如必须用代理平台作为中间介质时,会出现内部或者(更常见的)外部证书授权的有效证书的生成与管理问题、平台服务的配置问题、软件集成和端到端的保护问题。

●身份验证与授权。许多云API主要关注身份验证和授权,因此对许多客户而言,这也是关键关注领域。咨询CSP的问题包括:API可以管理用户名和密码的加密吗?可以管理双因素身份认证属性吗?可以创建并维护细粒度的授权策略吗?内部身份管理系统和属性之间具有连续性吗?以及内部身份管理系统和云提供商提供的API扩展属性之间具有连续性吗?

●代码和开发实践。通过JSON和XML消息传送的,或者接受用户和应用程序输入的任何API,都必须经过标准注入式攻击和跨站请求伪造(CSRF)攻击、模式验证、输入和输出编码等的严格测试。

●消息保护。除了确保编码的生成遵循最佳实践以外, API主要考虑的其他因素包括消息结构、完整性验证、加密或编码。

如何确保云API的安全

一旦组织很好的掌握了不安全API带来的问题,就能够采取最佳措施确保云API。首先,通过云提供商的API文档,确定其API安全性,包括现有的应用评估结果和报告,这些都以 鉴证业务准则第16号报告(Statement on Standards for Attestation Engagements No.16)或其他报告的形式,展示了安全最佳实践和审计结果。Dasein云API就是开源性的且可扩展性的云API文档很好的例子。

除了文档外,客户应该向云提供商提出要求,即能够对API进行渗透测试和漏洞评估,或者云提供商自己完成这些测试,也可以通过第三方供应商完成这些测试,客户与潜在客户达成保密协议,因此客户能够评估安全实践。利用网络和应用控制的结合,以及良好的发展实践和QA测试,保护Web服务的API,防止开放式Web应用程序安全项目中,常见应用程序安全漏洞名单的前10种漏洞。

此外,许多云服务提供商为客户提供利用API的访问和身份验证机制的加密密钥。对于客户和云服务提供商来说,保护这些密钥都至关重要。

安全策略能够保证密钥的产生、传输、储存和处理的合理化,并且密钥应该安全地存储在硬件安全模块或其它加密保护的文件存储中。应该避免密钥嵌入到配置文件或其他脚本中,或者直接嵌入到代码中,因为这些情况会更新密钥,使密钥成为开发者和其他人的噩梦。

云服务提供商,如亚马逊和微软的Azure,包括基于散列的带有对称密钥的消息认证码,既具有完整性,又能避免通过不可信的网络传输共享的秘密。构建基于CSP的API的任何第三方都应遵循这一建议,像CSP那样重视密钥(和一般的API安全性)。

结论

随着云应用的开发和集成的发展,毫无疑问,云用户正面临着不安全API带来的严重威胁。可幸的是,供应商也面临同样的问题,这个问题将不会出现在下一代CSA热门威胁列表中。

时间: 2024-09-24 01:20:27

云API的安全性及亟待解决的问题的相关文章

如何评估并确保云API安全

云安全联盟(CSA)的最新推出报告<九宗罪:2013年云计算面临的主要威胁>,提出了一些新出现的风险,并对已经存在的风险进行了修改和重新排序.近日,负责该报告的工作组的三位联席主席之一就报告中涉及的云API安全问题提出了自己的看法,包括:不安全的接口和API到底代表什么?所涉及的风险有哪些?组织如何去评估并确保这些云API?定义不安全API所带来的风险 首先,对于那些对云API是什么以及云API如何使用不熟悉的人来说,云API本质上只是软件接口,云提供商利用云API,让用户管理云服务,典型的如

云API,让应用程序“动”起来!

随着云应用的增长,越来越多的企业尝试同时使用多个供应商.弥补服务中断的需求,使用不同服务的需求,以及基于费用选择服务的能力,都强调了对数据和应用程序可移植性的需求.应用程序编程接口是和云服务交互的关键,但是跨供应商的API区别巨大--这让移植非常困难. 本文研究了云的可移植性可能遇到的挑战,并且探讨API在其中所起的作用. 云上应用可移植性的最大问题是什么? 在所有情况下,API都是用来访问数据和服务的.没有具体的规则来定义云计算API应该如何工作或者它们应该提供什么功能.但是,当多个供应商提供

连接到云,第3部分: 云治理和安全性--保护 HybridCloud 应用程序的安全

本文是关于构建混合云应用程序.考察云计算的治理和安全性系列文章的第 3 部分,同时也是最后一部分.本文通过考察如何向 Amazon Simple Queue Service (SQS) 添加访问控制策略扩展了第 2 部分的 HybridCloud 应用程序.详细了解 HybridCloud 应用程序如何向云服务验证自己的身份,以及如何向 Amazon 的 S3 (Simple Storage Service) 添加审计跟踪.最后,看看 Google Apps 如何使用 OAuth,以及 Forc

阿里云API调用方式有哪些

阿里云API调用方式 对 ECS API 接口调用是通过向 ECS API 的服务端地址发送 HTTP GET 请求,并按照接口说明在请求中加入相应请求参数来完成的;根据请求的处理情况,系统会返回处理结果. 请求结构 公共参数 返回结果 签名机制

阿里云API创新大赛百万大奖花落谁家?

历时120天.120个参赛战队.100+参赛作品.100+理工类高校.1000+开发者报名参与,共同完成了云计算领域在中国区域的首个API as a Service Solution大赛. 阿里云API创新大赛于2017.02月正式启动,以API 经济的商业模式为模型,邀请广大参赛者共同探索中国的 API 经济.  6月11日下午13:30分,API as a Service Solution在上海云栖大会现场开启了终极PK,10个参赛战队在不同纬度展示了API经济强势回归带来的新型商业模式. 

基于Python的阿里云API签名算法及邮件推送服务

基于Python的阿里云API签名算法及邮件推送服务

做为一个对代码有深度掌控欲的人 ,对未来大多数应用将调用云API的事实感到无可奈何

问题描述 云存储,云IM,云主机,云安全,云开发,云数据库,云缓存.... 未来的码农将会只有两类:1. 生产云API的 2. 调用API的

拥抱API经济:教你三步使用SDK玩转阿里云API

众所周知,阿里云提供了全方位.多层次的云计算产品体系.阿里巴巴技术委员会主席王坚博士说过,要让云计算像水电一样方便获得.为了开发者无缝衔接阿里云的众多服务,将它们集成到自己的应用系统,阿里云开放了API和用来访问API的工具SDK. 什么是阿里云SDK? 阿里云Java SDK让您不用复杂编程即可访问云服务器.CDN(内容分发网络).OSS(对象存储)等丰富又强大的云计算基础设施.它是面向开发者的编程库,能够直接应用在开发者的应用程序里,被应用逻辑调用.打个简单的比方,应用程序是家用电器,阿里云

如何使用百度云API接口

问题描述 我在做的是要把U盘里的文件上传到百度网盘,实现两者同步,但是不知道如何使用API接口实现文件上传,我用到的开发工具是QT. 解决方案 解决方案二:现在百度云api都不开放了