fcon7折倒计时最后一周:日程已上线70%!查看详情>>>
写点什么

突发!log4j 爆“核弹级”漏洞,flink、kafka等至少十多个项目受影响-金马国际

  • 2021-12-10
  • 本文字数:2395 字

    阅读完需:约 8 分钟

昨晚,对很多程序员来说可能是一个不眠之夜。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 相关的远程代码执行漏洞。


lookup 功能造成的漏洞


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 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。“微步在线研究响应中心”做了漏洞复现:



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



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



图源:公众号


12 月 10 日上午,再次发出预警,发现 apache log4j 2.15.0-rc1 版本存在漏洞绕过,建议及时更新至 apache log4j 2.15.0-rc2 版本。


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

快速检测及修复方案


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


1. 紧急缓解措施


(1)修改 jvm 参数 -dlog4j2.formatmsgnolookups=true


(2)修改配置 log4j2.formatmsgnolookups=true


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


2. 检测方案


(1)由于攻击者在攻击过程中可能使用 dnslog 进行漏洞探测,建议企业可以通过流量监测设备监控是否有相关 dnslog 域名的请求,微步在线的 onedns 也已经识别主流 dnslog 域名并支持拦截。


(2)根据目前微步在线对于此类漏洞的研究积累,我们建议企业可以通过监测相关流量或者日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。


3. 修复方案


检查所有使用了 log4j 组件的系统,官方修复链接如下:


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


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


去年 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 提出,在网络安全方面,使用公开可用的密码学通常比为特定公司构建的专有系统更加安全。


2021-12-10 14:0618036

评论

发布
暂无评论
  • 这节课,我会基于一个典型的spring cloud的应用,给你讲解如何从 0 到 1 来构建端到端的全链路可观测性,如何打通可观测性数据的联合。

    2022-10-05

  • log4j.appender.a2.file=dglog.txt

    2021-11-10

  • java 库fastjson存在远程代码执行漏洞,允许攻击者直接获取服务器权限。

  • 2022年5月23日,fastjson 官方发布安全通报,fastjson <= 1.2.80 存在反序列化任意代码执行漏洞,在特定条件下可绕过默认autotype关闭限制,可能会导致远程服务器被攻击,风险影响较大。墨菲安全已在第一时间监控到该漏洞,并支持该漏洞的检测。

    2022-05-24

  • 今天我们就来揭开网络监控的面纱,看看其中涉及了哪些关键技术和实践方法。

    2023-02-03

  • web应用程序工程师经常会遇到可用于dos/ddos攻击的漏洞。如何处理这些漏洞和评估dos风险?

  • 这节课,我们聊聊可观测性的未来。

    2022-10-17

  • 从一个异构系统调用支付系统引发了qps暴增的问题开始,我们意识到内部系统与异构系统之间缺乏一种安全的认证机制,分析了服务如何进行认证。

    2023-01-09

  • 排查 log4j2 安全漏洞的一次经历

    2022-08-16

  • 从一个修复产线数据的事件开始,通过正规流程、粗暴流程、万能管控三种方式来尝试快速解决产线问题。

    2022-12-28

  • apache log4j2是一个基于java的日志记录工具。该工具重写了log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。此次漏洞触发条件为只要外部用户输入

    2021-12-10

  • log4j 持续爆雷,啥时候是个头?

    安全漏洞仍在肆虐。

  • log4j2漏洞会拖垮java?胡扯!

  • 先是核弹级漏洞 log4shell,这次又是 spring4shell,开源软件库中的零日漏洞总是突然蹦出来,搅动网络安全行业从业者的神经。

  • 不断变化的威胁要求我们采取全面的缓解办法。有效的策略建立在可见性、基于上下文的漏洞评估、过滤技术的有效使用以及对入侵信号的监控之上。

  • 本文主要讲述我们iast漏洞扫描系统中openrasp在携程快速部署及如何防止流量重放对数据污染的一系列实践经验。

  • 你好呀,我是歪歪。

    2021-12-14

  • 本文介绍 java 主流的日志工具,以及相对应的使用场景。

  • 过去一年,不仅 linux 内核极大地丰富了 ebpf 的功能特性,ebpf 的生态和实践也取得了突飞猛进的发展。

    2022-12-30

  • 在apache软件基金会“2020年安全报告”中,我们有一些有趣的发现。

发现更多内容
  • 扫码添加小助手
    领取最新资料包
金马国际
网站地图