核弹级漏洞Log4j事件想必大家都知道了吧?该漏洞利用方式十分简单,攻击者仅需一段代码就可以远程控制目标服务器,90%以上基于java开发的应用平台都会受到影响,影响范围极大。
能引发技术圈大地震,Apache Log4j不简单,它是一款开源的Java日志框架,被广泛地应用在中间件、开发框架、Web应用中,用来记录日志信息。而这些中间件和开发框架作为软件基础又被其他软件系统使用,所以Log4j被极其广泛的应用在各大软件系统里面。比如大家耳熟能详的游戏 Minecraft(我的世界),甚至NASA 在火星上的直升机都使用了Log4j!
Java是业界使用最广泛的编程语言,也是骞云的主流开发语言之一(我们还用了大量的Python、Angular、Javascript、Go等,喜欢多语言开发的攻城狮们赶紧看过来)。我们平台不但直接使用Log4j2,采用的很多Java类库也用了Log4j2,这里面包括Tomcat、ElasticSearch、Skywalking,甚至还有古老的VMware vSphere Java SDK也依赖这个日志框架。所以从漏洞爆出的第一天,骞云的技术团队就开始投入到这个紧急事件的处理中。
经分析发现,我们还是比较幸运的,这次的安全漏洞对骞云平台基本没有影响。这得益于骞云的产品平台每年都有3-4次版本迭代更新,每次更新都会将各种运行环境升级到最新的版本,且绝大部分客户也会采购升级服务,所以大部分用户都在用骞云平台的6.1.x以上版本。从去年中发布的6.1版本开始,平台就升级到了最新JDK 8u261。幸运的是,Oracle JDK 8u191或者更高版本的JDK,缺省不允许执行远程代码。所以使用骞云6.1及以上版本的客户,就不存在远程代码执行的问题。当然,如果本地操作系统已经被攻破,预先被植入恶意本地代码,那恶意代码就可以本地漏洞调用。逻辑上,所在操作系统环境已经被攻破了,就没必要利用这漏洞来控制肉鸡机器了。
即使此次的安全漏洞对骞云绝大部分客户没有什么安全影响,我们的研发团队还是第一时间发布了安全补丁包,将我们平台直接依赖的Log4j2升级到了当天最新的2.15最新版本,并关闭JNDI Lookup。12月10日晚,我们已经完成需要线上对外服务的所有部署系统的补丁升级。周一13号开始,经过验证的补丁包就开始给到我们的交付同事,帮助客户环境进行升级,到今天16号为止,我们的绝大部分客户版本,均已完成漏洞修补。
昨天12月15日,Apache Log4j2 官方又发布了2.16版本,主要修复了以下两个潜在问题:
1.利用 JMSAppender 造成远程代码执行;
2.用户配置log4j,使用非默认模式布局和上下文查找(例如$${ctx:loginId})或线程上下文映射模式(%X、%mdc或%MDC),这种情况下可能被攻击导致拒绝服务(DoS)。
这两种情况在骞云的产品里都不存在。我们没有使用JMSAppender; 使用的是默认模式布局(PatternLayout), 没有使用上下文查找,也没有使用线程上下文映射模式。因此对于骞云平台,Log4j 2.16 补丁不是必须的。
软件的漏洞有时不可避免,这次的Apache Log4j安全漏洞,前一段时间的OpenSSL Heartbleed漏洞、 Fastjson高危漏洞、Struts2远程代码执行漏洞等等。根据Gartner的相关统计,到 2025 年,30% 的关键信息基础设施组织将遇到安全漏洞。基础设施组织中,一个组件遭遇安全问题就会引发整个架构的“地震”,以Log4j为例,一张图看懂它在现代软件基础设施中的地位↓
(*作为基础设施架构的一个“支点”,Log4j举足轻重,牵一发而动全身)
软件的安全问题牵一发而动全身,如果被利用,产生的损失很多时候是难以估量的。由这次安全事件的分析评估可见,一个软件系统,持续的更新迭代、专业及时的维保服务都十分关键,能够最大程度保障软件平台的稳定、安全,为企业的业务发展保驾护航。
骞云科技也会继续努力,保障我们客户的系统安全和稳定。
(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )