Intro

大语言模型(LLM)近期在各类安全研究与比赛中逐渐成为热点,主要聚焦于 LLM 的安全应用以及其自身的安全性。这为许多非 LLM 安全研究领域的研究者提供了了解和接触该领域的机会,笔者此前同样对 LLM 相关的安全研究知之甚少,借助这次 DataCon 的契机,对部分赛题涉及的 LLM 安全研究领域进行了简单调研。本文旨在简要梳理当前在 LLM 漏洞挖掘与 LLM 越狱方向已有的相关研究。

GPT-assisted Vulnerability Detection

LLM 被认为具有自动从已知漏洞中学习特征并查找、修复未知漏洞的潜力。目前,基于 LLM 的漏洞检测和修复解决方案主要集中在函数级别,但其中也有少量的工作开始尝试解决代码库级别(即真实漏洞环境)的问题。

Function-level

本节主要参考 Large Language Model for Vulnerability Detection and Repair: Literature Review and the Road Ahead,未标注来源的参考文献可以在该 Survey 中找到

image.png

从提升 LLM 漏洞挖掘能力的角度,主要可以将当前研究分为三种方法:微调、提示工程和检索增强生成(RAG)。微调通过在漏洞数据上的定向训练来调整模型的参数;提示工程则以黑盒的方式,通过精心设计的 prompt 来优化模型在具体应用场景中的输出效果;RAG 从数据库中检索相关知识并整合到 LLM 的上下文中,同样不需要修改 LLM 的参数。

Fine-tuning

一般的微调训练包含以下几个步骤:数据准备、模型设计、模型训练和模型优化。根据不同研究方法主要针对的训练阶段,可以划分为以下几个类别:

其中,相比于其他方法更像是在解决一些大模型的通病,“结合大模型和静态分析工具”以及“特定领域的预训练”两类方法,则更依赖研究者对程序分析和漏洞挖掘领域的深入理解。限于时间原因笔者没能详细了解相关的研究方法,感兴趣的读者建议阅读相关论文。

Fine-tuning: How to construct cybersecurity-oriented domain LLMs?

image.png

那如果我们想要微调自己的大模型,有哪些需要关注的问题呢?