应用程序编程接口(API)已经成为网络、程序、应用、设备以及计算领域中几乎所有东西的关键部分。对于云计算和移动计算来说尤其如此,如果没有API将所有内容整合在一起或管理大部分后端功能,云计算和移动计算都不可能以目前的形式存在。
由于其可靠性和简单性,API在整个计算领域已经无处不在。大多数企业可能甚至不知道有多少API在他们的网络中运行,尤其是在他们的云平台中。大型企业中可能有成千上万的API在工作,小型企业也依赖着比他们知道的更多的API。
API带来的风险
尽管API变得越来越有用,但它们的使用也带来了风险,创建API的标准很少,而且许多标准都是唯一的,因此,API包含可利用漏洞的情况并不少见。恶意分子发现,攻击API通常比直接攻击程序、数据库、应用程序或网络容易得多。API一旦被入侵,改变API的功能并不难,因此,API也成为一种为黑客工作的幕后黑手。
API带来的另一个风险是,它们几乎总是被过度许可,程序员给予它们很高的权限,这样它们就可以在不中断使用的情况下执行自己的功能,但是,如果网络攻击者破坏了API,那么他们就可以使用这些高权限来做其他事情,就像他们破坏了管理员的帐户一样。这已经成为一个严重的问题,CDN服务提供商Akamai公司的研究表明,针对API的攻击占了全球所有凭证窃取尝试的75%,网络攻击者知道API既易受攻击又无处不在,因此时刻都在攻击它们。
API安全工具的兴起
考虑到攻击API这一问题的严重性,近年来API安全工具的数量激增也就不足为奇了。如今有几十种商业工具被设计用来保护API,还有数百种免费或开源的工具。许多与其他类型的网络安全程序有相似的功能,但它们是专门为API的独特性质而配置的。
一般来说,API安全工具可以分为几类,有些工具提供了尝试一次性完成所有任务的完整平台。目前最流行的API安全工具类型是那些保护API免受恶意请求的工具,这有点像API防火墙。其他工具被设计用于动态访问和评估特定API以查找漏洞,从而加强其代码以抵御攻击。还有一些工具只是扫描环境,这样企业就可以发现他们的网络中存在多少API,因为没有人可以保护他们不知道的东西。
考虑到API网络安全工具的数量,试图编制一个完整的API网络安全工具列表是很困难的,但通过研究用户和商业评论,一些工具开始脱颖而出。以下是一些可用于帮助增强API安全性的顶级工具,并简要介绍了它们的优点和功能。虽然有数百个工具未列入此列表,但这提供了一个很好的参照,说明了哪些是可用的工具,可以保护API避免遭受当今日益严重的网络攻击。
以下是目前可用的9种顶级API安全工具:
(1)APIsec
作为最流行的API安全工具之一,APIsec几乎是完全自动化的,非常适合刚刚开始提高API安全性的企业。在已经建立API的生产环境中,APIsec将扫描API并测试常见漏洞,例如脚本注入攻击,它也将对每个API进行完全的压力测试,以确保它能够抵御业务流程攻击等不容易检测到的网络攻击。如果发现问题,它将标记这些问题,并为安全分析人员提供详细信息。
APIsec也可以在创建API时被开发人员主动使用。这样,任何漏洞都可以在API使用之前被消除,APIsec在API部署后继续监视,以防万一。
(2)Astra
Astra是一个免费的工具,这意味着支持有限。用户需要从GitHub获取并安装到他们的环境中,该工具在帮助管理和保护非常特定类型的API方面享有很高的声誉。
Astra专注于代表性状态转移(REST)API,由于它们经常发生变化,因此测试和保护这些API非常困难。Astra通过集成到企业的持续集成(CI)/和持续交付(CD)管道中提供帮助,它确保了可能影响API的最常见的漏洞不会蔓延到所谓安全的RESTAPI,因为它们作为其功能的一部分不断变化。
(3)AppKnox
AppKnox以非常支持其用户基础而闻名。该平台有一个非常易于使用的界面,该公司在部署和使用它时也提供了很多帮助。AppKnox这一工具已经进入了许多拥有小型安全团队的企业,因为它能够以最小的努力支持API安全性的添加。
一旦安装,AppKnox将测试API的常见问题,例如HTTP请求漏洞、SQL注入漏洞等,它还扫描与API连接的所有资源,以确保它们不会成为黑客的有效攻击路径。
(4)CequenceUnifiedAPIProtection
CequenceUnifiedAPIProtection保护平台专为部署企业环境的企业而设计,这些企业每天可能需要处理数十亿个对其API的请求。可扩展的保护平台首先检测企业内的所有API,然后将它们归档到一个广泛的目录中。然后,可以对API进行漏洞的通用测试,或者安全团队可以定义需要在API组上执行的特定测试。这不仅对保护API非常有帮助,而且还有助于遵守需要特定保护的政府法规或行业标准。
(5)DataTheoremAPISecure
DataTheoremAPISecure可以清点网络、云计算、应用程序或任何其他目标中存在的每个API。对于那些想要加强API安全性,但不知道从哪里开始,甚至不知道他们正在使用多少API的企业来说,这是一个很好的选择。APISecure还保持API库存的最新状态,在部署时快速查找任何新的API。
一旦定位,API安全将像黑客一样测试每个API的漏洞。然后,它可以标记该API,让工作人自行检查或自动修复许多漏洞。
(6)SaltSecurityAPIProtectionPlatform
SaltSecurityAPIProtectionPlatform非常先进,是首批充分利用人工智能和机器学习来检测和阻止针对API的威胁的平台之一。该平台通过收集整个网络上的API流量来实现这一点,分析对API的调用以及它们的响应。然后,它将在本地看到的数据与存储在基于云计算的大数据引擎中的流量数据进行比较。然后,它可以阻止大多数网络攻击并突出显示可疑活动,提醒安全团队或根据其设置采取行动。
随着时间的推移,这一平台会不断学习,它检查API网络的时间越长,在确定特定网络上哪些行为是可接受的时候就越准确。
(7)NonameSecurity
NonameSecurity在大企业中建立了良好的声誉。据报道,20%的财富500强公司都在使用它。它的设计目的是通过分析通过API移动的流量数据,超越一些平台提供的标准API漏洞检查保护。然后,它利用人工智能和机器学习来查找恶意活动。
NonameSecurity在测试中支持使用通用和非标准API。例如,它完全支持HTTP、RESTful、GraphQL、SOAP、XML-RPC、JSON-RPC和gRPCAPI。使用流量数据,它甚至可以发现、分类和保护不受API网关管理的API,或者不遵循任何标准协议的本地API。
(8)SmartbearReadyAPI
专注于开发环境,SmartbearReadyAPI不仅可以用于在构建API时测试API的安全漏洞,还可以监视其性能。通过这种方式,开发人员可以看到如果API遇到非常大量的数据会发生什么。
作为测试的一部分,用户可以配置向开发中的API发送什么样的流量,或者ReadyAPI可以从企业的网络捕获真实的流量,然后将其用于非常实际的测试。ReadyAPI支持Git、Docker、Jenkins、AzureDevOps、TeamCity等。
(9)WallarmEnd-to-EndAPISecurity
虽然WallarmEnd-to-EndAPISecurity平台被设计为在许多API驻留的云原生环境中工作,但它也可以用于保护内部设备中存在的API。它旨在防止针对API的任何类型的威胁,从开放Web应用程序安全项目(OWASP)顶级漏洞列表中的威胁,到经常针对API的凭据填充等的特定威胁。
Wallarm还可以帮助减轻由机器人进行的分布式拒绝服务(DDoS)攻击和侦察入侵或直接攻击。考虑到当今互联网上的大部分流量都是由机器人组成的,这是一个很好的安全功能。
该平台还提供了基于用户流量的企业的整个API组合的深入观察和概述,这不仅可以提供对安全性的洞察,还可以提供企业如何使用API以及哪些领域可能需要改进的建议。这并不是Wallarm平台的主要目的,但作为使用该平台的额外奖励,这些详细的报告肯定会在安全之外的其他领域有所帮助。