欢迎大家围观小阑精心整理的API安全最新资讯,在这里你能看到最专业、最前沿的API安全技术和产业资讯,我们提供关于全球API安全资讯与信息安全深度观察。
本周,我们带来的分享如下:
数千个应用程序泄露 Twitter 访问令牌
Golang 中的参数走私攻击
API 目录在提供安全优势方面的好处
关于限速的正确方法
数以千计的应用程序泄露 Twitter 访问令牌
CloudSEK 的安全研究人员本周披露了 3,200 个可能泄露 Twitter API 密钥的移动应用程序的详细信息。研究人员发现,在许多情况下,开发人员在他们的应用程序二进制文件或清单中嵌入了 Twitter API 密钥,这将允许攻击者提取密钥并使用它们来访问 Twitter,就好像他们是应用程序用户一样。
精通安全的开发人员早就知道需要防止访问密钥和令牌在生产映像中提供,但是经验不足的开发人员可能会无意中在生产版本中提供密钥和令牌。这可能是意外完成的,也可能是通过采用不良做法或构建方法来完成的。我们在微型啤酒厂的移动应用程序中介绍了这个问题的一个相当史诗般的例子。
研究人员表示,这些凭据很容易被 Twitter 机器人大军获取并用于传播错误信息、运行恶意软件活动、运行垃圾邮件活动和自动网络钓鱼攻击。
防止令牌和密钥泄漏的建议包括:
• 执行代码审查以识别本地不安全存储的实例。
• 确保源代码中包含运行时变量的文件未随应用程序一起提供。
• 使用源代码扫描工具(例如 Semgrep)扫描存储库中的代码以识别存储的凭据。
• 确保您定期轮换 API 密钥,并制定密钥撤销策略以防泄露或泄露。
Golang中的参数走私攻击
本周的第二个漏洞来自 Oxeye 的研究人员,他们详细描述了基于 Golang 的应用程序中的一个安全漏洞。根本原因是由于核心 Golang 库的受影响版本中的 URL 解析不安全,这可能允许攻击者绕过 HTTP 请求参数的验证。
解析 URL ( ) 的 Golang 方法以parseQuery处理分号的方式改变了行为,如下所示:
• 在 1.17 版之前,解析器会(错误地)将分号周围的查询拆分为分隔符。
• 从 1.17 版本开始,解析器将返回一个错误代码,不幸的是,其他一些 Golang 模块选择忽略该代码。
最终结果如下图所示——攻击者可以通过面向用户的服务(使用版本 >= 1.17)提供带分号的查询,并将其传递给后端服务(使用版本 < 1.17),然后将错误地解析查询。研究人员声称,攻击者可以走私包含通常会被拒绝的查询参数的请求。
研究人员报告说,许多知名项目都可能存在漏洞,包括 CNCF Harbor 项目、Traefik 反向代理和 Skipper 路由器。
建议的补救措施是升级所有版本的 Golang,使用替代方法来解析查询,通过去除无关分号或使用其 Semgrep 规则来识别易受攻击的代码来清理 URL。
API 目录提供安全优势
TheNewStack 涵盖了 API 安全的一个重要元素,即 API 目录或清单。如果不了解您的组织部署了哪些 API,就不可能准确评估风险敞口或制定提高 API 安全性的策略。作者从安全角度确定了 API 目录之所以重要的两个原因。
首先,诸如 CI/CD 自动化和云提供商之类的现代开发实践允许开发人员一键部署 API,通常无需安全团队的了解。此外,由于 API 可以如此频繁地更改,这对 API 的版本控制提出了挑战。这分别称为影子API和僵尸API。其次,由于 API 主要用于传输数据,因此它们带来了最大的数据泄露风险,给安全和治理与风险控制 (GRC) 团队带来了更大的挑战。
作者建议对 API 进行编目的三个步骤:
• 使用单一事实来源来维护来自各种来源的目录,并确保该目录包含元数据以指示连接性、版本、可见性等。
• 使用目录根据元数据自动生成风险评分,以确保安全团队专注于风险最高的项目。
• 使用 OpenAPI 规范允许生产者和消费者使用通用语言并利用自动化测试和安全扫描的优势。
限速的正确方法
虽然速率限制似乎是一个足够简单的概念,但在确保可用性和客户体验与安全性和可用性之间取得平衡时,细节上却有很多问题。
速率限制的主要目标如下:
• 一致的体验:确保所有用户都可以平等地访问资源,以在高负载下保持一致的性能。
• 成本管理: API 资源需要花钱,允许客户不受限制地访问 API 可能会影响您的底线。平衡体验与预算。
• 受保护的服务:从安全角度来看,速率限制对于减轻恶意行为者试图暴力破解 API 端点非常重要。
未能正确实施速率限制可能导致拒绝服务 (DoS) 或分布式拒绝服务 (DDoS) 攻击、相关 API 之间的级联故障、资源匮乏和资源耗尽。
实现速率限制的主要策略有以下三种:
• 硬停止:一旦达到 API 限制(在固定时间窗口内来自用户的请求过多),API 将返回 429 'Too many requests' 错误,迫使用户退出一段时间。这种突然停止可能会让用户感到沮丧,因为他们没有预料到会发生这种限制。
• 节流停止:与返回立即错误的硬停止不同,节流停止在处理请求时引入了延迟。通常,节流停止与硬停止结合使用,以提供更细致入微的用户体验;但是,它们通常更难实施。
• 可计费停止:限制速率的最终策略是允许用户选择为超过其配额的 API 访问付费。这允许用户确定他们自己的优先级——以一定的价格购买大量请求或免费减少请求量。它还允许提供商从高需求用户那里获得收入。
最后,作者提出了一些最佳实践,包括:
• 不要贪心:避免对 API 使用过度收费,这是正常用例的典型情况。
• 保持透明:解释您的速率限制和/或配额政策,以避免出现意外的意外。
• 添加计数器:将 HTTP 标头添加到 API 响应允许客户端在发生限制之前退出。
安全团队需要意识到不公正地使用速率限制可能对用户产生的负面影响——与以往一样,这是安全和用户体验之间的平衡。
感谢 APIsecurity.io 提供相关内容
关于星阑
星阑科技基于AI深度感知和强大的自适应机器学习技术,帮助用户迅速发现并解决面临的安全风险和外部威胁,并凭借持续的创新理念和以实战攻防为核心的安全能力,发展成为国内人工智能、信息安全领域的双料科技公司。为解决API安全问题,公司从攻防能力、大数据分析能力及云原生技术体系出发,提供全景化API识别、API高级威胁检测、复杂行为分析等能力,构建API Runtime Protection体系。
星阑科技产品——萤火 (API Intelligence) 拥有不同应用场景的解决方案,适配服务器、容器集群、微服务架构以及云平台等多种架构。通过API资产梳理、漏洞管理、威胁监测、运营与响应能力,解决企业API漏洞入侵、数据泄露两大核心风险。
往期 · 推荐
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...