返回 文章 学习 CMS 文章

AI 迫使人类偿还 40 年技术债:PHP2Shell 漏洞的警示

AI 正在暴露人类 40 年遗留代码中的安全漏洞,偿还技术债的时刻到了。

AI安全技术债PHP漏洞开源安全
成长分 / 100 72 综合收获、行动、留存与影响

AI 迫使人类偿还 40 年技术债:PHP2Shell 漏洞的警示
为什么值得读了解 AI 如何被用于发现和利用旧软件中的深层漏洞,以及 PHP2Shell 漏洞的来龙去脉。

认识漏洞发现与修复之间的根本不对称性,以及开源项目面临的维护压力。

关键洞察
  1. PHP2Shell 漏洞源于一个长期被忽视的内存错误,AI 工具帮助研究人员将其升级为可执行任意代码的严重漏洞。
  2. AI 擅长处理需要大量特定推理的繁琐任务,但专家仍不可或缺,AI 提升了顶尖专家的效率。
  3. 修复漏洞比发现漏洞更难,因为需要确保关闭所有攻击路径且不破坏现有功能,这给防御者带来巨大压力。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:7818

10月下旬,一系列重大网络安全问题浮出水面。但其中最大的莫过于所谓的PHP2Shell漏洞,它使众多网站面临风险,包括NASA、维基百科、白宫以及其他所有运行Wordpress或Drupal(等)的网站,这些网站可能被利用来读取敏感数据并在主机服务器上运行恶意代码。

据目前所知,灾难已经避免:该黑客手段由网络安全研究人员发现并报告给PHP基金会,并在任何恶意行为者掌握该漏洞利用方法之前发布了补丁。然而,PHP2Shell可能是煤矿中的金丝雀,作为AI时代即将到来的警告信号。

“我们现在目睹的事情之一是,过去40年由人类编写的所有遗留软件都在暴露,”网络安全初创公司Tolmo的AI安全研究负责人Matt Suiche说。“现在是偿还技术债务的时候了。”

PHP遗留漏洞与内存错误

PHP最初代表“个人主页”,是一种创建于1994年的编程语言,主要用于遗留网站。PHP2Shell漏洞背后的缺陷早在2024年就报告给了PHP基金会。该缺陷导致了一种常见问题,称为内存不足错误,即分配给某块数据的内存太小而无法容纳该数据。通常,这种错误会导致程序崩溃——这是一个不愉快但并非 inherently 危险的结果。因此该缺陷一直未得到解决。

“如果你看任何时间点,都会有一堆等待修复的缺陷报告,它们只是崩溃。大多数人并不太认真对待它们,”哥伦比亚大学计算机科学副教授Suman Jana说。

“只是这需要大量非常具体的推理,做起来很痛苦。而我认为AI在这方面做得很好。”——Suman Jana,哥伦比亚大学

今年早些时候,网络安全公司Calif在OpenAI的赞助下提出独立审计PHP。在两周内,Calif的一名研究人员借助AI工具,找到了一种利用内存不足缺陷在主机服务器上运行任意代码的方法,使恶意行为者能够安装恶意软件或读取关键数据。现在,它不再是一个小缺陷——而是一个严重漏洞,Calif团队提醒PHP基金会立即开始开发补丁。

Jana说,实际利用该缺陷需要仔细找出一种方法,跳转到服务器上特定程序内存中的特定点,并准确确定按什么顺序覆盖哪些位以控制系统。“这并非火箭科学,”他说。“只是这需要大量非常具体的推理,做起来很痛苦。而我认为AI在这方面做得很好。”

需要明确的是,Calif的研究人员(以及OpenAI和Wiz,一家确认并扩展了这些漏洞的网络安全公司)对网络安全和PHP语言都有深入的了解。“我并不声称AI可以独自完成所有工作。它显然不能,”Jana说。“但它在不断进步,所以前0.1%[的专家]可以完成更多工作,而略低于0.1%的人现在也能在不了解所有细节的情况下做到。”

AI工具与安全中的形式化验证

在漏洞利用方法披露给PHP基金会后,一个由四名工程师组成的团队花了两个月时间开发补丁,以尽快发布。

“在发现缺陷和修复缺陷之间存在根本的不对称性,”Jana说。“因为当你修复缺陷时,你必须确保你知道该攻击的所有部分都已关闭,并且不会破坏任何现有功能。”

这种不对称性给防御者带来了很大压力,尤其是对于PHP这样的开源软件。维护开源项目尽管被广泛使用却没有明确的收入来源,这是一个长期存在的挑战,早于AI黑客工具。但这些工具使问题比以往任何时候都更加紧迫。

未来保持领先的一种方法是让防御者获得更多资金和前沿网络安全AI模型的使用权。“这些前沿实验室正在捐赠部分token预算来研究这些缺陷,我认为这很棒,”Jana说。“我认为这应该更多发生,要么通过一些协同努力,要么通过捐赠。”

Jana还乐观地认为,用于自动化补丁环节的形式化验证工具也在快速进步,包括Anthropic在10月22日发布的新版本。“补丁由LLM生成,然后LLM生成补丁正确的证明,”Jana说。“唯一不是由LLM完成的是证明检查器,因为必须有人检查证明,因为LLM会产生幻觉。所以,你需要某种形式化的东西。”

希望专用AI模型和形式化验证工具的结合能使修补漏洞几乎像发现漏洞一样自动化。

约翰霍普金斯大学信息安全研究所计算机科学副教授Matthew Green则不那么乐观。“在真正糟糕的事情发生之前,没有人会解决这个问题,”他说。“而PHP2Shell还不够糟糕到真正糟糕的程度。所以当真正糟糕的事情发生时——可能是在2027年初的某个时候,一件让普通人感到不安的糟糕事情——然后突然人们会开始做这件事。我们会资助一切。”

与此同时,Green说,更新你的软件。“如果你的手机弹出提示:‘嘿,有可用的安全更新,你想安装吗’,不要等到下周。直接安装。”

有一点是肯定的——PHP2Shell只是开始。“这肯定不会是最后一个,”Jana说。“只是看谁先发现它。希望是白帽黑客先发现,就像这次一样。”

来自您网站的文章

网络上的相关文章