A Survey on Large Language Model (LLM) Security and Privacy: The Good, the Bad, and the Ugly


大型语言模型(LLM)安全与隐私综述:善、恶与丑

引言

大型语言模型 (Large Language Model, LLM) 是一种拥有海量参数的语言模型,通过预训练任务(如掩码语言建模和自回归预测)来理解和处理人类语言。一个强大的LLM应具备四个关键特征:对自然语言上下文的深刻理解、生成类人文本的能力、上下文感知能力(尤其是在知识密集型领域)以及强大的指令遵循能力。

LLM在安全社区也获得了广泛关注。例如,GPT-3在一个代码库中发现了213个安全漏洞。这些初步尝试促使本文探讨关于LLM安全与隐私的三个核心研究问题:

为回答这些问题,本文回顾了281篇相关论文,并将其分为三类:“善”(有益的应用)、“恶”(攻击性应用)和“丑”(LLM的漏洞及防御)。

本文发现:

本文贡献: 本文首次全面总结了LLM在安全与隐私中的角色,涵盖了其积极影响、潜在风险、自身漏洞及防御机制。本文发现LLM对安全领域的贡献多于其负面影响,并指出用户级攻击是当前最主要的威胁。

背景

大型语言模型 (LLM)

LLM是语言模型的演进,其规模在Transformer架构出现后显著增加。这些模型在巨大的数据集上进行训练,以理解和生成高度模仿人类语言的文本。一个合格的LLM应具备四个关键特征:

  1. 深刻理解自然语言:能从中提取信息并执行翻译等任务。
  2. 生成类人文本:能完成句子、撰写段落甚至文章。
  3. 上下文感知:具备领域专业知识,即“知识密集型”特性。
  4. 强大的解决问题能力:能利用文本信息进行信息检索和问答。

流行LLM的比较

下表展示了不同供应商提供的多种语言模型,显示了该领域的快速发展。较新的模型如GPT-4不断涌现。虽然多数模型不开源,但BERT、LLaMA等模型的开源促进了社区发展。通常,模型参数越多,能力越强,计算需求也越高。“可调优性” (Tunability) 指的是模型是否可以针对特定任务进行微调。

模型 日期 提供商 开源 参数 可调优
gpt-4 2023.03 OpenAI 1.7T
gpt-3.5-turbo 2021.09 OpenAI 175B
gpt-3 2020.06 OpenAI 175B
cohere-medium 2022.07 Cohere 6B
cohere-large 2022.07 Cohere 13B
cohere-xlarge 2022.06 Cohere 52B
BERT 2018.08 Google 340M
T5 2019 Google 11B
PaLM 2022.04 Google 540B
LLaMA 2023.02 Meta AI 65B
CTRL 2019 Salesforce 1.6B
Dolly 2.0 2023.04 Databricks 12B

概览

范围

本文旨在对LLM背景下的安全和隐私研究进行全面的文献综述,确定当前的技术水平并找出知识缺口。本文的焦点严格限定在安全与隐私问题上。

研究问题

本文围绕以下三个核心研究问题展开:

本文收集了281篇相关论文,其中“善”类83篇,“恶”类54篇,“丑”类144篇。如下图所示,大多数论文发表于2023年,显示出该领域研究热度的迅速上升。

论文分类概览

发现 I: 在安全相关应用中,大多数研究者倾向于利用LLM来增强安全性(如漏洞检测),而不是将其用作攻击工具。总体而言,LLM对安全社区的贡献是积极大于消极的。

积极影响(善)

本节探讨LLM在代码安全和数据安全与隐私方面的有益应用。

LLM在代码安全中的应用

LLM能够利用其强大的语言理解和上下文分析能力,在代码安全的整个生命周期中发挥关键作用,包括安全编码、测试用例生成、漏洞/恶意代码检测以及代码修复。

生命周期 工作 编码(C) 测试用例生成(TCG) 漏洞检测 恶意代码检测 修复 LLM 领域 相比SOTA的优势
RE Sandoval等 [234]         Codex - 风险可忽略
RE SVEN [98]         CodeGen - 更快/更安全
RE SALLM [254]         ChatGPT等 -
RE Madhav等 [197]         ChatGPT 硬件
RE Zhang等 [343]   +       ChatGPT 供应链 更有效的案例
RE Libro [136]   +       LLaMA - ↑ 覆盖率
RE TitanFuzz [56]   +       Codex DL库 ↑ 覆盖率
RE FuzzGPT [57]   +       ChatGPT DL库 ↑ 覆盖率
RE Fuzz4All [313]   +       ChatGPT 语言 高质量测试
RE WhiteFox [321]   +       GPT4 编译器 更快4倍
RE Zhang等 [337]   +       ChatGPT API ↑ 覆盖率,但FP/FN高
RE CHATAFL [190]   +       ChatGPT 协议 低FP/FN,但FP/FN高
RE Henrik [105]       +   N/A - 不优于SOTA
RE Apiiro [74]       +   ChatGPT - 成本效益高
RE Noever [201]     +     ChatGPT -
RE Bakhshandeh等 [15]     +     ChatGPT -
RE Moumita等 [218]     +     ChatGPT -
RE Cheshkov等 [41]     +     GPT - 减少人工
RE LATTE [174]     +     Codex - ↑ 准确率/速度
RE DefectHunter [296]     +     ChatGPT 区块链 修复更多漏洞
RE Chen等 [37]     +     ChatGPT 区块链 CI流水线
RE Hu等 [110]     +     LLaMa Web应用
RE KARTAL [233]     +     Codex
RE VulLibGen [38]     +     Codex 硬件 Zero-shot
RE Ahmad等 [3]     +     Codex等 APR ↑ 准确率
RE InferFix [125]         + ChatGPT APR ↑ 准确率
RE Pearce等 [211]     +   + ChatGPT等 APR ↑ 准确率
RE Fu等 [83]     +     ChatGPT APR
RE Sobania等 [257]     +   +      
RE Jiang等 [123]     +          

发现 II: 大多数研究(25篇中的17篇)认为,基于LLM的方法在代码安全方面优于传统方法,具有代码覆盖率更高、检测准确率更高、成本更低等优点。LLM方法最常被诟病的问题是在检测漏洞时倾向于产生较高的假阴性 (false negatives) 和假阳性 (false positives)。

LLM在数据安全与隐私中的应用

LLM在数据安全领域也做出了贡献,主要体现在数据完整性、机密性、可靠性和可追溯性等方面。

工作 特性 模型 领域 相比SOTA的优势
I C R T      
Fang [294] ○+○+ ChatGPT 勒索软件 -
Liu等 [187] ○+○+ ChatGPT 勒索软件 -
Amine等 [73] ○○○+ ChatGPT 语义 与SOTA相当
HuntGPT [8] ○○○+ ChatGPT 网络 更有效
Chris等 [71] ○○○+ ChatGPT 日志 减少人工
AnomalyGPT [91] ○○○+ ChatGPT 视频 减少人工
LogGPT [221] ○○○+ ChatGPT 日志 减少人工
Arpita等 [286] +○++ BERT等 - -
Takashi等 [142] ++○+ ChatGPT 钓鱼 高精度
Fredrik等 [102] ++○+ ChatGPT等 钓鱼 有效
IPSDM [119] ++○+ BERT 钓鱼 -
Kwon等 [149] +○++ ChatGPT - 对非专家友好
Scanlon等 [237] +++○ ChatGPT 取证 更有效
Sladić等 [255] +++○ ChatGPT 蜜罐 更真实
WASA [297] ++○○ - 水印 更有效
REMARK [340] ++○○ - 水印 更有效
SWEET [154] ++○○ - 水印 更有效

发现 III: LLM在数据保护方面表现出色,通常优于现有解决方案且需要更少的人工干预。在各类安全应用中,ChatGPT是使用最广泛的LLM模型。

消极影响(恶)

本节探讨LLM的攻击性应用,根据其在系统架构中的位置,将其分为五类。

网络攻击分类体系

现有攻击的普遍性

分类体系总结

本文将基于LLM的网络攻击分为五个层级:

发现 IV: 用户层攻击是最普遍的,这主要归因于LLM日益增强的类人推理能力,使其能生成逼真的对话和内容。目前,LLM对操作系统和硬件功能的访问权限有限,这限制了其他层级攻击的普遍性。

LLM的漏洞与防御(丑)

本节探讨LLM自身的漏洞、面临的威胁以及相应的防御对策。

LLM的漏洞与威胁

本文将针对LLM的威胁分为两类:AI模型固有漏洞和非AI模型固有漏洞。