7种最危险的API安全风险与防护建议

一颗小胡椒2022-12-29 16:46:41

当今社会已进入一个信息广泛互联和共享的时代,API技术逐渐成为了现代数字业务环境的基础组成,也是企业数字化转型发展战略实现的核心要素。几乎所有的企业都依赖API进行服务连接、传输数据和控制系统。然而,API的爆炸性应用也极大地扩展了企业的攻击面,增加了企业对API安全性的需求。

API安全的现状

Salt Security是一家API安全公司,它提供了一个整体保护平台来防止API攻击,并使用机器学习和AI来自动连续地识别和保护API。根据Salt Security2022年最新发布的《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安全风险和防护建议。

风险一、影子API、僵尸API

影子API是目前API安全中最为突出的问题,由于API的使用率激增,企业往往无法全部跟踪管理,因此,一些API无法及时进行维护更新,从而成为了被恶意黑客公开利用的漏洞。 

与影子API类似,僵尸API对组织来说也是一个巨大的安全风险,其通常指的是旧的、很少使用的API版本。由于僵尸API很少得到安全团队的注意,所以也给了犯罪分子恶意利用的可乘之机。

防护建议

及时维护更新API库存表可以尽可能减少影子API或僵尸API的存在。为此,组织必须要求IT团队跟踪和监视所有正在运行的API,以查找未解决的漏洞、故障或错误配置。组织还可以利用自动化API安全工具(如AppTrana)进行API库存跟踪。此外,所有开发人员和相关人员都应该确保所有API都有规范的文档进行说明和映射。

风险二、不安全的资源展示

一些API需要向客户端显示可用资源列表以供使用者及时了解。该列表可能包括“用户”或“小部件”等元素,当通过浏览器查看时,这些元素会以有组织的“分页”(paginated)方式呈现。虽然这听起来很有帮助,但任何展示资产信息(explicit information,如用户的PII数据和资源列表)的API都容易遭受来自攻击者的数据抓取,并从中提取敏感信息,例如受影响的web应用程序使用情况、客户电子邮件列表等等。

防护建议

可以限制展示分页和资源列表的显示,以避免数据被恶意抓取。例如为查看特定资源的API调用指定一个时间段。或者,为用户设置API访问密钥,并限制API密钥可能被使用的次数,超过次数将撤销访问并阻止API连接。

风险三、未经身份验证的API

很多企业中存在大量历史遗留应用程序,因此,使用API而不进行身份验证是目前很常见的现象。这些未经身份验证的API一旦公开暴露,就会对企业的应用系统安全构成威胁。虽然如何管理遗留API本身就是一种风险,但让未经身份验证的API获取敏感数据(如PII)对于企业将是一个更大的安全隐患,甚至会产生法规遵从和合规性方面的问题。

防护建议

强制进行API身份验证,以防止未经请求的API访问敏感数据资源。虽然它可能不是一个完善的解决方案,但实现身份验证可以控制API的访问范围,也能帮助IT管理人员在恶意访问尝试的情况下识别出访问入口点。IT团队还应该定期进行API检查,以确保足够的API安全性,特别是在升级遗留应用程序或报废与这些API相关的老旧设备时。

风险四、未经授权的API

对所有API进行强制身份验证本身并非一个完善的、有包容性的解决方案。安全团队还应该实现对API的授权访问管理,以将安全风险降至最低。使用经过身份验证但未经授权的API是IT团队经常难以解决的固有API安全风险。攻击者可以通过各种方法(例如枚举用户标识符)获得经过身份验证的访问,而不考虑拟攻击用户的权限级别,从而大量利用此类未经合理授权的API。

防护建议

应用程序开发人员经常忽略对API进行合理授权,而经过身份验证的用户就可以对API执行任何预期的操作。因此,防止这种未经授权的API访问需要开发人员实现安全检查,例如用户ID或创建访问控制列表,以限制通过身份验证的用户访问不属于他们的API数据。

风险五、公开暴露的API密钥

当不同的应用系统进行交互时,就需要通过API进行连接,这时候就需要一个密钥进行安全性确认。开发人员应该在整合这些应用时,保证密钥的安全性。但是很多开发人员为了工作方便,会在开发过程中将API认证密钥直接嵌入到API中,但是之后也未及时删除。一旦这个API密钥被攻击者查询获得,就能够以关联合法用户的身份,进行各种非法操作。

防护建议

一般的做法应该是只将密钥暴露给指定的用户。而从长远来看,在开发阶段就有效规范安全管理流程可以防止密钥泄露和恶意抓取等API应用威胁。

风险六、API监控不足

API监控不足也可归因于企业对API应用安全性的忽视。当API应用缺少监控时,会给潜在的攻击者足够的时间来建立对受损API的访问并保持长期连接。这种隐形攻击可能导致企业财产、商誉和数据资产的损失。根据OWASP的说法,组织检测修复漏洞的平均时间约为200多天,因此IT人员需要在更短时间里发现API应用的异常情况。

防护建议

企业要对API的应用安全问题提高警惕。常规的API日志记录不应该局限于API请求。相反地,它必须涵盖用户行为分析并存储大约一年的日志。组织必须定期开展API安全应用审计,以确保足够的API日志记录和安全的日志存储。

风险七、应用服务器安全性差

不安全的应用服务器可能泄漏大量数据,不安全或配置错误的API应用也反映出组织存在巨大的网络安全缺口。当开发人员未能部署基本的安全措施(如实现HTTPS通信)时,通常会出现此问题。不幸的是,许多web应用程序仍然支持HTTP通信,这样就会轻易暴露API密钥等敏感数据。由于web浏览器并不直接处理API,像HTTPS-redirect(重定向)这样的特性在这里不能受到任何保护。

防护建议

采用HTTPS-only-like方法是防止应用服务意外数据暴露的关键。开发人员还可以通过部署负载均衡设备,实现利用SSL来加密数据和阻止不安全的HTTP请求。


api密钥管理
本作品采用《CC 协议》,转载必须注明作者和本文链接
其中一些攻击会试图完全接管账户,以获取账户凭据和API密钥,从而对公司和消费者造成巨大损失。本阶段保护API的基础是动态发现与攻击检测及预防。组织需要用来对典型的用户行为以及API行为进行基准测试的工具,以获得必要的内容,来识别平台是否存在可能引发威胁的异常。持续的身份验证和授权是保护API免受攻击的另一个关键因素。最后,部署运行时保护是保护API过程中的一个重要因素。
没有云加密,就没有云计算,因为数据丢失的风险太高—磁盘错位、低强度密码、网络窥探或盗窃都会导致数据丢失。
云服务器攻防矩阵
2022-01-07 13:27:51
云服务器(Cloud Virtual Machine,CVM)是一种较为常见的云服务,为用户提供安全可靠以及高效的计算服务。用户可以灵活的扩展以及缩减计算资源,以适应变化的业务需求。使用云服务器可以极大降低用户的软硬件采购成本以及IT 运维成本。 由于云服务器中承载着用户的业务以及数据,其安全性尤为重要而云服务器的风险往往来自于两方面:云厂商平台侧的风险与用户在使用云服务器时的风险。与用户侧风险
ShardingSphere 站在 数据库的上层视角,关注他们之间的协作多于数据库自身。连接、增量和可插拔是 Apache ShardingSphere 的核心概念。ShardingSphere-Proxy定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支 持。
近日,绿盟科技星云实验室与北京豪密科技有限公司联合推出了一项云攻防技术培训课程。该课程旨在根据客户需求,为客户提供专题培训,帮助客户熟悉常见的云安全架构,并提供云攻防技术理解,同时结合模拟攻击实验提升攻防能力。
本文基于阿里云数据安全防护实践,探讨分析云上数据保护的体系化建设。
安全领袖在构建软件供应链安全计划时会面临一个复杂的情况:可用工具与技术的飞速发展既带来了积极作用,同时也伴随着负面影响。
不幸的是,“软件供应链安全指南”再次强化了这种谬误。该指南要求集中化管理的安全团队对软件工程活动施加重大限制,从而实现“将安全作为重中之重”。为了安全起见,速度甚至可靠性都被视为合理的“伤亡代价”。对于政府情报部门而言,国家安全是主要使命,因此他们认为安全摩擦和障碍是值得的。该指南明确表示不鼓励开源软件。事实上,为了推销厂商的安全产品,指南甚至给出了诸如手动发布流程之类的危险建议。
在上周早些时候,来自巴西的安全研究人员Fábio Castro通过推特发出警告称,配置错误的Django应用程序会暴露诸如API密钥、数据库密码或AWS访问密钥之类的敏感信息。 Castro表示,这种暴露的主要原因来自于服务器管理员没有关闭Django应用程序的调试模式,而并非来自于Django应用程序本身,这是一种属于由“人为原因”导致的数据泄露问题。 Django是一个非常强大且可自定
有些CSP也会以另外的模式提供BYOK,这种形式的BYOK连接客户存储并控制KEK的硬件。CSP架构、代码和各种产品还可能存在安全漏洞,会导致遭遇拦截或窃听。采用CSP管理自身敏感数据或生产的参考客户可能也是加强这一信任的重要因素。大多数CSP都会为客户提供自助撤销、轮换和控制KEK的功能。在变动或授予CSP对数据的访问权之前保护好数据可能会增强安全。总结本文的目的是要提起重视而非诋毁CSP。
一颗小胡椒
暂无描述