如何强化应用安全能力,全面拦截 Log4j 漏洞攻击

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
可观测监控 Prometheus 版,每月50GB免费额度
简介: 「ARMS应用安全」为企业业务安全保驾护航!

最近几天对于很多开发者而言,只能用争分夺秒与胆战心惊来形容。而造成这一切的源头,来自于被公布的 Apache Log4j2 远程代码执行漏洞(CNVD-2021-95914)。当前几乎所有技术巨头都在使用该开源组件,其危害将带来一连串连锁反应。据行业机构不完全统计,该漏洞影响 6w+ 流行开源软件,影响 70% 以上的企业线上业务系统!漏洞波及面、危害程度均堪比 2017 年的让数百万台主机面临被勒索病毒攻击的风险的“永恒之蓝”漏洞。


4adffd64bbe44b6d986c28c88b61b5ea.png


漏洞解析


Apache Log4j RCE 漏洞造成如此大影响的原因,不仅在于其易于利用,更在于其巨大的潜在危害性。此次危机由 Lookup 功能引发,Log4j2 在默认情况下会开启 Lookup 功能,提供给客户另一种添加特殊值到日志中的方式。此功能中也包含了对于 JNDI 的 Lookup,但由于 Lookup 对于加载的 JNDI 内容未做任何限制,使得攻击者可以通过 JNDI 注入实现远程加载恶意类到应用中,从而造成 RCE。


据悉,Apache Log4j 2.x <= 2.14.1 版本均回会受到影响。可能的受影响应用包括但不限于:Spring-Boot-strater-log4j2、Apache Struts2、Apache Solr、Apache Flink、Apache Druid、Elasticsearch、Flume、Dubbo、Redis、Logstash、Kafka 等。直接应用了 Log4j-core 的依赖中,就包含了 SpringBoot、JBoss、Solr 等流行框架。漏洞几乎影响所有使用 Log4j2 2.15.0 的用户,包含 2.15.0-rc1 也已经有绕过手法流出。


仅需四步,借助阿里云 ARMS 应用安全,全面拦截 Log4j2 漏洞攻击


此次 Log4j2 漏洞,作为一款日志框架,相比起记录日志等类型的正常行为,进行命令注入、执行,本身就是明显异常行为。


RASP 在默认规则下,会拦截掉所有因反序列、JNDI 注入导致的命令执行、任意文件读取、恶意文件上传等危险行为。不同于传统基于流量特征的防御方式,RASP(Runtime Application Self-Protection)基于行为和应用运行时上下文,不会陷入特征穷举并更加关注「正常基线」。即应用的正常使用行为有哪些,如果这个行为(如命令执行)不属于该功能的正常操作,则会进行拦截。


此次漏洞,系 Log4j2 的 JNDI 功能造成的命令执行漏洞,处在 RASP 覆盖场景之中,无需新增规则也能默认防御。因此,ARMS 应用安全基于阿里云 RASP 技术针对上述漏洞进行攻击防护。


1、登录阿里云 ARMS 控制台


c62f57b4c95043e895570773800c0a10.png


说明:阿里云 ARMS 探针版本容器服务应用 / EDAS 应用等自动升级场景 >=2.7.1.2,其他场景(手动升级)>=2.7.1.3。应用首次开启接入ARMS应用安全,需要重启应用实例。


2、在左侧导航栏,选择应用 > 攻击统计页面


05739594bcda4ef68bdde5d253edad16.png


当受到 Log4j2 远程代码执行漏洞攻击时,ARMS 应用安全会识别上报攻击行为事件。还可通过配置告警规则,通过短信、钉钉、邮件等渠道接收攻击告警通知。默认防护模式为监控模式,建议观察一段时间后调整防护设置为监控并阻断,一旦发生攻击行为可以直接阻断,保障应用安全运行。


3、在左侧导航栏,选择应用安全 > 危险组件检测,针对三方组件以来自动分析关联 CVE 漏洞库并提供修复建议


2e943472dd854c7c80764a647254bde5.png


4、危险组件全量自查,通过搜索查看所有接入应用是否包含 Log4j 组件,并确定组件版本


84b414ca2ff34d7ba1b7d1ebab4c82a0.png


修复升级与建议



(1)排查应用是否引入了 Apache Log4j-core Jar 包,若存在依赖引入,且在受影响版本范围内,则可能存在漏洞影响。请尽快升级 Apache Log4j2 所有相关应用到最新的 Log4j-2.15.0-rc2 版本。


地址:https://github.com/apache/Logging-Log4j2/releases/tag/Log4j-2.15.0-rc2


(2)升级已知受影响的应用及组件,如 spring-boot-starter-Log4j2/Apache Struts2/Apache Solr/Apache Druid/Apache Flink。


(3)可升级 jdk 版本至 6u211 / 7u201 / 8u191 / 11.0.1 以上,可以在一定程度上限制 JNDI 等漏洞利用方式。


(4)尽可能杜绝对外开放端口,加强应用的证书验证管控,最大可能减少外网攻击面。


(5)在外网开启 Web 应用防火墙 +RASP 组合,采取行为和应用运行时上下文防御策略。


(6)安全配置评估中,严格控制开源软件安全,并自建内部安全版本库,及时更新。


(7)建立多层检测防御体系,采用内网多层隔离,并全面提升威胁检测能力。


点击此处,查看更多应用安全相关信息!

相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
安全 Java 开发者
刚折腾完Log4J,又爆Spring RCE核弹级漏洞
继Log4J爆出安全漏洞之后,又在深夜,Spring的github上又更新了一条可能造成RCE(远程命令执行漏洞)的问题代码,随即在国内的安全圈炸开了锅。有安全专家建议升级到JDK 9以上,有些专家又建议回滚到JDK 7以下,一时间小伙伴们不知道该怎么办了。大家来看一段动画演示,怎么改都是“将军"。
138 1
|
安全 Java Shell
Apache Log4j2 远程代码执行漏洞
Apache Log4j2是一个·基于Java的日志记录工具,该工具重写了Log4j框架,并且引入大量丰富的特性,该日志框架被大量用于业务系统开发,用来记录日志信息。
126 2
|
安全 druid Java
【紧急】Apache Log4j任意代码执行漏洞安全风险升级修复教程
近期一个 Apache Log4j 远程代码执行漏洞细节被公开,攻击者利用漏洞可以远程执行代码。经过分析,该组件存在Java JNDI注入漏洞,当程序将用户输入的数据进行日志,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
407 1
|
安全 Java 大数据
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
|
3月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
1030 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
4月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
504 3
|
5月前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
6月前
|
XML Java Maven
log4j 日志的简单使用
这篇文章介绍了Log4j日志框架的基本使用方法,包括在Maven项目中添加依赖、配置`log4j.properties`文件以及在代码中创建和使用Logger对象进行日志记录,但实际打印结果中日志级别没有颜色显示。
log4j 日志的简单使用
|
6月前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
6月前
|
存储 消息中间件 监控
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统ELK、日志收集分析
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统、日志收集分析。日志级别从小到大的关系(优先级从低到高): ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 低级别的会输出高级别的信息,高级别的不会输出低级别的信息