当前位置: 首页 > 科技观察

商业vs.开源:十大主流API测试工具

时间:2023-03-14 12:56:29 科技观察

随着云计算、大数据、人工智能等技术的蓬勃发展,移动互联网、物联网行业加速创新,移动设备数量激增在增加。Web应用、移动应用已经融入到生产生活的各个领域。在这个过程中,应用程序编程接口(ApplicationProgrammingInterfaces,简称API)作为数据传输和流动的重要通道发挥着举足轻重的作用。API技术不仅是连接企业和客户的桥梁,还承担着不同复杂系统和组织之间数据交互和传输的重要任务。许多大公司,尤其是那些拥有大量在线业务的公司,在其基础架构中嵌入了数百个(如果不是数千个)API。然而,在API技术带来积极影响的同时,与之相关的数据安全问题也日益凸显。如今,API已成为攻击者最喜欢的目标之一,他们能够破坏API并将这些漏洞用于新目的,例如数据泄露或进一步渗透到目标网络中。根据网络安全公司Akamai的安全研究,近75%的现代凭证攻击都针对易受攻击的API。更糟糕的是,问题越来越严重。根据Gartner的一份研究报告,到2022年,涉及API的漏洞将成为所有网络安全类别中最常受到攻击的媒介。十大主流API测试工具API测试作为一种用程序或工具发送数据,同时检查系统返回值的方法,是实现持续集成和维护DevOps实践的重要组成部分。一些API检测工具旨在执行单一功能,例如映射特定DockerAPI配置错误的原因;其他人则对整个网络采取更全面的方法,帮助组织识别错误、漏洞和过度权限。下面介绍6个主流商业API测试平台和4个免费或低价的开源工具。商业API检测工具和平台1.APIsecAPIsec平台就像一个API渗透工具,可以在开发阶段部署,同时对API进行编程。该平台可以在几分钟内完成对正在构建的应用程序的全面扫描,其结果与过去需要数天或数周才能完成的老式渗透测试相当。此外,虽然许多工具可以扫描脚本注入等典型攻击的常见漏洞,但APIsec会对目标API的各个方面进行压力测试,以确保从核心网络到各个端点的所有内容都受到保护,免受API代码中漏洞的影响。2.AppKnoxAppKnox可以检测所有可能导致API中断或破坏的常见问题,例如HTTP请求中的命令注入漏洞、跨站跟踪和SQL注入漏洞等。这包括对Web服务器、数据库以及服务器上与API交互的所有组件的完整性分析。AppKnox首先扫描并定位API,然后用户选择提交哪些API进行进一步检测,最后将结果提交给安全研究人员进行高级分析。这个过程通常需要三到五天。3.DataTheoremAPISecureDataTheoremAPISecure平台旨在适应任何持续集成和持续交付/部署(CI/CD)环境,在开发和生产环境的每个阶段为API提供持续的安全性。它的分析器引擎不断地在网络上搜索新的API,并可以快速识别未经授权的API或属于组织“影子IT”(shadowIT)一部分的API。该分析引擎能够持续了解API的最新漏洞,并持续检测受保护资产。它适用于本地和云环境,以确保没有API成为最新威胁的受害者。为了保持CI/CD流水线的畅通,DataTheoremAPISecure还提供了无需人工干预的自动修复能力。4.PostmanPostman作为构建安全API的完整协作平台,可供在Windows、Linux和iOS环境中工作的数百万开发人员使用。Postman为开发者提供了一套完整的API工具供开发者设计新的API时使用,同时也为企业或组织的后续代码提供了安全存储库,以确保新的API从一开始就保持严格的安全性和组织标准。当应用程序代码偏离企业或组织的安全模板或包含潜在漏洞时,Postman还可以提供安全警告。这样,可以在API投入生产之前解决问题。更重要的是,如果企业或组织不想写代码,也可以通过Postman进行API测试。也就是说,对于不想在IDE中使用代码的初学者来说,Postman是API检测的最佳选择之一。5.SmartbearReadyAPISmartbearReadyAPI平台可以导入几乎任何规范或模式,以使用最流行的协议检测API。总的来说,ReadyAPI支持Git、Docker、Jenkins、AzureDevOps、TeamCity等,可以在API上线前从开发到质量保证的任何环境运行。ReadyAPI可以通过单击执行API安全分析,并支持其他关键功能,例如查看API处理意外负载或使用量突然激增的能力。它还可以记录实时API流量并配置独特的环境。6.SynopsisAPIScanner除了安全测试之外,SynopsisAPIScanner还使用模糊测试作为其深度扫描和测试套件的一部分。SynopsisAPIScanner模糊测试引擎向API发送数以千计的意外、无效或随机输入,以查看它们的行为方式,或者检测它们在遇到非常大的数字或奇数命令时是否崩溃。SynopsisAPIScanner还映射了整个API的所有路径和逻辑,包括所有适用的端点、参数、身份验证和规范。这让开发人员清楚地了解API可以执行哪些功能。此外,它清楚地说明了API可能受到意外行为或安全漏洞影响的原因。开源API检测工具虽然开源工具通常无法提供与商业产品相同的支持服务,但它们以免费、易用的特点得到了用户的广泛认可,经验丰富的开发人员可以轻松部署它们来支持或提高安全性他们的API性。下面是一些基于开源社区数据的比较流行的产品。7.AstraAstra主要专注于representationalstatetransfer(REST)API,可以自动检测和测试login&logoutfunction(authenticationAPI),所以任何人都可以轻松地将其集成到CI/CDpipeline中,并且在开发中周期帮助在早期阶段检测和修复安全漏洞。但是,Astra对RESTAPI的渗透测试比较困难,因为它们在不断变化。鉴于REST架构强调组件间交互的可扩展性,随着时间的推移保持RESTAPI的安全可能更具挑战性。8.crAPIcrAPI工具的名称很糟糕,但它有效地执行了API包装器的功能。它是为数不多的可以连接到目标系统并为根客户端的默认处理程序集提供基本路径的包装器之一。crAPI在不创建任何新连接的情况下执行此操作,这允许高级API开发人员节省大量时间。9.ApacheJMeterApacheJMeter是用Java编写的,最初是作为Web应用程序的负载测试器,最近可以与几乎任何应用程序、程序或API一起使用。它可以检测静态或动态资源的性能,还可以生成大量真实流量的模拟负载,以便开发人员了解API在压力下的性能。10.TaurusTaurus提供了一种将独立的API检查程序转变为连续测试的简单方法。Taurus操作起来非常简单。企业或组织只需要安装它并创建一个配置文件就可以使检测工具工作。企业或组织还可以通过Taurus找到生成交互式报告的方法,以及创建更复杂的场景、设置标准,以便企业或组织可以立即修复发现的问题。通常,商业工具提供更多支持选项,并且可以通过云或作为服务进行远程部署。然而,一些开源工具同样表现出色,并得到用户社区的广泛支持。企业可以根据自己的需求、IT团队的安全专业知识和预算做出选择。【本文为专栏作者“安安牛”原创文章,转载请通过安安牛(微信公众号id:gooann-sectv)获得授权】点此查看作者更多好文