1. 生成式AI是否将成为网络威胁者的战术新宠?
论文地址
链接:https://arxiv.org/pdf/2408.12806
标题:《Is Generative AI the Next Tactical Cyber Weapon For Threat Actors? Unforeseen Implications of AI Generated Cyber Attacks》
论文探讨了生成式人工智能(Generative AI)在网络攻击中的滥用问题,特别是大型语言模型(LLMs)如何被网络犯罪分子利用来生成和自动化网络攻击,如社会工程、恶意代码、有效载荷生成和间谍软件。 引入了“‘OccupyAI,”,这是一个定制的、经过微调的 LLM,专门设计用于自动化和执行网络攻击。这个专门的人工智能驱动工具擅长为各种网络威胁制定步骤并生成可执行代码,包括网络钓鱼、恶意软件注入和系统利用。 |
研究背景
- AI 在网络安全中的双重性:AI 技术既可为网络安全提供先进的防御手段,如基于知识的系统和机器学习,但也可能被网络犯罪分子恶意利用,提升攻击效率和精准度。
- 生成式 AI 的兴起:生成式 AI 能够创建类似人类生成的内容,如文本、图像和视频。随着技术的发展,像 ChatGPT 和 Google Bard 这样的生成式 AI 模型引发了对其社会、伦理和隐私影响的担忧。
- 对网络安全的影响:强大的 AI 系统推动了网络犯罪的升级,包括自动化攻击、制作钓鱼邮件、开发恶意软件和传播虚假信息等。
主要贡献
- 探讨可行性:探讨AI 驱动的网络攻击在现实世界系统上的可行性,展示了如何生成复杂的策略,例如暴力攻击、拒绝服务攻击和自动侦察,从而显著提高这些活动的成功率和效率。
- 讨论恶意软件生成:讨论了生成复杂恶意软件的可能性,包括逃避传统检测方法的混淆和多态变体,这对网络安全防御提出了重大挑战,并强调了对 AI 威胁的高级对策的迫切需求。
- 研究自主生成能力:研究了 LLM 自主生成高级恶意软件的能力,这些恶意软件旨在避开传统检测技术,突出了 AI 是网络攻击核心的关键和新出现的威胁。
- 实证测试:研究的一个重要方面涉及在真实系统上实证测试 LLM 生成的所有攻击策略。此验证过程展示了 AI 在自动化复杂网络攻击方面的有效性,并显示了没有网络安全知识的个人执行复杂攻击的惊人潜力。这些发现凸显了对全面网络安全培训和制定对策的迫切需求
攻击方法
- Character Play:通过提示 AI 扮演特定角色来绕过其预设限制获取恶意信息,揭示了 AI 模型训练数据中的潜在偏见。例如,在要求生成混淆代码时,让 ChatGPT 扮演关系咨询的角色可能会绕过限制获取信息。
- Switch Method:提示 ChatGPT 模型发生行为上的急剧转变,利用其呈现不同角色的能力生成网络攻击,如死代码插入、控制流混淆和代码混乱等。使用时需给出清晰指令。
- Occupy AI:定制的微调 LLM,专门用于自动化和执行网络攻击。它能分析和生成攻击向量,为各种网络威胁生成可执行代码,包括分析目标系统漏洞并制定攻击策略,如生成钓鱼邮件、脚本跨站脚本攻击和自动化 SQL 注入攻击等。
- Prompt Injection Attacks:恶意插入提示到 LLM 系统中,类似于 SQL 注入攻击,可欺骗系统执行未授权命令,导致信息泄露和系统安全受损等严重后果。
- 社会工程攻击:利用 AI 模型制作钓鱼邮件,网络犯罪分子越来越多地利用 ChatGPT 等 AI 模型来制作令人信服和有说服力的信息,以诱使受害者采取所需的行动,实验中发送给 500 名随机选择的大学师生,约 75.4% 的收件人点击链接,显示出此类攻击的有效性和潜在威胁。
- 攻击载荷生成:利用 LLMs 自动生成恶意代码片段和攻击载荷,加速攻击过程并扩大攻击范围。例如针对系统漏洞(如缓冲区溢出)生成代码作为载荷,通过利用系统漏洞的工具将其注入目标系统。
- 操作系统攻击:利用定制的 LLM 生成恶意脚本,针对操作系统漏洞进行攻击,获取未经授权的访问和控制,如建立 SSH 连接进行特权提升、文件系统修改等操作。
- 间谍软件:虽然 ChatGPT 能为间谍软件的某些功能生成代码片段,但难以构建完整、复杂的间谍软件攻击。
示例
操作系统攻击
- 定义:一种网络攻击,以操作系统漏洞为目标,旨在获取未经授权的访问、破坏系统功能或窃取敏感数据。
- 类型:包括Web应用程序利用攻击和用户数据访问攻击等。
- 实验:利用定制的LLM OccupyAI生成恶意脚本,利用特定操作系统漏洞获取未经授权的访问和控制,执行到受害者虚拟机中,启用具有预加载凭据的SSH连接,进行权限提升、文件系统修改、网络侦察、Web应用程序利用、敏感数据访问和日志篡改等操作,还尝试访问其他用户的主目录和SSH密钥。
- 示例:图18显示了由LLM生成的脚本,在端口800上建立基本的HTTP服务器,可操作列出另一个用户主目录的内容并显示其SSH密钥。
研究结论
(一)主要发现
LLMs 能够自动化复杂的网络威胁,降低攻击者的门槛,增加攻击的频率和复杂性。
通过 “Occupy AI” 展示了 AI 如何轻易地利用漏洞进行网络攻击,强调了改进检测系统以应对 AI 生成威胁的紧迫性。
(二)应对策略
- 未来研究应优先加强传统的网络安全框架,并创新策略以应对复杂的 AI 方法。
- 网络安全、伦理 AI、法律和政策制定等利益相关者之间的合作至关重要。
- 对防御措施进行实际测试,以确保其对各种 AI 操纵的威胁有效。
- 平衡 AI 的风险和收益,倡导伦理 AI 实践,确保 AI 在网络安全中的作用是积极和安全的。
2. LLM Honeypot: 利用大型语言模型打造先进的交互式蜜罐系统
在当今网络安全威胁日益复杂的环境下,创新的检测和分析恶意活动的方法变得至关重要。蜜罐作为一种诱饵系统,在网络安全领域一直是检测和分析恶意活动的重要工具。而随着人工智能和自然语言处理技术的发展,大型语言模型(LLMs)为蜜罐技术带来了新的可能性。本文将介绍一篇关于利用LLMs创建更高效蜜罐系统的研究论文。
论文地址
链接:https://arxiv.org/html/2409.08234v2
标题:《LLM Honeypot: Leveraging Large Language Models as Advanced Interactive Honeypot Systems》
Github: https://github.com/AI-in-Complex-Systems-Lab/LLM-Honeypot
一、研究背景
(一)蜜罐技术的重要性与局限性
蜜罐通过模拟真实系统来吸引攻击者,从而帮助组织研究攻击者的策略并增强安全基础设施。它有多种形式,包括低交互蜜罐和高交互蜜罐等。然而,蜜罐也存在一些局限性,例如低交互蜜罐的模拟能力有限,容易被攻击者识别,且只能收集有限的攻击信息。
(二)大型语言模型的发展与应用潜力
LLMs能够生成类似人类的文本响应。通过适当的微调(fine - tuning)和提示工程(prompt engineering),它们有可能为蜜罐技术带来革新,使蜜罐能够更智能地与攻击者交互。
二、研究方法
(一)数据收集与处理
- 数据来源
研究团队使用了来自公共云端点上的Cowrie蜜罐的日志记录,这是一个中等交互的蜜罐,记录了通过SSH和Telnet进行的暴力攻击和shell命令。此外,还包括了常用的Linux命令以及命令解释对,以增强数据集的完整性。
- 数据集#1:由从云部署的 Cowrie 蜜罐日志中解析出的 174 条命令组成。
- 数据集 #2:包含前 100 个 Linux 命令带有手动填充的变体,总共 160 条命令。
- 数据集 #3:283 个 Linux 命令手册页摘要。
- 数据处理过程
首先将多个数据集合并,涵盖了617个Linux命令,并通过本地Cowrie蜜罐系统模拟命令执行,捕获响应并保存为命令响应对数据集。然后对数据集进行文本预处理,包括标记化和格式标准化,为模型训练做准备。
(二)提示工程
通过分析先前研究中的提示,研究团队进行了严格的测试和优化。针对数据集的不同部分设计了不同的提示,例如模拟Linux终端提示和将模型定位为Linux专家的提示,以确保模型生成符合要求的响应。
- 您正在模仿Linux服务器。当给出代码时,请用终端将要响应的内容进行响应。我希望您只用一个唯一代码块内的终端输出进行响应,而不要使用其他内容。不要写任何解释。除非我指示您这样做,否则不要输入任何命令。
- 您是Linux专家。您了解每个Linux终端命令的作用,并且在被问到时能够给出解释。
(三)模型选择
测试了包括Llama3、Phi 3、CodeLlama和Codestral等多个模型。最终选择了Llama3 8B模型,因为代码中心型模型在蜜罐模拟中效果不佳,较大模型速度慢,较小模型虽有足够能力但需平衡模型大小和效率,Llama3 8B模型在语言能力和速度资源管理上表现更优。
(四)监督微调(Supervised Fine - Tuning,SFT)
使用LlamaFactory对基础模型进行微调,并采用了Low - Rank Adaptation(LoRA)、Quantized Low - Rank Adapters(QLoRA)、NEFTune噪声和Flash Attention 2等技术来提高训练效率、防止过拟合、优化模型并增强注意力机制效率,使模型能够像蜜罐服务器一样响应。
三、实验结果
(一)实验设置
- 使用2 x NVIDIA RTX A6000(40GB VRAM)GPUs进行模型训练。
(二)交互式LLM - 蜜罐框架
开发了一个包装器,使LLM能够在IP(Layer 3)级别与网络流量交互,形成一个包含攻击者接口、SSH服务器、LLM和交互流程的架构。通过SSH服务器与LLM的结合,系统能够以现实的方式与攻击者交互,捕获其策略和技术相关的数据。
图2展示了基于 LLM 的蜜罐系统的架构,该系统将 SSH 服务器与大型语言模型 (LLM) 集成在一起,以模拟与潜在攻击者的真实交互。该设置涉及以下组件:
- 攻击者接口:如左侧图标所示,该接口表示试图通过 SSH(Secure Shell)协议与蜜罐系统进行交互的外部实体。攻击者使用此接口执行命令并探测系统。
- SSH 服务器:系统的核心组件(以紫色突出显示)是 SSH 服务器。此服务器充当来自攻击者的所有传入 SSH 连接的入口点。它配置为处理身份验证、管理会话并将命令中继到集成的 LLM。
- 大型语言模型:LLM嵌入在 SSH 服务器中,以绿色显示,经过微调以模仿典型 Linux 服务器的行为。从 SSH 服务器收到命令后,LLM 会处理这些命令并生成适当的响应。该模型利用预先训练的数据和微调技术来提供切合实际且与上下文相关的回复。
- 交互流程:箭头表示交互流程。攻击者发起连接并向 SSH 服务器发送命令,然后 SSH 服务器将这些命令转发给 LLM。LLM 处理命令并生成响应,这些响应被发送回 SSH 服务器,随后转发给攻击者。
(三)自定义SSH服务器包装器
使用Paramiko库创建了自定义SSH服务器,集成了微调后的语言模型以生成真实响应。该服务器能够收集SSH连接的IP地址、用户名 - 密码对以及命令和响应日志,从而更好地分析攻击者行为。 |
Paramiko 是一个用于实现 SSH2 协议的 Python 库,它提供了客户端和服务器端的功能实现,在网络安全领域,特别是涉及到 SSH 连接和交互的场景中具有广泛应用。以下是关于 Paramiko 库的详细介绍:
- 功能特点
SSH 连接建立
- 支持多种认证方式:Paramiko 库允许使用多种认证方式来建立 SSH 连接,包括基于密码的认证和基于密钥的认证。这使得它能够适应不同的安全需求和环境设置。例如,在安全要求较高的环境中,可以使用密钥对进行认证,提高连接的安全性。
- 灵活的连接参数配置:用户可以根据实际需求灵活配置 SSH 连接的各种参数,如服务器地址、端口号、用户名等。这种灵活性使得它能够方便地与不同的 SSH 服务器进行连接。
远程命令执行
- 发送命令到远程服务器:一旦建立了 SSH 连接,Paramiko 库允许用户发送各种命令到远程服务器并获取执行结果。这对于远程系统管理和自动化任务非常有用。例如,可以在远程服务器上执行系统信息查询命令、软件安装命令等。
- 处理命令执行结果:它能够处理从远程服务器返回的命令执行结果,包括正确的输出结果和可能出现的错误信息。用户可以根据这些结果进行进一步的分析和处理。
文件传输
- 上传和下载文件:Paramiko 库支持在本地和远程服务器之间进行文件传输。可以将本地文件上传到远程服务器,或者从远程服务器下载文件到本地。这在数据备份、文件分发等场景中具有重要应用。
- 文件传输模式和权限设置:它提供了不同的文件传输模式选择,并且可以设置文件在远程服务器上的权限。例如,可以选择二进制模式或文本模式进行文件传输,同时可以设置文件的所有者、所属组和读写执行权限等。
下图显示了示例 SSH 连接以及对发出的命令的相应响应。自定义 SSH 服务器的运行方式如下:
- SSH 连接:用户使用 ssh -T -p 2222 ”root@localhost” 连接到蜜罐服务器,模拟攻击。
- 身份验证:服务器提示输入密码;成功后,用户可以访问蜜罐的命令行界面。
- 命令执行:用户运行 Linux 命令(例如,ls -al、echo 'hello world'、ifconfig),SSH 服务器将其转发到集成的 LLM。
- LLM 响应生成: LLM 生成模仿真实 Linux 服务器的响应(例如,列出目录内容、输出文本、显示网络配置)。
- 交互日志:蜜罐记录所有命令和响应,捕获攻击者行为的数据以进行网络安全分析。
(四)训练损失分析
微调后的模型训练损失在训练过程中稳步下降,表明模型有效地从数据集中学习并适应了模拟Linux服务器的任务。在微调阶段,学习率为5×10e-4,共进行了36个训练步骤,耗时14分钟。
(五)与Cowrie输出的相似性分析
采用了多种指标来衡量预期(Cowrie)和生成的终端输出之间的相似性。
使用余弦相似性、Jaro - Winkler相似性和Levenshtein距离等多种指标来衡量微调后的Llama3 - 8B模型与Cowrie预期输出之间的相似性。结果表明,微调后的模型在所有指标上都优于基础模型,其生成的输出与Cowrie蜜罐服务器的预期响应紧密匹配。
该模型使用不同的相似度和距离度量对 140 个随机样本进行了测试。经过微调的模型实现了 0.695 的余弦相似度得分(越高越好),表明预期和生成的终端输出之间高度匹配。Jaro-Winkler 相似度得分为 0.599(越高越好),也反映了合理的相似度水平。Levenshtein 距离为 0.332(越低越好),表明将生成的输出与预期输出对齐所需的编辑次数相对较少。
某些输出可能会有所不同,但仍与上下文准确一致,并符合命令。由于严格的系统提示护栏和对错误示例的训练,LLM 蜜罐服务器始终能够处理越界或无效的命令。例如,当遇到无法识别的命令时,该模型会使用“bash:XXX:未找到命令”之类的消息复制真实的系统行为。测试表明,即使输入意外,该模型也能保持其个性并提供令人信服的响应。
四、研究结论
通过对预训练的开源语言模型进行微调,创建了一个复杂的蜜罐系统,提高了响应质量和检测分析恶意活动的能力。LLMs与蜜罐技术的结合形成了一个动态、自适应的系统,能够随着新威胁的出现而不断进化。这种创新方法为网络安全专业人员提供了一个强大的工具,有助于增强整体安全基础设施。