该漏洞CVE-2021-44228名为Log4Shell,可被威胁行为者利用特制字符串在受影响的应用程序和服务上远程执行代码,Log4j 2.14.1及更早版本受到不同程度的影响。此外,在Log4j 2.15.0版本中发现了第二个漏洞CVE-2021-45046,可以启用拒绝服务攻击。CVE-2021-44228的修复在某些非默认配置中是不完整的。攻击者可使用JDNI查找模式使用恶意输入数据来导致拒绝服务条件。Apache已在2.16.0和2.12.2版本中修复了相关漏洞。该漏洞的PoC已在网络上共享,因此受到影响的组织应立即修复此漏洞。

此漏洞很容易被利用,研究人员已经在野外发现了对Log4j漏洞的尝试和成功利用,包括:加密货币矿工Kinsing及XMRig;僵尸网络Mirai、Muhstik和Elknot;勒索软件Khonsari;远程访问木马Orcus;甚至APT组织等。

一、Log4j漏洞对OT网络的影响

此类跨领域漏洞与供应商无关,会影响专有软件和开源软件,这将使得众多行业面临远程攻击,包括电力、水、食品和饮料、制造业、运输等。Log4j存在于许多工业应用程序中使用的流行开源存储库中,例如过程控制中的对象链接和嵌入(OPC)统一架构(UA)Java Legacy。此外,攻击者可以在其代码库中使用Java的专有监督控制和数据采集(SCADA)和能源管理系统(EMS)中利用此漏洞。

主要OT供应商已开始披露此漏洞对其软件和设备的影响,随着供应商努力确定其产品线中Log4j的使用情况,将继续披露更多。不幸的是,Log4j漏洞的性质使得识别给定网络上可能受影响的服务器具有挑战性。虽然用Java编写的面向网络的服务最明显面临风险,但该漏洞在技术上可以影响处理和记录用户提供的数据的任何服务器,包括后端资源。

易受攻击的Log4j代码允许攻击者使用特殊构造的数据请求包实现远程代码执行。Log4j的Java命名和目录接口(JNDI)查找功能允许通过JNDI检索变量,因此当创建新的日志条目并且Log4j遇到JNDI引用时,它会尝试连接到(攻击者控制的)提供的资源以获取解决变量所需的任何内容。攻击者可以使用任何协议将包含恶意JNDI引用的数据发送到服务器,当Log4j评估该协议时时,会触发漏洞

二、Log4j漏洞很容易被利用

攻击者可以轻松的注入恶意字符串,从远程服务器执行代码的,因此该漏洞很容易被利用。Log4j支持的Java查找机制包括Java命名和目录接口(JNDI)、DNS和RMI等。查找检查${expression}语法,找到表达式的值并替换它。

攻击者可以通过HTTP请求注入将由Log4j记录和执行的JNDI表达式。例如,如果日志包含${expression}字符串,则查找方法将查找并执行它。能够发送恶意请求的攻击者可以强制Log4j从攻击者控制的LDAP服务器下载恶意Java类,并从攻击者的站点执行恶意代码。

轻量级目录访问协议(LDAP)攻击向量获得了最初的大部分关注,但研究人员也观察到了使用域名系统(DNS)和远程方法调用(RMI)的攻击企图,以及潜在的协议和漏洞利用方法将继续增长。

对于包含稳健分段的OT网络,这些协议的风险将在一定程度上得到缓解。然而,配置用于远程访问的OT元素(如SCADA/EMS等)可能会利用LDAP进行密码管理,因此容易受到攻击,特别是被在网络中横向移动的攻击者利用。与业务信息技术(IT)网络隔离较弱的OT网络将受此漏洞的影响最大,甚至利用其它协议启用攻击。

嵌套和混淆的有效载荷避免了Web应用程序防火墙,这是攻击者战术、技术和程序(TTP)早期创新的一个很好的例子。如果使用JNDI的配置使用Log4j 1.x的应用程序可能会受到影响,目前研究人员尚未观察到任何攻击者主动利用此漏洞。需要注意的是,任何仍在使用Log4x 1.x的项目都在运行一个已弃用且不受支持的版本,该版本可能包含其他已知漏洞。

研究人员认为,随着网络防御者关闭更简单的漏洞利用路径,以及高级攻击者将漏洞纳入其攻击中,Log4j漏洞利用的更复杂变体将出现,并且更有可能直接影响OT网络。

三、受影响的ICS供应商

Log4j是一种日志记录工具,用于跨行业OT网络中的大量应用程序。多家工业控制系统制造商已经开始修补其产品,并敦促用户进行更新,从而提高了及时解决此问题的紧迫性。

1、西门子

西门子目前确认其17款产品受到该漏洞影响,然而还有更多产品仍在分析中。西门子已开始发布补丁,并提供缓解建议。

确认受影响的产品包括:E-Car OC、EnergyIP、Geolus、Industrial Edge Management、Logo!Soft Comfort、Mendix、MindSphere、Operation Scheduler、Siguard DSA、Simatic WinCC、SiPass、Siveillance、Solid Edge和Spectrum Power。

2、施耐德

施耐德电气也发布了一份公告,其仍在努力确定哪些产品受到影响。与此同时,施耐德共享了一般缓解措施,以降低攻击风险。

3、霍尼韦尔

霍尼韦尔发布了相关声明,正在评估其产品和服务是否受到该漏洞影响,并将采取一切适当措施确保产品及服务的完整性。

4、Inductive Automation

SCADA软件和工业自动化解决方案提供商Inductive Automation已经进行了全面审计,并确定其产品不受影响。

5、Prosys

OPC软件和服务供应商Prosys确认其OPC UA模拟服务器、Modbus服务器、Historian、浏览器和监视器产品受该漏洞影响。



四、缓解措施

几十年来,Log4j一直是企业Java开发中无处不在的日志记录解决方案,因此Log4j有可能成为工业控制系统(ICS)环境中未来几年内持续存在的漏洞。在ICS环境中,预计OT运营商在努力缓解Log4j漏洞时将面临三种情况之一。

1、软件供应商积极支持

由于Log4j通常是基于Java的ICS硬件和软件的嵌入式组件,因此OT运营商必须依靠其供应商为受影响的软件产品提供补丁。此外需要注意的是,Log4j在基于Java的软件或硬件解决方案中的存在并不一定意味着是可利用的。

2、软件供应商不再支持

随着在ICS环境中使用的硬件和软件更新周期延长,经常会发现ICS产品不再受到有效支持,或其软件供应商不再存在。在这些情况下,可能无法进行补救,但可以采取措施降低风险。

维护者应权衡这些缓解措施与可能造成的意外影响,并且应在生产环境中运行缓解措施前进行测试。由于没有任何Java软件解决方案是相同的,因此不能保证这些缓解措施不会对Java应用程序产生负面影响。

首先需要确定不受支持的应用程序是否使用Log4j类。

① 如果主机系统是基于Linux的,可以运行以下一个或多个命令来检测Log4j的存在。这些命令无法在VM、Docker容器或Kubernetes容器中进行搜索,需要分别询问虚拟机和容器。

dpkg -l | grep liblog4j

dpkg -l | grep log4

find / -name log4j-core-*.jar

locate log4j|grep -v log4js

② 在Windows上可以运行以下命令来查找Log4j:

dir c: /S /b | findstr /C:"log4"

在Java项目中,可以在另一个Jar文件中嵌入一个Jar文件,例如Log4j。因此,Log4j jar文件也可能存在于更大的Jar文件中。Jar文件只是一个包含各种Java项目文件的zip文件。

如果无法升级到2.15.0版本:

① 在>=2.10的版本中,可以通过将系统属性log4j2.formatMsgNoLookups或环境变量LOG4j_FORMAT_MSG_NO_LOOKUPS设置为true来缓解此行为。

② 在>=2.7和<=2.14.1的版本中,< strong="">可以修改所有PatternLayout模式,以将消息转换器指定为%m{nolookups},而不仅仅是%m。

③ 在>=2.0-beta9和<=2.10.0的版本中,< strong="">缓解措施是从类路径中删除JndiLookup类:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

3、公司内部开发

组织内部创建的Java软件解决方案可以通过将Log4j 2.x升级到2.15.0(需要Java 8)来缓解。启用此漏洞的Log4j功能是Log4j允许在日志消息中查找。从Log4j 2.15.0开始,此功能现在默认禁用。虽然Log4j提供了以这种方式启用查找的选项,但强烈建议用户不要启用它。

  

参考资源:

【1】https://www.dragos.com/blog/industry-news/implications-of-log4j-vulnerability-for-ot-networks/

【2】https://claroty.com/2021/12/14/blog-research-what-you-need-to-know-about-the-log4j-zero-day-vulnerability/

【3】https://www.securityweek.com/industrial-organizations-targeted-log4shell-attacks

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