服务公告

服务公告 > 网络安全 > API使应用程序能够交换和使用数据和服务API 安全测试清单

API使应用程序能够交换和使用数据和服务API 安全测试清单

发布时间:2024-06-03 14:20

API使应用程序能够交换和使用数据和服务。由于能够访问组织的敏感数据,API成为恶意攻击者和威胁参与者的一个有吸引力的目标。组织需要保护API以保护企业资源,以及使用API的其他应用程序和组织。

团队应该执行API安全性测试,以确保API在负载下仍然可用。测试还需要确定API公开的数据和资源的机密性、完整性和可用性。API安全测试应该是全面和持续的,以便能够及时处理发现的漏洞并修复,增强企业对网络攻击的弹性。

 

API 安全测试清单

 

以下实践有助于确保API安全测试计划足够彻底,从而有效防范 API 安全风险。

 

1. 确定全面测试和维护API安全负责人

 

许多团队都参与了 API 生命周期,随着项目的进展,项目将经历大量的快速变化和迭代。指定一个人来记录所有API,确保完成所有测试并根据结果采取行动,这一点很重要。

随着对云服务和Web应用程序环境的日益重视,与过去相比,更多的业务单位和其他应用程序所有者可能会参与到API安全治理中。这使得拥有一个中心联络点变得更加重要。

 

2. 为安全测试预算时间和资源

 

安全测试需要时间和金钱,因此组织在开始新项目时需要考虑这些因素。威胁建模突出了潜在的 API 风险和需要缓解的常见漏洞,但在项目上线后维护和更新 API 测试的预算也是必要的。

 

3. 分类和记录每个 API 的用途及其应如何运作

 

记录 API 及其使用。此信息有助于测试评估 API 是否可以处理可接受的操作和有效数据,以及不可接受的操作或无效数据。

 

4. 尽早运行测试,并尽可能自动执行测试

 

在开发生命周期早期发现安全问题可以节省时间和金钱,将安全检测工具及开源组件分析工具集成到现有的工作流程和持续集成/持续交付管道中。理想情况下,在应用程序的每个版本上运行测试。许多 API 测试工具现在可以完全集成,以便按需进行持续或触发测试。

 

5. 定义要运行的测试类型

 

对 API 安全评估进行以下测试:

 

无效的输入。来自API的输入应该像来自不受信任的源一样处理,并相应地进行清理和验证。模糊测试可以用来向API发送随机数据,查看它是否可以处理意外数据而不会崩溃。

注入攻击。使用这些测试攻击来确保API拒绝那些试图在不暴露任何敏感信息的情况下操纵后端数据库或在服务器上执行操作系统命令的请求。

参数篡改。通过API请求发送的参数,比如购物车中商品的价格,很容易被攻击者改变。参数篡改检查API是否在处理参数之前验证和检测参数。

未处理的 HTTP 方法。使用所有 HTTP 方法发送请求,以确保服务器上不允许使用不必要的方法,例如 CONNECT、DELETE、PUT 和 TRACE。如果这些方法返回有效的响应而不是错误,则它们会带来安全风险。如果应用程序确实需要这些方法之一,确保将其使用正确限制为受信任的用户。

业务逻辑漏洞。API 的设计和实现中的缺陷可能使攻击者能够以开发人员从未想过的方式与 API 交互,从而引发意外行为,例如,在没有完成预期购买工作流程的情况下完成交易。使用自动化工具测试此类漏洞通常很困难,因为漏洞通常是应用程序及其特定功能所独有的。详细说明事务和工作流的清晰设计和数据流文档,包括在每个阶段所做的假设,有助于防止引入此类漏洞。

身份验证、访问和加密控制。确保请求的发起者在服务器上经过身份验证,并被授权访问所请求的资源。实施身份和授权协议(如 OpenID Connect 和 OAuth 2.0)可能很困难,相关密钥和令牌的管理也很困难。分配额外的时间来测试这些安全控制非常重要。

负载过大。速率限制控制(API 在一段时间内可以调用的次数)有助于阻止未经批准的连接并防范 DDoS 攻击。确保设置这些限制以获得更好的性能。

最后,错误消息、日志条目和故障转移处理同样也是测试的重要方面,因此在每次测试后查看消息和日志以检查记录的信息是否正确。

 

6. 修复失败的测试并重新测试

 

将测试报告发送给指定人员,以确保修复警告和错误。重新测试以确保更新的代码解决了问题。对于不满足安全要求的任何第三方API,制定计划与服务提供商协调,并根据需要重新测试。

 

7. 及时了解安全风险并更新文档

 

参与构建 API 的每个人都需要了解网络犯罪分子用来攻击 API 的新技术,以便他们能够更新代码、安全控制和测试。安全团队应定期向参与项目的每个人通报新威胁和实践信息。

 

OWASP API 安全 10 大列表(包括防范以下漏洞):

对象级授权损坏。

身份验证损坏。

损坏的对象属性级别授权。

不受限制的资源消耗。

函数级别授权损坏。

不受限制地访问敏感的业务流程。

服务器端请求伪造。

安全配置错误。

库存管理不当。

不安全地使用 API。

 

上一篇: Synology修补影响数百万NAS设备的RCE漏洞

下一篇: 使用TAP和NPB安全监控OT网络:基于普渡模型的方法

扫一扫访问手机版
30+ 高防云产品
1000+企业的共同选择