近日,Akamai发布了《应用程序和API安全研究报告》,揭示了新兴的应用程序和API攻击形势,以更好地评估不断发展的TTP,并讨论了最新的保护技术。

漏洞之年

像Log4Shell和Spring4Shell这样的关键漏洞揭示了web应用程序和API存在的严重风险,以及它们作为威胁表面的重要性。随着组织继续采用更多的web应用程序来增强整体业务运营,每家公司平均使用1061个应用程序,这种攻击面还在继续扩大。随着新兴的零日漏洞数量在现有的安全漏洞之上进一步加速,组织比以往任何时候都更需要应用程序安全性来保护他们的机密数据和边界。

2022年是应用程序和API攻击创纪录的一年。2021年底,在Log4Shell漏洞爆发之后,组织发现自己还处于其他重大漏洞威胁之下,包括Atlassian Confluence漏洞(CVE-2022-26134)、 ProxyNotShell漏洞(CVE-2022-41040)以及Spring4Shell/SpringShell(CVE-202222965)等等。API漏洞利用的数量正在上升,即将发布的OWASP API安全性Top 10版本中也包含了API漏洞,这表明人们的关注点转向了更多的API安全风险。除了攻击的频率激增之外,它们的复杂性也在增长——攻击对手正在不断进化,寻找创新的方法来利用这一不断增长的攻击面。例如,攻击者组织使用web shell针对美国国防和教育部门等特定目标发起高度针对性的攻击。

此外,服务器端模板注入(SSTIs)和服务器端代码注入也会造成严重的业务威胁,因为它们可能导致远程代码执行(RCE)和数据泄露。最近的一个例子是在VMware Workspace ONE Access and Identity Manager中发现的RCE漏洞(CVE-2022-22954)。由于各种原因,从挑战到检测再到影响(攻击可能导致攻击者访问敏感数据),破损的对象级授权(BOLA)是API威胁领域中最受关注的问题。随着非传统媒介使用量的增加,组织必须在应用程序和API领域加强防御。

在本期的互联网/安全状况(SOTI)报告中,我们继续研究在web应用程序和API中观察到的一系列攻击,它们对组织的影响,以及漏洞在API环境中的表现。我们的目标是证明web应用程序和API攻击所带来的危险,并就如何成功地保护组织网络免受此类攻击提出建议。

重点发现

服务器端请求伪造(SSRF)攻击是一种新兴的攻击媒介,对组织构成严重威胁。在2022年,Akamai观察到每天平均有1400万次针对客户web应用程序和API的SSRF尝试,这些尝试可以访问内部资源;

像Log4Shell这样的开源软件中的漏洞变得越来越普遍,允许RCE的SSTI技术也是如此。我们预计这些攻击在未来几年将继续增长,并建议组织对其进行保护;

由于物联网(IoT)连接的激增以及从该行业设备收集的大量数据,2022年针对制造业的攻击中位数增长了76%。针对该行业运营技术(OT)的成功网络攻击会对供应链等现实世界问题产生影响;

医疗行业加速采用医疗物联网(IoM)扩大了这一垂直领域的攻击面,并可能通过其漏洞导致攻击。2022年,针对该行业的攻击中位数增长了82%;

最新版OWASP API安全性TOP 10强调了web应用程序和API之间攻击向量的差异;

针对API业务逻辑的API攻击很难检测和缓解,并且无法在单个请求级别确定。需要既存的知识,例如特定的业务逻辑和每个用户可访问的资源。

Web应用程序和API流量分析

Web应用程序凭借其可访问性、效率和可扩展性已经成为业务的一个关键方面,为企业带来了更多的收入。而对于网络犯罪分子来说,他们总是跟踪资金的流向,寻找可以利用的机会来实现他们的最终目标。Akamai监测到这些攻击的大规模增长态势。

【Web应用程序攻击呈现上升趋势,其间有几个峰值,可能表明零星的攻击活动】

然而,这并非Akamai第一次看到web应用程序和API攻击的激增。Web应用程序和API攻击的激增可以追溯到Log4Shell和Spring4Shell等关键漏洞出现之前,这些漏洞导致了全球各行各业爆发大规模数据泄露事件。此外,这些漏洞进一步说明了应用程序安全性的重要性,因为它们增加了组织的风险暴露。

这一增长可归因于两个重要因素。首先,随着越来越多的组织依赖于应用程序和API来增强客户体验并推动业务,应用程序开发生命周期需要在生产环境中创建和部署这些应用程序的更快周转,这可能导致缺乏安全代码。在ESG的调查中,48%的组织表示,由于时间限制,他们将易受攻击的应用程序发布到生产环境中,从而使他们的网络处于危险之中。

其次,漏洞的数量正在上升,在面向互联网的应用程序中,有十分之一的漏洞属于高危或关键类别。此外,在2018-2020年期间,Log4Shell等开源漏洞的数量翻了一番。我们的金融服务报告《门口的敌人:对金融服务的攻击分析》强调,在信息披露后的24小时内,我们开始看到针对新披露漏洞的利用尝试。

而推动Web应用程序和API攻击增长最快的媒介是本地文件包含(Local File Inclusion,LFI)漏洞,攻击者主要使用它来侦察或扫描易受攻击的目标。在某些情况下,利用LFI漏洞可能会暴露有关任何应用程序的信息,并导致目录遍历攻击,使攻击者能够获取日志文件数据,从而帮助他们破坏网络的更深层部分。

面对不断加速和增强的攻击,在完成内部分段和修补之余,拥有边缘能力来阻止它们同样至关重要。面对如此多的应用程序,组织也需要一份完善的清单,了解企业的攻击面以及映射到它们的安全控制是至关重要的。许多组织现在正在构建“软件材料清单”(SBOM),以准确分析任何零日漏洞的潜在影响。接下来,组织还需要像Web应用程序和API保护(WAAP)之类的工具,以便在新的攻击变体发布时,它们能够实时更新以应对新的威胁。最后,组织需要流程来验证部署的防御机制,包括渗透测试和日志分析。

2023年需要注意的攻击媒介

检查任何可能影响组织的新媒介也是至关重要的。了解这些新的载体可以更好地为未来的攻击面做好准备。

【当攻击者寻找渗透目标的方法时,LFI仍然是最主要的攻击媒介】

上图显示,LFI攻击呈大幅上升趋势,同比增长193%,比2021年增长了3倍,超过了之前的主要攻击媒介——跨站脚本(XSS)和SQL注入(SQLi)。LFI攻击的影响可能对组织有害——攻击者利用LFI在目标网络中获得立足点,或通过RCE向web服务器注入恶意代码,从而危及其安全性。在最坏的情况下,LFI攻击可能会将敏感信息暴露给攻击者。注意:LFI的增加意味着攻击者已经成功地使用了它,所以组织应该优先考虑测试,看看自己是否容易受到攻击。

当文件访问验证或处理中的漏洞被利用时,就会发生LFI攻击。基于PHP的网站通常被发现有LFI漏洞,10个网站中有8个在服务器端运行这种编程语言。我们年复一年地看到攻击事件的爆发,这也就不足为奇了。

类似地,XSS允许攻击者在目标的网络中获得立足点,而非访问数据库。几年前,SQLi是Web应用程序和API攻击的主要攻击向量,并且是2021年OWASP列表中排名前三的Web应用程序攻击之一。成功的SQLi攻击通常会导致攻击者访问公司的机密信息,如客户数据。

组织需要警惕这些流行攻击媒介的可能后果,以及攻击者如何使用它们。检查任何即将出现的攻击媒介及其对组织的潜在影响至关重要。建议组织使用诸如零信任分段这样的框架来最小化成功获得访问的LFI攻击的影响,并结合MITRE ATT&CK的网络杀伤链来分析和衡量程序的成熟度。

随着漏洞被越来越频繁地利用,攻击者正在不断发展他们的战术、技术和程序(TTPs),以提高其影响力。研究人员分析了过去一年中遇到的一些新颖的、即将出现的、高度危险的攻击技术。这些攻击越来越流行,组织在为未来的安全做好准备时,必须意识到这一点。希望组织提高对下述媒介的认识,以便及时制定缓解策略,并为下一个Log4Shell或下一个突出的攻击媒介做好准备。这些攻击技术包括:

  • 服务器端请求伪造(SSRF);
  • 服务器端模板注入(SSTI);
  • 服务器端代码注入;

警惕安全缺口:对API攻击的研究强调了风险

在OWASP候选发行版(草案)中包含API攻击,这是向API特定方向迈出的一步,摆脱了对应用程序的严重关注,并强调了API威胁的独特性质。关于API的本质,需要记住的一件重要事情是,保护它们具有挑战性,针对它们的攻击可能很复杂。充分的保护需要理解API内部的业务逻辑,因为它们是特定于客户的,而安全解决方案可能需要更高的计算产品。

【新提出的十大攻击包括更多特定于API的攻击,并强调授权问题(前五大攻击中的四个)】

OWASP强调了API安全性的几个关键思想,包括第三方和内部服务不应该被信任;云环境、容器和Kubernetes是API安全的一部分(在较高级别),并在url传递的高风险(SSRF)中发挥作用。

破损对象级别授权(BOLA)

BOLA是OWASP API安全性top10中排名第一的API漏洞。BOLA被认为是一种高风险攻击。当被成功利用时,它允许访问其他用户的信息,例如存储的个人身份信息。这种攻击与应用程序逻辑中的缺陷有关,不像破解加密或设置自动/编程攻击(如分布式拒绝服务和凭证填充)等技术性更强的攻击。

尽管利用起来相对简单,但检测起来却很困难。BOLA请求类似于合法流量,因此很难将其与恶意请求区分开来。检测BOLA攻击需要预先了解应用程序的业务逻辑和每个用户可访问的资源。检测逻辑必须区分资源和用户之间的1对1连接和1对多连接。事件后的BOLA攻击很难被发现,因为它没有显示出任何行为异常的强烈迹象,例如注入或拒绝服务。

保护组织免遭API风险 

编码中的一个简单错误可能成为攻击者在企业网络中立足的途径。应用程序和API中的漏洞为攻击者提供了入侵的机会,这些攻击者正在寻找突破组织边界、在组织网络中传播并获取机密信息的方法。由于web应用程序和API仍然是组织必须防御的关键威胁表面,及时修补安全漏洞对于降低风险至关重要。

Web应用程序和API解决方案可以通过阻止请求或流量到达目标应用程序来阻止攻击。确保安全措施到位,例如更新的web应用程序防火墙规则。了解应用程序和API攻击的工作原理,包括LFI、SQLi和XSS之外的趋势向量,可以为防御者提供所需的知识,以保护组织免受类似Log4Shell的攻击。

对于特定于API的风险,以下是一些建议:

  • 在使用令牌之前使用预定义的算法验证令牌;
  • 为每个身份验证环境(和不同的应用程序)使用单独的私钥;
  • 使用非对称算法(如果计算合理),使用长且高熵的私钥;
  • 为kid参数(如果正在使用)使用一个生成的唯一标识符;
  • 避免泄露有效载荷上的敏感数据,将其保存在数据库中;
  • 记录和监控JWT违规行为,以备以后检查;

为了降低BOLA攻击带来的风险,以下是一些最佳实践:

  • 实现API的授权检查,使用客户端输入来检查当前用户是否可以访问请求的资源;
  • 对资源ID使用通用唯一标识符(uuid);
  • 编写并运行测试来评估API端点是否存在BOLA漏洞。

跨行业的web应用程序和API攻击的急剧增加表明,随着企业继续接受更多的“左移”并开发更多的应用程序,每个人都会在或将在某些时候受到这些攻击的影响。