财富1000强企业中发现3万个API暴露和10万个API 漏洞
一份关于财富1000强和法国CAC 40指数企业API安全风险的惊人发现。
通过结合先进的子域名枚举、AI驱动的指纹识别和开源情报技术,Escape安全研究团队对财富1000强和CAC 40企业的域名进行了爬取。我们发现了30,784个暴露的API(其中28,544个来自财富1000强企业)。接下来,我们以编程方式生成了默认的API规范并开始扫描这些暴露的API服务,结果发现了惊人的107,368个漏洞——其中2,038个(财富1000强1,830个,CAC 40有240个)由于认证缺陷和安全配置错误被列为高危漏洞。
你可以在我们的完整报告中查看详细结果。本文将为你简单介绍财富1000强的主要发现以及背后的研究方法。
研究方法
数据收集策略
在这次全面分析中,我们旨在检查各个领域的API安全措施。我们从两个主要来源选择了域名:
-
财富1000强:按营收排名的美国1000家最大上市公司名单。我们排除了亚马逊、谷歌和Meta等几家超大型科技公司,以避免结果失真。 -
CAC 40:巴黎泛欧证券交易所市值排名前100家公司中40家最具代表性股票组成的资本加权指数。
虽然这种方法提供了大量数据,但我们也认识到可能存在偏差。拥有丰富资源的大型域名可能采用更强的安全措施,这可能导致发现的漏洞API较少。不过,我们的研究主要关注美国最大的企业,并未专门考虑这种偏差。
另外,考虑到互联网上有超过3.65亿个域名,我们的样本量相对较小,可能导致发现数量的波动性较大。
数据收集是一次性的过程。在收集过程中,我们遇到了一些限制。为了遵守法律和道德边界,我们特意排除了某些类型的域名。这一决定确保了我们的研究符合网络爬虫和数据收集的道德规范,优先考虑负责任的研究标准。
深入的API发现流程
确定域名列表后,我们逐步添加这些域名以启动对暴露API的全面扫描。我们不仅检查了主域名,还深入研究了每个域名关联的众多子域名。这种方法使我们能够实现彻底而细致的发现过程。
我们使用了Escape平台内置的一系列复杂技术组合来识别和盘点API,具体包括扫描暴露的源代码:
子域名枚举
首先是子域名枚举。这个过程涉及扫描与你之前输入平台的主域名相关的所有子域名。子域名经常托管着不易察觉的API或服务。通过识别这些子域名,我们可以发现那些可能被忽视的端点。这个初始步骤为全面的发现过程奠定了基础。
AI驱动的指纹识别
识别出子域名后,我们使用AI驱动的指纹识别技术来识别和分类API。指纹识别涉及分析API的各种特征,如结构、端点和响应模式。我们在Escape中集成的AI算法能够以很高的准确率检测和分类不同类型的API(REST、GraphQL、gRPC)。这种基于机器学习的方法确保了即使API具有独特或非标准的配置,也能被正确识别和分类。
开源情报技术
我们还利用了开源情报(OSINT)技术。OSINT包括收集和分析公开信息以增强发现过程。通过检查代码仓库、文档和其他公开资源,我们可以识别额外的API端点和服务。这种技术有助于发现那些没有直接暴露但可以通过公开信息找到的API。
通过这个多层次的过程,我们发现了158,079个子域名,实现了广泛的覆盖和高度详细的分析。这个广泛的范围让我们能够深入了解各个行业的API暴露情况和安全实践。
自动化的API文档生成
我们研究中最具挑战性的方面之一是确保我们有API规范,以便有效扫描新发现的暴露API服务中的漏洞。
拥有OpenAPI规范(OAS)特别有益,因为它为记录REST API提供了标准化的、机器可读的格式,促进了服务之间的清晰性和一致性。
通过初始扫描,我们定位到4,547个暴露的API规范,所以我们不得不自己生成大部分规范。这个过程涉及从代码中解析抽象语法树(AST),以动态创建详细准确的API规范。
幸运的是,大型语言模型(LLM)最近在分析和生成代码方面表现出色。此外,它们在各种代码语言、框架和编码风格方面都表现出色,这正是我们对框架和语言无关的OAS生成软件的需求。最后,LLM还可以利用代码注释中的信息,这是传统静态分析方法无法做到的。
在我们当前的方法中,集成到Escape平台,我们专注于两个关键领域:
-
语义分析: 我们使用自定义规则(如特定的Semgrep模式)识别关键代码片段,优化发送给LLM的数据,提高提示质量。 -
规范生成: LLM处理每个识别出的片段以生成精确的OAS方法,通过上下文化确保准确性,解析代码中的依赖关系和引用。
这种方法使我们的平台不仅能生成API文档,还能持续监控并检测API文档随时间的任何变化或版本。
最后一步 – API安全扫描
在完成全面的规范生成过程后,最后一步是API安全扫描。使用Escape的动态应用安全测试(DAST)安全扫描器,我们对每个识别出的API端点进行深入分析,以检测潜在的漏洞和风险。
Escape的DAST方法专门为API安全设计。该工具的核心是一个专有算法,它结合静态和动态分析来提供精确的、高可信度的结果。该算法分多个阶段运行:
-
上下文分析: 算法首先对每个端点进行上下文分析,识别API的结构、参数和依赖关系。这使它能够针对每个特定API调整扫描方法,确保相关性并减少误报。 -
模糊测试和载荷注入: 在下一阶段,算法使用模糊测试技术通过发送随机、意外或格式错误的输入来测试每个端点。这有助于识别输入验证缺陷、注入漏洞和配置错误等弱点。算法根据实时反馈调整这些载荷,比传统静态方法更有效地模拟复杂攻击。 -
行为监控: 在与每个端点交互时,算法监控响应模式和行为以检测异常。通过观察多次交互的响应,它可以识别数据暴露、错误泄漏和权限配置错误等问题,深入了解API的安全状况。 -
风险优先级排序: Escape的DAST以分析结束,根据风险对检测到的漏洞进行排名,并根据称为Escape严重性的指标对它们进行分类。
主要发现 – 财富1000强
以下是我们在财富1000强企业中的发现:
暴露的API: 在财富1000强中发现了超过28,000个暴露的API,某些组织在单个域名中就暴露了数百个存在漏洞的端点。 严重漏洞: 财富1000强企业存在1,830个高危漏洞 开发API风险: 在财富1000强企业中,有3,650个开发API被暴露。这些经常绕过生产级安全的API可能成为未授权访问的入口点。 暴露的API密钥: 发现超过1,800个高度敏感的API密钥被暴露——包括访问令牌、API密钥和认证凭据,这显著增加了未授权访问和系统被攻破的风险。
想了解我们更深入的发现,以及一家美国跨国科技公司暴露Spring Boot Actuator的特殊案例,查看结尾完整报告。
结论
保护所有API是一项艰巨的任务。当你不知道需要保护什么、想要(不安全地)快速发布API到野外,还要大规模监控它们时,这个任务就更加困难。你的组织现在不仅面临数据泄露的风险,还要承担严重的财务影响。
我们的研究显示,财富1000强和CAC 40企业存在超过10万个漏洞,其中1,800个被列为高危漏洞,直接影响了一些全球最大的组织。
最令人震惊的发现之一是大量易受攻击的开发API被暴露,以及整体漏洞的严重程度。这凸显了每个组织面临的真实而紧迫的危险,以及在部署前后彻底测试应用程序的必要性。
各组织必须快速响应,采用最佳实践来降低风险,并集成持续的自动化应用测试。
不知道从哪里开始?进行全面的API审计,停用未使用或重复的API,重新检查暴露的API密钥。我们在报告中整理了一份全面的建议清单。
详细报告
https://escape.tech/the-state-of-api-exposure
本文来源:独眼情报,https://mp.weixin.qq.com/s/0lfspTnSE63ZU6IO_WMR0w