Apache Log4j2漏洞的爆炸力

简介: 2021年12月10日,国家信息安全漏洞共享平台(CNVD)收录了Apache Log4j2远程代码执行漏洞,编号CVE-2021-44228。蚂蚁切面安全RASP天然具备对Log4j漏洞的防护能力,因为RASP是在应用程序内部hook关键函数,只关注执行动作,只要部署了RASP的应用可不依赖外界而具备自我保护能力,即:RASP本身对攻击者执行敏感路径下文件的读取/修改、发外链等动作已具备拦截能力,攻击者无法对应用造成太多高危破坏性攻击。

2021年12月10日,国家信息安全漏洞共享平台(CNVD)收录了Apache Log4j2远程代码执行漏洞,编号CVE-2021-44228。

【漏洞描述】
Apache Log4j2是一款开源的Java日志记录工具,该工具重写了Log4j框架,并引入了大量丰富特性,可控制日志信息输送的目的地为控制台、文件、GUI组件等,在国内外应用非常广泛。

12月10日凌晨,Apache开源项目Apache Log4j 2被曝出远程代码执行漏洞,其存在JNDI注入漏洞,攻击者利用该漏洞,通过构造恶意请求在目标服务器上执行任意代码,导致服务器被攻击者控制,从而进行页面篡改、盗取数据等行为,危害性极高,几乎所有行业都受到该漏洞影响。

3.png

【验证等级】
CNVD综合评级为“高危”

【影响范围】
Java类产品:Apache Log4j 2.x < 2.15.0-rc2

【修复建议】
目前漏洞POC已被公开,官方已发布安全版本,若是使用Java开发语言的系统需要尽快确认是否使用Apache Log4j 2插件,并尽快升级到最新版本。

时间点:
2021年12月7日,Apache官方发布log4j-2.15.0-rc1
2021年12月10日,Apache官方发布log4j-2.15.0-rc2
2021年12月11日,Apache官方发布log4j-2.15.0(同log4j-2.15.0-rc2)
2021年12月13日,Apache官方发布log4j-2.16.0-rc1

地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

蚂蚁切面安全RASP应急止血方案

【RASP详细分析】
蚂蚁切面安全RASP天然具备对Log4j漏洞的防护能力,因为RASP是在应用程序内部hook关键函数,只关注执行动作,只要部署了RASP的应用可不依赖外界而具备自我保护能力,即:RASP本身对攻击者执行敏感路径下文件的读取/修改、发外链等动作已具备拦截能力,攻击者无法对应用造成太多高危破坏性攻击。

蚂蚁切面安全RASP针对Log4j漏洞在高维程度仍做了应急措施,分为3个阶段:
第1阶段:无攻击poc时,基于猜测的方案都未采用

  1. 从网络相关的注入点入手,通过检查是否包含log4j相关的堆栈来进行拦截。缺点:常规网络请求都会经过此注入点,需获取堆栈匹配,性能影响非常大。
  2. 从 JNDI 关键底层方法,通过检查是否包含log4j相关的堆栈来进行拦截。缺点:需获取堆栈匹配,影响应用正常使用 JNDI 能力,有一定性能影响。

第2阶段:拿到poc后,迅速制定和验证止血策略,确定RASP参战
由于JNDI对log4j来说是以插件形式存在,所以有统一的执行入口,由堆栈图可知RASP可以从几处进行拦截处理,其中“InitialContext.java:417”为原生底层方法,缺点上文已经提到,所以可用的点为“JndiManager.java:85” 和 “JndiManager.java:61” 。其中注入点“JndiManager.java:85” 为 2.1.x 后引入,注入点 “JndiManager.java:85” 可覆盖 2.x 所有版本,但是为避免通过其他漏洞绕过执行,最终两个注入点都进行了拦截包括获取 jdbc 连接地址时使用 jndi 的情况也进行了拦截,因为此种情况是通过 log4j2 配置而非外部输入触发。

缺点:无

优点:

  1. 由于不需要匹配任何参数,无需担心性能问题;
  2. 只有解析后的内容使用了JNDI才会触发,无需担心各种变种payload,无对抗成本;
  3. 只针对log4j2自身使用JNDI的场景,不影响应用正常使用JNDI能力。

第3阶段:RASP部署上线 + 止血策略发布,持续至今
蚂蚁安全团队根据危害程度开始紧急分批进行部署上线和止血策略发布工作。

  • 第一天:主动外联的高危应用灰度预发环境止血完成。
  • 第二天:主动外联的高危应用线上 93%完成止血。

【RASP应急止血效果】

  • 拿到poc后20分钟即完成防御策略并验证成功。
  • 2小时内完成log4j 2.x所有版本包括对应sec版兼容性测试。
  • 24小时内完成高危应用预发和灰度环境的止血,并在生产环境小范围验证。
  • 48小时完成93%高危应用生产环境止血。

【RASP应急止血优势】
优势1:以数据为载体的漏洞在业界很少见,导致WAF适用范围有限。攻击者一旦跨过边界在公司技术体系内部横向移动根本无法控制,因此使用切面安全RASP技术从内部阻断拦截更精准,效果更好。

优势2:相比传统安全产品、官方版本修复方式,RASP具备:

  • 不必等官方方案,只要清楚了漏洞利用细节,RASP即可开开始发挥作用。
  • 使用切面RASP参战止血,使研发工程师避免了在短时间内以狗急跳墙方式应急,RASP在争取了两周缓冲时间的同时也不会打乱研发升级节奏,提升了研发工程师幸福感。
  • RASP适配各种环境,无需考虑升级版本兼容问题。

优势3:蚂蚁安全团队已输出针对于Log4j漏洞的专治小工具 minirasp,给生态伙伴和内部一些非标技术栈的应用应急使用。定制的minirasp效果超出预期,在标准RASP不能覆盖的海量数据处理任务job、海量udf中发挥了关键作用,能止本次Log4j漏洞隔山打牛之痛。

蚂蚁切面安全RASP为应用运行时安全提供疫苗级防护

当下网络安全形势愈发严峻,传统的基于流量检测的边界防御产品极易被绕过,基于规则库更新的安全产品更是时效性低,此类后知后觉的安全产品已无法满足安全市场需求。

2012年Gartner首次提出一种新型web防护技术 —— RASP(Runtime Application self-Protection)。区别于传统安全产品,RASP是一种基于行为和上下文语义分析的新型安全技术,在应用程序内部hook关键函数,只关注执行动作,在不更新策略和不升级应用代码的情况下检测/拦截未知漏洞,RASP像疫苗一样注入进应用实体内部,让应用不依赖外界而具备自我保护能力。

一句话概括:装载RASP的应用对Log4j2漏洞具备天然防护能力,此外,对于所有因JNDI注入导致的远程命令执行、文件目录列出、任意文件上传、敏感文件下载等行为均可实现拦截。

1.png

另外,蚂蚁RASP也支持检测/拦截内存马攻击、反序列化漏洞、命令注入、任意文件上传、远程执行命令等,全覆盖2021版OWASP TOP 10 中的Web应用程序安全风险类别。蚂蚁RASP为企业应用提供函数级实时防护,具备较强的启发式检测能力,秒级拦截、应急止血,提升安全水位,尤其适合大量使用开源组件的互联网应用或使用第三方集成商开发的应用。

2.png

相关文章
|
安全 应用服务中间件 Apache
Apache-Tomcat-Ajp文件读取漏洞(CVE-2020-1938、CNVD-2020-10487)
Apache-Tomcat-Ajp文件读取漏洞产生原因是由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件
2105 1
web服务器(Apache)访问日志(access_log)详细解释
web服务器(Apache)访问日志(access_log)详细解释
|
安全 Java Shell
Apache Log4j2 远程代码执行漏洞
Apache Log4j2是一个·基于Java的日志记录工具,该工具重写了Log4j框架,并且引入大量丰富的特性,该日志框架被大量用于业务系统开发,用来记录日志信息。
448 2
|
存储 安全 Java
【Shiro】Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)的解决方案
【Shiro】Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)的解决方案
2183 0
|
安全 Java 大数据
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
|
11月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
1677 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
808 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
SQL 人工智能 数据挖掘
Apache Flink:从实时数据分析到实时AI
Apache Flink 是实时数据处理领域的核心技术,历经十年发展,已从学术项目成长为实时计算的事实标准。它在现代数据架构中发挥着关键作用,支持实时数据分析、湖仓集成及实时 AI 应用。随着 Flink 2.0 的发布,其在流式湖仓、AI 驱动决策等方面展现出强大潜力,正推动企业迈向智能化、实时化的新阶段。
1373 9
Apache Flink:从实时数据分析到实时AI
|
SQL 人工智能 API
Apache Flink 2.1.0: 面向实时 Data + AI 全面升级,开启智能流处理新纪元
Apache Flink 2.1.0 正式发布,标志着实时数据处理引擎向统一 Data + AI 平台迈进。新版本强化了实时 AI 能力,支持通过 Flink SQL 和 Table API 创建及调用 AI 模型,新增 Model DDL、ML_PREDICT 表值函数等功能,实现端到端的实时 AI 工作流。同时增强了 Flink SQL 的流处理能力,引入 Process Table Functions(PTFs)、Variant 数据类型,优化流式 Join 及状态管理,显著提升作业稳定性与资源利用率。
1053 0
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
1411 33
The Past, Present and Future of Apache Flink

推荐镜像

更多