人工智能加速漏洞利用,15分钟即可完成概念验证?
一个由人工智能驱动的攻击研究系统已经创建了十多个漏洞利用程序,在许多情况下将开发时间缩短到不到 15 分钟,凸显了全面自动化对企业防御者的影响。
该系统由两位以色列网络安全研究人员创建,利用大型语言模型 (LLM) 的提示、通用漏洞与暴露 (CVE) 公告以及推送至开源存储库的补丁来生成概念验证漏洞利用代码。
分析流程使用 Anthropic 的 Claude-sonnet-4.0 模型来分析公告和代码补丁,创建易受攻击的测试应用程序和漏洞利用代码,然后针对目标应用程序的易受攻击版本和已修补版本验证结果。
该系统仅用了几周时间就构建完成了,它利用了开源软件包中 14 个不同的漏洞,其中一些甚至只用了 15 分钟就完成了。参与该项目的两位独立网络安全研究员之一 Nahman Khayet 表示,虽然这种方法需要手动调整,但它表明 LLM 可以帮助潜在的网络攻击者快速开发漏洞利用程序。
防御者必须改变思维方式,以应对那些容易被利用的漏洞。
攻击者可能现在就正在这样做,或者在不久的将来就会这样做,而整个行业还没有做好准备,因为没有人能预料到以机器速度生成的漏洞。没有人相信,一些漏洞可能在短短五分钟内就被利用。
该项目被研究人员命名为“Auto Exploit”(自动漏洞利用),它并非首个使用 LLM 进行自动化漏洞研究和漏洞利用开发的项目。例如,英伟达(NVIDIA)创建了 Agent Morpheus,这是一款生成式人工智能应用程序,可以扫描漏洞并为软件开发人员创建修复工单。谷歌使用名为“Big Sleep”的 LLM 来查找
开源项目中的软件缺陷并提出修复建议。
其他 LLM 增强工具使攻击研究人员和网络攻击者能够通过创建旨在逃避安全检查和防病毒扫描程序的代码
来绕过安全软件。
自动漏洞利用程序 (Auto Exploit) 表明,基于 LLM 的软件分析和漏洞利用生成技术的持续发展,将使概念验证代码的创建周期缩短至数小时,而非数月、数周甚至数天。根据VulnCheck 的数据,2024 年漏洞利用的平均时间为 192 天。
在2024年被利用的漏洞中,一半是在192天内被利用的——随着攻击者越来越多地使用人工智能,预计这一时间将会缩短。
在最新的项目中,研究人员使用了 Anthropic 的 Claude 来生成代码,同时也尝试了其他主流的 LLM,包括最近发布的 ChatGPT 开源版本。这种方法很快就能带来效益。
我们利用空闲时间做这件事——没有公司,没有钱,什么都没有,我们花了几百美元做所有实验,最后却只花了大约1美元就生成了一个漏洞利用程序。想想看,这是多么巨大的规模:即使是一个以经济利益为目的的黑客,也能将这种方法扩展到数百甚至数千个漏洞,这还不包括民族国家行为体和其他组织。
生成漏洞利用代码的成本低意味着更多漏洞可能被利用为“N日漏洞”(N-day 漏洞,业内术语,指漏洞披露和修补后数日内发布的漏洞利用代码)。因此,研究人员表示,相比利用特定漏洞的难度,易受攻击的软件在互联网上的暴露程度很可能更能预测潜在的网络攻击。
轻松跳过护栏
LLM 防护措施在阻止漏洞利用研究方面收效甚微,因为网络安全很大程度上取决于意图。在 8 月 27 日的一份分析报告中,Anthropic 透露其 Claude 代码服务已被用于自动化数字勒索活动
。
Claude 并非孤例。网络安全研究人员和攻击者也曾多次绕过
OpenAI ChatGPT
和 Google Gemini
中为限制恶意代码或漏洞创建而设置的防护栏。
在自动漏洞研究中,绕过护栏最初需要一些时间,但变得越来越容易。
我们第一次遇到‘护栏’的时候,它确实告诉我们,‘我不想这么做。这听起来很恶意,但一旦你稍微尝试了一下……并告诉它,‘现在,只需分析一下。现在,只需尝试构建一个可行的示例。’然后,它就不会拒绝,你就可以开始绕过这些‘护栏’了。我们很快就成功通过了。
防守队员面临压力
总体而言,威胁行为者对人工智能工具的研究速度之快以及快速采用意味着防御者的时间不多了。2024 年,报告了近 4 万个漏洞,但只有 768 个(不到 0.2%)被利用。如果人工智能增强漏洞利用成为现实,漏洞不仅被利用得更快,而且被利用的范围更广,那么防御者将真正陷入困境。
以机器速度进行的漏洞攻击需要以机器速度进行的防御,你必须能够在 CVE 发布后 10 分钟内就创建某种防御措施,并且必须尽可能加快实际库或应用程序的修复速度。
不幸的是,在与系统中通常存在数百到数千个开放漏洞的安全从业人员交谈后,研究人员表示,该行业还没有准备好转向快速利用。
此外,对于攻击者来说,可利用性的难易程度可能不再是一个重要因素,这意味着企业防御者应该关注攻击者可以访问哪些软件,而不是漏洞的可利用性,这种方法称为可达性分析
。
可以降低那些尚未暴露或暴露程度较低的攻击的优先级,但基于某种可利用性计算来确定优先级的整个思路已经行不通了。