文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

半壁互联网江山都中招!开源软件被曝“十年最重大漏洞”,维护人竟只有3名志愿者

2024-12-02 13:02

关注

大数据文摘出品

都说开源工具好,bug一来才是真烦恼。

就在前两天,全球知名开源日志组件Apache开源项目Log4j远程代码执行漏洞细节被公开。

编号CVE-2021-44228的漏洞由阿里云安全研究团队发现、于11月底通报Apache基金会的远端程式码执行漏洞。它是Log4j的JNDI API未能验证远端攻击者由恶意LDAP或其他端点发送修改过参数的log讯息,而自LDAP伺服器下载恶意程式码至受害系统执行,最严重可接管整台系统。

尽管美国NIST漏洞资料库并未给定CVE-2021-44228的CVSS 3.1风险值,许多安全厂商皆给出了最严重等级的10分。

Tenable称其为10年最重大漏洞,Cloudflare执行长Matthew Price则说这是Heartbleed、ShellShock以来最严重的漏洞。

该资料库的用户范围涵盖全球,比如苹果iCloud、推特、微软游戏Minecraft及Valve游戏平台Steam等,此外,ElasticSearch、Elastic Logstash、Redis及美国国安局的Ghidra、以及CloudFlare、腾讯、百度等大型网站服务也都使用这项元件。

因此本次受影响范围之大足以想见。

但在本次史诗级漏洞被曝光的背后,还存在一个令人心酸的事实,那就是日常维护Apache Log4j2项目的只有3人。

[[440495]]

企业都用的开源日志工具Log4j

在了解整场事件之前,我们先来看看Log4j。

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

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

也就是说,很多互联网企业都可以选择使用Log4j。

2014年,Log4j2发布。作为对Log4j的重大升级,Log4j2完全重写了log4j的日志实现,不仅提供了Logback中可用的许多改进,同时修复了Logback架构中的一些固有问题。

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

此次漏洞的出现,正是由用于Log4j2提供的lookup功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。

“微步在线研究响应中心”也复现了该漏洞:

换句话说,如果在打印日志时发现日志内容中包含关键词${,那么这个里面包含的内容会当做变量来进行替换,导致攻击者可以任意执行命令。

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

只有3位志愿者在维护

在漏洞被发现后,由于应用广泛,想必不少程序员加班都快加疯了,也有人开始埋怨为什么维护人员都没有发现这么危险的漏洞。

[[440496]]

这还真不能怪人家。

Apache软件基金会Logging Services的PMC成员Volkan Yazıcı在推特上解释到,此次漏洞是“为向后兼容保留的旧功能”而引发的。

“Log4j维护者一直在为缓解措施而失眠;修复错误、文档和CVE,还要回应他人的询问。即便如此,他们还要遭受许多严厉的批评乃至抨击——哪怕这份工作没有任何酬劳,哪怕这个为了向后兼容而保留的功能我们其实也不喜欢。”

网络安全记者Catalin Cimpanu也表示,Apache Log4j2的维护工作主要由3名志愿者,在业余时间完成。

不少网友,包括Cryptogopher+Go团队安全负责人Filippo Valsorda都忍不住发推呼吁大家“别白嫖”了:

目前,保守估计,能够维护一个大型开源项目的开发人员的市场价格至少是30万美元/年,在GitHub和Patreon上看到的最多1000美元/月。

但也有网友表示,尽管如此,这次的漏洞是因为他们添加了一个错误的、不安全的特性,使得库不适合大多数合理用途,这个bug不是因为缺钱而引起的。

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

官方修复链接如下:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1

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

正如网友所言,开源工具面临的困境在于,项目顺利进行时,一切都很好,一旦出现问题,每个人都会抱怨,而且通常抱怨最多的人贡献最少,这就导致那些拥有一些世界上最常用项目的才华横溢的开发人员,几乎没有得到认可。

[[440497]]

相关报道:

【本文是51CTO专栏机构大数据文摘的原创译文,微信公众号“大数据文摘( id: BigDataDigest)”】

戳这里,看该作者更多好文   

 

来源:51CTO专栏内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯