【第四次通告更新】Apache Log4j “毒日志”漏洞最全解决方案
2021-12-11 01:47:30 Author: mp.weixin.qq.com(查看原文) 阅读量:206 收藏

奇安信CERT

致力于第一时间为企业级用户提供安全风险通告有效解决方案。

风险通告

近日,奇安信CERT监测到Apache Log4j存在任意代码执行漏洞(CVE-2021-44228),经过分析,该组件存在Java JNDI注入漏洞,当程序将用户输入的数据进行日志,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。

经奇安信CERT验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等众多组件与大型应用均受影响,鉴于此漏洞危害巨大,利用门槛极低,奇安信CERT建议用户尽快参考缓解方案阻止漏洞攻击。

鉴于漏洞严重性,需要一个独特的名字标记,我们将其命名为“Poisoned Log”(毒日志)漏洞。

本次更新内容:

新增产品线解决方案;

更新处置建议;

更新漏洞描述(新增CVE编号及漏洞命名);

新增资产测绘。

当前漏洞状态

细节是否公开

PoC状态

EXP状态

在野利用

已公开

已公开

已发现


漏洞描述

Apache Log4j是Apache的一个开源项目,Apache log4j2是Log4j的升级版本,我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。

近日,奇安信CERT监测到Apache Log4j存在任意代码执行漏洞(CVE-2021-44228),经过分析,该组件存在Java JNDI注入漏洞,当程序将用户输入的数据进行日志,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。

经奇安信CERT验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等众多组件与大型应用均受影响,鉴于此漏洞危害巨大,利用门槛低,奇安信CERT建议用户尽快参考缓解方案阻止漏洞攻击。

鉴于漏洞严重性,需要一个独特的名字标记,我们将其命名为“Poisoned Log”(毒日志)漏洞。

CVE-2021-44228 Apache Log4j 任意代码执行漏洞

漏洞名称

Apache Log4j 任意代码执行漏洞

漏洞类型

代码执行

风险等级

紧急

漏洞ID

CVE-2021-44228

公开状态

已公开

在野利用

已发现

漏洞描述

Apache Log4j 是   Apache 的一个开源项目,通过定义每一条日志信息的级别,能够更加细致地控制日志生成过程。经过分析,Log4j2中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。

参考链接

https://github.com/apache/logging-log4j2

奇安信 CERT 第一时间分析并复现了该漏洞,复现截图如下:

使用Apache log4j全球地区分布如下:

以上数据来自奇安信全球鹰网络空间测绘搜索平台(HUNTER)。

风险等级

奇安信 CERT风险评级为:高危
风险等级:黄色(较大事件)

影响范围

Apache Log4j 2.x < 2.15.0-rc2

处置建议

1. 漏洞排查

排查应用是否引入了Apache Log4j2 Jar包,若存在依赖引入,则可能存在漏洞影响。
  • 相关用户可根据Java JAR解压后是否存在org/apache/logging/log4j相关路径结构,判断是否使用了存在漏洞的组件,若存在相关Java程序包,则极可能存在该漏洞。

  • 若程序使用Maven打包,查看项目的pom.xml文件中是否存在如下图所示的相关字段,若版本号为小于2.15.0-rc2(测试版本)或2.15.0(稳定版本),则存在该漏洞。

  • 若程序使用gradle打包,查看build.gradle编译配置文件,若在dependencies部分存在org.apache.logging.log4j相关字段,且版本号小于2.15.0-rc2(测试版本)或2.15.0(稳定版本),则存在该漏洞。

2.攻击排查
  1. 攻击者在利用前通常采用dnslog方式进行扫描、探测,对于常见利用方式可通过应用系统报错日志中的"javax.naming.CommunicationException"、"javax.naming.NamingException: problem generating object using object factory"、"Error looking up JNDI resource"关键字进行排查。

  2. 流量排查:攻击者的数据包中可能存在:“${jndi:rmi”、“${jndi:ldap”字样,推荐使用奇安信网神网站应用安全云防护系统全流量或WAF设备进行检索排查。

3.修复建议
  1. 升级到最新版本:

    目前官方已推出最新Apache log4j 2.15.0版本,可从地址中下载升级:https://logging.apache.org/log4j/2.x/download.html

  2. 缓解措施:

(1)添加jvm启动参数 -Dlog4j2.formatMsgNoLookups=true    

(2)在应用程序的classpath下添加log4j2.component.properties配置文件文件,文件内容:log4j2.formatMsgNoLookups=True

(3)移除log4j-core包中JndiLookup 类文件,并重启服务

具体命令:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

(4)建议JDK使用11.0.1、8u191、7u201、6u211及以上的高版本

(5)限制受影响应用对外访问互联网

(6)禁用JNDI。如在spring.properties里添加spring.jndi.ignore=true

(7)采用其他防护措施,更新WAF、RASP规则等

经测试,前两项缓解措施在Apache log4j 2.10.0以下版本中无效,可采取第三项措施缓解此漏洞。

目前官方发布的Apache log4j 2.15.0稳定版本及log4j-2.15.0-rc2测试版本已修复该漏洞。在Apache log4j 2.15.0-rc1版本中由于log4j2.formatMsgNoLookups已默认设置为true,故在没有更改默认配置的情况下,log4j 2.15.0-rc1版本不受该漏洞影响。

产品解决方案

奇安信网站应用安全云防护系统已更新防护特征库

奇安信网神网站应用安全云防护系统面支持对Apache Log4j任意代码执行漏洞的防护。

奇安信网神智慧防火墙产品防护方案

奇安信新一代智慧防火墙(NSG3000/5000/7000/9000系列),已通过更新IPS特征库完成了对该漏洞的防护。建议用户尽快将IPS特征库升级至” 2112101240” 或“2112101243”(根据防火墙版本选择对应的库版本)及以上版本并启用规则ID: 4347001/4347002/4347003进行检测。

奇安信开源卫士已更新

奇安信开源卫士20211209.909版本已支持对Apache Log4j 任意代码执行漏洞的检测。

奇安信网神统一服务器安全管理平台更新入侵防御规则库

奇安信网神虚拟化安全轻代理版本将于12月10日发布入侵防御规则库2021.12.10版本,支持对Log4j2 代码执行漏洞的防护,届时请用户联系技术支持人员获取规则升级包对轻代理版本进行升级。
奇安信网神统一服务器安全管理平台将于12月10日发布入侵防御规则库10525版本,支持对Log4j2 代码执行漏洞的防护,届时请用户联系技术支持人员获取规则升级包对融合版本进行升级。

奇安信天眼检测方案

奇安信天眼新一代安全感知系统已经能够有效检测针对该漏洞的攻击,请将规则版本升级到3.0.1210.13146或以上版本。规则ID及规则名称:0x10020E2E,Apache Log4j 远程代码执行漏洞;0x5e0, Apache Log4j 远程代码执行漏洞。奇安信天眼流量探针规则升级方法:系统配置->设备升级->规则升级,选择“网络升级”或“本地升级”。

奇安信椒图服务器安全管理系统防护方案

方案一:奇安信椒图服务器安全管理系统可通过RASP高级防护功能直接防护该0DAY漏洞,无需更新规则,通过安装RASP插件,在Agent管理-功能设置-高级防护功能,进行监控或者防护阻断。
方案二:对于无法部署RASP插件的用户,同时加入了虚拟补丁防护规则,可通过安装WAF插件后,在Agent管理-功能设置-虚拟补丁功能开启监控或者防护模式。规则ID:364规则名称:Log4j2 任意代码执行漏洞。

奇安信态势感知与安全运营平台(NGSOC)检测方案

奇安信NGSOC已具备该漏洞的监测能力,规则名为:预置-网络探针检测到代码执行事件,所有版本均无需升级规则库即可支持。但需要将NGSOC流量传感器的IPS规则库升级至2112100956或以上版本。

奇安信网神网络数据传感器系统产品检测方案

奇安信网神网络数据传感器已具备该漏洞的检测能力。规则ID为:7124 ,建议用户尽快升级检测规则库至最新版本并启用该检测规则。

奇安信天擎终端安全管理系统

奇安信天擎终端安全管理系统解决方案:目前针对Apache Log4j2 远程代码执行漏洞,攻击者可利用此漏洞实现无文件攻击,利用系统程序进行后续的payload下载动作和恶意代码执行。天擎对此类攻击已全面防御,V6和V10版本均支持拦截。
针对最新漏洞利用样本的扫描以及实时防护检出
检出病毒名:Exploit.Java.Log4j2.A(最后一位会变化)
奇安信病毒分析团队与威胁情报中心在密切监控利用此漏洞的恶意攻击程序,一旦发现会立即在云端置黑,直连公有云鉴定中心的客户可以在第一时间查杀利用此漏洞的攻击样本。可以连接互联网的终端可以将云查模式修改成”直接连接公有云鉴定中心”(设置方式见图2/图4),即可实时检出,得到更快的响应效果。

对于无法连接公有云的终端,请保持病毒更新最新版本(可将病毒库更新设置为小时级),后续新发现的漏洞利用样本我们会及时更新到病毒库中并发布。

图1 服务器升级配置

后续可以通过搜索病毒日志,根据病毒名搜索是否有Exploit.Java.Log4j2相关类样本检出。
二、针对漏洞攻击行为已经支持拦截
针对可以连接互联网的终端,将云查模式修改为“直接连接公有云鉴定中心”即可实现对该漏洞的拦截。
1、天擎V10版本拦截效果:

直接连接公有云配置:

图2 天擎V10公有云鉴定中心配置

拦截效果如下:

图3 天擎V10拦截效果

2、天擎V6版本拦截设置以及效果:

直接连接公有云配置:

图4 天擎V6公有云鉴定中心配置

拦截效果如下:

图5 天擎V6拦截效果

奇安信天问软件供应链安全分析系统

奇安信天问软件供应链安全分析系统已全面支持Apache Log4j任意代码执行漏洞的检测,用户可以通过将待测的二进制软件上传到天问平台,查看漏洞检测结果,检查是否受漏洞影响。同时,天问平台还提供离线分析工具,可以使用工具离线分析待测软件生成分析日志,然后将分析日志上传到天问平台查询待测软件的检测结果。

奇安信NGSOC检测方案

奇安信NGSOC已具备该漏洞的检测能力,规则名为:预置-网络探针检测到代码执行事件,所有版本均无需升级规则库即可支持。但需要将NGSOC流量传感器的IPS规则库升级至2112100956或以上版本。

参考资料

[1]https://github.com/apache/logging-log4j2

[2]https://github.com/apache/logging-log4j2/commit/7fe72d6

时间线

2021年12月09日,奇安信 CERT发布安全风险通告

2021年12月10日,奇安信 CERT发布安全风险通告第二次更新

2021年12月10日,奇安信 CERT发布安全风险通告第三次更新

2021年12月11日,奇安信 CERT发布安全风险通告第四次更新

点击阅读原文

到奇安信NOX-安全监测平台查询更多漏洞详情


文章来源: http://mp.weixin.qq.com/s?__biz=MzI2MDc2MDA4OA==&mid=2247498019&idx=1&sn=e9adf5c9f9604e85e9629a01fc64e1e6&chksm=ea660e54dd11874234cb2e91a8f0159b39752d831120ef5f04442333567998f322626bc6e841#rd
如有侵权请联系:admin#unsafe.sh