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

本文涉及的产品
性能测试 PTS,5000VUM额度
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 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以下,一时间小伙伴们不知道该怎么办了。大家来看一段动画演示,怎么改都是“将军"。
112 1
|
安全 Java Shell
Apache Log4j2 远程代码执行漏洞
Apache Log4j2是一个·基于Java的日志记录工具,该工具重写了Log4j框架,并且引入大量丰富的特性,该日志框架被大量用于业务系统开发,用来记录日志信息。
92 2
|
安全 druid Java
【紧急】Apache Log4j任意代码执行漏洞安全风险升级修复教程
近期一个 Apache Log4j 远程代码执行漏洞细节被公开,攻击者利用漏洞可以远程执行代码。经过分析,该组件存在Java JNDI注入漏洞,当程序将用户输入的数据进行日志,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
342 1
|
12月前
|
安全 Java 大数据
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞
|
2月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
|
23天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
1月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
66 9
|
2月前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
2月前
|
存储 监控 安全
|
2月前
|
XML Java Maven
log4j 日志的简单使用
这篇文章介绍了Log4j日志框架的基本使用方法,包括在Maven项目中添加依赖、配置`log4j.properties`文件以及在代码中创建和使用Logger对象进行日志记录,但实际打印结果中日志级别没有颜色显示。
log4j 日志的简单使用
下一篇
无影云桌面