API安全测试:主动识别API漏洞

VSole2022-05-15 22:35:04

20多年的开发部署后,API已经到处都是。2021年的调查研究中,73%的企业表示自己已经发布了超过50个API,且这一数字还在不断增长。

API在当今几乎每个行业里都起着举足轻重的作用,而且随着它们逐渐迈向业务战略前沿,其重要性还在平稳上升。出现这种现象其实毫不意外:API无缝连接不同应用和设备,带来前所未有的业务协同效应和效率。

但是,与软件任何其他组件一样,API也免不了存在漏洞。基于此,如果没有经过间隔的安全测试,API也有可能引入全新的攻击途径,将用户暴露在前所未有的风险之下。坐等生产部门发现API漏洞是不现实的,你只会等来严重延迟。

API不仅受广大企业青睐,也是攻击者眼中的香饽饽

API可不仅仅是简单连接企业各种应用,它们还会以无法预测的方式改变功能。API可能引入的很多独特缺陷都广为黑客所知,他们开发出不同方法攻击API,从而访问底层数据和功能。

开放Web应用安全项目(OWASP)的API Top 10表明,通过身份验证的合法用户利用API漏洞的情况并不鲜见,此类用户利用看似合法的调用,实际上却意图篡改API。这种攻击旨在篡改业务逻辑并利用设计缺陷,对攻击者极具吸引力。

每个API都是独特且专有的。因此,其软件漏洞也是独特且“未知”的。防御者很难发现这类可导致业务逻辑或业务过程级攻击的漏洞。

图1:业务逻辑漏洞和传统漏洞

是否给予了API安全测试足够的重视?

左移安全已广为多数企业接受,整个开发过程贯穿持续测试的做法已成常规。然而,API安全测试常被漏掉,或者执行时缺乏对所涉风险的重复理解。为什么会这样?原因不止一个:

● 现有应用安全测试工具是通用型,目标检出对象是传统Web应用漏洞,无法有效处理API的业务逻辑复杂性。

● 由于API没有用户界面,企业通常需要单独测试Web、应用和移动端,但不测试API本身。

● API测试可能很是耗费人工,在拥有几百个API时是无法扩展的。

● 由于API测试比其他测试类型更复杂,企业可能缺乏相关经验和专业技能。

● 无法确知已经部署了哪些老旧API,或者找不到老旧API的文档。

因此,尽管左移安全已普遍受到大多数企业重视,但API安全测试却常被排除在DevSecOps蓝图之外。

这是个令人遗憾的状况,因为相比传统应用漏洞,API漏洞需要更长的响应时间:近期一项调查中,63%的受访者报告称需要更长时间来修复API漏洞。考虑到应用对API的依赖和快速采用情况,这一数字可能还会继续上升。

图2:相比传统应用漏洞,存在API漏洞情况下的平均修复时间

虽然大多数安全主管都意识到了API安全测试的重要性,但仍有近一半的安全主管称自己尚未将API安全测试解决方案完全集成进开发流水线中。

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

要实现全面的安全方法,第一步就是仔细考察当前对于应用安全测试的普遍态度:静态安全测试和动态安全测试。

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

动态安全测试采用黑盒测试方法,基于应用摄入特定输入集的的预期性能创建测试,不考虑内部处理或底层代码知识。

至于API,开发人员和安全团队常常争论这两种方法哪种最适用,各自的支持理由包括:

● 静态测试是唯一有效的方法:因为API没有用户界面,你必须知道业务逻辑内部在发生什么。

● 动态测试才是我们所需要的:因为单元测试适用静态模型,且在流水线的早期阶段就已经完成了。

虽然有点扫兴,但以上两种观点都不完全正确。事实上,两种方法都需要确保广泛覆盖和处理一系列可能的场景。尤其是随着近期API攻击的兴起,防御者不能在可扩展性、深度和频率方面冒险。

图3:动态API安全测试与静态API安全测试

这种情况下,“灰盒”API安全测试成为了一个有趣的替代方案。因为没有用户界面,知道应用的内部运行机制(如参数、返回类型等)有助于高效创建针对业务逻辑的功能性测试。

理想状态下,综合考虑API安全测试的各个方面可以更好地创建灰盒解决方案,弥补单个方法的不足。此类业务逻辑方法可智能检查其他测试类型的结果,并自动或手动调整应用改进的测试。

业务逻辑API安全测试方法

业界越来越意识到API安全防护应贯穿整个API生命周期,将API置于安全控制的前端和中心。

为此,我们必须找到简化和弥合企业API安全测试的方法,将API安全测试标准融入开发周期并加以实施。这样一来,在运行时监测的帮助下,安全团队就能够在一个地方获得对所有已知漏洞的可见性。并且,左移API安全测试还可以削减成本并加速修复。

此外,如果能够自动化测试工作流,企业就内置了对重测试的支持:测试、修复、重测、部署的循环,保持流水线平稳运行,避免出现瓶颈。

采用业务逻辑方法执行API安全测试可以提高全生命周期API安全计划的成熟度,改善企业安全状态。

图4:生产到设计

然而,这种现代方法需要能自学习的工具,通过摄入运行时数据逐渐改进性能,从而深入了解应用的结构和逻辑。

这将涉及创建能够随运行过程不断学习的自适应测试引擎,积累关于API行为的深入认知,以便智能逆向工程其隐藏的内部工作机制。借助运行时数据和业务逻辑信息,企业能够享受黑盒和白盒两种方法带来的好处,实现可见性增强和自动化控制。

总结

除了逐渐普及,API也给Web应用带来了更多漏洞。许多企业甚至不清楚自身API应用范围和漏洞情况。黑客可以很容易地通过可用API探测已知和未知漏洞。

然而,企业常常忽视了API安全测试,像对待Web应用一样处理API安全测试。大多数测试方法,比如黑盒测试和白盒测试,并不适合API测试。

自然语言处理和人工智能(AI)的结合提供了可行“灰盒”选项,能够自动化、扩展和简化API安全测试的复杂过程。

api安全测试
本作品采用《CC 协议》,转载必须注明作者和本文链接
2021年的调查研究中,73%的企业表示自己已经发布了超过50个API,且这一数字还在不断增长。然而,API安全测试常被漏掉,或者执行时缺乏对所涉风险的重复理解。考虑到应用对API的依赖和快速采用情况,这一数字可能还会继续上升。并且,左移API安全测试还可以削减成本并加速修复。采用业务逻辑方法执行API安全测试可以提高全生命周期API安全计划的成熟度,改善企业安全状态。
API安全测试方法论
2021-11-26 07:46:01
常见的API安全漏洞有以下五种:首先是API应该与应用系统一样在设计之初就考虑安全的因素,比如防篡改(签名)、防重放(时间戳)、防止敏感信息泄露等。其实写本文主要是为了帮自己梳理一下API的安全漏洞和检查要点,上面的图只是一个1.0版本,并且本表的很多列我也暂时没有共享出来,后期2.0会更新。
根据网络安全公司Akamai的安全研究,近75%的现代凭证攻击都是针对易受攻击的API。Gartner研究报告显示,到2022年,涉及API的漏洞将成为所有网络安全类别中最常受到攻击的媒介。该分析器引擎能够不断学习有关API的最新漏洞,并不断检测受保护的资产。它适用于本地和云环境,以确保任何API都不会沦为最新威胁的受害者。05Smartbear ReadyAPISmartbear ReadyAPI平台可以导入几乎任何规范或模式,以使用最流行的协议检测API。10TaurusTaurus提供一种将独立API检测程序转变为连续测试的简单方法。
根据安全公司阿卡迈进行的安全研究,近75%的现代凭证攻击针对缺乏防护的API
10大API安全测试工具
2021-12-19 07:48:58
伴随云计算、大数据、人工智能等技术的蓬勃发展,移动互联网、物联网产业加速创新,移动设备持有量不断增加,Web应用、移动应用已融入生产生活的各个领域。在这一过程中,应用程序接口(Application Programming Interfaces,简称API)作为数据传输流转的重要通道发挥着举足轻重的作用。
其中一些攻击会试图完全接管账户,以获取账户凭据和API密钥,从而对公司和消费者造成巨大损失。本阶段保护API的基础是动态发现与攻击检测及预防。组织需要用来对典型的用户行为以及API行为进行基准测试的工具,以获得必要的内容,来识别平台是否存在可能引发威胁的异常。持续的身份验证和授权是保护API免受攻击的另一个关键因素。最后,部署运行时保护是保护API过程中的一个重要因素。
对于开发人员来说,OWASP API TOP10威胁列表堪称API安全的“圣经”。2019年OWASP根据API风险分析以及安全从业人员的现场经验编制了API TOP10威胁列表,清楚地划分了不同的API攻击类型。在最新的API攻击中,攻击者们正在组合使用多个攻击手段。此类API通常容易受到攻击,因为它们不在安全团队的雷达上。
VSole
网络安全专家