当今社会已进入信息广泛互联共享的时代。API技术逐渐成为现代数字化商业环境的基本组成部分,成为实现企业数字化转型发展战略的核心要素。几乎所有企业都依赖API来连接服务、传输数据和控制系统。但是,API的爆发式应用也极大地扩大了企业的攻击面,增加了企业对API安全的需求。API安全现状SaltSecurity是一家API安全公司,提供全面的保护平台来防止API攻击,并使用机器学习和AI来自动和持续地识别和保护API。根据SaltSecurity2022最新发布的《API安全趋势调查报告》数据:2022年,每家受访公司的平均API数量将比去年增长82%。同时,恶意API流量占比约2.1%,较去年激增117%;API攻击正在造成严重的安全问题,94%的受访者表示他们在过去一年中遇到过API安全问题;将近一半(47%)的受访者表示,他们在企业应用程序的API中发现了安全漏洞;38%的受访企业遭遇过API引发的身份安全问题,31%的受访企业遭遇过API引发的敏感数据泄露和隐私安全事件;40%的受访者表示会努力解决API应用的安全问题,但只有11%的受访者表示目前已经使用针对性技术进行API安全测试和防护。以上研究结果表明,很多企业对API面临的安全威胁重视不够。但实际上,他们可能无法承受因API安全事件而损害商誉和诚信的后果。因此,所有组织都需要努力解决API安全问题,并确保修复网络中最常见和最严重的API安全威胁。API安全风险和保护建议API安全不仅仅是修复单个漏洞的问题。相反,它需要IT团队的全部注意力。他们必须更广泛地解决API网络安全漏洞。任何API中的一个安全漏洞都可能导致不必要的后果。下面汇总了一些最危险的API安全风险和保护建议。风险一、ShadowAPI和ZombieAPIShadowAPI是目前API安全中最突出的问题。由于API使用量激增,企业往往无法跟踪和管理所有这些。漏洞被利用。与影子API类似,僵尸API对组织来说也是一个巨大的安全风险,通常指的是旧的、很少使用的API版本。由于botAPI很少引起安全团队的注意,它们也为犯罪分子提供了恶意利用的机会。建议及时维护更新API存量表,尽可能减少影子API或僵尸API的存在。为此,组织必须要求IT团队跟踪和监控所有正在运行的API,以发现未解决的漏洞、故障或错误配置。组织还可以利用AppTrana等自动化API安全工具进行API库存跟踪。此外,所有开发人员和利益相关者都应确保正确记录和映射所有API。风险2不安全的资源展示有些API需要向客户端展示可用资源的列表,以便用户及时了解。该列表可能包括诸如“用户”或“小部件”之类的元素,当通过浏览器查看时,这些元素以有组织的“分页”方式呈现。虽然这听起来很有用,但任何暴露显式信息(例如用户的PII数据和资源列表)的API都容易受到攻击者的数据抓取并从中提取敏感信息,例如受影响的网站。应用程序使用情况、客户电子邮件列表等。保护建议可以限制分页和资源列表的显示,防止数据被恶意抓取。例如指定API调用的时间段以查看特定资源。或者,为用户设置API访问密钥,并限制在撤销访问权限和阻止API连接之前可以使用API密钥的次数。风险3.未经认证的API许多企业中存在大量遗留应用程序,因此使用未经认证的API非常普遍。这些未经认证的API一旦被公开,将对企业应用系统的安全构成威胁。虽然遗留API的管理方式本身就是一种风险,但允许未经身份验证的API访问敏感数据(例如PII)对企业来说是一个更大的安全风险,甚至会产生合规性和合规性问题。保护建议强制执行API身份验证,以防止未经请求的API访问敏感数据资源。虽然这可能不是一个完美的解决方案,但实施身份验证可以控制API访问的范围,还可以帮助IT经理在恶意访问尝试的情况下识别访问入口点。IT团队还应定期进行API检查以确保足够的API安全性,尤其是在升级遗留应用程序或淘汰与这些API相关的旧设备时。风险4未授权的API对所有API的强制认证本身并不是一个完整和包容的解决方案。安全团队还应实施对API的授权访问管理,以最大限度地降低安全风险。使用经过身份验证但未经授权的API是IT团队经常难以解决的固有API安全风险。攻击者可以通过各种方法(例如枚举用户标识符)大量利用此类未经授权的API来获得经过身份验证的访问权限,而不管目标用户的权限级别如何。防御建议应用程序开发人员经常忽视对API进行适当的授权,而经过身份验证的用户可以对API执行任何预期的操作。因此,要防止此类未授权的API访问,需要开发人员实施用户ID等安全检查或创建访问控制列表以限制经过身份验证的用户访问不属于他们的API数据。风险5.公开暴露的APIkey不同应用系统交互时,需要通过API进行连接。这时候就需要一个密钥来进行安全确认。开发人员在集成这些应用程序时应确保密钥的安全性。但是,很多开发者为了工作方便,在开发过程中会直接将API认证密钥嵌入到API中,事后不及时删除。攻击者一旦获得API密钥,就可以作为关联的合法用户进行各种非法操作。防御建议一般做法应该是只向指定用户公开密钥。从长远来看,有效规范开发阶段的安全管理流程,可以防止密钥泄露、恶意抓取等API应用威胁。风险六API监控不充分API监控不充分也可以归因于企业对API应用安全的忽视。当API应用程序缺乏监控时,它会给潜在的攻击者足够的时间来建立对受损API的访问并维持长期连接。这种隐形攻击可能导致公司财产、商誉和数据资产的损失。根据OWASP,组织检测和修复漏洞的平均时间约为200天,因此IT人员需要在更短的时间内发现API应用程序的异常。保护建议企业对API应用安全问题保持警惕。一般API日志记录不应仅限于API请求。相反,它必须涵盖用户行为分析并存储大约一年的日志。组织必须定期进行API安全应用程序审核,以确保API日志记录充足且日志存储安全。风险7应用服务器安全性差不安全的应用服务器可能会泄露大量数据,不安全或配置错误的API应用程序也反映出组织中存在巨大的网络安全漏洞。这个问题通常发生在开发人员未能实施基本的安全措施(例如实施HTTPS通信)时。不幸的是,许多Web应用程序仍然支持HTTP通信,这很容易暴露API密钥等敏感数据。由于Web浏览器不直接与API打交道,因此无法在此处保护HTTPS-redirect(重定向)等功能。推荐采用类似HTTPS-only-like的方式进行保护,这是防止应用服务数据意外暴露的关键。开发人员还可以通过部署负载均衡设备,使用SSL加密数据并阻止不安全的HTTP请求。参考https://latesthackingnews.com/2022/12/21/are-these-7-security-gaps-in-your-apis/《API安全趋势调查报告》:https://salt.security/api-security-trends
