最近,阿里云安全团队发现了一个被安全圈公认为注定被载入史册的漏洞,并及时报告给了开发者,可以说功劳甚大。但奇怪的是,不到一个月的时间,工信部网络安全管理局随即对外通报,暂停与阿里云的合作6个月,暂停期满后,再根据阿里云公司整改情况,研究是否恢复合作。

功劳甚大

11月24日,阿里云在Web服务器软件阿帕奇(Apache)下的开源日志组件Log4j内,发现重大漏洞Log4Shell。发现漏洞的同时,立即向总部位于美国的阿帕奇软件基金会报告。

这个漏洞被安全圈公认为注定被载入史册的高危漏洞,漏洞一经披露,不论是大公司还是小公司,无数程序员彻夜难眠,加班加点修复该漏洞,安全圈的“热闹”场面一点不亚于2020年初新冠病毒的爆发。

这个核弹级的漏洞究竟有多厉害?

不管是前端、后端还是客户端工程师,对打日志都不会陌生。日志可以帮助程序员们了解程序的运行情况,排查运行中出现的问题。

在Java技术栈中,用的比较多的日志输出框架主要有log4j2和logback。log4j2便是我们今天的主角。

网络安全领域有一个重要的原则:永远不要相信用户输入的东西。因为很多攻击皆因“用户输入”而起,比如著名的SQL注入攻击。

然而,log4j2,这个非常流行的日志输出框架却犯了这个低级错误。

log4j2中有一个叫JNDI的东西,它可以远程下载class文件来构建对象,一旦远程下载的URL指向黑客的服务器,下载的class暗藏恶意代码,会被毫无保留的执行。

也就是说,黑客可以轻而易举地控制受害目标。

这就好比两个小学生上课迟到,被门口的保安拦住,让登个记。刚想进教室被保安拦住,保安对着一个人说:“敢在登记簿上写周杰伦?你不知道我周杰伦粉丝啊?”然后对着另一个人说:“易烊千玺,你先进去。”

例子不太严谨,大体是这么个意思。这个高危漏洞会让黑客完全控制受害目标,随意进出、随意篡改。试想一下,某用户打开百度搜索首页,结果跳转到某一个色情网站的场景,对百度公司来说,绝对是史诗级灾难。

能发现如此高危漏洞,阿里云功不可没。那为什么工信部会暂停与阿里云的合作呢?

难辞其咎

阿里云是工信部网络安全威胁信息共享平台合作单位,足以证明其技术实力,但在这件事上,它犯了一个很严重的错误。

今年7月12日,工信部刊发了《网络产品安全漏洞管理规定》,已于9月1日起实施。

其中第七条(二)规定:

漏洞发现者应当在2日内向工业和信息化部网络安全威胁和漏洞信息共享平台报送相关漏洞信息。

遗憾的是,由于流程把控不严,阿里云并没有向工信部网络安全威胁和漏洞信息共享平台报送相关漏洞信息。

未及时报送送网络安全威胁和漏洞信息共享平台,而直接报告给总部位于美国的阿帕奇软件基金会。直接导致相关部门没有及时掌握该漏洞的具体情况。

事情经过如下:

  • 11月24日,阿里云安全团队发现重大漏洞,向阿帕奇软件基金会报告,且没有按照规定报告给工信部。随后,奥地利和新西兰计算机应急小组率先对这一漏洞进行了预警。

  • 直至12月9日,工信部才收到有关网络安全专业机构报告,发现阿帕奇Log4j2组件存在严重安全漏洞,立即召集阿里云、网络安全企业、网络安全专业机构等开展研判,并向行业单位进行风险预警。

  • 12月10日,漏洞经过阿帕奇修复,却再度被指出仍然存在漏洞,可以被绕过。

  • 12月14日,中国国家信息安全漏洞共享平台发布《Apache Log4j2远程代码执行漏洞排查及修复手册》,供相关单位、企业及个人参考。

    网络安全无小事,尤其是如此严重的漏洞,如果被一些有心人利用,极有可能威胁到国家安全。作为企业,我们应该时刻关注相关法律法规,降低经营风险。