Apache Log4j爆出超级漏洞 全球众多企业多个项目连夜进行修补

Apache Log4j爆出超级漏洞 全球众多企业多个项目连夜进行修补插图

12月9日晚,对很多程序员来说可能是一个不眠之夜。12 月 10 日凌晨,Apache 开源项目 Log4j 的远程代码执行漏洞细节被公开,由于 Log4j 的广泛使用,该漏洞一旦被攻击者利用会造成严重危害。

据悉,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 等。很多互联网企业都连夜做了应急措施。

截至本文发出,斗鱼、京东、网易、深信服和汽车产业安全应急响应中心皆发文表示,鉴于该漏洞影响范围比较大,业务自查及升级修复需要一定时间,暂不接收 Log4j2 相关的远程代码执行漏洞。

Apache Log4j爆出超级漏洞 全球众多企业多个项目连夜进行修补插图1

1lookup 功能造成的漏洞

Log4j 是一款开源 Java 日志记录工具。日志记录主要用来监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。因此,对于程序员来说,日志记录非常重要。

在强调可重用组件开发的今天,Apache 提供的强有力的日志操作包 Log4j。Log4j 可以轻松控制 log 信息是否显示、log 信息的输出端类型、输出方式、输出格式,更加细致地控制日志的生成过程,而其通过配置文件可以灵活地进行配置而不需要大量的更改代码。因此,很多互联网企业都选择使用 Log4j 。

2014 年,Log4j 2 发布。Log4j 2 是对 Log4j 的重大升级,完全重写了 log4j 的日志实现。Log4j 2 提供了 Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题,目前已经更新到 2.15.0 版本。

Log4j2 也支持 SLF4J,可以自动重新加载日志配置,并支持高级过滤选项。此外它还允许基于 lambda 表达式对日志语句进行延迟评估,为低延迟系统提供异步记录器,并提供无垃圾模式以避免由垃圾收集器操作引起的任何延迟。通过其他语言接口,企业也可以在 C、C++、.Net、PL/SQL 程序中使用 Log4j。

此次漏洞的出现,正是由用于 Log4j 2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。“微步在线研究响应中心”做了漏洞复现:

Apache Log4j爆出超级漏洞 全球众多企业多个项目连夜进行修补插图2

简单来说,就是在打印日志时,如果发现日志内容中包含关键词 ${,那么这个里面包含的内容会当做变量来进行替换,导致攻击者可以任意执行命令。详细漏洞披露可查看: https://issues.apache.org/jira/projects/LOG4J2/issues/LOG4J2-3201?filter=allissues

由于线上 web 业务的任何数据都可能写入 Log4j,甚至一些 pre-auth 的地方,比如注册、登录,实际攻击入口取决于业务具体情况。目前百度搜索、苹果 iCloud 搜索、360 搜索等都出现了该问题。

Apache Log4j爆出超级漏洞 全球众多企业多个项目连夜进行修补插图3

12 月 10 日上午, 阿里云安全团队 再次发出预警,发现 Apache Log4j 2.15.0-rc1 版本存在漏洞绕过,建议及时更新至 Apache Log4j 2.15.0-rc2 版本。

对于这次漏洞,有网友评价说道,“可以说是灾难性的漏洞,比之前的 fastjson 和 shiro 还要严重,这个漏洞估计在之后三四年内还会继续存在….”

2快速检测及修复方案

针对此次漏洞,“微步在线研究响应中心”也给出了一些应急方案。

1. 紧急缓解措施

(1)修改 jvm 参数 -Dlog4j2.formatMsgNoLookups=true

(2)修改配置 log4j2.formatMsgNoLookups=True

(3)将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true

2. 检测方案

3. 修复方案

检查所有使用了 Log4j 组件的系统,官方修复链接如下: https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1

3安全应该是一个持续的过程

每个人都知道安全的重要性,但安全问题还是频繁发生。

去年 5 月,360 网络安全响应中心发布“ Fastjson 远程代码执行漏洞通告”。通告称,Java 库 fastjson <= 1.2.68 版本存在远程代码执行漏洞,漏洞被利用可直接获取服务器权限。该漏洞评定为“高危漏洞”,影响面“广泛”。

前年,阿里云应急响应中心监测到,Apach Shiro 官方披露了其 cookie 持久化参数 rememberMe 加密算法存在漏洞,攻击者利用 Padding Oracle 攻击手段可构造恶意的 rememberMe 值,绕过加密算法验证,执行 java 反序列化操作,最终可导致远程命令执行获取服务器权限,风险极大。

安全本身并不是一个能够创造价值的功能,反而更像是需要消耗价值以确保功能稳定的功能。中小企业常常没有足够的资金投入安全建设,而有资金的企业也会把这部分预算将到最低。

网络攻击成功的可能性以及潜在损失的程度是难以实现估计的,决策者通常是依靠经验判断来做决定投入金额。根据 Alex Blau 在哈佛商业评论中的文章中提到的,决策者在作出决定时,会有一下三个误区:

  1. 将网络安全视为一种防御。在这个过程中,强大的防火墙和有能力的工程师可以让他们远离威胁。
  2. 认为遵守 NIST 或 FISMA 等安全框架就足够安全。
  3. 以为如果近期没有发生安全漏洞,那么看起来没有问题的部分就不需要修复。

这些想法的问题在于,网络安全不是要解决有限的问题,而应该是一个持续进行的过程。麻省理工学院数字经济倡议主任 Erik Brynjolfsson 表示,对抗网络威胁应该被归到“更高级别的优先考虑项”。他认为,一些修复并不复杂。虽然增加一些额外的小操作会让整个流程变长,并增加一点成本,但会让企业和个人更加安全。

Brynjolfsson 提出,在网络安全方面,使用公开可用的密码学通常比为特定公司构建的专有系统更加安全。

 收藏 (0) 更新不易,打赏吧

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《Apache Log4j爆出超级漏洞 全球众多企业多个项目连夜进行修补》
文章链接:https://www.banzhuti.com/apache-log4j-super-vulnerability-exploded-many-enterprises-around-the-world-overnight-patch.html
分享到: 生成海报
版权免责声明

① 本站提供的资源(插件或主题)均为网上搜集,如有涉及或侵害到您的版权请立即通知我们。
② 本站所有下载文件,仅用作学习研究使用,请下载后24小时内删除,支持正版,勿用作商业用途。
③ 因代码可变性,不保证兼容所有浏览器、不保证兼容所有版本的WP、不保证兼容您安装的其他插件。
④ 本站保证所提供资源(插件或主题)的完整性,但不含授权许可、帮助文档、XML文件、PSD、后续升级等。
⑤ 由本站提供的资源对您的网站或计算机造成严重后果的本站概不负责。
⑥ 使用该资源(插件或主题)需要用户有一定代码基础知识!另本站提供汉化使用安装教程,仅供参考。
⑦ 有时可能会遇到部分字段无法汉化,同时请保留作者汉化宣传信息,谢谢!
⑧ 本站资源售价只是赞助和汉化辛苦费,收取费用仅维持本站的日常运营所需。
⑨ 如果喜欢本站资源,欢迎捐助本站开通会员享受优惠折扣,谢谢支持!
⑩ 如果网盘地址失效,请在相应资源页面下留言,我们会尽快修复下载地址。

热门文章

评论 抢沙发

评论前必须登录!

立即登录   注册

WordPress主题 插件 建站 汉化

定制服务联系我们
切换注册

登录

点击按钮进行验证

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活

点击按钮进行验证