让 Java 界无人入眠的“核弹级”、“史诗级”漏洞,我却看到了不一样

上面这个公号「涩郎」,是我的一个备用号,为了防止万一哪天大号失联,平时一周我也会发三篇左右的我的思考,读书笔记,认知感悟等文章,带领大家一起探索精神与财务自由之路。

大家好,我是校长。

想必大家昨天都被 Log4j 爆出的核弹级漏洞给刷屏了吧?

昨天早上,流行度超高的 Java 日志框架 Log4j2 ,被曝出了一个惊天大漏洞。

该漏洞影响范围之广,后果有多恐怖,恐怕 Java 界的程序员们应该心里明白。这个漏洞的严重性、影响面堪称今年之最了。

12 月 10 日凌晨,Apache 开源项目 Log4j 的远程代码执行漏洞细节被公开,由于 Log4j 的广泛使用,该漏洞一旦被攻击者利用会造成严重危害。

据悉,Apache Log4j 2.x

攻击者可以利用漏洞远程执行代码,最终获得服务器的最高权限,接下来,就可以为所欲为了。

该漏洞最早是被阿里云安全团队发现的,并在 11 月 24 日就报告给了 Apache 官方。随后,在 2021 年 12 月 7 日Apache 官方发布了针对此漏洞的补丁版( log4j-2.15.0-rc1 )。

但是,出人意料的是,在 12 月 9 日,也就是昨天网络中出现了利用此漏洞的攻击行为。

接下来的事情,作为程序员,我们就可想而知了,一个不眠之夜就来了,安全团队就得紧急针对该漏洞进行补救了。

就在昨天,关于 log4j2 的表情包也诞生了。

然后,我又看到很多网友的评论,说因为 log4j2 此次漏洞事件,他们老板说以后让他们自己写一个类似的功能包。

其实,通过这件事,让我想起了另外一件事。

在 2021 年 11 月 9 日的时候,有个国外的程序员,写了一篇文章叫:《安全的软件供应链:为什么每个环节都很重要》。

什么叫安全软件供应链呢?

软件供应链简单来讲就是你开发的产品其实只是供应链当中的一个环节,因为你的产品可能涉及到了硬件,公共库,第三方依赖库,还有其他软件工具,这些东西一起组成了供应链。

在这篇文章当中,他提到了"软件供应链攻击" 的概念。

"软件供应链攻击" 指的是攻击软件所依赖的代码库或服务。

最常见的供应链攻击有两种形式,一是:起一个跟依赖库或域名很容易混淆的名字;二是:向依赖库注入恶意代码。

软件供应链攻击可以直接针对您,也可以针对任何上游元素(如外部依赖项或提供的服务),因此您要么直接遭受攻击,要么成为受损资源的供应商,从而成为受害者。

看到这里,我们就知道了,说白了, log4j2 的这次漏洞就属于软件供应链攻击当中的向依赖库注入恶意代码。

log4j2 作为一个第三方的依赖包,大量的项目在使用它,它一旦出现了漏洞,使用这个包的项目就会受到攻击。

我从作者的文章当中看到,趋势表明,供应链攻击正以每年 4-5 倍的指数速度增加,去年就有数千起。

所以,对于软件的安全问题,从供应链攻击的角度来看,这是一个庞大的系统工程,也是一个需要各个链条上相互协作的工程。

在未来的网络安全,软件安全当中,可能因为公共库的增加,依赖库的使用增加和广泛性,供应链攻击将会成为常态。

相关文章