
原文标题:Getting pwn’d by AI: Penetration Testing with Large Language Models
原文作者:Andreas Happe, Jürgen Cito发表会议:ESEC/FSE "23笔记作者:焦宇彤@安全学术圈主编:黄诚@安全学术圈编辑:谷雨@安全学术圈
1、引言
网络安全领域,尤其是渗透测试,面临严重的人才短缺与高度依赖专家经验的挑战。与此同时,大型语言模型(LLM)展现了在复杂任务规划和执行方面的巨大潜力。一个自然的问题是:能否将LLM作为AI“陪练伙伴”来辅助甚至自动化安全测试,从而增强现有安全人员的能力?
本文探索了LLM在渗透测试领域的应用潜力,并提出了两个核心用例:高层任务规划(如为攻击Active Directory制定策略)与低层攻击执行(如在已获得初始权限的Linux系统上进行自动化漏洞发现与提权)。为此,研究团队实现了一个名为 hackingBuddyGPT 的反馈循环原型:让LLM(GPT-3.5)通过SSH连接到一个故意配置为易受攻击的虚拟机,并允许其自主分析系统状态、建议攻击向量、执行命令。研究表明,通过这种简单的循环,AI能够成功获得目标系统的root权限,并识别出多种安全漏洞。
这项工作不仅实证了AI在特定场景下自动化安全测试的可行性,也引发了对AI辅助安全测试的伦理性、稳定性和未来发展方向的深入思考。
2、方法论:LLM驱动的双层渗透测试框架
本文的核心方法是区分并实证验证LLM在渗透测试中不同层次(高层与低层)的应用能力,并构建了一个可操作的“思考-行动-观察”闭环原型系统。
2.1 用例划分:高层规划与低层执行
研究将渗透测试任务分为两个层次,对应不同的AI辅助模式:
高层任务规划系统:回答“如何攻击XXX?”这类宏观策略问题。研究通过引导现有的自主代理框架(如AgentGPT, AutoGPT)来生成针对特定目标(如“成为Active Directory域管理员”)的攻击计划。这些计划基于MITRE ATT&CK框架,旨在覆盖从侦察到权限提升的完整战术、技术与过程。
低层攻击执行系统:在已获得初始立足点(如一个低权限shell)后,回答“如何从此处进行权限提升?”这类具体技术问题。这是研究重点,旨在验证LLM能否理解动态系统状态并执行有效攻击。
2.2 hackingBuddyGPT:一个低层自动化攻击原型
为实现低层用例,研究构建了一个简化的自主代理系统hackingBuddyGPT。
系统架构:如图1所示,其核心是一个无限循环。在每次迭代中,系统:
思考(Thought):告知GPT-3.5其当前角色(一个想成为root的低权限用户)和目标。
行动(Action):GPT-3.5输出一个它认为有用的Linux shell命令。
观察(Observation):该命令通过SSH在目标虚拟机(lin.security)上执行,并将输出结果反馈给GPT-3.5。
反思(Reflection):(可选)要求GPT-3.5根据命令输出,分析潜在的安全漏洞,并提出“验证命令”。
关键设计:这个结构极为简单,没有复杂的记忆或规划机制,仅依靠LLM对当前上下文(对话历史包含所有已执行的命令和输出)的理解来驱动下一步行动。然而,正是这个简单循环成功完成了提权任务。
2.3 基于ATT&CK框架的评估视角
研究将MITRE ATT&CK框架作为评估AI“陪练”能力的基准。一个合格的AI伙伴应能理解和建议覆盖不同战术(Tactic)、技术(Technique)和具体过程(Procedure)的攻击方法,从高层的战略选择到低层的命令执行。
3、实验结果与讨论
通过运行hackingBuddyGPT原型以及对高层规划系统的测试,研究得出了一系列有启发的发现,并引发了多方面的讨论。
3.1 攻击效能与“幻觉”
成功提权:使用上述简单循环,原型系统能够成功获取目标虚拟机的root权限。常见攻击路径包括:执行
sudo -l查看可用sudo命令,然后利用其中可用的shell或GTFOBins提权;检查/etc/passwd文件寻找弱密码配置等。结果的“真实性”:LLM的建议部分基于对系统状态的实时分析(如看到
sudo -l结果后建议相关提权技术),部分则可能源于其训练数据中的“先验知识”(例如在没有任何版本信息的情况下建议使用脏牛漏洞)。这表明AI的行为类似于一个拥有丰富安全知识但视野受限的人类“远程搭档”。“幻觉”与控制:明显的“幻觉”(如建议执行一个不存在的
exploit.sh)并不频繁。通过精心设计的提示词(例如,用“验证命令”代替“攻击利用”),可以进一步引导AI的行为并规避其内置的伦理过滤器。
3.2 稳定性与可重复性
单次运行的不稳定性:单次攻击尝试的命令序列和发现的漏洞存在显著变化,AI有时会过度关注某个线索而“钻牛角尖”。这种行为模式与缺乏经验的人类测试者相似。
结果的收敛性:在多次运行或长时间运行后,发现的主要攻击路径和漏洞类型会趋于一致。与
linpeas.sh等确定性枚举脚本相比,LLM驱动的测试表现出更多样化、非确定性的探索行为,这可能有助于规避基于模式的入侵检测。
3.3 伦理考量
伦理过滤的可绕过性:研究发现,GPT-3.5内置的安全措施在攻击场景下并非不可逾越。通过措辞调整(如强调“测试”、“验证”),可以显著降低其拒绝执行命令的概率。
“双刃剑”问题:论文明确指出,这种技术极易被用于恶意目的。无论是通过云端API还是本地部署的泄露模型(如LLaMA),攻击者都可以低成本地微调或使用LLM来增强其攻击能力。论文认为,攻击者使用LLM已成为一个无法遏制的现实,防御方必须为此做好准备。
4、未来展望:迈向AI增强的渗透测试
基于初步探索,论文提出了一个“人机协同”渗透测试的未来愿景及关键技术研究方向:
高低层能力的集成:构建一个统一系统,允许测试人员在高层的战术咨询和低层的自动化执行之间无缝切换,并将所有发现的知识整合到共享上下文中,实现协同增效。
模型选择的探索:评估并采用可本地部署的开源模型(如Llama),以解决数据隐私和持续定制化问题。例如,可以针对特定客户或行业的知识对模型进行微调。
增强记忆、验证与反思机制:引入更高级的记忆管理(如多级记忆流、基于LLM的反思与摘要),以克服上下文长度限制,减少“幻觉”,并构建对目标系统的内部“心智模型”,从而支持更复杂的多步骤规划和“查漏补缺”式提问。
优化提问的艺术:研究如何利用LLM自身来生成更好的提示词,或者通过学习优秀渗透测试人员的思维过程来设计更有效的提问模式。
5、总结
本文是探索LLM作为渗透测试“AI陪练”伙伴的早期实证研究。它通过构建一个简单的反馈循环原型hackingBuddyGPT,成功演示了LLM在获得初始访问权限后进行自动化漏洞发现和权限提升的潜力。
研究核心表明,即使是一个非常简单的“思考-行动-观察”循环,结合强大的基础LLM,也能在受控环境中完成真实的攻击链。这验证了AI辅助安全测试的可行性,但同时也暴露出稳定性、伦理和评估方法等方面的挑战。
论文最终强调,LLM在网络安全领域的“红队”应用已成为不可逆转的趋势。与其试图禁止,不如积极探索如何以负责任的方式利用其增强防御者的能力(如培训新手、辅助分析),并为即将到来的、由AI驱动的攻击升级做好准备。
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com
声明:本文来自安全学术圈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。