泛览天下

阅读,看尽天下事

你每天都用的软件里,不久前还藏着能偷走密码的“核弹级”漏洞

2022-01-11 07:48:53


通常,当我们发现安全漏洞时,网络安全工程师可以全权负责修复,但这次的漏洞不同,它是整个供应链的问题:很多人在代码中使用了开源的、第三方提供的和离岸开发的系统,而所有的系统都有可能使用了Log4J。


图片来源:pixabay


想象一下,如果有个建筑工程师突然发现,我们盖楼用的钉子随时都会断裂,而几乎每栋楼都使用了这样的钉子时,会是怎样的场面?在过去的一个月里,软件行业就经历了一场这样的危机。


撰文| 索菲·布什威克( Sophie Bushwick
编译|郑昱虹
审校|王昱


2021 年11月24日, Apache 软件基金会 收到了一封邮件 ,发件人是阿里云安全团队的程序员Chen Zhaojun。他在邮件中指出,由Apache维护的一个软件存在重大的安全漏洞, 黑客可以利用这个漏洞,对他人的电脑进行远程操控


这个软件是Log4J,它是一个用于记录日志的JAVA库。因为其开源的性质,Log4J遍布整个软件行业,被广泛用于记录用户名、密码和信用卡交易等细节。所以苹果iCloud、亚马逊云服务、 Minecraft (我的世界)游戏 推特 等商业公司,以及一些政府机构,全部受到了这个之后被命名为“ Log4Shell ”的漏洞的影响。


因此,12月9日Log4Shell面向社会公布时, 整个软件行业都为之震动 。由于危害大且波及范围广,Apache对这个漏洞给出了 10分 的CVSS(通用漏洞评分系统)评分,而10分是表示“严重”的最高分。


自发现该漏洞以来,网络安全工程师争分夺秒地保护应用程序、服务、基础设施和物联网设备,但犯罪分子已经在利用这个漏洞了。部分Minecraft用户受到了 勒索软件攻击 微软 检测到了下载和运行“挖矿”软件、窃取身份信息等行为, 比利时国防部 因受到攻击而关闭了部分计算机网络 ……


“对网络罪犯来说,这就像是提前到来的圣诞节礼物。他们没有底线, 限制他们的只有他们自己的技术水平 。”前白宫首席信息官、网络安全咨询公司Fortalice Solutions的首席执行官特蕾莎·佩顿(Theresa Payton)说。


在Log4J 维护者团队 几乎无偿的紧急工作 下,Apache于2021年12月6日针对Log4Shell进行了修复,但没能完全解决问题,又在 12月13日 17日 27日 分别针对新发现的问题发布了新版本。但是, 这场风波造成的影响很可能仍未平息


Log4J作为互联网基础设施的一个关键组成部分, 一些数百万乃至数十亿体量的公司依赖它获利 ,然而它只是一个志愿者建立的,并且很大程度上是 免费运行的项目 。如果进展顺利,开源就是合作的胜利;而一旦出了问题,就会产生深远的危险。 这次的危机揭示了开源软件的困境,暴露了整个互联网行业的 供应链安全问题


去年12月15日, 《科学美国人》 发布了对佩顿的采访,她谈到了Log4J的功能、黑客将如何利用漏洞Log4Shell、以及如何修复这个漏洞。以下是经过编辑的采访文字记录。


图片来源:pixabay



Log4J是什么?它被用在什么地方?


技术和网络安全团队需要“日志”功能。日志可以用于审计追踪(audit trails),比如出于监管考虑,在发生勒索软件事件时进行取证。而Log4J就是一个用于记录日志的Java程序。它可以记录任何数量的、任何类型的事件,比如某人使用某种类型的信用卡,或某人今天登录了,等等。

但是,Log4J存在一个严重的安全漏洞。


这个漏洞的存在, 使得有人可以向日志中添加指令,让日志执行任何操作 。研究人员在12月初发现了这个漏洞(Apache得知这个漏洞的时间是11月24日,但是向公众公开在12月9日),谢天谢地。大体来说,这个漏洞允许攻击者在未经身份验证的情况下,通过远程代码访问服务器。他们可以发送指令、执行指令,并且可能完全不被发现。


已经有攻击者利用Log4J的漏洞,在机器的主人不知情的情况下,给一些机器安装了挖掘加密货币的恶意软件。回想一下物联网被 Mirai 僵尸网络占领的经历,Mirai僵尸网络看起来也在试图利用物联网。


网络罪犯还可以利用这个漏洞做什么?


网络罪犯可以在日志中添加一条指令:“当记录用户的登录凭据时,也将它们发送到我这里。”这样一来他们就能获取用户的登录凭据。他们可以创建个性化的指令,对日志进行操控。


日志记录着几乎所有的内容 ,比如登录信息、信用卡信息、支付信息。所以就看开发人员决定如何利用日志的特性 和功能了——日志中有什么类型的数据,以及这些数据是否被加密。


问题是,对日志有没有保护?是否有任何方式监控日志本身是否有异常行为?如果一个组织不去主动寻找异常行为,他们就不会注意到用户名和密码不仅被记录在日志中,也被发送到了其他地方。


在安全团队争分夺秒地寻找漏洞、打补丁、修复、观察、记录并试图解决问题的时候,网络罪犯则利用这些漏洞,分享信息并制造不同的攻击。很有可能会出现一种犯罪软件服务,供网络罪犯和非技术人员使用。


对于不从事网络安全工作,但日常使用应用程序和服务的普通人来说,这意味着什么?


普通人的身份可能会被盗窃 。你尝试登录某个网站的时候,可能会发现他们暂停服务了,那他们可能正在处理这个问题。比如你可能无法联系政府机构核实退款或缴税,因为有人通过Log4J的漏洞损害了这些功能。


现在还很难说事态会如何发展,因为我们尚未完全理解这个问题。这个漏洞可能会影响很长时间,并不是说“周末打好所有补丁,然后我们就可以回家过圣诞节了”。


如何化解这次的危机?


类比一下,房屋、大厦、桥梁等建筑物上都用到了某种钉子。如果有人说:“我们刚刚意识到,这种钉子存在弱点,它们可能会随时失效”,不过建筑使用的钉子有很多种, 我们必须弄清楚“这种”钉子都用在了哪里,并要求建筑公司在钉子失效之前找到并更换它们


大公司和大量互联网基础设施现在必须在他们的系统中排查Log4J。由于代码通常没有一幅详细的蓝图,所以要想准确地知道其中都在哪里用到了某个日志功能,无异于大海捞针。


通常,当我们发现安全漏洞时,网络安全工程师可以全权负责修复,但这次的漏洞不同,它是整个供应链的问题:很多人在代码中使用了开源的、第三方提供的和离岸开发的系统,而所有的系统都有可能使用了Log4J。


以某种物联网设备为例(如Alexa或Google Home),它的供应链可能涉及10到50至60家不同的公司,分别负责固件、操作系统和应用程序的开发。所以仅仅为一款产品修复漏洞,就可能是一项极其艰巨的任务。


我们能从这次的漏洞中学到什么?


2020年末我们遭遇了SolarWinds的供应链事故,那时很多人觉得自己不使用SolarWinds就没事。但事实上,只要处在一个使用了SolarWinds的生态中就存在风险,你需要向内部、离岸、近岸和外包的开发者了解他们是否使用了SolarWinds的软件生成的清单。


我们通过惨痛的教训明白了,编译软件和对软件进行质量保证,是非常复杂和困难的事情,并且我们并非每次都能跟进其中的重要细节。


我们可以从这些事故中学到的是, 我们的供应链存在、并且会继续存在弱点,所以这不会是最后一次出问题 。当问题出现时,你需要知道该把哪些人召集到一起,评估这个问题对你们来说是非同小可的,还是无足轻重的。


从业者还需要思考的是,你们建立了哪些自动防故障装置?例如,如果攻击者在你打补丁之前就利用了你的日志和日志中的信息,你能发现他们的踪迹吗?


这些都是我学到的教训,而且都是艰难的教训。我是说,如果这些问题容易解决,企业和政府早就解决了,不过纸上谈兵容易,在实际操作中却很难。


原文链接:
https://www.scientificamerican.com/article/the-log4j-software-flaw-is-christmas-come-early-for-cybercriminals/
参考链接:
https://www.bloomberg.com/news/articles/2021-12-13/how-apache-raced-to-fix-a-potentially-disastrous-software-flaw
https://theconversation.com/what-is-log4j-a-cybersecurity-expert-explains-the-latest-internet-vulnerability-how-bad-it-is-and-whats-at-stake-173896
https://www.wsj.com/articles/what-is-the-log4j-vulnerability-11639446180
https://mp.weixin.qq.com/s/Yq9k1eBquz3mM1sCinneiA
https://vop.jd.com/notice/cc0f8162-1927-45bb-9828-3a00cf59c1dc
https://nvd.nist.gov/vuln/detail/CVE-2021-44228
https://www.crn.com/news/security/ransomware-gang-hijacking-log4j-bug-to-hit-minecraft-servers
https://venturebeat.com/2021/12/12/microsoft-log4j-exploits-extend-past-crypto-mining-to-outright-theft/
https://www.microsoft.com/security/blog/2021/12/11/guidance-for-preventing-detecting-and-hunting-for-cve-2021-44228-log4j-2-exploitation/
https://www.wsj.com/articles/hackers-exploit-log4j-flaw-at-belgian-defense-ministry-11640020439
https://logging.apache.org/log4j/2.x/changes-report.html
https://logging.apache.org/log4j/2.x/security.html
https://www.dynatrace.com/news/blog/what-is-log4shell/
https://www.technologyreview.com/2021/12/17/1042692/log4j-internet-open-source-hacking/

《环球科学》1月新刊预售中

戳图片 阅读原文

立即购买


点击 【在看】 ,及时接收我们的内容更新