API安全:应对威胁格局

LLrber
API允许访问对象,但当授权遭到破坏时,攻击可以在广泛的层面上施行。这种漏洞可以通过实施基于对象级别的授权检查来减轻,要求授权凭据和访问令牌来准许访问。

1.png

本文来自微信公众号“数世咨询”,作者/LLrber。

应用程序编程接口(API)是一种必不可少且无处不在的软件,它允许日常应用程序和进程之间的信息交换,如软件即服务(SaaS)应用程序、物联网(IoT)设备、通用配置文件登录页面和自动驾驶汽车等。API同步并维护客户端和服务器之间的数据交换,响应每个请求。

由于API功能对于现代化流程至关重要,因此它们成为吸引威胁者的目标。API安全可能会受到各种威胁的破坏,其影响可能对企业及其业务造成严重危害。

01

API攻击

API攻击遵循与标准基于Web的攻击类似的策略,包括:

•中间人攻击/会话劫持/身份盗窃-在这种攻击中,威胁者通过数据包捕获技术悄悄地改变、中继和拦截API服务器与API客户端之间的通信。

•SSL协议降级-僵尸网络或恶意API客户端将尝试利用尚未在客户端或服务器上进行修复的旧版漏洞。

•已认证但未授权的API客户端-这是指使用有效凭据的用户操纵API请求,以获取对另一个用户信息的未经授权访问。这可能导致未遂交易或数据泄露。

•移动API的凭据泄漏-请求使用共享密钥的移动应用程序可能容易受到凭据泄漏的攻击,特别是如果应用程序ID和密钥以明文形式存储在客户端应用程序代码中。

•恶意代码/SQL注入-即使是经过身份验证的API消费者也可能被危及到,因为包含转义字符和SQL查询的API调用可能会使数据面临风险和漏洞。

02

API安全漏洞

开放式Web应用程序安全项目(OWASP)强调受API影响的前十个安全漏洞,以及缓解策略:

1、失效的对象级授权

API允许访问对象,但当授权遭到破坏时,攻击可以在广泛的层面上施行。这种漏洞可以通过实施基于对象级别的授权检查来减轻,要求授权凭据和访问令牌来准许访问。

2、失效的用户身份验证

实施不良的身份验证机制会让威胁者窃取身份验证令牌并利用缺陷来假冒授权用户的身份。可以通过确保只有受信任的用户经过身份验证并利用访问令牌验证来解决这个问题。

3、过度的数据暴露

通用API在没有具体限制的情况下会暴露对象属性。这是基于客户端会过滤掉不必要的数据的假设而进行的。因此,威胁者可以从中访问个人身份信息(PII)。这个风险可以通过仅向可信方授予数据访问权限、确定访问资格以及按需限制数据的部分来减少。

4、资源缺乏和速率限制

没有对客户端请求的资源数量进行限制的API容易受到拒绝服务(DoS)攻击和暴力破解攻击。这将对API服务器的性能产生不利影响。采取诸如强制限制访问速率和使用API网关等措施,将有助于防范此漏洞。

5、失效的功能级授权

失效的功能级授权-不当的访问控制策略可能导致授权漏洞。当管理员和非管理员角色没有得到正确分离时,威胁者可以访问管理资源和功能。采取严格的基于角色的访问控制,实施零信任策略,并定期进行安全评估和渗透测试可以避免此漏洞。

6、批量分配

此漏洞允许用户提供的数据在没有验证权限的情况下被用于对象上。这使得威胁者可以绕过安全机制并访问敏感数据。强大的访问控制可以防范此漏洞。

7、安全配置错误

不安全的默认配置和不完整的临时配置可能会暴露系统详细信息和敏感用户信息。解决方法是不依赖于默认配置,并且不要在错误消息中插入敏感信息。

8、注入

API容易受到注入漏洞的影响,如SQL注入、NOSQL注入和命令注入。此漏洞允许威胁者通过解释器执行恶意命令。使用API网关,不接受SQL和不受信任的数据类型,以及监控API请求,可以对抗此漏洞。

9、资产管理不当

对API端点的管理和文档化不当,以及继续使用过时的API版本,给威胁者提供了破坏和利用应用程序信息流的漏洞。解决方案是保持最新的所有API主机清单,淘汰或修复旧的API版本,并实施API防火墙。

10、日志和监控不足

不良的API安全审计和不足的API管理为威胁者提供了更多时间来突破更多漏洞,并持续在系统中活动。为了防止这种漏洞,确保对日志的访问进行身份验证,自动化监控和对日志事件的访问,并维护一个集成和可视化的日志管理和监控平台。

值得注意的是,上述列出的缓解策略只是初步的,一旦实现,组织应该致力于实施OWASP的预防性策略,这些策略更加深入全面。

03

影子API

Shadow APIs是指在组织缺乏适当监管的情况下开发和使用的第三方API。当允许这些API自由存在于组织的软件环境中时,它们可能会导致漏洞。这些API通常没有文档记录,无法追踪,并且不容易被察觉,对软件系统的安全性和功能构成重大风险。

Shadow APIs可能带来的风险包括可靠性问题、运营成本增加、不符合业务标准和法规以及其他可能导致安全事件的风险。

识别Shadow APIs的方法:

•通过API代理监控每个发出的API调用——这些出站代理记录API请求和响应。异常缓慢的响应时间和资源分配突然增加可能表明存在Shadow API。

•使用工具对API使用情况进行日志审查和分析,以提高可见性。定期查阅日志并寻找可疑的API活动。

•使用实时监控工具监控API调用及其性能。

•经常扫描源API代码,以识别不属于系统的API。

04

结论

随着API的广泛应用和集成,API攻击和漏洞的风险增加,这可能会暴露敏感信息并干扰业务运作。Shadow APIs带有隐藏的风险,因为它们的操作在组织安全域之外。为了提高API安全性,可以使用令牌来控制对服务和资源的访问,使用加密和签名来确保数据隐私,并使用API网关对API流量进行身份验证。通过处理API攻击、漏洞和Shadow APIs的风险,组织可以确保API的安全性,保护其数据和系统。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论