从应用安全到代码安全 确保软件安全不能忽视检测API漏洞!

经过 20 多年的发展,现在API无处不在。在2021年的一项调查中,73%的企业表示他们已经发布50多个API,并且这个数字还在不断增长。

在当今API几乎在每个行业中都发挥着至关重要的作用,并且随着它们走向业务前沿,重要性正在稳步增加,通过API带来业务协同和更高的效率。

但是,API就像软件的任何其他组件一样存在漏洞。除此之外,如果它们没有从安全角度进行严格测试,还会引入一系列全新的攻击面,并使您面临前所未有的风险。如果您等到生产环境才发现API漏洞,则可能会导致大量延迟。

API 对攻击者具有吸引力,而不仅仅是企业

API不仅是连接应用程序,而且它们以不可预测的方式改变了功能。API可能引入许多为黑客所熟知的独特弱点,他们开发了不同的方法来攻击您的API以访问底层数据和功能。

根据OWASP API Top 10,合法的、经过身份验证的用户通过利用看似合法但实际上旨在操纵API的调用利用API的情况并不少见。这种旨在操纵业务逻辑和利用设计缺陷的攻击对攻击者很有吸引力。

每个API都是独一无二且专有的。因此,它的软件错误和漏洞也是独一无二的,也是“未知的”。在业务逻辑或业务流程级别识别导致攻击的错误类型尤其具有挑战性。

图片2.png

您是否对API安全性测试给予足够的重视?

相信很多公司已经逐渐开始实现安全左移,并开始在整个开发过程中进行持续的安全测试。然而API安全测试经常在没有充分了解所涉及的风险的情况下进行。这是为什么?原因不止一个:

  1. 现有应用安全测试工具通用性强,针对传统Web应用漏洞,无法有效处理API复杂的业务逻辑。

  2. 由于API没有UI,因此公司通常会分别测试Web、应用程序和移动设备,而不是API本身。

  3. 测试API可能需要大量手动操作,并且在拥有数百个API时不可扩展。

  4. 相关经验和专业知识不足,因为API测试比其他类型的测试更复杂。

  5. 对于遗留API,可能不了解已实现的API或文档。

因此,虽然通常许多企业已经重视左移安全性,但API安全性测试往往被排除在 DevSecOps大局之外。

这样带来的后果很严重,因为API 漏洞需要比传统应用程序漏洞更长的时间来修复。在最近的一项调查中,63%的受访者表示修复API漏洞需要更长的时间。鉴于应用程序对 API的快速采用和依赖,这个数字也可能会上升。

图片3.png

虽然大多数安全领导者都意识到API安全测试的重要性,但只有不到一半的人表示他们还没有将API安全测试解决方案完全集成到他们的开发管道中。

为什么常见的安全测试方法无法覆盖API?

作为全面检测安全的第一步,最重要的是检查当今对应用程序安全测试最常见的方式:静态代码安全测试和动态安全测试。

图片4.png

静态代码安全测试采用白盒方法,通过审查设计、架构或代码,包括数据在通过应用程序时可能采用的许多复杂路径,基于应用程序的已知功能创建测试。

动态安全测试采用黑盒方法,在给定一组特定输入的情况下,根据应用程序的预期性能创建测试,不需要内部处理或底层代码知识。

通过两者结合使用,可以有效查找API中存在的安全漏洞和运行时有针对性攻击的问题。

越来越多的行业意识到需要在API的整个生命周期内保护它们,将API放在安全控制的前沿和中心位置。

为此,需要在开发周期内集成和执行API安全测试标准。这样,连同运行时监控,安全团队可以提前解所有已知漏洞。同时,采取措施进行左移API安全测试将降低成本并加快修复时间。

此外,一旦您的测试工作流程自动化,将在保证敏捷开发的同时确保安全开发:测试、修复、重新测试和部署的循环,使管道平稳运行并完全避免瓶颈。

API安全测试的业务逻辑方法可以提升开发全生命周期API安全计划的成熟度,并改善安全状况。

除了应用越来越广泛之外,API还为Web应用程序创造了更大的漏洞。许多企业甚至不知道他们的API和漏洞程度。黑客可以通过可用的API轻松探测已知和未知的安全漏洞。

然而,API安全测试经常被忽视,并且与Web应用程序一样处理。因此在进行静态代码安全检测和动态应用安全测试的同时,也要加API安全列入其中。

参读链接:

thehackernews.com/2021/07/wak…