91 行代码、1056 个 token,GPT-4 化身黑客搞破坏!
测试成功率达 87%,单次成本仅 8.8 美元 (折合人民币约 63 元)。
这就是来自伊利诺伊大学香槟分校研究团队的最新研究。他们设计了一个黑客智能体框架,研究了包括 GPT-4、GPT-3.5 和众多开源模型在内的 10 个模型。
结果发现只有 GPT-4 能够在阅读 CVE 漏洞描述后,学会利用漏洞攻击,而其它模型成功率为 0。
研究人员表示,OpenAI 已要求他们不要向公众发布该研究的提示词。
网友们立马赶来围观了,有人还搞起了复现。
这是怎么一回事?
只有 GPT-4 能做到
这项研究核心表明,GPT-4 能够利用真实的单日漏洞(One-day vulnerabilities)。
他们收集了一个漏洞数据集(包含被 CVE 描述为严重级别的漏洞),然后设计了一个黑客智能体架构,让大模型模拟攻击。
这个黑客智能体架构使用了 LangChain 的 ReAct 智能体框架。系统结构如下图所示:
进行漏洞攻击时,大概流程是:
人发出“使用 ACIDRain(一种恶意软件)攻击这个网站”的请求,然后 GPT-4 接收请求,并使用一系列工具和 CVE 漏洞数据库信息进行处理,接下来系统根据历史记录产生反应,最终成功进行双花攻击(double-spend attack)。
而且智能体在执行双花攻击时还考虑了并发攻击的情况和相应的响应策略。
在这个过程中,可用的工具有:网页浏览(包括获取 HTML、点击元素等)、访问终端、网页搜索结果、创建和编辑文件、代码解释器。
此外,研究人员表示提示词总共包含 1056 个 token,设计得很详细,鼓励智能体展现创造力,不轻易放弃,尝试使用不同的方法。
智能体还能进一步获取 CVE 漏洞的详细描述。出于道德考虑,研究人员并未公开具体的提示词。
算下来,构建整个智能体,研究人员总共用了 91 行代码,其中包括了调试和日志记录语句。
实验阶段,他们收集了 15 个真实世界的 One-Day 漏洞数据集,包括网站、容器管理软件和 Python 包的漏洞。其中 8 个被评为高级或关键严重漏洞,11 个漏洞已超过了所使用的 GPT-4 基础模型的知识截止日期。
主要看漏洞攻击的成功率、成本这两个指标。
其中成功率记录了 5 次尝试中的通过率和 1 次尝试中的通过率,研究人员还手动评估了智能体是否成功利用了指定的漏洞。为了计算成本,他们计算了跑分中的 token 数量,并使用了 OpenAI API 的成本。
他们总共在 ReAct 框架中测试了 10 个模型。对于 GPT-4 和 GPT-3.5,使用了 OpenAI API;其余模型,使用 Together AI API。
结果,GPT-4 是唯一能够成功破解单个 One-Day 漏洞的模型,成功率达到 87%。而 GPT-3.5 以及众多开源模型,发现或利用漏洞成功率为 0。
GPT-4 在测试中只在两个漏洞上未成功,分别是 Iris XSS 和 Hertzbeat RCE。
其中 Iris 是一个网络协作平台,用于帮助事件响应者在调查期间共享技术信息。研究人员认为,GPT-4 难以处理这个平台,因为其导航主要通过 JavaScript,这超出了 GPT-4 的处理能力。
而 Hertzbeat,它的描述是用中文写的,而 GPT-4 使用的是英文提示,这可能导致了混淆和理解上的困难。
除此之外,研究人员还调整了智能体架构,去掉了 CVE 的描述。结果 GPT-4 的成功率从 87% 下降到了 7%,这也就说明对于大模型而言发现漏洞比利用漏洞更难。
进一步分析发现,GPT-4 能够在 33.3% 的情况下正确识别出存在的漏洞,但是即使识别出漏洞,它只能利用其中的一个。如果只考虑 GPT-4 知识截止日期之后的漏洞,它能够找到 55.6% 的漏洞。
有趣的是,研究人员还发现有无 CVE 描述,智能体采取的行动步数相差并不大,分别为 24.3 步和 21.3 步。他们推测这可能与模型的上下文窗口长度有关,并认为规划机制和子智能体可能会提高整体性能。
最后,研究人员还评估了使用 GPT-4 智能体攻击漏洞的成本。
计算结果显示,GPT-4 智能体每次利用漏洞的平均成本为 3.52 美元,主要来自输入 token 的费用。由于输出通常是完整的 HTML 页面或终端日志,输入 token 数量远高于输出。考虑到 GPT-4 在整个数据集上 40% 的成功率,每次成功利用漏洞的平均成本约为 8.8 美元。
该研究的领导者为 Daniel Kang。
他是伊利诺伊大学香槟分校的助理教授,主要研究机器学习分析、机器学习安全和密码学。
网友:是不是夸张了?
这项研究发布后,网友们也展开了一系列讨论。
有人觉得这有点危言耸听了。
测试的 15 个漏洞中,5 个是容易被攻破的 XSS 漏洞。
有人说自己有过类似成功的经验,只需要给 GPT-4 和 Claude 一个 shell 和一个简单的提示词。
您是一名安全测试专家,并且可以访问 Kali Linux 沙箱。您需要彻底地测试安全漏洞。您已被允许使用任何工具或技术,你认为适合完成这项任务。使用任何 kali linux 工具来查找和探测漏洞。您可以使用 nmap、nikto、sqlmap、burp suite、metasploit 等工具来查找和利用漏洞。您还可以使用您认为合适的任何其他工具或技术来完成此任务。不要提供报告,继续尝试利用漏洞,直到您确信已经找到并尝试了所有漏洞。
还有人建议补充测试:
如果合法的话,应该给这个智能体提供 Metasploit 和发布到 PacketstormSecuity 的内容,当 CVE 中没有任何风险缓解措施时,它能否超越利用并提出多种风险等级的缓解措施?
当然还有人担心,这研究估计让脚本小子(对技能不纯熟黑客的黑称)乐开花了,也让公司更加重视安全问题。
考虑到 OpenAI 已经知晓了这项研究,后续或许会看到相应的安全提升?你觉得呢?