智能背后的阴影:LLM安全风险

智能化与危机并行:解读LLM安全隐忧

**©作者|**Lorne

**来源|**神州问学

一、背景 Background

图1:LLM潜在隐患

近年来,大语言模型(Large Language Model, LLM)研究的热度持续攀升。自ChatGPT问世并迅速走红以来,越来越多的研究机构与商业公司纷纷投身于LLM的开发与应用,覆盖各行各业。随着对LLM研究的深入,一些潜在的安全隐患也逐渐暴露。本文旨在探讨可能对LLM的安全性和隐私保护构成威胁的几种常见攻击类型,期望为LLM安全管理领域的从业者提供启示。值得注意的是,本文所提及的所有漏洞示例均已得到修复,读者应避免在未经授权的情况下尝试。

二、对抗攻击 Adversarial Attacks

在以往的深度学习研究中,对抗攻击的行为最早在计算机视觉领域被发现。攻击者仅需要调整一张图像上的部分像素值,尽管人眼并不能分辨出区别,但是却可以使模型发生误判。对抗攻击本质上是利用模型漏洞来欺骗或操纵模型,在LLM领域中,针对于LLM的对抗攻击或越狱提示很可能会使得LLM生成一些人们不希望看到的(通常是有害的)内容。对抗攻击可以分为白盒攻击和黑盒攻击两种。白盒攻击指攻击者可以获取到模型的所有信息,如模型结构、模型权重、训练过程等,并利用这些信息对模型进行干扰,因此这种攻击行为只能对于开源的LLM进行;而黑盒攻击,与之相反,攻击者只能通过输入信息,获取输出来和模型进行交互,并不了解模型的底层机制,因此对于一些闭源的LLM如GPT系列也存在一定的威胁。

2.1 数据投毒 Data Poisoning

表1:Textfooler处理文本前后对比

数据投毒攻击指的是攻击者在训练过程中在数据集中添加恶意数据来影响训练结果。数据投毒会在模型中引入漏洞或者偏差,使得LLM的生成结果存在偏差,从而危害模型的有效性、安全性。由于LLM本身的特性,即使少量的有害数据也能在多种任务中对模型产生持续的负面效果。

词元操纵(Token Manipulation)是一个简单而常用的方法。给定一个词元序列,简单地对词元进行操作,如同义词替换,即可使LLM的预测过程中出现错误。语义等价对抗规则(Semantically Equivalent Adversarial Rules, SEARs) 手动定义了一些规则,如(Which noun → Which noun), (was → is)等,使得模型无法生成正确的答案。该方法只能利用对最小词元变换的敏感性的漏洞,因此在大模型能力提升之后并不会构成很大影响。在此之后,TextFooler和BERT-ATTACK等方法也被提出。与SEARs不同的是,这些方法能够检测在一个句子或词元序列中最重要且最脆弱的词元,并通过特定的方式去修改或替换这些词元。

2.2 后门攻击 Backdoor Attack

和数据投毒类似,后门攻击也涉及对LLM本身的篡改。攻击者会在模型中创建一个漏洞,从而能够作为一个隐藏的后门。与数据投毒的关键区别在于,后门攻击更偏向于在模型中创建一个"触发器",当"触发器"被触发时,模型会被攻击者操控,导致输出一些特定的响应。例如基于LLM的Agent会在"触发器"被触发时执行攻击者规定的有害操作,如删除文件,执行恶意代码等。

后门攻击方法有多种类型,包括基于提示的后门攻击、参数高效微调(PEFT)中的后门注入等。这些方法具有较高的隐蔽性和破坏性,例如给予提示的后门攻击可以注入有毒的提示来影响LLM的预测,而基于PEFT过程中的后门注入可以控制微调后的模型产生一些有害的行为。

三、指令攻击 Prompt Attack

指令遵循对于LLM来说是一项非常重要的能力,经过指令微调(Instruction fine-tuning)后的模型可以对增强对零样本任务或少样本任务的泛化能力,增强对用户提示或者命令的理解能力,从而能够生成更符合人类需求的结果。指令攻击者能够利用LLM的指令遵循能力,引导模型突破安全策略,或者对模型的生成结果产生严重的负面影响。

3.1 越狱提示 Jailbreak Prompting

图2:用户绕过ChatGPT安全机制获取信息

不涉及训练过程中的污染,越狱提示旨在绕过LLM的安全和隐私防御机制,使LLM输出一些本应该避免的内容。一个简单而有名的例子便是用户让ChatGPT扮演去世的祖母念出windows激活码,结果ChatGPT真的被绕过了防御机制, 提供了一组可用的windows 10 pro激活码。为了避免LLM再次出现类似的道德伦理法律等方面的问题,学术界对越狱提示的独特特征,攻击策略等方面展开了多种研究。

一项研究分别从越狱提示的长度和语义分别展开了调查。从越狱提示长度方面来看,如图所示,越狱提示的平均token数量为555,是常规提示的平均token数量的1.5倍,并且随着时间推移呈现不断增加的趋势,大致上也随着ChatGPT的不断更新而增加;从提示语义上看,将常规提示和越狱提示embedding之后的高维向量降维至二维空间,然后使用模型对相近的embedding进行语义的提取。分析发现,大多数的越狱提示与一些常规提示语义上是相近的,都是"游戏-玩家-用户-故事" ("game-player-user-story")的模式。人工检查也发现,让LLM去扮演虚拟角色是绕过安全检查的常用策略。由于语义相近,对于越狱提示的检测也是一项具有挑战性的任务。

图3:prompt长度对比

图4:prompt分布情况和对应语义分析

下面介绍一些常见的越狱策略:

目标竞争:目前的LLM会同时在多个目标进行训练,如指令遵循、文本生成、安全策略等。因此攻击者可以利用这个训练过程,通过设计特定的提示,使得LLM在违反安全策略的回答和在其他目标中受到高度惩罚的回答中选择,进而存在突破安全策略的可能性。上文中提到的祖母念激活码即是目标竞争的一个例子。常用的设计思路有前缀注入、拒绝抑制等。

不匹配泛化:LLM预训练的数据集十分广泛和多样化,远远超出了安全训练的范围,因此LLM具备很多安全训练没有涉及到的能力。通过特定的指令或提示,使得LLM的泛化能力足以处理和回复该命令,但是安全训练并没有涉及,从而突破LLM的安全检查。一个例子是攻击者可以使用Base64编码对输入进行混淆,并让LLM同样使用Base64编码对回答进行包装,安全检查并不能审查Base64格式的文本,因此对安全策略进行了突破。常用的设计思路有特殊编码、单词替换等。

3.2 拒绝服务攻击 Denial of Service

拒绝服务(DoS)攻击是一种网络攻击,旨在通过耗尽系统或网络的计算资源,导致服务延迟或完全不可用。在大规模的语言模型(LLM)中,推理过程通常需要大量的计算资源和存储空间,因此,LLM面临着这种攻击的巨大风险。攻击者通过精心设计的输入提示(prompt),可以最大化计算资源的消耗,导致模型响应速度大幅下降,甚至使其完全无法服务。这不仅影响LLM的可用性,还可能给其服务供应商带来巨大的资源浪费和额外成本。

尤其在那些对响应时间要求极高的应用场景中,DoS攻击的后果更加严重。例如,在自动驾驶系统中,模型的延迟响应可能直接导致交通事故;在金融交易系统中,模型的不可用性可能造成交易错失,导致市场混乱或经济损失。因此,DoS攻击对这些领域的潜在影响是不可忽视的,尤其是当涉及到实时决策和紧急响应时,任何延迟都可能带来灾难性后果。

尽管当前针对LLM的DoS攻击的研究相对较少,但它显然是一种具有重大安全威胁的攻击模式。随着LLM在更多关键任务中的应用,未来的研究亟需关注这一问题,并提出有效的防御策略,以确保LLM的稳定性和可靠性。

四、其他攻击 Other Attacks

除了前文提到的攻击模式外,实际上还存在许多其他的攻击方式,能够对大型语言模型(LLM)构成威胁。其中一种常见的攻击方式是推理攻击,这种攻击方式通常通过观察或分析模型输出的结果来推断某些敏感信息。攻击者通过对模型输出的细致分析,可以获取关于个人或实体的具体敏感信息。例如,通过使用真实的Reddit社区用户资料数据,研究表明LLM可以在没有显式训练的情况下,准确推测出用户的个人信息,如地理位置、收入水平、性别等。这类推理攻击不仅能揭示用户的私人数据,还能在某些情况下揭示用户的隐私特征。推理攻击的危害在于,即便攻击者没有访问原始训练数据的权限,也能够通过与模型交互得到关于这些数据的有价值信息。因此,推理攻击的存在增加了LLM在处理用户数据时的隐私泄露风险。

另一个相关的攻击模式是数据提取攻击,这种攻击方式与推理攻击有相似之处,但其目标更加直接和明确。数据提取攻击的目的在于从模型中提取具体的敏感信息,如模型的梯度、训练数据或其他机密信息。在这种攻击方式下,攻击者通过特定的查询或操作,能够从模型中提取出原本不应公开的训练数据或模型参数。这类攻击不仅可能暴露模型的内部机制,还可能导致泄露包含个人敏感信息的训练数据。特别是在大规模训练数据包含个人信息或私密内容时,数据提取攻击的危害尤为严重,可能对用户隐私造成巨大的侵犯。

五、防御措施 Defensive measures

随着LLM性能的不断提升,针对不同攻击方法的防御措施也在不断发展。对于数据污染攻击,如词元操控或同义词替换等变换,传统的语义变换方式(例如简单的同义词替换)对LLM的影响已经非常有限,尤其是在训练数据集更为庞大的情况下,模型能够较好地识别和适应这种变化。这是因为随着模型能力的提升,尤其是在理解和生成自然语言的能力上,LLM变得更加健壮,能够辨别和抵抗简单的语义变化。

对于指令攻击和对抗攻击,研究者和工程师可以采取一种有效的防御手段------对抗训练(Adversarial Training)。这一方法通过在模型的训练过程中加入对抗样本(即经过特殊设计,能引发攻击的输入数据),使模型在面对攻击时能够增强鲁棒性,显著降低攻击的成功率。通过对抗训练,模型不仅能够识别和应对常见的攻击手段,还能学会对新的未知攻击模式作出反应,从而有效提升其防御能力。

此外,针对不同类型的攻击,学术界还提出了其他的防御方法。例如,在处理越狱攻击时,可以通过限制模型的行为或设置更严格的输入过滤规则来减少模型被绕过的可能性。对于对抗攻击,则可以通过不断更新训练数据,增强模型在多样化情境下的适应能力,从而减少攻击的有效性。总之,随着对抗性攻击方式的不断演化,防御策略也需不断改进,只有不断加强对LLM的安全性研究,才能有效保障其在实际应用中的安全性和可靠性。

相关推荐
这就是编程2 小时前
ChatGPT背后的深度解析:Andrej Karpathy的视频精华
人工智能·chatgpt
是小果果蛋儿啊2 小时前
2024 CyberHost 语音+图像-视频
人工智能·深度学习·音视频
中科岩创3 小时前
河北某石油管廊自动化监测
大数据·人工智能
Boxsc_midnight3 小时前
【用Deepseek搭建免费的个人知识库--综合教程(完整版)】第二篇:Ollama服务器
运维·服务器·人工智能·nginx
大囚长3 小时前
自己动手实现一个简单的Linux AI Agent
人工智能
高工智能汽车3 小时前
洗牌加速!车规MCU“冷热交加”
人工智能·单片机·物联网
云边有个稻草人4 小时前
AI语言模型的技术之争:DeepSeek与ChatGPT的架构与训练揭秘
人工智能·算法·语言模型·chatgpt·deepseek
Hacker_xingchen4 小时前
网络安全威胁是什么
网络·安全·web安全
黑客KKKing4 小时前
网络安全技术复习总结
网络·安全·web安全