网络安全领域正面临日益加剧的威胁,亟需智能高效的解决方案来应对复杂且不断演变的攻击。大模型为网络安全社区提供了新的机会。通过对海量数据的训练,大模型积累了丰富的知识,发展了强大的理解和推理能力,能够为网络安全提供有力的决策支持。
推进网络安全需要专为该领域定制的大模型,充分利用其学习领域特定数据和知识的潜力。本文首先聚焦于构建网络安全领域大模型的关键技术,包括大模型的持续预训练(continual pre-training,CPT)和监督微调(supervised fine-tuning,SFT)等训练方法,以及全参数训练和参数高效微调(parameter-efficient fine-tuning,PEFT)等技术实现方式。接下来,将介绍多个用于评估大模型网络安全能力的领域数据集,这些数据集可以在构建网络安全大模型时指导选择合适的基础模型。最后,总结现有通过微调通用大模型构建领域特定模型的工作,这些模型应用于包括漏洞检测、程序修复、安全代码生成等多个方面。
关键技术
大模型利用了Transformer架构和自监督预训练策略,展现了出色的理解和内容生成能力。然而,从零开始开发一个专门用于网络安全的大模型将需要大量的资源,对大多数研究团队来说并不实际。幸运的是,现有的通用大模型已经具备了广泛的知识并表现出显著的泛化能力。通过将这些预训练的大模型与网络安全特定的数据集结合进行训练,我们可以采用更高效的方法来增强模型的能力。这种方法不仅显著减少了预训练所需的计算成本,还最大化地利用了大模型已学到的知识,从而提升其理解和执行网络安全相关任务的能力,例如自动化威胁检测、漏洞识别和安全策略推荐等。
图1:领域大模型训练方法的比较。持续预训练(continual pre-training,CPT)和监督微调(supervised fine-tuning,SFT)提供了基于现有大模型提升领域特定性能的方法,而全参数训练(FULL parameter training)和参数高效微调(parameter-efficient fine-tuning,PEFT)则代表了这些训练过程中不同的技术路径
为了使通用大模型适应网络安全,研究人员主要采用两种方法:持续预训练(continual pre-training,CPT)和监督微调(supervised fine-tuning,SFT)。
持续预训练是指利用大量无标签的领域特定数据对已经预训练的大模型进行进一步训练。此方法旨在提高模型对领域知识的理解和应用能力,从而显著增强其在网络安全领域的广泛适用性。持续预训练基于一个核心假设,即即使经过广泛的预训练,模型仍然具备进一步提升的潜力,特别是在特定领域或任务上的表现。该过程通常包含几个关键步骤:首先,选择能恰当代表目标领域特征的数据集;其次,确定持续预训练的策略;最后,执行预训练,如有必要可调整模型结构或优化算法以适应新的训练目标。
另一方面,监督微调使用带标签的领域特定数据进行训练,从而直接优化模型在特定网络安全任务上的表现。与持续预训练相比,SFT更专注于增强任务的特定性能。在SFT中,模型权重通过任务特定的损失函数计算的梯度进行优化。该损失函数量化了模型预测与实际标签之间的偏差,从而促进模型学习任务导向的模式和细节。SFT依赖于高质量的人类标注数据,即一组提示及其相应的响应。监督微调对于像ChatGPT这样的模型尤为重要,因为这些模型旨在遵循用户指令并在较长文本中保持在特定任务上。这种特定类型的微调也称为指令微调(instruction fine-tuning)。
在持续预训练和监督微调的过程中,研究人员可以选择全参数微调或参数高效微调两种方式。
全参数微调是一种传统方法,在训练过程中对模型的所有参数进行调整。这种方法可以使模型完全适应并专注于目标领域的细微差别,通过调整所有参数,模型有可能在特定任务或数据集上实现最佳性能。然而,这种全面的参数更新需要大量的计算能力和时间,特别是在大模型不断增多的情况下,效率和可扩展性方面面临挑战。
相反,参数高效微调(parameter-efficient fine-tuning,PEFT)方法只微调少量(额外的)模型参数,同时冻结预训练大模型的大部分参数,从而大幅降低计算和存储成本。PEFT还提高了模型的便携性,用户可以使用PEFT方法微调模型,得到仅几MB大小的小型检查点,与全参数微调的大型检查点相比更为轻便。PEFT方法备受青睐,因为它仅需少量可训练参数即可达到与全参数微调相当的性能。PEFT方法有多种,包括适配器微调(adapter tuning)、前缀微调(prefix tuning)、提示微调(prompt tuning)、低秩适配(LoRA)、量化低秩适配(QLoRA)等:
适配器微调(adapter tuning):在Transformer架构的多头注意力层和前馈层后插入适配器,仅微调适配器中的参数,而冻结模型的其他参数。
前缀微调(prefix tuning):冻结语言模型的参数,仅优化称为前缀的小型连续任务特定向量。
提示微调(prompt tuning):通过反向传播和合并带标签的示例来微调软提示,以适应特定任务。
低秩适配(LoRA):是一种小型可训练子模块,可以插入到Transformer架构中,冻结预训练模型的权重,在每层Transformer架构中注入一个可训练的低秩分解矩阵,从而大幅减少下游任务的可训练参数数量。训练完成后,将低秩分解矩阵的参数与原始大模型的参数结合使用。
量化低秩适配(QLoRA):是对LoRA的进一步优化,在一个冻结的4位量化预训练语言模型上对低秩适配器进行梯度反向传播,大幅减少微调的内存需求,同时性能几乎接近全参数微调。
通过整合这些技术,研究人员可以选择适合网络安全领域特定需求和条件的微调方法,如图1所示。此外,新兴技术也为构建网络安全大模型提供了见解。例如,模型编辑技术可以精确地修改大模型,将网络安全知识纳入其中而不会对其他知识产生负面影响。提示工程(prompt engineering)则通过设计有效的提示引导大模型生成所需输出,缓解了构建网络安全大模型所需的训练数据和资源瓶颈。
基础模型的选择
如上所述,从零开始训练一个网络安全大模型是具有挑战性的。通常的做法是选择一个通用的大模型作为基础模型,然后对其进行微调。然而,如何在众多大模型中选择合适的基础模型?基本思路是选择在网络安全领域具备较强能力或在特定安全任务中表现良好的大模型,这样的模型更擅长理解和处理安全相关问题。现有的网络安全能力评估主要分为三类:网络安全知识评估、安全代码生成评估和IT运维能力评估。
网络安全知识评估。侧重于评估模型对网络安全概念的理解及其提供准确安全威胁信息和缓解策略的能力。CyberBench[1]是一种面向领域的多任务基准工具,用于评估大模型在网络安全任务中的能力。作为网络安全领域的大模型基准套件,CyberBench提供了一种通用且一致的方法,缓解了之前在评估大模型方面遇到的局限性。SecEval[2] 用于评估大模型在网络安全知识方面的表现,包含2000多道涵盖九个领域的多项选择题,包括软件安全、应用安全、系统安全、网络安全、密码学、内存安全、网络安全和渗透测试。通过评估十种最先进的基础模型,该研究提供了大模型在网络安全领域表现的新见解。Norbert T等人[3]开发了CyberMetric基准数据集,包含10000道题目,旨在评估大模型在网络安全领域的知识。此外,SecQA[4],是基于《计算机系统安全:成功规划》教材生成的多项选择题数据集,专门评估大模型对安全原则的理解和应用。SecQA的问题分为两种复杂度,不仅是评估工具,还推动了大模型在高安全意识环境中的应用。
安全代码生成评估。测试模型生成不仅具有功能性且符合安全最佳实践的代码的能力,旨在减少漏洞。Manish B等人[5]提出了名为CyberSecEval的安全编码基准,评估大模型生成代码时可能带来的安全风险和攻击倾向。通过评估包括Llama 2、Code Llama和OpenAI的GPT在内的七个模型,CyberSecEval有效地定位了关键的网络安全风险,并提供了改进模型的实用见解。Catherine T等人[6]提出了LLMSecEval,这是一个包含150个自然语言提示的数据集,基于MITRE前25个常见弱点枚举(CWE)描述的漏洞。通过将大模型生成的代码与每个提示的安全实现示例进行比较,LLMSecEval可以评估大模型生成代码的安全性。Siddiq M等人[7]提出了SecurityEval,专注于评估代码生成模型的安全性,以防止生成易被利用的代码,避免开发者的潜在误用。该数据集包含130个样本,涵盖75种漏洞类型,并映射到CWE标准。Kamel A等人[8]提出了PythonSecurityEval,这是一个从Stack Overflow上收集的真实世界数据集,用于评估大模型生成安全Python代码的能力及其修复安全漏洞的能力。DebugBench[9]包含4253个实例,涵盖C++、Java和Python中的四大错误类别和18个小错误类型。该综合评估揭示了大模型在自动调试方面的优劣,显著推动了对其在实际编码场景中的适用性和限制的理解。
IT运维能力评估。关注模型在管理和保护IT基础设施方面的能力,包括网络安全态势感知、安全威胁分析和事件响应等方面。Yukai M等人[10]提出了NetEval,这是一个评估大模型在多语言背景下网络运维知识和推理能力的评估集。NetEval包含5732道关于网络运维的题目,覆盖五个不同的网络运维子领域。通过NetEval,研究人员系统地评估了26个公开可用的大模型的网络运维能力。此外,OpsEval [11]包含7184道多项选择题和1736个问答题,涵盖中英文,旨在综合评估大模型在IT运维任务中的表现,包括故障根因分析、运维脚本生成和警报信息总结等任务。
评估大模型的网络安全能力不仅可以指导微调过程中基础模型的选择,还展示了通用大模型具备一定的网络安全能力。这支持了直接利用大模型(无需微调)来辅助网络安全应用的可行性。此外,这些研究帮助研究人员和开发者识别大模型在网络安全领域的局限性,为推进人工智能向更高标准和更专业的安全发展提供了方向。
领域微调大模型的应用
研究人员利用上述技术和基础模型,定制了面向网络安全领域特定问题的大模型。这些努力突显了将领域特定知识融入语言模型以增强其能力的巨大潜力,尤其是在漏洞检测、故障定位、程序修复等关键应用中。
漏洞检测。涉及识别和分类软件代码中的潜在安全弱点。Alexey S等人[12]对WizardCoder[13]进行了Lora微调,专门用于漏洞检测,重点在于二分类判断Java函数是否包含漏洞。Ferrag M等人[14]对FalconLLM[15]进行了部分参数微调,使用C代码样本生成了SecureFalcon,该模型可以以高达96%的准确率区分存在漏洞和无漏洞的样本,并进一步提出了使用FalconLLM修复漏洞的方法。Aidan Y等人[16]提出了基于新语言模型的故障定位方法LLMAO,通过在CodeGen[17] [18]上添加双向适配器层,使模型能够学习代码的双向表示并预测代码行中的缺陷概率。
安全代码生成。旨在提高自动生成代码的安全性,减少漏洞风险。Storhaug A等人[19]提出了一种称为漏洞约束解码的新方法,在模型训练中整合了漏洞标签。在解码过程中避免生成带有标签的漏洞显著减少了漏洞代码的生成。通过在GPT-J[20]上微调证实合成代码中的漏洞减少。Jingxuan H等人[21]通过指令微调提升了大模型生成代码的安全性。使用包含安全和不安全程序的数据集进行监督微调,将CodeLlama[22]转化为SafeCoder,从而在各种主流大模型和数据集上实现了约30%的安全性提升,同时保持了实用性。
自动化程序修复。旨在无需人工干预自动修复软件中的错误。André S等人[ 23]提出了一种称为RepairLLaMA的新程序修复方法,通过对CodeLlama应用Lora微调,显著提升了大模型的程序修复能力,其在Java基准数据集Defects4J和HumanEval-Java上的表现优于GPT-4。
二进制代码处理。是计算机代码的最基本形式,了解其含义和使用方法非常重要。Nan J等人[24]将大模型的优势引入到二进制领域,通过在专用二进制代码预训练语料库和新任务上对StarCoder[25]进行持续训练,开发出了Nova和Nova+。在监督微调后,增强的大模型可以有效应对二进制代码相似性检测、二进制代码翻译和二进制代码恢复等特定任务。
IT运维。负责维护日常任务和其他维持基础设施正常运行的活动。Hongcheng G等人[26]描述了名为Owl的专用IT运维大模型的开发,通过在收集的Owl-Instruct数据集上对Llama进行监督微调。Owl在与IT相关的任务上超越了现有模型,并在Owl-Bench基准上展示了有效的泛化能力。
网络安全知识助手。通过与用户交互帮助提升用户的安全意识,并协助用户防御网络攻击。Jie Z等人[27]提出了Hackmentor,通过开发适用于网络安全领域的指令和对话数据集,并在此基础上对Llama和Vicuna[28]进行Lora微调,充分展示了大模型在网络安全应用中的广阔潜力。
这些研究表明了大模型在网络安全领域的巨大潜力,不仅验证了通过监督微调和持续预训练适应大模型的有效性,还为网络安全相关的未来研究开辟了新的方向。
结论
综上所述,面向网络安全的领域大模型展示了显著的潜力与广泛的应用前景。通过持续预训练与监督微调等技术手段,将通用大模型进一步适配于网络安全任务,不仅提高了模型在漏洞检测、代码生成、安全策略建议等任务上的准确性和适用性,还显著降低了开发与训练成本。
同时,基于参数高效微调的创新方法,如适配器微调和低秩适配等,为模型的高效部署和性能优化提供了新的途径。随着这些技术的不断发展,大模型将在网络安全的智能化防御、自动化运维以及安全知识辅助等方面发挥愈加重要的作用。未来的研究应致力于解决大模型在网络安全应用中的局限性,推动大模型向更高安全标准与更专业领域的应用迈进。
山石网科公司介绍:
山石网科是中国网络安全行业的技术创新领导厂商,由一批知名网络安全技术骨干于2007年创立,并以首批科创板上市公司的身份,在2019年9月登陆科创板(股票简称:山石网科,股票代码:688030)。
现阶段,山石网科掌握30项自主研发核心技术,申请540多项国内外专利。山石网科于2019年起,积极布局信创领域,致力于推动国内信息技术创新,并于2021年正式启动安全芯片战略。2023年进行自研ASIC安全芯片的技术研发,旨在通过自主创新,为用户提供更高效、更安全的网络安全保障。目前,山石网科已形成了具备“全息、量化、智能、协同”四大技术特点的涉及边界安全、云安全、数据安全、业务安全、内网安全、智能安全运营、安全服务、安全运维等八大类产品服务,50余个行业和场景的完整解决方案。
【免责声明】【广告】本文仅代表作者本人观点,与和讯网无关。和讯网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。邮箱:news_center@staff.hexun.com
最新评论