一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“API安全测试工具介绍(上)”。
应用编程接口已成为攻击者钟爱的目标。本文所列工具和平台(无论商业还是开源)可帮助企业识别错误、漏洞和权限分配过大等问题。
应用编程接口(API)是大多数现代程序和应用的关键部分。事实上,云部署和移动应用都非常依赖于API,如果不用API管理遍布各处的组件,云部署和移动应用都将成为泡影。许多大公司,尤其是那些拥有大量在线业务的公司,甚至在其基础设施中嵌入了成百上千个API。API的增长只会继续加速。
API的巧妙之处在于,大多数API只是一小段代码,而且所有API在网络资源需求方面都很精简,几乎无感。更妙的是,API还很灵活,即使所交互或控制的程序发生变动,比如打上了补丁,API也能继续运行并执行其主要功能。
但即使如此令人神往,API也存在自身的缺陷。因为可将API设计成能够执行几乎所有任务,无论是不断重复的单一功能,还是精妙控制各种程序或平台的高级操作,所以几乎没有任何标准来管理API的编写。绝大多数API都是独特的,很多企业就是根据需要不断创建新的API。这对安全团队来说可能是一场噩梦。
攻击者看中API的另一方面是,很多API被赋予了过多的权限。即使只执行少数功能的API通常也具有几乎相当于管理员的权限。个中想法是:API那么小,能有多大害呢?黑客就不这么想了,他们会侵入API,然后利用这些权限/凭证搞事情,例如数据泄露,或者进一步渗透网络。根据安全公司阿卡迈进行的安全研究,近75%的现代凭证攻击针对缺乏防护的API。
问题越来越严重。Gartner预测,2022年,所有网络安全类别中,涉及API的漏洞将成为最常见的攻击渠道。
API测试工具成救星
关键网络和程序组件被攻击者盯上就够糟糕的了,落到API身上,情况却更加糟心,因为API的创建根本没有标准可依。很多企业可能压根儿不知道自己使用了多少API,也不清楚这些API都在干些什么,或者拥有多高的权限级别,更遑论API里是否存在漏洞的问题了。
安全行业和私人团体推出API测试工具和平台来帮助解决这些问题。一些测试工具旨在执行单一功能,例如锚定特定Docker API配置不当的原因。其他工具则对整个网络采取更全面的方法,搜索API,然后提供关于API功能的信息,给出API可能存在漏洞或权限过多问题的原因分析。
目前有几个著名的商业API测试平台和大量免费或低成本的开源工具可供使用。商业工具通常具有更多的支持选项,并且可以通过云或者甚至作为服务进行远程部署。一些开源工具可能在功能上堪比商业工具,还具备来自工具研发用户社区的支持。具体选择何种工具取决于你的需求、公司IT团队的安全专业知识和你的预算。
下面我们列出市面上几款顶级商业API测试工具及其主要功能,以及部分优秀的开源工具。
商业API测试工具与平台
APIsec
APIsec可看作是针对API的渗透测试工具。很多工具可以扫描用于脚本注入等典型攻击的常见漏洞,但APIsec重在测试目标API的方方面面,确保从核心网络到访问核心网络的端点都免于遭受API代码漏洞影响。
APIsec的一大优势是可以在API开发阶段就部署上。对构建过程中的应用执行全面扫描只需要几分钟,但其结果可媲美过去需要数天或数周才能完成的老式渗透测试。
AppKnox
AppKnox对购买并部署了其平台的用户助益良多。结合其易于使用的界面,AppKnox堪称没有大型安全团队专门负责API的公司的理想选择。AppKnox通过扫描定位在生产环境、端点或任何可能部署之处的API。定位后,用户可以选择API提交,进行进一步的测试。
AppKnox测试所有可能导致API中断或被破坏的常见问题,例如HTTP请求命令注入漏洞、跨站跟踪和SQL注入漏洞。测试包括对Web服务器、数据库和服务器上与API交互的所有组件的完整分析。
执行了API扫描后,用户可将其测试结果提交给人类安全研究员进行高级分析,高级分析过程通常需要三到五天。
Data Theorem API Secure
Data Theorem API Secure平台旨在适应任何持续集成和持续交付/部署(CI/CD)环境,从而在开发的每个阶段和生产环境中为API提供持续的安全。该分析器引擎会持续搜索网络,查找新的API,并快速识别未授权API或属于公司影子IT的那些API。
分析器引擎会自动收集最新的涉API漏洞信息,并不断测试其保护范围内的资产。Data Theorem API Secure本地环境和云环境都适用,可以确保没有API会沦为最新威胁的受害者。为保持CI/CD过程清晰流畅,Data Theorem API Secure提供自动修复所发现问题的功能,无需人工干预。如此一来,只要能够适应高度自动化,企业就可以确保所用API可抵御最新的威胁。