自1960年代结构化编程出现以来,API一直是软件开发的重要因素。API是一组函数或例行程序,其目的是完成特定任务或提供一种简单方法来与软件组件交互,这通常允许对通用流程进行自动化以更好地与在其他机器运行的服务交互。 现在,保护API变得越来越重要。虽然API已经被使用了几十年,而近年来Web 2.0和云计算的到来让API的数量和使用都大幅增加,目前有超过14万公共API。
其中Facebook、谷歌、Twitter、eBay和Amazon提供的API可能是最著名的,还有很多其他企业也通过提供API来提供对其内部数据的访问。例如,Salesforce公司的客户可以使用其API来整合Salesfo……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
自1960年代结构化编程出现以来,API一直是软件开发的重要因素。API是一组函数或例行程序,其目的是完成特定任务或提供一种简单方法来与软件组件交互,这通常允许对通用流程进行自动化以更好地与在其他机器运行的服务交互。
现在,保护API变得越来越重要。虽然API已经被使用了几十年,而近年来Web 2.0和云计算的到来让API的数量和使用都大幅增加,目前有超过14万公共API。其中Facebook、谷歌、Twitter、eBay和Amazon提供的API可能是最著名的,还有很多其他企业也通过提供API来提供对其内部数据的访问。例如,Salesforce公司的客户可以使用其API来整合Salesforce服务到他们的系统,正如Facebook Platform API让开发人员可以创建数千应用和服务来访问Facebook数据一样。
API带来的商业机会几乎是不可抗拒的,但API提供商和API消费者需要确保API部署的安全性,让攻击者无法使用它们来攻击企业或其用户。根据云安全联盟表示,不安全的API是云计算面临的最大的威胁之一。
API安全风险的性质
API提供了对应用功能的访问权限,这意味着它们增加了攻击面,并且,攻击者会尽全力滥用或寻找流行API代码中的漏洞,因为它们可以被用来攻击大量应用和用户。为了说明这一点,让我们假设一个虚构的公司:MashOurDataInc公司,该公司提供API以允许开发人员从其数据中心提取数据。攻击者已经成功地将恶意脚本注入到主要数据库,如果MashOurDataInc公司的API代码在响应API请求发送数据之前没有清洗数据,那么,攻击者的恶意脚本可能会发送到使用MashOurDataInc的API的任意应用,这意味着成千上万的用户将受到影响。
保护API来降低风险
如果开发人员在构建应用或服务时通过API使用第三方数据,那么,在代码中使用这些API之前,开发人员必须完全明白它们的工作原理以及应该如何调用它们,以免制造潜在的漏洞。这就是说,开发人员需要阅读所有相关的API文档,其中应该包含保护API函数或例行程序的部分,例如如何调用API、需要怎样的身份验证、哪些数据将会返回以及以何种格式,可能出现哪些错误。
对正在使用的API构建威胁模型可以帮助企业了解攻击面,并确定潜在的安全问题,从而在一开始就可以构建适当的安全缓解措施。Firebug和Chrome Developer Tools等调试工具可以帮助确定和检查API生成的数据流,并突出应如何保护API。
如果应用接收第三方传输的数据,则不应该认为这些数据已经被清洗或正确验证。开发人员必须构建数据清洗和验证例行程序以防止标准注入漏洞和跨站请求伪造攻击,特别是对于传输JSON和XML消息或用户生成的内容的API,因为所有这些数据都来自不受信任来源。此外,在调用API之前,企业还需要验证用户或设备具有正确的权限来查看、编辑或删除请求的数据;很多开发人员在用户经过身份验证后没有进行二次访问控制检查。
企业开发API以允许他人来访问其内部数据系统时,应该专注于构建和测试控件来管理对API的访问权限。这些控制应该明确他人对不同类别的数据可以做什么以及不能做什么。此外,在允许查看、编辑或删除数据前应该进行二次访问控制检查。
企业还应该记录保护API的要求,这会让企业更容易确保后续代码更改仍然满足针对个人或敏感信息的数据处理政策要求。同时,企业还需要记录哪些信息应该进行日志记录以捕捉谁、什么以及何时在访问API,以满足审计要求。企业应该分析这些日志记录--最好通过安全信息和事件管理工具,从而检测和阻止任何异常行为(例如暴力攻击)。
API可以创造无数的机会来提高客户服务和互动,并可帮助提高生产效率和利润;它们甚至成为有些公司立足的产品或服务。然而,考虑到API带来的潜在风险,企业应该将风险缓解作为任何API集成战略的核心。
作者
翻译
相关推荐
-
DR基础知识:灾难恢复计划和灾难恢复策略
IT灾难恢复(DR)计划的主要目标是制定详细的恢复计划,以在意外中断时执行。 这种计划应该列明详细步骤,说明在 […]
-
Windows XP修复:这是微软的正确决定吗?
软件开发人员希望限制其软件的版本数量以减少很多其他的成本。微软也不例外,在向客户发布Windows XP补丁之前他们也仔细权衡了这些问题。
-
如何确定应用程序的攻击面?
应用程序漏洞以及错误配置都可能成为攻击者的靶子。能够正确的防御这些应用程序的要求是,在健全的风险管理发生之前,企业能够确认攻击面……
-
隐私vs.安全:该如何平衡?
中国的《网络安全法》已于今年6月1日正式开始实行,这给现代企业在维护信息隐私和安全性方面带来更多的挑战,也将对如何平衡隐私和安全性的探讨推上风口浪尖。