当前位置: 首页 > 科技观察

阿里云被工信部叫停,如何解决麻烦的Log4j2漏洞?

时间:2023-03-21 21:20:58 科技观察

这几天,各大互联网公司的程序员朋友们都被Log4j2漏洞折磨得焦头烂额,纷纷开始修复自己软件的漏洞。今天上午,阿里云被曝光为工信部网络安全威胁信息共享合作平台。阿里云发现该漏洞时,未及时向工信部报告,因此暂停合作6个月。暂停期满后,根据阿里云实际整改情况研究是否恢复合作。漏洞首次曝光时间为12月10日凌晨,12月10日凌晨,Apache开源项目Log4j的远程代码执行漏洞详情被披露。由于Log4j的广泛使用,一旦该漏洞被攻击者利用,将造成严重危害。随着漏洞的爆发,各大厂商纷纷发布公告。斗鱼、京东、网易、深信服和汽车行业安全应急中心均发文称,由于该漏洞影响范围较大,业务自检和升级修复尚需时日,目前没有收到Log4j2相关的远程代码执行漏洞。那么这个漏洞到底是什么?各大厂商怎么可能连夜整合修复,然后发布公告呢?为什么范围这么广?1.什么是Log4j?Log4j(LogForJava)是一个开源的Java日志记录框架。可以说,在使用Java来编码的码农群体中,每个人都是默默无闻的,每个人都是默默无闻的。众所周知,程序员在写完代码后并不是马上使用代码,而是进行一系列的测试来判断代码是否可行。但是代码在测试的时候是黑盒测试状态,你不知道测试的时候代码哪里出错了。所以这个时候,日志的价值就体现出来了。它就像一张计算纸,你可以在上面做一些你看得懂的记号,方便你随时查看和计算。而Log4j就是这样一个开源的日志框架,记录了测试过程中的每一步代码。代码测试完成后,可以针对性修改,效率更高。它集成了很多修改代码时会用到的常用功能,比如日志管理、输出变量等实用功能。其实日志是程序员经常使用的工具,就像早年的英雄联盟盒子一样。虽然不用它也能玩游戏,但用了之后玩游戏更方便,为什么不用呢?2.是什么导致了Log4j2漏洞?Log4j2是一个只有少数人维护的开源项目。2014年,Log4j2发布,对Log4j进行了重大升级,完全重写了Log4j的日志实现。Log4j2提供了很多Logback可用的改进,同时修复了Logback架构中的一些固有问题,目前已经更新到2.17.0版本。最早发现该漏洞的是阿里云安全团队的一名资深成员。据他介绍,这个漏洞很早以前就被国外的安全扫码平台发现了,圈内的大佬们也在等待官方的修复,没有大惊小怪。该漏洞是由Log4j2提供的Lookup函数引起的。从字面上理解,这个功能就是一个搜索内容的接口。Log4j2在Lookup的功能下也提供了很多实现方式。问题出在这种调用JNDI的方式上。JNDI是Java允许通过远程连接加载文件的。这个远程地址可以是开发者自己的服务器,也可以是外部服务器。黑客只要通过JNDI方式连接到他的恶意服务器,就可以光明正大的通过这个接口进来,然后在程序里面为所欲为。最可怕的是,实现没有门槛,只要用一串简单的字符,就可以轻松攻破服务器,运行各种代码。窃取个人信息不说,黑客远程劫持、瘫痪企业级服务器也毫无障碍。这个漏洞有多夸张?不仅阿里巴巴、腾讯、百度、网易、新浪等国内各大互联网公司中枪,就连手机、耳机、汽车等硬件都可能受到波及……对于这个漏洞,有网友评论说,“可以说是灾难性漏洞,比之前的fastjson和shiro都严重,这个漏洞估计未来三四年还会继续存在……”3.紧急修复计划针对的就是这个漏洞。分享一些网上应急解决方案:应急缓解措施(1)修改jvm参数-DLog4j2.formatMsgNoLookups=true(2)修改配置Log4j2.formatMsgNoLookups=True(3)设置系统环境变量FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS为true建立防火墙分支办公室的应急预案是建立防火墙。在Log4j2中制作触发拦截程序,提前拦截与漏洞相关的内容。版本更新检查所有使用Log4j2组件的系统并执行更新修复。目前官方正在积极修复漏洞,版本已经更新到2.17。4.结论由于Log4j2漏洞不仅影响Java应用程序,还影响任何使用该特性的服务,因此漏洞的影响范围非常广泛。尽管维护人员正在评估漏洞的范围,但由于该插件已被数百万企业应用程序和服务使用,因此目前无法对影响范围做出具体评估。每个人都知道安全的重要性。安全本身并不是一种可以创造价值的功能。相反,它更像是一个需要消耗价值来保证功能稳定性的函数。网络攻击成功的可能性和潜在损失的程度是不可预测的。虽然很多人都是通过漏洞修补的方式解决问题,但是漏洞的影响可能会持续三四年。