// //

Want to see Parasoft in action? Sign up for our Monthly Demos! See Demos & Events >>

X

API安全测试–识别API安全风险

API安全测试可识别泄露敏感数据的API和攻击面。使用Parasoft的工具来解决安全风险。

什么是API安全测试?

Web应用程序、物联网设备和其他端点的安全问题和安全风险可能导致大量数据泄露。API安全测试可用于缓解这种情况,因为它涉及了解复杂的API行为和交互以识别可能暴露敏感数据的漏洞。安全测试是关键的一个示例与API请求有关:发送或检索数据的操作。

但直接测试 API 的四个主要领域包括:

  1. 功能性
  2. 表现
  3. 可靠性
  4. 安全

自然地,安全测试的重点是在API被推送到生产软件应用程序之前消除API漏洞。

Digital background with coding on the right to display API security testing.

使用API测试工具(例如Parasoft SOAtest)、结合自动化持续测试和其他策略都有助于网络安全措施。毕竟,如果您可以在第一时间保护敏感数据,为什么还要在数据暴露发生后解决呢?

让我们详细了解API安全测试的最佳实践、挑战和关键特性。本页还介绍了如何自动化应用程序安全的某些部分、API与应用程序安全测试的关系,以及Parasoft API测试平台如何最好地帮助防止基于API的数据泄露。

API安全测试的优势

API或应用程序编程接口使用功能集与外部组件、微服务或操作系统交互并访问数据。因此,当安全测试可以作为开发人员功能测试的一部分时,API安全测试效果最好。测试人员可以使用所有 API 必须满足的基准以及不同类型的测试。这包括静态和动态测试、手动测试、自动化测试等。

与网络安全的任何元素一样,API安全测试的好处是更好、更安全的API。安全扫描和身份验证措施不足以保护它们。超越基本的安全功能有助于防止业务运营中断。

其他优势包括:

  • 漏洞识别和后续删除。
  • 降低测试和维护成本。
  • 测试人员不需要UI来有效地完成他们的工作。他们可以在不影响 GUI 的情况下修复某些东西。
  • 说明滥用和误用案例。
  • 使用自动化测试加速测试周期。
  • 可扩展的API测试。
  • 大多数情况下与技术无关,最常用的是 XML 和 JSON 语言。
  • 全面的API测试可以捕获手动渗透测试以及 静态和动态分析工具 经常遗漏的内容。
An example of mapping API Security Testing on the SDLC.

不考虑其他好处,API安全测试的主要重点是尽早发现和修复漏洞。这包括内部创建的代码、第三方元素或开源元素。

OWASP是一个专注于通过开源项目实现软件安全的基金会,它提供有关API安全威胁媒介的指导和意识。OWASP 前 10个最具威胁性 的向量为API安全测试应该从哪里开始提供了基线。

API安全测试的类型

查找Web应用程序安全风险有着许多不同的方法。与任何与代码相关的事情一样,执行各种测试并保持准确、详细的测试用例记录会产生重大影响。以下是API安全测试的主要类型。

Parasoft中国官网|API安全测试

动态 API 安全测试

模拟真实攻击以发现风险的主动测试。这些可以从开源元素或内部代码中浮现出来。

Parasoft中国官网|API安全测试

渗透测试

作为工作流中的第二次测试,非专业人员检查API以发现漏洞。

Parasoft中国官网|API安全测试

功能测试

针对特定情况审查 API 功能以确保预期结果。

Parasoft中国官网|API安全测试

安全测试

回顾API如何抵御外部威胁、访问控制设计、加密策略和授权/身份验证。

Parasoft中国官网|API安全测试

模糊测试

回顾系统如何处理过多的“模糊”(大量数据)以测试最坏的情况。

Parasoft中国官网|API安全测试

动词模糊测试

通过HTTP方法生成随机输入,扫描和枚举API以发现HTTP服务中的弱点和漏洞。

API安全测试的最佳实践

以下是API安全测试的10个关键最佳实践。

  • 在API的整个生命周期中对其进行测试。
  • 先认证,然后授权显示用户是谁以及他们拥有什么权限。
  • 始终使用HTTPS。
  • 您的API网关应该作为一个智行者,来审查参数、内容、授权等。
  • 使用服务虚拟化进行无限测试。
  • 使用令牌分配身份。
  • 杠杆率节流和限制。
  • 加密数据以增加安全性。
  • 始终审核第三方元素的安全漏洞。
  • 持续监控和识别威胁媒介。
Digital background with the word “API” on it to showcase security vulnerabilities.

API 安全测试示例

尽管有许多类型的API安全测试,但有一些特定的测试本身比它们的父类别更普遍。
当恶意输入被放入API(如SQL注入或命令注入)时,就会发生注入攻击。这些攻击寻求获得特权,以便获得对数据的访问权。

其他的示例包括参数篡改测试。这是指有人更改API请求值以绕过应该是安全的信息。通过浏览器控制台检查 Web应用程序或网站上的相关API元素是判断API是否安全的简单测试。

但最常见的API安全测试示例可能是输入模糊测试。在这个测试中,有人随机信息放入API中,直到发生意外情况。这可能会导致错误消息或整体崩溃,从而向外部攻击者暴露应用程序中的漏洞。

常见 API 漏洞

  • DDoS攻击
  • 访问控制损坏
  • 分页攻击
  • 带有易受攻击的框架、库等的组件
  • 跨站脚本XSS
  • 不准确的缓存标头
  • 关键曝光
  • 安全配置错误
  • API密钥生成不佳
  • 不安全的反序列化
  • 记录和监控不足
  • 不准确的服务器安全性(HTTP方法)
  • 不安全的端点

为什么选择 Parasoft?

Diagram showing how Parasoft converts manual and automated UI tests into automated API tests.

Parasoft将手动和自动化UI测试转换为自动化API测试。

有许多方法可以增强您的软件开发工作流程并确保API安全。但自动化是为数不多的能够带来回报的有保证的措施之一。

无论是CI/CD管道实施、更新API安全测试的最佳实践,还是对OWASP API更改做出响应,Parasoft工具都提供了敏捷性、一致性和多功能性。

使用Parasoft Virtualize这样的选项无缝集成,开始发现错误并降低安全漏洞风险,为您所需的测试条件提供特定行为。

常见问题

各种行业中有四种主要类型的Web API。

  • 内部API 是私有程序,通常连接企业内的数据和系统,例如HR或工资单。
  • 任何企业或开发人员都可以使用公共/开放API 。这往往需要授权和/或认证,并可能包括货币化。
  • 复合API 组合多个API以创建相互依赖的操作,从而提高性能或速度。
  • 合作伙伴API 是必须在特定情况下使用的许可API,例如在企业对企业系统中。一个例子是Salesforce或 AWS,因为它们将信息连接到其他系统。因此,合作伙伴API的安全措施至关重要。

表述性状态转移 (REST) 是一种用于Web API的架构,具有客户端-服务器架构、可缓存性、无状态和分层系统。

简单对象访问协议 (SOAP) (SOAP) 是一种用于Web API的协议,它与编程风格无关且是可扩展的。这些必须具有消息构造、处理模型、可扩展性模型和协议绑定规则 (HTTP)为特色。

远程过程调用协议 (RPC) 使用各种参数来产生一个预期结果。JSON-RPC和XML-RPC这两种类型仅仅表明它们使用的编码类型(XML 与 JSON)。

  1. 攻击面小。API端点的数量有限,这意味着测试请求更少。
  2. 非普遍支持。 尽管许多工具确实支持API测试,但无论如何它都不是通用的。为您的团队找到合适的工具集至关重要。
  3. API版本控制。 即使使用自动化测试,沟通也是至关重要的,尤其是当不同的开发人员正在处理相同的代码时。拥有详细的注释、测试用例和工作流程将确保不会因沟通不畅而发生数据泄露。
  4. 测试架构更新。 修改测试参数需要时间。在 alpha/beta 环境中进行测试可以减少更新之间的延迟时间。
  5. API调用排序。 与数字一样,某些API调用应该以特定的顺序发生。例如,在一个人输入支付信息之前进行在线食品订单处理。
  6. 业务逻辑知识。API业务逻辑中的显示策略、存储策略、速率限制、版权策略等因素。保持这些信息的更新是关键。
  7. 参数验证。 测试人员必须确保参数数据在数据类型、长度限制、值范围等方面是正确的。
  8. 批量分配。 Web应用程序的活动记录模式可能会被滥用,让用户更改他们不应访问的数据组件,例如密码、管理员状态或权限。
  9. 注射缺陷。 用户可以访问 shell 命令、后端数据库或操作系统。黑客可以利用此漏洞来更改、读取或删除数据。