今天为大家介绍中关村实验室崔天宇博士和清华大学徐恪教授、李琦教授团队共同发布的流量大模型工作TrafficLLM。网络流量分析支持许多基于机器学习(ML)的模型来检测威胁和维护服务质量,但传统方法在面对跨不同任务和未知的数据进行泛化时遇到了困难。大型语言模型(LLM)作为跨各种任务生成通用解决方案的有前景的途径,在许多特定领域取得了成功,具有极强的泛化能力。然而,由于流量领域适应的限制,目前大模型无法有效辅助流量分析工作。本文提出了TrafficLLM,这是一种用于网络流量分析的通用LLM自适应框架。TrafficLLM介绍了一种通用解决方案,以回答如何通过增强对异构流量数据、跨不同任务的多模式学习以及网络流量的新环境的泛化性来实现鲁棒的流量表示。通过适当学习,TrafficLLM可以在加密流量分类和APT检测等广泛的下游任务上形成流量检测和生成两个核心能力。与15种最先进的流量检测和生成解决方案相比,TrafficLLM可以达到0.9875和0.9483的F1分数,其性能分别提高了80.12%和33.92%。我们进一步展示了TrafficLLM对未知数据和现实世界环境的强大泛化能力。
TrafficLLM支持所有开源大模型实现网络流量分析领域适应,开源了大模型网络流量分析领域微调数据集,包含经过专家监督的约40万条流量微调数据和约9千条流量分析文本指令数据集。
01
研究背景
近年来,基于机器学习(ML)的方法因其对不同流量模式的强大表示学习能力而被提出。尽管有着巨大的潜力,但基于机器学习的方法仍然存在以下局限性,导致现有基于机器学习模型的泛化能力较差:(i)跨各种任务的泛化。在流量分析任务的每个子领域,现有的方法通常使用手工制作的特征和监督标签进行学习,为特定任务开发复杂的机器学习模型。由于专门的手工特征或模型设计方式,这些特定于任务的模型很难在不同的任务之间共享。要涵盖所有任务的模型开发成本将非常庞大。(ii)对未知数据的泛化。基于机器学习的方法因无法处理未知的数据而受到广泛批评。这些模型通常被迫学习高质量标记数据集中的已知模式。当面对概念漂移和0-day攻击等未知的数据场景时,ML模型的泛化性能往往较差。
因此,开发一个更通用的模型对于提高不同任务和数据分布的泛化能力具有重要意义。最近,大型语言模型(LLMs)在许多复杂任务中表现出了出色的性能。得益于其模式挖掘、对未知数据的泛化以及跨不同任务的可复用性,LLM可以在各种下游任务中释放出非凡的能力,这激发了开发用于网络流量分析的专业大模型的可能性。例如,LLM的模式挖掘和推理能力可用于学习流量数据中IP属性、标志和数据报长度背后的鲁棒表示。此外,泛化能力使LLM能够适应不同的网络环境和攻击场景。因此,LLM可以作为一种更强大的ML模型,提供具有强大泛化能力的鲁棒流量表示。
02
问题定义
然而,流量领域的特性给实现LLM在流量分析任务上的泛化在三个方面留下了限制问题。
限制1: 对流量数据的异构输入的泛化。流量数据由数据包中的结构化元数据(如IP和端口)和流中的统计特征(如流中的数据包长度和时间间隔)组成。然而,大多数LLM被认为是处理纯文本的专用模型,这与流量数据存在巨大差距。在输入LLM之前,数据使用标准令牌生成器将文本转换为语言token。这些令牌生成器通常在大规模文本语料库上使用WordPiece和字节对编码(BPE)等算法进行训练。他们很少见过这些异构的流量数据。因此,LLM可能无法直接将流量数据转换为文本格式,并使用默认的令牌化方法加载它们。
我们调整Llama2-7B,使用其原生令牌生成器进行恶意软件流量检测(MTD)任务。首先,如图1(左)所示,默认令牌生成器在处理TLS数据包中的元数据时会产生许多冗余,这可能会降低LLM在实际流量分析工作中的效率。其次,转换后的令牌不能很好地保证检测精度。在图1(中)中,原生LLM在MTD任务上的性能并不显著(在USTC-TFC 2016数据集上的准确率仅为79.5%),因为默认的令牌生成器错误地分割了关键特征,导致无法捕获良性和恶意流量之间的不同模式。
限制2: 对跨不同任务的多模式学习的泛化。网络流量分析涵盖了广泛的特定任务,例如在不同场景下检测和模拟攻击流量(例如MTD任务)。它涉及指令中不同任务特定的知识,以提示LLM进行不同的工作。此外,这些下游任务通常指向不同的网络环境,这涉及多种类型的流量特征模式(例如,加密应用程序分类(EAC)中的数据包长度序列和web攻击检测(WAD)中的HTTP请求头)。在进行多模式学习时,指令和流量模式的复杂性很容易使LLM感到困惑。如图1(右)所示,我们使用默认微调策略在三个流量检测任务(即MTD、EAC和WAD任务)上训练Llama2。Llama2仅达到平均准确率的10.2%,这表明LLM在不同流量分析工作中学习多模态的难度非常大。
限制3: 模型更新扩展到新环境的泛化。LLM的适应成本相当高,因为它需要用大量数据集训练大规模参数。然而,许多流量分析任务通常需要更新模型以应对动态场景,这是由应用程序版本更新(例如概念漂移)和攻击方法变更(例如APT攻击)引起的。LLM的高适应成本阻碍了模型能力在新场景下的更新。如图2所示,我们测量了Llama2-7B在5个NIVIDA A800-80GB GPU上用于流量检测任务的训练开销。传统的重新训练方法消耗78.5GB GPU内存和126.7h来适应新的环境,这在现实世界的动态场景中是不可接受的。
图1 原生LLM在使用默认标记化和调优策略处理流量数据方面的局限性
图2 LLM在新场景下重新训练来更新流量检测能力的高适应成本
03
论文工作:TrafficLLM
图3 TrafficLLM整体框架
TrafficLLM是使用自然语言和流量数据的流量大模型微调框架。具体来说,我们在TrafficLLM中主要提出了以下技术,以提高大型语言模型在网络流量分析中的实用性:
流量领域令牌生成:为了克服自然语言和异构流量数据之间的模态差距,TrafficLLM引入了流量领域令牌生成器标记化来处理流量检测和生成任务的不同输入以适应LLM。该机制通过在大规模流量域语料库上训练专门的Tokenizer,有效地扩展了LLM的原生令牌生成模型。
为了帮助LLM减轻模态差距的影响,使其能够处理流量数据,TrafficLLM设计了专门的提取器,为不同的任务提取合适的流量特征。根据先前工作的特征提取经验,我们认为他们的特征提取结果仍然可用于TrafficLLM。提取微调数据后,我们构建了一个专门的流量领域Tokenizer来形成输入流量token。我们使用BPE方法在大规模微调数据上训练专用Tokenizer。由于原生LLM几乎从未见过流量数据,因此可以将其视为现有Tokenizer的扩展。
图4 流量领域令牌生成与原生令牌生成方法的区别
双阶段微调:TrafficLLM采用双阶段微调方案来实现LLM在不同流量域任务中的鲁棒表示学习。该方式在不同阶段分别训练LLM理解指令并学习与任务相关的流量模式,以此建立TrafficLLM对不同流量检测和生成任务的任务理解和流量模式推理能力。
我们主要关注LLM微调的两个挑战:(i)如何帮助LLM理解与任务相关的自然语言,以确定应该执行哪个任务;(ii)如何学习不同任务之间的特定任务流量模式。在双阶段微调的第一阶段,我们引入自然语言指令微调,将网络安全领域的专业任务描述文本注入LLM。第二阶段是针对特定任务的流量微调。在理解了任务后,我们迫使TrafficLLM学习下游任务下的流量模式。在这个阶段,我们使用流量数据和标签样本对对LLM进行微调,以在流量检测任务和流量生成任务下对流量表示进行建模。
图5 TrafficLLM的双阶段微调过程
基于参数有效微调的可扩展适应(EA-PEFT):为了使LLM适应新的流量环境,TrafficLLM提出了一种具有参数有效微调(EA-PEFT)的可扩展自适应方法,以低开销更新模型参数。该技术将模型能力拆分为不同的PEFT模型,这有助于最大限度地降低流量模式变化引起的动态场景的适应成本。
在EA-PEFT中,TrafficLLM Adaptor允许灵活的操作来更新旧模型或注册新任务。例如,当面对客户端版本升级(例如应用程序版本漂移)或攻击方法变更(例如HTTP请求体变更)引起的WAD任务中的流量更新时,Adaptor可以调用Model_update并提供新的EAC或WAD数据集来更新特定的PEFT模型。此外,TrafficLLM可以轻松添加新的流量分析场景。Adaptor可以调度Model_Insert来训练新的PEFT模型,并将其插入EA-PEFT框架中。在此基础上,TrafficLLM可以通过EA-PEFT的轻量级自适应方案轻松扩展到各种流量领域任务。
图6 基于参数有效微调的可扩展适应过程
04
实验结果
我们显示了TrafficLLM在10个数据集上的不同下游检测任务的性能。此前的方法通常擅长特定的任务,但在不熟悉的网络场景中表现较差。然而,TrafficLLM可以对所有229种流量类型进行有效分类,TrafficLLM在所有任务上的F1指标在0.9320以上,相比目前最优方法F1指标最多提高了9.63%。
图7 TrafficLLM的流量检测性能对比
为了评估流量生成能力的性能,我们计算了数据包中5元组的真实分布和合成分布之间的分布差异指标。TrafficLLM的平均JSD为0.0179,比最先进的流量生成方法好39.32%。该生成能力可以有效应用在安全测试和在样本缺失场景下构建分类器。利用TrafficLLM生成的样本训练的分类器能够获得0.8739的平均F1值性能,相比现有方法最多高33.92%。
图8 TrafficLLM的流量生成性能对比
同时,继承大模型的模式挖掘与推理能力带来的泛化性能,TrafficLLM在未知流量数据上具有强大的泛化性能。TrafficLLM在面对概念漂移场景时有效地保持了检测性能。同时,在面对具有多阶段的APT攻击时,TrafficLLM可以有效地基于第一阶段的攻击流量知识来检测未来阶段的攻击流量。
图9 TrafficLLM的未知数据泛化能力
为了调查TrafficLLM在研究中的有效性并收集社区的反馈,我们将TrafficLLM作为全国性的LLM比赛ATEC 2023(https://www.atecup.cn/matchHome/100001)的一个赛道。从2023年11月到2024年3月,比赛共有来自200多家单位1901支队伍的3000多名选手参加。在该赛道下,选手需要使用TrafficLLM的框架,并使用自定义指令和流量特征来处理MTD、BND和EVD任务。58%的选手在这场比赛中达到了90%以上的准确率。24%的选手模型的表现甚至优于96%的准确率。经过选手在比赛中的广泛验证,TrafficLLM被证明能够轻松地将LLM开发成为具有强大性能的流量领域大模型。此外,我们进行了实际环境部署测试,我们在华为WiFi AX3路由器上收集了20种类型的应用程序流量。每种类型的流量都是通过在我们的Android手机上操作应用程序并将其连接到路由器而产生的。TrafficLLM在实际环境的EAC任务中超过了所有baseline。
图10 ATEC 2023比赛验证和实际环境部署
与原生LLM相比,TrafficLLM可以通过指令微调学习不同流量分析指令的可区分的表示。此外,由于使用流量token进行特定任务的流量微调,TrafficLLM还可以为每个类别学习更好的流量嵌入。TrafficLLM对每种类型的流量表示在特征空间中保持了更清晰的边界,这确保了在不同流量检测和生成任务下的准确性。
图11 TrafficLLM的流量分析指令和流量表示可视化
05
总结展望
本工作提出了一种新颖的网络流量分析框架,以提高大型语言模型在网络流量分析中的鲁棒性和泛化能力。通过引入流量领域专用的令牌生成器、双阶段微调策略以及可扩展的参数有效微调方法,TrafficLLM成功克服了传统机器学习模型在处理异构数据和未知场景时的局限性。实验结果表明,TrafficLLM在多个任务上显著提升了检测和生成能力,展现出对未知流量数据的强大适应性。展望未来,TrafficLLM有潜力进一步拓展到更复杂的网络环境和攻击场景,同时推动流量分析领域的研究与应用。通过持续的开源和社区反馈,TrafficLLM有望成为网络安全领域的重要工具,助力应对不断演变的网络威胁。
TrafficLLM开源代码和数据集链接:
https://github.com/ZGC-LLM-Safety/TrafficLLM
原文始发于微信公众号(赛博新经济):网络流量大模型TrafficLLM