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目录文件
814 1
|
7月前
|
Apache
web服务器(Apache)访问日志(access_log)详细解释
web服务器(Apache)访问日志(access_log)详细解释
|
安全 Java Shell
Apache Log4j2 远程代码执行漏洞
Apache Log4j2是一个·基于Java的日志记录工具,该工具重写了Log4j框架,并且引入大量丰富的特性,该日志框架被大量用于业务系统开发,用来记录日志信息。
113 2
|
存储 安全 Java
【Shiro】Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)的解决方案
【Shiro】Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)的解决方案
797 0
|
安全 Java 大数据
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
286 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
10天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
2月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
318 3
|
20天前
|
存储 监控 安全
什么是事件日志管理系统?事件日志管理系统有哪些用处?
事件日志管理系统是IT安全的重要工具,用于集中收集、分析和解释来自组织IT基础设施各组件的事件日志,如防火墙、路由器、交换机等,帮助提升网络安全、实现主动威胁检测和促进合规性。系统支持多种日志类型,包括Windows事件日志、Syslog日志和应用程序日志,通过实时监测、告警及可视化分析,为企业提供强大的安全保障。然而,实施过程中也面临数据量大、日志管理和分析复杂等挑战。EventLog Analyzer作为一款高效工具,不仅提供实时监测与告警、可视化分析和报告功能,还支持多种合规性报告,帮助企业克服挑战,提升网络安全水平。
|
2月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1699 14

推荐镜像

更多