近日, Apache Log4j2 的远程代码执行漏洞细节被公开,该漏洞一旦被攻击者利用会造成严重危害。经过快速分析和确认,该漏洞影响范围极其广泛,危害极其严重,我们建议企业第一时间启动应急响应进行修复。此外,经过我们复现和验证,TDP 基于其自研的通用漏洞检测引擎,已于数月前支持对此次最新漏洞的检测,无需任何更新:
02 漏洞概况
Apache Log4j2 是一款开源的 Java 日志记录工具,大量的业务框架都使用了该组件。此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。漏洞复现如图所示:
此次受影响版本如下:
Log4j2 版本 |
是否受影响 |
2.x<=2.14.1 |
是 |
可能的受影响应用包括但不限于如下:
- Spring-Boot-strater-log4j2
- Apache Struts2
- Apache Solr
- Apache Flink
- Apache Druid
- ElasticSearch
- flume
- dubbo
- Redis
- logstash
- kafka
(1) 修改 jvm 参数 -Dlog4j2.formatMsgNoLookups=true(2) 修改配置 log4j2.formatMsgNoLookups=True
(3) 将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true
(1)由于攻击者在攻击过程中可能使用 DNSLog 进行漏洞探测,建议企业可以通过流量监测设备监控是否有相关 DNSLog 域名的请求,微步在线的 OneDNS 也已经识别主流 DNSLog 域名并支持拦截。
(2)根据目前微步在线对于此类漏洞的研究积累,我们建议企业可以通过监测相关流量或者日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。
3、修复方案:
检查所有使用了 Log4j2 组件的系统,官方修复链接如下:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
2021.07 微步 TDP 支持 JNDI 命令注入漏洞检测 2021.12.09 漏洞细节被公开
> 原文: 微步在线研究响应中心:https://mp.weixin.qq.com/s/87F_QP0WXv71hMZ5WlfBdQ