【LLM安全】A Survey on Large Language Model (LLM) Security and Privacy: The Good, the Bad, and the Ugly(综述) 【LLM安全】A Survey on Large Language Model (LLM) Security and Privacy: The Good, the Bad, and the Ugly(综述)

1. Introduction

The Good:LLMs在代码安全和数据安全与隐私方面都做出了贡献。在代码安全的背景下,LLMs已经被用于代码(例如,安全编码、测试用例生成、脆弱代码检测、恶意代码检测、代码修复等)的整个生命周期。在数据安全和隐私方面,LLMs已被应用于确保数据完整性、数据机密性、数据可靠性和数据可追溯性。大多数研究人员发现基于LLM的方法优于传统最先进的方法。

The Bad:我们将攻击分为五类:硬件级攻击(例如,侧信道攻击),操作系统级攻击(例如,从操作系统中分析信息),软件级攻击(例如,制造恶意软件),网络级攻击(例如,网络钓鱼),用户级攻击(例如,不实信息、社会工程、科学不端行为等)。由于LLMs具有类人的推理能力,用户级攻击最为普遍,有32篇。这些攻击同时威胁安全(例如,恶意软件攻击)和隐私(例如,社会工程)。目前,LLM缺乏对操作系统和硬件级功能的直接访问。

The Ugly:将漏洞分为两大类:人工智能模型固有漏洞(例如,数据投毒、后门攻击、训练数据提取等)和非人工智能模型固有漏洞(例如,远程代码执行、提示注入、侧信道等)。这些攻击具有双重威胁,既包括安全问题(例如,远程代码执行攻击),也包括隐私问题(例如,数据提取)。训练阶段的防御包括语料清洗和优化方法,推理阶段的防御包括指令预处理、恶意检测和生成后处理。模型提取,参数提取和类似的攻击很少有实际的探索。大规模的LLM参数使得传统的方法变得不那么有效,而强大的LLM的保密性进一步保护了它们免受常规攻击。对LLM输出的严格审查甚至对黑盒ML攻击提出了挑战。同时,模型架构对LLM安全性影响的研究较少,部分原因是计算成本较高。

Finding I:尽管现阶段LLMs中存在一些漏洞,但大多数研究者倾向于使用LLMs来增强安全社区,例如在漏洞检测和安全测试生成方面。使用LLMs作为攻击工具的研究人员相对较少。

4. Positive Impacts on Security and Privacy

LLMs for Code Security and Privacy

4.1. LLMs for Code Security

LLM可以在整个代码安全生命周期中发挥关键作用,包括编码( C )、测试用例生成( TCG )、执行和监控( RE )。

Secure Coding ( C ).

讨论LLMs在安全代码编程[ 74 ] (或生成[ 62 , 276 , 190 , 89 ])中的使用。

  • [ 225 ]进行了一项用户研究( 58个用户),以评估LLM的安全影响。他们评估了学生程序员在LLMs辅助下编写的代码,发现由LLMs辅助的参与者不会引入新的安全风险:AI辅助组产生关键安全缺陷的比率比对照组(非辅助)高不超过10 %。
  • [ 97 ]致力于增强LLM生成代码的安全性。他们提出了一种名为SVEN的新方法,该方法利用连续提示来控制LLM生成安全代码。使用该方法成功率从59.1 %提高到92.3 %。
  • SALLM [ 245 ],一个由新的安全数据集、评估环境和新的度量标准组成的框架,用于系统地评估LLMs生成安全代码的能力
  • [ 188 ]评估了ChatGPT平台上代码生成过程的安全性,特别是在硬件领域。他们探索了设计者可以采用的策略,使ChatGPT能够提供安全的硬件代码生成

Test Case Generating (TCG).

讨论LLMs在生成测试用例中的使用,特别强调解决安全问题的LLMs

  • [ 332 ]演示了使用ChatGPT - 4.0生成安全测试,以评估脆弱的库依赖对软件应用的影响。,LLMs可以成功地生成各种供应链攻击的测试,其性能优于现有的安全测试生成器。该方法在55个应用程序中导致了24个成功的攻击。
  • 文献[ 131 ]提出了一种使用LLMs自动生成测试用例来重现软件安全漏洞的框架。
  • TitanFuzz [ 55 ]是一种利用LLM生成模糊深度学习( Deep Learning,DL )库输入程序的方法。TitanFuzz表现出令人印象深刻的代码覆盖率( 30.38 % / 50.84 % ),并在DL库中检测到先前未知的bug ( 41/65)。
  • [ 57、56 ]精化了基于LLM的毛刺(命名为FuzzGPT ),旨在为DL libraryfuzzing 生成不寻常的程序。TitanFuzz利用LLMs生成普通代码的能力,FuzzGPT通过使用历史Bug触发程序来启动LLMs来解决边缘测试的需求。
  • Fuzz4All [ 302 ]利用LLMs作为输入生成器和变异引擎,为各种语言(例如, C、C + +等)创建了多样化和逼真的输入,将之前最先进的覆盖率平均提高了36.8 %。
  • White Fox [ 310 ]是一种利用LLM测试编译器优化的新型白盒编译器模糊器,性能优于现有的模糊测试(它为复杂的优化产生了高质量的测试,超过了最先进的模糊测试多达80个优化)。
  • 文献[ 326 ]探讨了利用LLMs生成库API模糊驱动的方法。结果表明,基于LLM的生成方法是可行的,64 %的问题完全自动解决,91 %的问题需要人工验证
  • 文献[ 181 ]是一种LLM引导的协议模糊器,它为消息类型构造语法,并基于LLM交互对消息进行变异或预测下一个消息,与现有的模糊测试相比,实现了更好的状态和代码覆盖率

Vulnerable Code Detecting (RE).

  • Noever [ 192 ]探讨了LLMs,特别是OpenAI的GPT - 4检测软件漏洞的能力。本文研究表明,与传统的静态代码分析器( Snyk and Fortify)相比,GPT - 4识别出的漏洞数量大约是其4倍。
  • [ 41 ]指出ChatGPT模型在代码漏洞的二进制检测和多标签分类任务中的表现并不优于一个虚拟分类器
  • DefectHunter [ 287 ]是一个新的模型,它使用LLM驱动的技术来进行代码漏洞检测。它们展示了将LLMs与高级机制相结合以更有效地识别软件漏洞的潜力。与Pongo - 70B相比,该组合的有效性提高了约14.64 % ~ 20.62 %
  • LATTE [ 165 ]是一种由LLMs驱动的新型静态二进制污点分析方法。LATTE超越了现有的最先进的技术,以较低的成本在漏洞检测(在真实世界的固件中发现了37个新的错误)中显示出显著的有效性。
  • Chen等[ 37 ]和Hu等[ 106 ]重点研究了LLMs在识别区块链智能合约中的漏洞方面的应用。
  • KARTAL [ 224 ]是一种利用LLMs进行Web应用漏洞检测的开创性方法。该方法达到了87.19%的准确性,能够每秒进行539次预测。
  • [ 3 ]将关注点转移到硬件安全上。他们研究了LLMs,特别是OpenAI的Codex,在自动识别和修复硬件设计中与安全相关的bug方面的使用
  • [ 54 ]一个自动化的渗透测试工具,利用LLMs中固有的领域知识来解决渗透测试的各个子任务,显著地提高了任务的完成率。

Malicious Code Detecting (RE).

使用LLM来检测恶意软件是一个很有前途的应用。该方法利用LLM的自然语言处理能力和上下文理解来识别恶意软件。

  • [ 101 ]研究发现,基于LLM的恶意软件检测可以补充人类评论,但不能替代人类评论。在进行的1800个二分类中,既有误报警,也有假阴性。使用简单的技巧也可能欺骗LLM的评估。
  • 文献[ 73 ]是一种使用LLMs的恶意代码分析工具。Apiiro的策略涉及创建LLM码模式( LCPs ),以矢量格式表示代码,从而更容易识别相似性和有效地聚类包。其LCP检测器包括LLMs、专有代码分析、概率采样、LCP索引和降维,以识别潜在的恶意代码。

Vulnerable/Buggy Code Fixing (RE).

有几篇文献[ 118、202、303]重点评估了基于代码训练的LLMs在程序修复任务中的性能。

  • [ 120 ]提出了InferFix,一种基于转换器的程序修复框架,它与前沿的静态分析器和基于转换器的模型相结合,以解决和修复关键的安全和性能问题,准确率在65 %到75 %之间。
  • [202]观察到LLMs可以在一系列上下文中修复不安全的代码,即使没有明确地在漏洞修复任务上进行训练。
  • [ 82 ]评估了ChatGPT在漏洞相关的任务,如预测和分类漏洞,严重程度估计和分析超过19万个C / C + +函数。他们发现ChatGPT的性能落后于其他专门用于漏洞检测的LLM。
  • [ 248 ]发现ChatGPT的缺陷修复性能与标准的程序修复方法相媲美,它能够修复40个缺陷中的31个
  • 文献[ 304 ]提出了ChatRepair,利用预训练的语言模型( PLMs )生成不依赖于缺陷修正数据集的补丁,旨在提高生成不依赖于缺陷修正数据集的补丁的性能,旨在通过混合成功和失败测试来提高ChatGPT的代码修复能力。结果,他们以每只0.42美元的价格修复了337个bug中的162个。

Finding II.( 25个中有17个)已经得出结论,基于LLM的方法优于传统方法(具有代码覆盖率高、检测精度高、成本低等优点)。基于LLM的方法最常被讨论的问题是它们在检测漏洞或bug时倾向于同时产生高的假阴性和假阳性。

4.2. LLMs for Data Security and Privacy

LLMs for Data Security and Privacy
LLMs为数据安全领域做出了宝贵的贡献,为保护敏感信息提供了多方面的方法。这些方面包括关键的方面,如数据完整性( I ),以确保数据在整个生命周期中保持未损坏;数据可靠性( R ),保证了数据的准确性;数据机密性( C ),其重点在于防范未经授权的访问和敏感信息的泄露;以及数据的可追溯性( T ),这涉及到跟踪和监控数据的访问和使用。

Data Integrity (I).

数据完整性保证了数据在其整个生命周期中保持不变和不被破坏。截至目前,已有少量工作讨论了如何使用LLM来保护数据完整性。例如,勒索软件通常会对受害者的数据进行加密,使得数据在没有攻击者持有的解密密钥的情况下无法访问,从而破坏了数据完整性。

  • [ 285 ]研究了使用LLMs的勒索软件网络安全策略,主要从理论上提出了实时分析,自动策略生成,预测分析和知识转移。然而,这些策略缺乏实证验证。
  • [ 178 ]探索了LLMs创建网络安全策略的潜力,旨在通过数据外渗来减轻勒索软件攻击。他们将GPT产生的治理、风险和合规( GRC )政策与已建立的安全供应商和政府网络安全机构的政策进行了比较。他们建议公司应将GPT纳入其GRC政策制定中。

异常检测是一种识别异常行为的关键防御机制。虽然它并不直接保护数据完整性,但它识别出可能危及数据完整性(以及数据的保密性和数据的可靠性)的异常或可疑行为。

  • [ 72 ]提出了一种基于LLM的监控框架,用于检测基于视觉的策略中的语义异常,并将其应用于用于自动驾驶的有限状态机策略和用于对象操作的学习策略。实验结果表明,该方法能够有效地识别语义异常,与人类推理一致
  • HuntGPT [ 8 ]是一个基于LLM的入侵检测系统,用于网络异常检测。结果证明了其在提高用户理解和交互方面的有效性。
  • Kim等[ 70 ]和Log GPT [ 212 ]探索了Chat GPT在并行文件系统中基于日志的异常检测方面的潜力。结果表明,它解决了传统手工标注和可解释性方面的问题。
  • AnomalyGPT [ 90 ]使用大型视觉语言模型( Large Vision-Language Models,LVLMs )来检测工业异常。它消除了手动阈值设置,并支持多轮对话,达到了最先进的性能。

Data Confidentiality (C).

数据机密性是指保护敏感信息免受非授权访问或泄露的实践,是LLM隐私讨论[ 205、233、277、1]中广泛讨论的主题。这些研究大多集中在通过最先进的隐私增强技术(例如,零知识证明 ,差分隐私[ 233,175,159 ]和联邦学习[ 140,117,77 ] )来增强LLM。只有少数尝试利用LLMs来增强用户隐私。

  • [ 277 ]使用LLMs来保护隐私,将文本数据中的识别信息替换成通用标记。LLMs不存储敏感的用户信息,如姓名、地址或信用卡号码,而是建议用掩码来代替。这种混淆技术有助于保护用户数据不被暴露给对手。通过使用LLMs生成掩码的替代品,可以在不损害原始信息的隐私和安全的情况下,在模糊数据上训练模型。类似的想法在其他研究[ 1 , 253]中也得到了探索。
  • [ 142 ]探索使用ChatGPT实现密码学,最终保护数据机密性。尽管缺乏广泛的编码技巧或编程知识,但作者能够通过ChatGPT成功地实现密码算法。这凸显了个体利用ChatGPT进行密码学任务的潜力。

Data Reliability (R).

数据可靠性指的是数据的准确性。它是衡量数据是否准确、不受误差或偏差影响的标准。

  • [137 ]提出使用ChatGPT对含有钓鱼内容的站点进行检测。使用GPT - 4的实验结果显示了良好的性能,具有较高的准确率和召回率。
  • [ 98 ]评估了四个大型语言模型( GPT、Claude、PaLM、LLaMA)在钓鱼邮件中检测恶意意图的能力,发现它们总体上是有效的,甚至超过了人类检测,尽管偶尔会略低于人类检测
  • [ 114 ]是一个从BERT家族中微调的模型,可以有效地识别钓鱼邮件和垃圾邮件。IPSDM在不平衡数据集和平衡数据集中对电子邮件的分类都表现出了优越的性能。

Data Traceability (T).

数据可追溯性是指能够跟踪和记录单个系统或跨多个系统中数据的来源、运动和历史的能力。这一概念在诸如事件管理和法医调查等领域特别重要,在这些领域中,需要了解事件的转变以解决问题并进行深入分析。LLMs已经在法庭调查中获得了牵引,为分析数字证据提供了新的方法。

  • 文献[ 228 ]探讨了ChatGPT如何帮助分析日志、文件、云交互、可执行二进制文件等操作系统工件,以及检查内存转储以检测可疑活动或攻击模式
  • Zhang等[ 246 ]提出可以使用ChatGPT等生成式模型创建逼真的蜜罐来欺骗人类攻击者。

水印是指在一个模型的输出中嵌入一个独特的、通常是不可察觉的或难以识别的信号。

  • 文献[ 288 ]讨论了LLMs训练数据的知识产权问题,并提出了WASA框架来学习不同数据提供者文本之间的映射。
  • [ 329 ]开发了REMARK - LLM,它专注于监视其内容的使用情况,并验证其水印检索。这有助于防止恶意使用,如垃圾邮件和抄袭。此外,识别LLMs产生的代码对于解决有关代码许可、抄袭和恶意软件创建的法律和道德问题至关重要。
  • [ 147 ]开发了SWEET,它是一种在编程语言中专门在令牌上实现水印的工具。

Finding III.LLMs在数据保护方面表现优异,超越了当前的解决方案,并且需要更少的人工干预。ChatGPT是广泛应用于各种安全应用中的主流LLM。它的多功能性和有效性使其成为各种安全相关任务的优先选择,进一步巩固了其在人工智能和网络安全领域作为解决方案的地位。

5. Negative Impacts on Security and Privacy

根据攻击在系统基础架构中的位置将其分为五组。这些类别包括硬件级别的攻击,操作系统级别的攻击,软件级别的攻击,网络级别的攻击和用户级别的攻击。
Taxonomy of Cyberattacks. The colored boxes represent attacks that have been demonstrated to be executable using LLMs, whereas the gray boxes indicate attacks that cannot be executed with LLMs

Hardware-Level Attacks.

硬件攻击通常涉及对设备的物理访问。然而,LLMs无法直接接入物理设备。相反,他们只能访问与硬件相关的信息。侧信道攻击[ 251、103、180 ]是一种可以由LLM进行的攻击。侧信道攻击通常需要分析来自物理系统或实现(如密码设备或软件)的无意信息泄漏,其目的是推断秘密信息(例如,钥匙)。

  • [ 308 ]已经探索了应用LLM技术来开发侧信道分析方法。该研究包括3种不同的方法:提示工程、微调LLM和基于人类反馈强化学习的微调LLM提示工程涉及创建特定的提示,旨在指导模型对侧信道信息的理解。微调LLM使用预训练的模型,这些模型使用真实世界的侧信道分析数据进一步精化。基于人类反馈强化学习的微调LLM将人类反馈融入到模型的训练过程中,以提高模型的准确性。本研究评估了这些方法在AES侧信道分析和深度学习加速器侧信道分析两种硬件相关场景中正确分析侧信道信息的有效性。为了确定这些方法在两种情况下的成功率,进行了实验.

OS-Level Attacks.

LLMs在较高的抽象层次上运行,主要处理基于文本的输入和输出。它们缺乏执行OS级攻击[ 109、279、123]所必需的低级系统访问。尽管如此,它们可以用于分析从操作系统中收集的信息,从而潜在地帮助执行这种攻击。

  • 文献[ 93 ]通过SSH建立一个反馈回路,将LLM连接到一个易受攻击的虚拟机,允许LLM分析机器的状态,识别漏洞,并提出具体的攻击策略,然后在虚拟机内部自动执行
  • [ 94 ]介绍了一个使用本地虚拟机的自动化Linux特权升级基准程序和一个LLM指导的特权升级工具,以评估各种LLM和针对基准程序的及时策略。

Software-Level Attacks.

也有利用LLM攻击软件( e.g . , [ 332,200,203,32 ])的例子。

  • [ 17 ]提出了一个概念证明,其中ChatGPT用于分发恶意软件,同时避免检测。
  • Zhang等[ 198 ]通过创建多个恶意程序(例如勒索软件、蠕虫、键盘记录器、暴力恶意软件、无文件恶意软件等)来研究LLM的潜在误用。
  • [ 185 ]演示了如何利用ChatGPT快速生成勒索软件
  • 文献[ 22 ]探讨了不同的编码策略(例如,生成整个恶意软件,创建恶意软件功能),并研究了LLM重写恶意代码的能力。研究结果表明,LLM在构建恶意软件方面表现优异。LLM可以生成相同语义内容的多个版本(恶意软件变体),通过Virustotal AV (从4 %到55 %不等)具有不同的检测率。

Network-Level Attacks.

LLMs还可以用于发起网络攻击。利用LLM进行网络级攻击的一个普遍例子是网络钓鱼攻击[ 18、43]。

  • [ 98 ]比较了使用GPT - 4的AI生成的钓鱼邮件和使用V - Triad创建的手工设计的钓鱼邮件,以及暴露于一般钓鱼邮件的对照组。结果表明,与通用邮件相比,无论是由AI生成的还是人工设计的个性化钓鱼邮件都具有更高的点击率
  • [ 144 ]研究了如何修改ChatGPT的输入可以影响生成邮件的内容,使其更具有说服力。
  • Zhang等[ 96 ]通过使用ChatGPT为超过600名英国议会议员生成现实且具有成本效益的网络钓鱼消息
  • [ 286 ]讨论了传统的防御方法在LLMs时代如何失效。验证码挑战,包括扭曲的字母和数字,努力检测依赖文本和语音的聊天机器人。然而,LLMs可能会打破这些挑战,因为它们可以产生高质量的类人文本,并有效地模拟人类行为。
  • 文献[ 227 ]使用基于密度的聚类对HTTP横幅进行聚类,并创建基于文本的指纹,用于对扫描数据进行注释。当这些指纹与现有的数据库进行比较时,就可以识别新的物联网设备和服务器产品。

User-Level Attacks.

LLM展示了它能够创造出令人信服但欺骗性的内容,以及在看似不相关的信息之间建立连接的能力。这就为恶意行为者提供了从事一系列有害活动的机会。

Misinformation.

  • 过度依赖没有监督的LLM产生的内容引起了人们对在线内容安全性的严重担忧[ 197 ]。大量的研究集中于检测LLMs产生的误导信息。
  • 一些研究[ 35、297、313]揭示了LLMs生成的内容更难检测,并且可能使用更多的欺骗风格,可能造成更大的危害。
  • [ 35 ]针对LLM产生的错误信息提出了一种分类方法并进行了验证。针对这些新出现的问题,也开发了应对措施和检测方法[ 297、271、40、258、36、330、19、148、254]。

Social Engineering.

LLMs不仅具有从训练数据中生成内容的潜力,而且还可以为社会工程学的攻击者提供了一个新的视角

  • Zhang等[ 252 ]强调训练有素的LLM从文本中推断个人属性的能力,如地点、收入和性别等。它们还揭示了这些模型如何从看似良性的查询中提取个人信息。
  • Tong等人[ 266 ]研究了LLMs生成的内容中可能包含用户信息
  • Polra Victor Falade [ 75 ]指出,LLM驱动的社会工程涉及心理操纵、定向钓鱼和真实性危机等策略。

Scientific Misconduct.

不负责任地使用LLMs可能会导致与科学不端行为有关的问题,这源于它们能够生成原始的、连贯的文本。

学术共同体[ 45、256、206、46、170、71、191、214、86、134、217]囊括了来自不同国家的不同学科,引起了人们对LLMs时代科学不端行为检测难度增加的担忧。这些担忧源于LLMs具有产生连贯和原创性内容的先进能力,例如LLMs使用不可靠来源所产生的完整论文,这可能会在学术环境中被误用,从而使传统的学术不诚信识别方法[ 274、278、223]复杂化.

Fraud

网络犯罪分子设计了一个名为”欺诈GPT [ 75、10 ] “的新工具,它像ChatGPT一样运作,但却为网络攻击提供了便利。它缺乏ChatGPT的安全控制,在暗网和电报上以每月200美元或每年1700美元的价格出售。

欺诈GPT可以创建与银行相关的欺诈电子邮件,暗示内容中存在恶意链接。它还可以列出经常被攻击的网站或服务,帮助黑客规划未来的攻击。

网络犯罪工具WormGPT [ 52 ]提供了无限字符支持和聊天记忆保持等功能。该工具在机密数据集上进行了训练,重点关注与恶意软件相关和欺诈相关的数据。它可以指导网络犯罪分子实施商业邮件妥协( Business Email Compromise,BEC )攻击。

Finding IV.用户级别的攻击是最普遍的,有33篇论文。这种优势可以归因于LLMs具有越来越类似人类的推理能力,使其能够生成类似人类的对话和内容(例如,科学不端行为、社会工程等)。

6. Vulnerabilities and Defenses in LLMs

在深入探究可能针对LLMs的潜在漏洞和攻击。我们的研究试图将这些威胁分为两个不同的组:人工智能模型固有漏洞和非人工智能模型固有漏洞。

6.1. Vulnerabilities and Threats in LLMs

Taxonomy of Threats and the Defenses. The line represents a defense technique that can defend against either a specific attack or a group of attacks.

(A1) Adversarial Attacks

机器学习中的对抗攻击是指一系列用于有意操纵或欺骗机器学习模型的技术和策略。这些攻击通常是以恶意意图进行的,目的是利用模型行为中的漏洞。我们只关注讨论最广泛的攻击,即数据投毒和后门攻击。

数据中毒

数据投毒是指攻击者通过向训练数据集中注入恶意数据来影响训练过程。这可能会引入漏洞或偏见,损害所产生模型的安全性、有效性或道德行为[ 197 ]。

各种研究[ 141 , 281 , 280 , 2 , 282 , 230]已经证明,预训练的模型很容易通过使用不可信的权重或内容等方法妥协,包括将中毒的例子插入到他们的数据集中。**由于LLM固有的预训练模型性质,容易受到数据中毒攻击[ 218、242、236]**。

  • 例如,Alexander等人[ 281 ]的研究表明,即使只有100个中毒的例子,LLMs也可以在不同的任务中产生一致的负面结果或有缺陷的输出。较大的语言模型更容易中毒,而现有的防御措施,如数据过滤或模型容量减少,在损害测试准确性的同时,只能提供适度的保护

后门攻击

后门攻击涉及对训练数据和模型处理的恶意操纵,创建了一个漏洞,攻击者可以将隐藏的后门嵌入到模型中[ 311 ]。后门攻击和数据投毒攻击涉及操纵机器学习模型,其中可以包括对输入的操纵。然而,关键的区别在于,后门攻击特别注重在模型中引入隐藏的触发器,以在遇到触发器时操纵特定的行为或响应。

  • LLMs受到后门攻击[ 154、320 ]。例如,Yao等人[ 318 ]提出了一种双向后门,它将触发机制与及时调整相结合。

(A2) Inference Attacks.

机器学习背景下的推理攻击是指攻击者试图通过对机器学习模型进行特定的查询或观测来获得关于机器学习模型或其训练数据的敏感信息或洞察力的一类攻击。攻击往往利用来自响应的非预期信息泄漏。

属性推断攻击

属性推断攻击[ 199、172、128、249、174、153]是攻击者试图通过分析机器学习模型的行为或响应来推断个人或实体的敏感或个人信息的一类威胁。它对LLMs同样有效。

  • Robin等人[ 252 ]首次全面考察了预训练的LLMs从文本中推断个人信息的能力。使用真实的Reddit个人资料数据集,研究表明,当前的LLMs可以准确地推断多种个人信息(例如,地点,收入,性别),并且具有较高的准确性。

成员关系推断

成员推断攻击是数据安全与隐私领域的一种特定类型的推断攻击,在给定模型的白/黑盒访问和特定数据记录[ 241、67、138、84、83、182]的情况下,判断数据记录是否为模型训练数据集的一部分。

这些研究通过分析标签[ 42 ]、确定阈值[ 115、28、95 ]、制定通用公式[ 269 ]等方法探索了各种成员推断攻击。

  • Mireshghallah等人[ 183 ]发现,与微调较小的适配器相比,微调模型的头部对攻击表现出更大的敏感性。

(A3) Extraction Attacks.

提取攻击通常是指攻击者试图从机器学习模型或其关联数据中提取敏感信息或洞察力。提取攻击旨在直接获取特定资源(例如,模型梯度、训练数据等)或机密信息。推理攻击通常通过观察模型的响应或行为来获得关于模型或数据特征的知识或见解。

存在多种类型的数据提取攻击,包括模型窃取攻击[ 125、132 ]、梯度泄露[ 151 ]和训练数据提取攻击[ 29 ]。观察到训练数据提取攻击可能对LLMs有效。训练数据抽取[ 29 ]是指攻击者试图通过策略性地查询机器学习模型,从模型的训练数据中检索特定的个体样本的方法。

大量研究[ 333、201、315]的研究表明,从LLMs中提取训练数据是可能的,这些数据可能包括个人和私人信息[ 108、328 ]。值得注意的是,Truong等人[ 270 ]的工作突出了其在不访问原始模型数据的情况下复制模型的能力。

(A4) Bias and Unfairness Exploitation.

LLMs中的偏见和不公平现象是指这些模型表现出偏见结果或歧视行为的现象。虽然偏见和公平问题并不是LLMs独有的,但由于伦理和社会问题,它们受到了更多的关注。

多项研究[ 260、272 ]揭示了查询LLMs时使用的语言存在偏倚。Urman等人[ 273 ]发现,偏差可能来自对政府审查准则的遵守。涉及LLM的专业写作[ 283、254、78 ]的偏见也是社会关注的问题,因为它会显著损害可信度。LLMs的偏见也可能导致基于文本应用以外的领域产生消极的副作用。Dai等[ 47 ]注意到LLMs生成的内容可能会在神经检索系统中引入偏差,Huang等[ 107 ]发现LLM生成的代码也可能存在偏差。

(A5) Instruction Tuning Attacks.

指令微调,也称为基于指令的微调,是一种机器学习技术,用于在微调过程中通过提供显式指令或示例来训练和适应特定任务的语言模型。在LLMs中,指令微调攻击是指针对指令微调LLMs的一类攻击或操作。

越狱

在LLMs中,越狱涉及绕过安全特性,解锁能力通常受安全协议的限制。大量的研究已经证明了各种方法可以成功地攻破LLMs [ 152、262、239 ]。

  • Wei等人[ 292 ]强调LLMs的对齐能力可以通过语境演示来影响或操纵。
  • [ 291、127]的几项研究也展示了使用各种方法进行类似的操作,突出了可以越狱LLMs的方法的多功能性。
  • 在越狱LLMs的过程中,还采用了多种方法,如进行模糊测试[ 317 ]、实施优化的搜索策略[ 341 ],甚至专门训练LLMs来越狱其他LLMs [ 53、341 ]。
  • Cao等人[ 27 ]提出了RA - LLM,该方法可以在不需要重新训练或获取模型参数的情况下,降低对抗和越狱提示的成功率。

提示注入

提示注入攻击描述了一种操纵LLMs行为的方法。这项技术涉及以绕过模型的保障措施或触发非期望产出的方式来制定输入提示。

  • 大量的研究[ 168、321、130、290、164、119]已经实现了对不同焦点提示注入中语义保持有效负载识别过程的自动化。
  • 在微调能力的促进下,后门可以通过及时攻击[ 12、128、335、234 ]引入
  • [ 88 ]对LLM调用外部资源产生新漏洞的可能性表示担忧
  • 其他研究也证明了利用提示注入攻击的能力,例如揭开引导提示[ 331 ],虚拟提示注入[ 309 ]和集成应用程序[ 169 ]

拒绝服务

拒绝服务( Denial of Service,DoS )攻击是一种旨在耗尽计算资源,导致延迟或渲染资源不可用的网络攻击。

  • 由于LLMs的性质需要大量的资源,攻击者故意使用构造提示来降低模型的可用性[ 58 ]
  • [ 243 ]证明了在LLMs领域进行海绵攻击的可能性,特别是为了最大化能耗和延迟( 10 ~ 200倍)。该策略旨在提请社区关注其对自动驾驶汽车的潜在影响,以及需要及时做出决策的场景。

Finding V.目前,针对模型提取攻击[ 67 ]、参数提取攻击或其他中间结果提取攻击[ 270 ]的研究有限。LLMs中参数的庞大规模使这些传统方法变得更加复杂,从而降低了它们的有效性,甚至是不可行的。此外,最强大的LLMs是私有的,它们的权重、参数和其他细节都是保密的,这进一步屏蔽了它们的常规攻击策略。即使是黑盒的传统ML攻击也会受到挑战,因为它限制了攻击者的执行能力

( A6 )远程代码执行( Rce )

RCE攻击通常针对软件应用、Web服务或服务器中的漏洞,以远程执行任意代码。虽然RCE攻击通常不能直接应用于LLM,但如果一个LLM被集成到一个Web服务( e.g . , https : / / Chat.openai.com /)中,并且该服务的底层基础设施或代码中存在RCE漏洞,则可能会导致LLM的环境受到损害。Tong等人[ 166 ]在6个框架中识别出13个漏洞,包括12个RCE漏洞和1个任意文件读写方法漏洞。此外,在51个测试应用中发现17个存在漏洞,其中16个易受RCE攻击,1个易受SQL注入攻击。

(A7) Side Channel.

虽然LLMs本身通常不会通过功耗或电磁辐射等传统侧信道泄漏信息,但在实际部署场景中,它们可能容易受到某些侧信道攻击。

  • [ 51 ]引入了隐私侧信道攻击,这是一种利用系统级组件(例如,数据过滤、输出监控等)以远高于单机模型所能实现的速度提取隐私信息的攻击。提出了覆盖整个ML生命周期的4类侧信道,实现了增强型成员推断攻击和新型威胁(例如,提取用户的测试查询)例如,该研究展示了在应用差分隐私训练之前,如何去重训练数据,从而创建一个损害隐私保证的侧通道。

(A8) Supply Chain Vulnerabilities.

供应链脆弱性是指LLM应用在生命周期中由于使用易受攻击的组件或服务而可能产生的风险。其中包括第三方数据集、预训练模型和插件,其中任何一个都可能损害应用程序的完整性[ 197 ]。

LLM插件是增强LLM功能的扩展或附加模块。开发了第三方插件来扩展其功能,使用户能够执行各种任务,包括网页搜索、文本分析和代码执行。然而,安全专家[ 197、25 ]提出的一些担忧包括插件被用于窃取聊天记录、访问个人信息或在用户机器上执行代码的可能性。这些漏洞与插件中OAuth的使用有关,OAuth是一个跨在线帐户数据共享的Web标准。Umar等人[ 110 ]试图通过设计一个框架来解决这个问题。该框架制定了针对LLM平台的攻击的广泛分类,同时考虑了插件、用户和LLM平台本身的能力。通过考虑这些利益相关者之间的关系,该框架有助于识别潜在的安全、隐私和安全风险。

6.2. Defenses for LLMs

6.2.1. Defense in Model Architecture

模型架构决定了知识和概念是如何存储、组织和上下文交互的,这对于大型语言模型的安全性至关重要。关于模型容量如何影响LLMs的隐私保护和鲁棒性,已经有大量的工作[ 158、339、160、322]进行了深入研究。

  • Li等人[ 158 ]揭示了使用适当的非标准超参数,与较小的模型相比,具有较大参数规模的语言模型可以更有效地以差分隐私的方式进行训练
  • Zhu et al [ 339 ]和Li et al [ 160 ]发现具有较大容量的LLMs,例如具有更广泛的参数规模的LLMs,通常表现出对对抗攻击更高的鲁棒性。Yuan等人在Out - of - distribution ( OOD )鲁棒性场景中也验证了这一点[ 322 ]。

除了LLMs本身的架构,研究集中在通过将它们与外部模块相结合来提高LLM的安全性,包括知识图谱[ 39 ]和认知架构( CAs ) [ 143、11 ]。

  • Romero等[ 222 ]提出通过将多种认知架构融入LLM来提高人工智能的鲁棒性。
  • Zafar等人[ 325 ]旨在通过知识图谱增强LLMs的推理能力来建立AI中的信任。

6.2.2. Defenses in LLM Training and Inference

LLM训练中的防御策略

LLM训练的核心部件包括模型架构、训练数据和优化方法。在模型架构方面,我们研究了可信赖的设计,这些设计表现出对恶意使用的鲁棒性增强。对于训练语料,我们的研究主要集中在训练数据的生成、收集和清洗过程中减少不期望属性的方法上。在优化方法方面,我们回顾了开发安全和有保障的优化框架的现有工作。

Corpora Cleaning

LLMs是由它们的训练语料形成的,它们从训练语料中学习行为、概念和数据分布[ 293 ]。训练语料[ 85、195 ]的质量对LLMs的安全性有着至关重要的影响。然而,人们普遍认为从网络上收集的原始语料充满了公平性[ 14 ]、毒性[ 87 ]、隐私性[ 199 ]、真实性[ 162 ]等问题。

[ 124、295、145、296、204、268]为LLMs清洗原始语料并创建高质量的训练语料做出了大量的努力。一般来说,这些流水线由以下几个步骤组成:语种识别[ 124、9 ]、脱毒[ 87、48、171、186]、除偏[ 179、21、16 ]、.去识别(个人身份信息( PII )) ) [ 255、275 ],去重[ 146、129、102、150]。除偏和脱毒旨在从训练语料中去除不理想的内容。

Optimization Methods.

优化目标对于指导LLM如何从训练数据中学习,影响哪些行为受到鼓励或惩罚至关重要。这些目标影响了语料库中知识和概念的优先排序,最终影响了LLMs的整体安全性和伦理一致性。

  • 在此背景下,对抗训练[ 167、284、338、319、156]和鲁棒微调[ 65、116 ]等鲁棒训练方法已显示出对基于扰动的文本攻击的弹性。
  • 受图像领域传统对抗训练的启发[ 173 ],[ 111 ]和[ 319 ]将对抗训练应用到LLMs中,通过生成关于离散令牌的扰动
  • [ 284 ]将该方法推广到连续嵌入空间,使其更具有实际收敛性,随后的研究[ 167、338、156 ]也是如此
  • 安全对齐[ 196 ],一种新兴的学习范式,使用良好对齐的附加模型或人类注释来指导LLM行为,证明了伦理对齐的有效性。
  • 在人工标注方面,Zhou et al . [ 337 ]和Shi et al . [ 240 ]强调了高质量的训练语料和精心策划的指令和输出对于增强LLMs的指令跟随能力的重要性
  • [ 20 ]强调,通过在微调过程中引入有限比例的(例如, 3 %)安全样本,可以显著提高LLMs的安全性。

LLM推理中的防御策略

推理防御包括一系列策略,包括对提示和指令进行预处理以过滤或修改输入,检测可能信号误用或问题查询的异常事件,以及对生成的响应进行后处理以确保它们符合安全和道德准则。对于维护实时应用中LLM的完整性和可信性至关重要。

Instruction Processing (Pre-Processing).

指令预处理是对用户发送的指令进行变换,以破坏潜在的对抗上下文或恶意意图。它起着至关重要的作用,因为它阻止了大多数恶意使用和防止LLM收到可疑指令。

指令预处理方法可以分为指令操作[ 237、221、135、112、307]、净化[ 157 ]和防御性演示[ 163、184、292]。

  • Jain等人[ 112 ]和Kirchenbauer等人[ 135 ]评估了多种针对越狱攻击的基线预处理方法,包括重令牌化和复述。
  • Li等人[ 157 ]提出通过先对输入令牌进行掩码,然后与其他LLMs一起预测被掩码的令牌来净化指令。预测的令牌将作为纯化的指令。
  • Wei等人[ 292 ]和Mo等人[ 184 ]证明了在指令中插入预定义的防御性证明可以有效地防御LLMs的越狱攻击。

Malicious Detection (In-Processing).

恶意检测提供了对LLM中间结果的深度检查,如神经元激活,与给定的指令有关,这些结果对恶意使用更敏感、更准确、更有针对性。

  • Sun等人[ 257 ]提出用后向概率检测后门指令。
  • Xi等人[ 301 ]从掩蔽敏感性的角度区分了正常指令和中毒指令。
  • Shao等人[ 237 ]根据可疑词的文本相关性来识别可疑词。
  • Wang等人[ 289 ]根据多代之间的语义一致性来检测对抗样本
  • Duan等人[ 66 ]在LLMs的不确定性量化中对此进行了探索
  • 除了LLMs的内在特性外,还有一些工作利用了语言统计特性,例如检测孤立词[ 211 ]。

Generation Processing (Post-Processing).

生成后处理是指检查生成答案的属性(例如,危害性),并在必要时进行修改,这是向用户交付答案之前的最后一步。

  • Chen等[ 34 ]提出通过与多个模型候选物比较来减轻生成的毒性。
  • [ 99 ]采用了个体LLMs来识别生成答案的危害性,他们揭示了LLMs可以被提示来回答关于生成答案的信心。

Finding VI.对于LLM训练中的防御,研究模型架构对LLM安全性影响的研究非常少,这可能是由于与训练或微调大型语言模型相关的高计算成本。我们观察到,安全指令微调是一个相对较新的发展,值得进一步研究和关注。

7. Discussion

7.2 Future Directions

使用Llms进行Ml -特定任务

我们注意到,LLMs可以有效地替代传统的机器学习方法,在这种背景下,如果传统的机器学习方法可以应用于特定的安全应用(无论在本质上是进攻还是防守),那么LLMs也很有可能应用于解决特定的挑战。例如,传统的机器学习方法已经在恶意软件检测中发现了效用,LLMs也可以用于此目的。

因此,一个有前途的途径是利用LLMs在安全应用中的潜力,其中机器学习是一个基础或广泛采用的技术。作为安全研究人员,我们有能力设计基于LLM的方法来解决安全问题。随后,我们可以将这些方法与最先进的方法进行比较,以推动边界。

取代了人类的努力

显而易见,LLMs在进攻和防守安全应用中都具有替代人类努力的潜力。例如,涉及社会工程的任务,传统上依赖于人工干预,现在可以使用LLM技术有效地执行。因此,安全研究人员的一个有前途的途径是确定传统安全任务中人类参与的关键领域,并探索用LLM能力替代这些人类努力的机会

修改针对LLMs的传统ML攻击

我们观察到LLMs中的许多安全漏洞是在传统机器学习场景中发现的漏洞的扩展。也就是说,LLMs仍然是深度神经网络的一个特殊实例,继承了对抗攻击和指令调整攻击等常见漏洞。在正确调整(例如,威胁模型)的情况下,传统的ML攻击仍然可以有效地对抗LLM。例如,越狱攻击是一种特定形式的指令调优攻击,旨在产生受限文本。

对LLMs采用传统的ml防御

传统上用于缓解脆弱性的对策也可以用来解决这些安全问题。例如,现有的努力是利用传统的隐私增强技术(例如,零知识证明、差分隐私和联邦学习)来解决LLMs带来的隐私挑战。探索额外的PETs技术,不论是建立的方法还是创新的方法,以应对这些挑战代表了另一个有前途的研究方向。

解决LLMs- specific攻击中的挑战

如前所述,实现模型提取或参数提取攻击(例如,大规模的LLM参数、强大的LLM的私有性和保密性等)存在若干挑战。LLMs引入的这些新特性代表了这一格局的重大转变,可能导致新的挑战,需要对传统的ML攻击方法进行进化


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论

×

喜欢就点赞,疼爱就打赏