API是公司内部许多技术创新的基础。这些创新改善了员工和客户体验。不幸的是,数字创新和API经济的快速扩张为网络犯罪分子提供了新的利用机会。可视性成为关乎API安全的关键方面。一旦影子API或流氓API等盲点被发现,安全团队将会惊觉其系统中存在诸多以前从未意识到的漏洞。

Akamai公司最新发布的《阴影之下:揭示API威胁的攻击趋势》报告中,研究人员强调了一系列针对API的攻击(包括传统的web攻击),并按行业和地区呈现风险概况,以便组织可以更准确地评估自身面临的风险。

一、主要发现

  • 2022年Gartner预计,到2024年,API滥用和数据泄露将几乎翻一番。2023年,29%的网络攻击针对API,这表明API是网络犯罪分子锁定的重点领域。

  • 针对API的攻击包括OWASP TOP 10 API安全性和OWASP TOP 10 Web应用程序安全性中强调的风险,攻击者使用结构化查询语言注入(SQLi)和跨站脚本(XSS)等经过验证的方法渗透目标。

  • 业务逻辑滥用是一个关键问题,因为在没有为API行为建立基线的情况下,检测异常API活动是极具挑战性的。没有解决方案来监控其API活动中的异常情况的组织将面临运行时攻击的风险,例如数据抓取——一种新的数据泄露矢量,使用经过身份验证的API从内部缓慢抓取数据。

  • API是当今大多数数字化转型的核心,因此了解行业趋势和相关用例(如会员欺诈、滥用、授权和刷卡攻击)至关重要。

二、API:最大的攻击向量

按照设计,API是数据的管道。一旦攻击者通过漏洞利用或针对业务逻辑的攻击获得对API的未经授权访问,就无异于获得了数据的访问权。2022年,Gartner,到2024年,API滥用和数据泄露将几乎翻一番。快进到现在,高调的API事件比以往任何时候都更常见。事实上,去年,OWASP发布一个单独的API特定风险列表——OWASP TOP 10 API安全性——其中识别了API构成的独特威胁。

研究发现,API正成为传统攻击和API特定技术的目标。从2023年1月到12月,近30%的web攻击都是针对API的(图1)。随着对API使用需求的增加,这些攻击可能还会继续增长,除非组织适当地保护其API或考虑其环境中的所有API。要全面了解攻击面,首先要了解全面而准确的API清单。

图1:针对API的Web攻击

研究人员在全球范围内观察到一些有趣的趋势,其中欧洲、中东和非洲(EMEA)地区遭遇的针对API的网络攻击比例最高(47.5%),其次是北美(27.1%)和亚太和日本(APJ)地区(15%)。造成区域攻击差异的原因有很多,比如监管环境、地缘政治冲突、基础设施类型、访问和教育差异、商业模式和社会因素等。

1、API攻击策略

分析攻击者瞄准企业API的方式及其经常使用的攻击策略,可以揭示组织应该重点关注的防御领域。调查结果显示,在过去的12个月里,HTTP协议(HTTP)、结构化查询语言注入(SQLi)和数据收集攻击是攻击者最为青睐的一些技术(见图2)。在HTTP攻击场景中,攻击者会利用各种协议中的漏洞进行恶意攻击,例如读取敏感数据和欺骗客户端或服务器等。另一种流行的技术是活跃会话(Active Session),它适用于在该会话期间标记并阻止可疑攻击流量的任何实例。至于数据收集(Data harvest),顾名思义,指的就是集成或收集信息的攻击,攻击者可以利用这些信息进行其他后续攻击。

值得一提的是,虽然本地文件包含(Local File Inclusion,LFI)并非API的首要载体,但它仍然是一个值得关注的领域,因为它可以用来渗透预定目标;然而,仔细观察一下针对web应用程序和API的攻击分布,就会发现LFI仍然是最主要的攻击媒介之一。

图2:攻击者最青睐的一些API攻击向量

研究结果还显示,机器人请求也是一个令人担忧的领域。根据Akamai的数据,到2023年,全球近三分之一的可疑机器人请求都是针对API的。虽然不一定都是恶意的,但这些机器人请求可以用于进行凭据填充攻击和数据抓取,进而可能导致信息盗窃。

研究强调这些类型的攻击是为了指出,除了OWASP TOP 10 API安全性、访问攻击、数据滥用/抓取攻击和配置错误之外,还有许多直接攻击需要组织跟踪,并让他们的渗透测试团队和红队进行检查。

2、困扰API安全的现实问题

通过分析API活动,研究人员发现了两种截然不同的问题:态势问题和运行时问题。

  • 态势问题(Posture problem)与企业API实现中的缺陷有关。指示态势问题的警报可以帮助安全团队在攻击者利用高优先级漏洞之前识别和修复它们。

  • 运行时问题(Runtime problem)是需要紧急响应的活跃威胁或行为。虽然本质上通常是关键的,但这些警报比其他类型的安全警报更微妙,因为它们多以API滥用的形式呈现,而非更明确的基础设施破坏尝试。

3、最常见的态势问题

以下是研究人员观察到的最常见的态势问题。如果不解决,将对企业造成各种潜在影响。

  • 影子端点:影子端点是过时的或未记录的API先前版本。它们有时也被称为僵尸API、流氓API或遗留API,由于它们不受组织的标准安全控制和措施的约束,因此它们具有更高的被利用风险。

  • 未经身份验证的资源访问:未经身份验证的资源访问是指用户或系统能够在不提供任何形式的身份验证的情况下访问API资源的情况,这通常是由于API实现或配置中的缺陷造成的。尽管许多未经授权的资源是通过模糊手段处理隐藏的,但是发现它们的攻击者可能会利用它们来访问敏感数据或应用程序功能。

  • URL中的敏感数据:在某些情况下,可以在API请求的URL中观察到敏感数据,如密码、身份验证令牌、信用卡详细信息和个人身份信息(PII)。URL中的数据通常存储在可能被攻击者访问的地方(如日志和缓存),这会造成敏感数据泄露和遵从性问题等重大风险。

  • 宽松的CORS政策:在宽松的跨域资源共享(CORS)策略下,API将允许请求来自比必要范围更广泛的源(如协议、域和端口)。过于宽松的策略使攻击者更容易从不受信任的来源访问敏感资源,并且更容易执行跨站点脚本(XSS)等攻击技术。

4、常见的运行问题

以下是研究人员观察到的最常见的运行时问题及其潜在风险概况:

  • 未经身份验证的资源访问尝试:这是上一节中描述的“未经身份验证的资源访问”态势警报的衍生物,它允许攻击者在没有适当身份验证的情况下访问敏感API资源。

  • JSON属性异常:具有异常JSON有效负载(如意外数据类型、异常大小或过度复杂性)的API活动可能表明有人试图利用脆弱的API以执行各种恶意操作,例如注入攻击、拒绝服务、数据泄露或滥用API逻辑缺陷。

  • 路径参数模糊化尝试:路径参数模糊是指故意发送意外或格式错误的数据作为API请求的一部分,其重点是RESTful API用来指定某些资源或操作的URL部分。这是攻击者用来执行侦察的另一种技术,目的是发现潜在的易受攻击的API以执行数据泄露或服务中断等尝试。

  • 数据抓取:数据抓取是指以与API的预期用途和服务条款不一致的方式和数量从API中自动提取数据。攻击者通常缓慢地收集这些数据,以逃避检测并窃取知识产权,收集敏感客户数据,或获得某种利润。当它在API中未被发现时,这种低调且缓慢的数据抓取往往意味着潜在的大规模数据泄露攻击。

除了这些态势和运行时问题外,API还面临三个更普遍的挑战:

  • 可见性——您是否有流程和技术控制来确保所有API都受到合理保护?这是一个关键问题,因为API通常是转型的一部分或嵌入到新产品中,因此许多API没有与传统web存在相同级别的指导、保护和验证。

  • 漏洞——您的API是否遵循了开发的最佳实践?您是否在避免OWASP提及的最常见的编码问题?此外,您是否跟踪并检查了漏洞?

  • 业务逻辑滥用——您有设定预期流量的基线吗?您确定什么是可疑活动了吗?

总而言之,无论是对于面向客户的API还是内部API,拥有对API的可视性和调查能力并建立流程以快速缓解威胁都是至关重要的。

三、行业趋势凸显供应链攻击危险

API是组织数字化转型的核心。然而,API的存在也增加了企业的风险暴露面,并带来了重大的安全挑战。报告显示,44.2%影响商务机构的网络攻击以API为目标,其次是企业服务机构,占比31.8%(参见图3)。这种对商务的严重倾斜是由多种因素造成的,包括其生态系统的复杂性、对API的高度依赖以及存在大量机密客户信息。

图3:2023年,商务和企业服务领域遭受API攻击比例最高

值得关注的是,企业服务排名第二的一个关键因素是考虑到供应链攻击的潜在威胁。提供企业服务的第三方公司可能拥有有关其附属组织的机密信息,甚至可以访问其环境,攻击者可能将其用作通往高价值目标的途径。

仔细观察上述数据不难发现,没有哪个垂直行业能够免受API攻击。例如,医疗物联网(IoMT)的爆炸式增长和数据互操作性的努力推动了医疗保健行业的API采用率,同时也为医疗保健行业带来了重大风险。

1、案例研究

为了让您深入了解针对不同行业的攻击类型,研究人员提供了几个现实案例及其对组织和客户的实际影响。

1)商务垂直领域中的会员欺诈

欺诈者的目标是会员计划账户,因为它们包含有价值的通货(如积分、里程或信用度)可以兑换现实世界的商品或现金。研究人员在一个API上检测到一个用户访问超过五个会员账户的行为。经调查发现这些账户中的这种行为属于欺诈。大多数帐户仅由少数授权用户访问,因此访问多个帐户的用户可能暗示有滥用行为。为了帮助减少欺诈,最好理解正常行为和滥用行为之间的区别。

2)SaaS通知服务中的API滥用

研究人员在一家金融服务公司的软件即服务(SaaS)通知系统中,发现了API滥用。有效负载中的授权标头和签名丢失使得该公司无法检查谁在系统中发出请求并发送通知。因此,任何有权访问该API的人都可能滥用它向公司员工和客户发送消息。

3)潜在的BOLA攻击

研究人员在一家航空公司发现了潜在的破坏对象级别授权(BOLA)攻击,其中来自近200个IP的经过身份验证的用户模糊了{customer_id}路径参数,然后如果提供的参数有效,则返回敏感的用户信息(见图4)。由于此ID是一个简单的整数,因此模糊处理非常容易,但影响可能是破坏性的,因为它可能导致客户信息的数据泄露。据悉,目标API返回的敏感信息包括名字、中间名和姓氏,以及政府ID、国籍、居住国家和出生日期等。

图4:当攻击者试图访问其未授权访问的资源以窃取敏感数据时,就会发生BOLA攻击

4)隐藏在众目睽睽之下的刷卡攻击

在另一种情况下,一开始是异常的API流量变成了刷卡攻击(Carding attack,一种自动化或机器人驱动的网络攻击,攻击者获取被盗的信用卡号后尝试授权被盗信用卡凭据)。最初,受影响的组织认为是DDoS活动导致了API流量激增;然而,经过仔细检查发现是攻击者正在试图验证信用卡,一旦验证成功,攻击者就可以在暗网市场上出售这些号码或进行其他欺诈性交易。

2、API成为新的数据泄露载体

在大多数API环境中,存在的一个常见业务问题是在API安全程序的发现阶段检测到编程错误或配置错误。这些错误中的大多数从未被利用,但一旦安全团队获得了对API资产和每个API上运行的流量的可见性,潜在的损害将会很明显。

通常,涉及API的应用和业务流程的启动和部署速度,比安全团队评估其状态的速度要快。这似乎使错误配置和漏洞不可避免。再加上大多数组织内部缺乏API安全专业知识,这就导致下述这个令人不快的安全等式。

API安全错误的条件:

使用API快速部署关键业务流程 + 缺乏对API的可见性 = 配置错误或易受攻击的API

随着时间的推移,未知的API漏洞通常与编程错误密切相关。如今,涉及API的公开数据泄露已经司空见惯,这表明攻击者现在正在探索API资源并执行侦察以识别要利用的特定API。这种探索,加上数据抓取的自动化威胁,意味着API已经成为新的数据泄露载体。此类成功攻击的后果包括对品牌和声誉的损害,机密数据和客户信任的丢失,以及其他合规和立法问题。因此,API安全性比以往任何时候都更加重要。

API数据泄露的条件:

在生产环境中配置错误或易受攻击的API + 数据抓取自动威胁(机器人)= 持续数周或数月的低调且缓慢的数据泄露

防止API漏洞导致的数据泄露的第一个关键方面是了解您的环境,了解哪些是异常行为,哪些数据在哪些API上。这包括将所有API置于安全控制之下,并具有自动响应以缓解攻击或提醒安全运营团队。接下来,在开发过程中实践“左移”测试,以便在攻击者利用漏洞和缺陷之前及时解决它们。最后,您还需要通过模拟演习来验证预防措施和应急响应策略的有效性。

四、提高可见性:管理API资产生命周期的关键

我们已经了解缺乏API可见性所带来的危险,接下来我们将展示采用强大的API安全程序如何带来许多不同的可见性体验,具体表现如下:

  • 发现:组织内的API库存可见性;

  • 风险审计:每个发现的API的风险状态可见性;

  • 行为检测:正常使用与异常滥用的可见性,以了解每个API上的活跃威胁;

  • 调查和威胁捕获:由人类威胁猎人专家发现潜伏在API资产中的威胁的可见性。

由于API的快速部署,它们中的许多都不具备该有的网络安全成熟度。问题是许多API都有可被利用的敏感数据。为了提高可见性并改善API安全成熟度,组织可以遵循下述建议:

1. 照亮阴影

“你不能保护自己看不到的东西”这句古老的格言同样适用于今天的API。对于许多增加API活动可见性的企业来说,最大的惊喜之一是在其环境中悄悄运行的影子端点数量锐减了。发现流氓或僵尸API令安全团队倍感欣喜,因为这让之前的阴暗之处照进来光亮。通常,实现API安全成熟度的第一步是系统地发现这些影子API,并确保每个影子API要么退役,要么正式记录,并纳入组织的API安全控制。这对降低意外API滥用和其他风险具有直接影响。

2. 实现文档化

影子API得到了解决,但在合理化和组织已批准的API清单方面仍有工作要做。这包括根据广泛的类别(例如开发、测试和生产)进行分段并建立层次结构,以确保安全警报和分析具有适当的上下文,从而允许团队了解与API相关的风险。为每个API编写文档是改进可见性的下一步。文档使安全团队能够更有效地对态势警报做出反应,因为它将警报带入上下文中,并使其与他们对应用程序、API和业务流程的思考方式保持一致。

3. 强化API态势

企业接收到的初始态势和运行时警报通常会通知其API实现的一组高优先级更改。例如,安全团队通常会查看最常见的警报类型,并确定降低风险的策略和优先级。这包括纠正API代码中的缺陷、解决错误配置问题,以及根据吸取的教训实现防止未来漏洞的流程。这可以帮助确定渗透测试验证计划的优先级,并可以告知管理层必要的编码最佳实践,以避免潜在的漏洞。

4. 加强威胁检测和响应

虽然前三个步骤通常会导致API安全警报总数的总体下降趋势,但随着时间的推移,我们通常会看到偶尔的高峰。这些可能是由内部驱动的因素引起的,例如业务模型的广泛更改、新功能的获取,或者引入新漏洞或流氓系统的API足迹的添加。峰值也可能由外部因素引起,包括来自对手的攻击企图。最明智的组织会为这些峰值制定计划,并在它们发生时制定明确的响应程序,将风险和警报量降至正常水平。他们还将采取措施,不断加快响应、调查、遏制和从活跃API威胁中恢复所需的时间。这可能需要基于API环境的新技能。

5. 发展更强大的进攻性方法

随着组织改进其防御性API安全措施,下一阶段是用进攻性方法来补充防御措施,以发现和缓解API威胁。这包括建立一个正式的API威胁搜索规则和节奏,目标是在它们升级为反应性场景之前尽早识别可能的威胁。这可能极具挑战性,因为它需要高度专业化的人才以及将资源从中断驱动的任务中隔离出来的能力。出于这个原因,一些企业会聘请专门的第三方服务提供商来提供这一重要功能。

作者:本文由虎符智库小编编译

声明:本文来自虎符智库,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。