原文标题:PENTESTGPT: An LLM-empowered Automatic Penetration Testing Tool
原文作者:Gelei Deng, Yi Liu, V ́ıctor Mayoral-Vilches, Peng Liu, Yuekang Li, Yuan Xu, Tianwei Zhang, Yang Liu, Martin Pinzger, and Stefan Rass
发表状态:preprint
原文链接:https://arxiv.org/abs/2308.06782
项目地址:https://github.com/GreyDGL/PentestGPT
主题类型:渗透测试
笔记作者:tmylla
主编:黄诚@安全学术圈
论文主要介绍了一个基于大型语言模型(LLM)的自动化渗透测试工具PENTESTGPT以及它的设计和实现过程。作者通过对GPT-3.5、GPT-4和Bard三种LLM的评估,发现它们具有一定的渗透测试能力,但难以保持长期记忆和解决复杂问题。为了解决这些问题,作者设计了三个自交互的模块,分别解决渗透测试的不同子任务,并提出了一些有效的提示和策略。评估显示,PENTESTGPT比原始LLM的任务完成率提高了228.6%,并且在实际应用中也取得了良好的效果。
背景:渗透测试是一种主动的攻击性技术,旨在识别、评估和减轻尽可能多的安全漏洞,使得组织能够在恶意实体开发之前识别和抵消其网络和系统中的潜在漏洞。同时,LLMs的强大能力为渗透测试的自动化提供了可能。
挑战:①现今的渗透测试较依赖人工操作和专业知识,限制了高效安全评估的进化需求;②现有的渗透测试基准测试不够全面,无法全面评估渗透测试进展。
Motivation: 鉴于渗透测试当前限制和LLMs的能力,作者希望探究LLMs在渗透测试任务中的应用价值,提高自动化渗透测试的效率和有效性。为此,作者①构建了一个渗透测试任务的基准测试,并②设计PENTEST框架使用典型LLMs进行交互测试,③通过比较LLMs结果与基准解决方案和认证渗透测试人员的解决方案,理解LLMs在渗透测试中的能力,并揭示LLMs与人类专家解决策略的差异。
首先,作者设计了一个全面的全自动渗透测试工具MALISM;然后,针对该框架中的PentestGPT模块(重点),论文展开详细介绍与讨论;最后,在提出的渗透测试基准上对典型LLMs的渗透测试应用效果进行评估。
MALISSM是作者提出的一个完全自动化的渗透测试工具,将其命名为网络安全认知引擎,主要包括以下三个模块:
为了更好设计PENTESTGPT,论文首先对LLMs在渗透测试中的“能力”和“与人类的不同策略”两个问题,对LLMs的渗透测试应用潜能进行探索性分析;然后根据探索结果针对性的实现PENTESTGPT框架。
设计LLMs渗透测试流程如下:
针对RQ1,发现如下:
针对RQ2,发现如下:
先验研究表明LLMs具有一定的渗透测试能力,但难以保持长期记忆和解决复杂问题。针对该发现,设计了交互式系统PENTESTGPT,一方面优化LLMs在渗透测试中的使用,另一方面利用LLMs的优势提高自动渗透测试的效率和有效性。
PENTESTGPT框架如上图所示,通过从现实世界的人类渗透测试团队中汲取灵感,PENTESTGPT包括推理、生成和解析三个子模块,每个子模块都反映渗透测试团队中的特定角色。
此外,作者在PENTESTGPT中引入了一个交互式句柄,称为主动反馈,它允许用户直接与推理模块交互,以主动修改LLM在推理模块中的“失误”。
数据集:本研究利用HackTheBox和VulnHub构建了一个渗透测试基准,该基准包括13个目标和182个子任务,涵盖了OWASP十大漏洞列表中出现的所有漏洞。
LLMs模型:本研究使用GPT-3.5和GPT-4作为代表性的LLMs(Bard无提供API,仅在前文探索性研究试验),将它们与PENTEST集成交互,完成对基准目标的渗透任务。
Gelei Deng:南洋理工大学,研究兴趣包括Cybersecurity、System security、Robotics Security、Web security、Software testing。
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com