研究人员刚刚在一个名为 Log4J 的软件程序中发现了一个安全漏洞,该程序被众多私营、商业和政府实体广泛使用,用于记录从用户名和密码到信用卡交易的各种详细信息。自从上周末发现该故障以来,网络安全社区一直在争先恐后地保护应用程序、服务、基础设施甚至物联网设备免受犯罪分子的侵害——犯罪分子已经开始利用这一漏洞。
“对于网络犯罪分子来说,这就像是提前到来的圣诞节,因为天空才是极限,”前白宫首席信息官兼网络安全咨询公司 Fortalice Solutions 的首席执行官特蕾莎·佩顿说。“他们真正受限的只是他们的想象力、他们的技术诀窍以及他们自身利用这个漏洞的能力。”佩顿与《大众科学》谈论了 Log4J 的作用、犯罪分子如何利用其新发现的弱点以及修复这个问题需要什么。
[以下是采访的编辑稿。]
关于支持科学新闻报道
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保未来能够继续讲述关于发现和塑造我们当今世界的想法的具有影响力的故事。
什么是 Log4J,它是如何使用的?
在技术和网络安全团队中,每个人都需要非常好的日志。您需要日志来进行审计跟踪,以防发生勒索软件事件,进行取证,有时还需要考虑监管因素。因此,[Log4J] 是一种 Java 功能,您可以在其中记录事物。您可以记录某人使用了这种特定类型的信用卡,您可以记录某人今天刚刚登录的事实,可以捕获任意数量的不同类型的事件。
但是 Log4J 有一个重大的安全漏洞。
这种类型的漏洞意味着有人可以将指令注入到日志中,并使日志执行他们希望它们执行的任何操作。研究人员在 12 月初发现了这个漏洞——我总是说感谢研究人员——。基本上,它允许攻击者对服务器进行未经身份验证的远程代码访问。因此,他们可以发送指令,他们可以执行操作,并有可能完全不被检测到地执行。已经有攻击者利用 Log4J 漏洞的例子。他们已经在不知情的机器上安装了 加密货币挖矿恶意软件。如果我们回顾一下物联网 被 Mirai 僵尸网络接管,Mirai 僵尸网络似乎也在尝试利用它。
网络犯罪分子还能利用这个漏洞做什么?
因为它正在记录日志,所以您可能会注入一个指令,例如“当您记录用户的登录凭据时,也将其发送到这里”。这将是网络犯罪分子设置用来捕获登录凭据的地方。您几乎可以创建自己的网络犯罪分子命令和日志控制。日志可以记录几乎任何内容,例如登录名、信用卡信息、支付信息。这仅仅取决于开发人员如何决定使用日志记录的这个特性和功能:日志中有什么类型的数据,以及它是否被加密。问题是,日志记录周围是否有不同的安全措施?以及是否有任何类型的日志记录监控来查看日志记录本身是否存在异常行为?如果一个组织没有寻找异常行为,他们就不会注意到,一旦用户 ID 和密码被记录下来,它也去了其他地方。
在安全团队方面——当我们都在争分夺秒地寻找、修补、修复、观察、记录和尝试修复这些问题时——网络犯罪分子将利用该漏洞。网络犯罪分子倾向于共享和创建不同的攻击。很可能会有犯罪软件即服务,可供网络犯罪分子和非技术人员利用。
对于不从事网络安全工作,但在日常生活中使用应用程序和服务的人们来说,这意味着什么?
您可能会发现自己是身份盗窃的受害者。您可能会尝试登录——以从您与之开展业务的任何数量的公司获得服务——并发现他们遇到了中断,他们可能正在处理这个问题。您可能会尝试联系政府组织以查询退款或缴纳税款,但无法做到,因为有人通过这个特定的漏洞入侵了他们。
现在很难确切地说这将如何发展,因为我们仍处于真正了解的早期阶段。这有可能产生非常长的尾部效应,并在很长一段时间内成为一个问题。这不是“这个周末修补一切,然后我们都可以回去过圣诞假期”。
需要做些什么来解决这个问题?
我喜欢用建筑钉子的比喻,[它] 可以用在房屋、建筑物、桥梁中。如果有人说,“我们刚刚意识到所有这些建筑钉子都有一个漏洞,它们可能随时失效。”有很多不同类型的建筑钉子,但您必须找出您在哪里使用了这种钉子。现在我们要求建筑公司在钉子失效之前找到并更换它们。
大型公司和基础设施现在必须开始寻找 [Log4J 在其系统中的] 事实。很多时候人们不会坐下来制定详细的蓝图。准确地清点这种日志记录功能已部署在您的代码中的位置,就像在许多不同的干草堆中寻找许多针头一样。通常,当我们遇到这样的安全漏洞时,安全官可以负责并说,“我将拥有这个,我将拥有修复工作。”这有所不同,因为它涉及供应链:很多人使用开源软件,他们使用第三方供应商,他们使用海外开发和 Widget,所有 [这些软件来源] 都可能包含 Log4J。仅仅一个物联网设备的供应链——想想 Alexa [或] 谷歌 Home——就可能有多达 10 到 50 到 60 家不同的公司制造不同的部件:固件、操作系统和应用程序的开发。仅仅尝试为一个产品修复它可能就是一项极其繁重的任务。
我们可以从这个漏洞中吸取什么教训?
如果您想到 SolarWinds,这是去年这个时候发生的另一个供应链问题,很多人说,“哦,我们不使用该产品,所以,我们可能没事。”您了解到的是,如果您身处拥有 SolarWinds 的生态系统中,您就必须采取补救措施。您需要从您的内部、海外、近岸、外包开发人员那里了解他们是如何进行清点的。我们痛苦地了解到,软件的编译和软件构建的质量保证非常复杂且难以做到,而且并非总是遵循到细枝末节。
一个重要的教训是,我们在供应链的盔甲中存在薄弱环节,而且我们将继续存在这些薄弱环节。这不会是这些问题的最后一个。当这些问题出现时,您如何确保您有一个剧本,可以召集合适的参与者进行评估:“这真的很糟糕,还是这对我们的组织来说是无关紧要的事情,我们会没事的?”人们需要考虑的第二件事是,您内置了哪些其他安全措施?例如,如果攻击者在您进行修补之前就利用了该漏洞——并且他们正在控制您的日志记录和日志中的信息——您能否检测到他们隐藏的流量?这些都是吸取的教训,而且都是惨痛的教训。我的意思是,如果它们很容易做到,企业就会去做;政府也会去做。在纸面上听起来很棒——但在实践中,实施起来真的很难。