CN117034124B - 基于小样本学习的恶意流量分类方法、系统、设备及介质 - Google Patents

基于小样本学习的恶意流量分类方法、系统、设备及介质 Download PDF

Info

Publication number
CN117034124B
CN117034124B CN202311279415.2A CN202311279415A CN117034124B CN 117034124 B CN117034124 B CN 117034124B CN 202311279415 A CN202311279415 A CN 202311279415A CN 117034124 B CN117034124 B CN 117034124B
Authority
CN
China
Prior art keywords
data
training
session
preset
data set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311279415.2A
Other languages
English (en)
Other versions
CN117034124A (zh
Inventor
唐上
路冰
刘洋洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongfu Information Co Ltd
Original Assignee
Zhongfu Information Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongfu Information Co Ltd filed Critical Zhongfu Information Co Ltd
Priority to CN202311279415.2A priority Critical patent/CN117034124B/zh
Publication of CN117034124A publication Critical patent/CN117034124A/zh
Application granted granted Critical
Publication of CN117034124B publication Critical patent/CN117034124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种基于小样本学习的恶意流量分类方法、系统、设备及介质,主要涉及恶意流量分类技术领域,用以解决现有的方法将数据裁剪成统一长度,使得很多会话被填充了,导致预处理后的数据很稀疏、当测试集的分类数目发生变化时,需要重新划分元训练集和元测试集,使得模型不够灵活且在跨域数据集上表现不理想、容易受样本不均衡影响的问题。包括:获取原始流量PCAP文件会话,基于预设字节长度阈值获得会话的最终字节,生成会话数据集;基于会话数据集中的未知标签数据集,获得预设嵌入函数对应的最优参数;基于会话数据集中的已知标签训练数据集,完成线性分类器中参数的训练;确定获得基于小样本学习的恶意流量分类器。

Description

基于小样本学习的恶意流量分类方法、系统、设备及介质
技术领域
本申请涉及恶意流量分类技术领域,尤其涉及一种基于小样本学习的恶意流量分类方法、系统、设备及介质。
背景技术
恶意流量分类的目的是检测出网络中存在攻击风险的流量并将其分类到若干个预先定义的流量类别。对于网络流量数据而言,恶意流量类型更新速度快,收集的新型攻击样本量通常很少。传统机器学习或深度学习方法需要大规模数据量训练模型,因此无法适应小样本的场景。
现有的,为适应小样本的场景的方案主要有:基于小样本学习的恶意流量分类方法。具体地,Xu利用元学习框架实现小样本场景下的流量入侵检测:将原始流量预处理为固定尺寸的图像并划分图像为元训练集和元测试集,然后将两个数据集划分为多个任务,每个任务是由随机抽取的类别标签和对应标签下/>个样本构成。接下来,使用基于元训练集得到的多个任务训练模型,其目的是使模型学会学习。最后将基于元测试集得到的任务在模型上测试,完成对新型流量类型的分类。
但是,上述基于小样本学习的恶意流量分类方法存在以下几个问题:①原始流量预处理过程中,由于每个流量会话被裁剪成统一长度的流量字节,很多会话被填充了0值,这导致预处理后的数据很稀疏。②需要固定每个任务中和/>的值,当测试集的分类数目发生变化时,需要重新划分元训练集和元测试集,并在新的/>和/>的取值下训练模型,这使得模型不够灵活且在跨域数据集上表现不理想。③元学习框架下划分的元训练集需要充足的标签样本,且不同类别标签样本量相对均衡。但是,在实际的流量数据中,不同类别标签的样本量通常是极不均衡的,这会影响监督训练模型的效果。
发明内容
针对现有技术的上述不足,本申请提供一种基于小样本学习的恶意流量分类方法、系统、设备及介质,以解决现有的方法将数据裁剪成统一长度,使得很多会话被填充了,导致预处理后的数据很稀疏;当测试集的分类数目发生变化时,需要重新划分元训练集和元测试集,使得模型不够灵活且在跨域数据集上表现不理想;容易受样本不均衡的影响。
第一方面,本申请提供了一种基于小样本学习的恶意流量分类方法,方法包括:获取原始流量PCAP文件,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集;其中,原始流量PCAP文件由若干连续的数据包构成,且数据包至少包含流量五元组、字节长度和标签数据,且标签数据包含:未知标签和若干类已知标签;基于标签数据,将会话数据集分为未知标签数据集和已知标签数据集;将已知标签数据集划分为已知标签训练数据集和已知标签测试数据集;在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数;从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练;从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器。
进一步地,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集,具体包括:将原始流量PCAP文件中相同的流量五元组的数据包划分为一个会话,以得到由若干会话组成的会话集合;将会话集合中的流量五元组中的IP地址进行匿名化处理,以及去除会话集合中的重复会话和空值会话,以完成清洗会话集合;确定字节长度小于或等于预设字节长度阈值的会话对应的会话字节为最终字节;将字节长度大于预设字节长度阈值的会话进行截取,保留前预设字节长度阈值的会话字节为最终字节;将最终字节转换为二进制数;将二进制数和标签数据作为一个子数据,进而生成会话数据集。
进一步地,在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数,具体包括:从未知标签数据集中随机抽取N个子数据作为样本数据;利用随机变换函数为每个样本数据生成对应的Q个伪样本数据;在未知标签数据集中随机抽取P次,每次抽取M个子数据,以得到P个批量集;获得批量集中各个子数据对应的伪样本数据,进而获得批量集对应的伪样本数据集;将批量集和批量集对应的伪样本数据集,作为预设嵌入函数的输入;通过预设最优参数计算公式:,/>,以获得预设参数/>;其中,N、P、Q为预设常数;i的取值范围为[1,N],q为的取值范围为[1,Q],/>为预设常数,/>表示第i个样本数据,/>表示样本数据和伪样本数据之间的度量距离,/>为预设参数;/>表示第i个样本数据对应的嵌入向量,/>表示第i个样本数据对应的伪样本数据的嵌入向量,/>表示损失函数值;通过小批量随机梯度下降算法,确定最小的损失函数值对应的预设参数为最优参数。
进一步地,从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练,具体包括:以同一已知标签为一类,从已知标签训练数据集合中随机抽取T类数据集;其中,每类数据集对应2K个子数据;将每类数据集平分两份,以获得包含T*K个子数据的训练支持集和包含T*K个子数据的训练请求集;通过线性分类器公式为:,通过预设公式:/>=2/>,/>,/>,和交叉熵损失函数,完成/>和/>的参数训练;其中,W为权重,b为偏置值;x为训练支持集或训练请求集中的子数据,/>为x对应的分类结果;T、K为预设常数,t的取值范围为[1,T],/>表示第t个已知标签对应的权重,/>表示第t个已知标签对应的权重的转置向量;/>为第t个已知标签对应的偏置值;/>表示第t个已知标签在训练支持集中对应的子数据集;/>为第t个已知标签在训练支持集中对应的子数据集的平均向量;/>表示第i个训练请求集中的子数据对应的嵌入向量,/>表示第i个训练请求集中的子数据,i的取值范围为[1,T*K]。
进一步地,从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器,具体包括:从已知标签测试数据集随机抽取U类已知标签对应的S个子数据,以作为测试支持集;获取去除S个子数据的U类已知标签对应的全部子数据;去除全部子数据中的已知标签,以获得测试请求集;将测试支持集和测试请求集,作为完成训练的线性分类器的输入,以完成测试请求集的样本分类;获取样本分类的准确率,以在准确率大于预设准确率阈值时,确定完成训练线性分类器为基于小样本学习的恶意流量分类器。
第二方面,本申请提供了一种基于小样本学习的恶意流量分类系统,系统包括:生成模块,用于获取原始流量PCAP文件,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集;其中,原始流量PCAP文件由若干连续的数据包构成,且数据包至少包含流量五元组、字节长度和标签数据,且标签数据包含:未知标签和若干类已知标签;划分模块,用于基于标签数据,将会话数据集分为未知标签数据集和已知标签数据集;将已知标签数据集划分为已知标签训练数据集和已知标签测试数据集;获得模块,用于在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数;训练模块,用于从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练;完成模块,用于从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器。
进一步地,生成模块包括生成单元,用于将原始流量PCAP文件中相同的流量五元组的数据包划分为一个会话,以得到由若干会话组成的会话集合;将会话集合中的流量五元组中的IP地址进行匿名化处理,以及去除会话集合中的重复会话和空值会话,以完成清洗会话集合;确定字节长度小于或等于预设字节长度阈值的会话对应的会话字节为最终字节;将字节长度大于预设字节长度阈值的会话进行截取,保留前预设字节长度阈值的会话字节为最终字节;将最终字节转换为二进制数;将二进制数和标签数据作为一个子数据,进而生成会话数据集。
进一步地,获得模块包括参数计算单元,用于从未知标签数据集中随机抽取N个子数据作为样本数据;利用随机变换函数为每个样本数据生成对应的Q个伪样本数据;在未知标签数据集中随机抽取P次,每次抽取M个子数据,以得到P个批量集;获得批量集中各个子数据对应的伪样本数据,进而获得批量集对应的伪样本数据集;将批量集和批量集对应的伪样本数据集,作为预设嵌入函数的输入;通过预设最优参数计算公式:,/>,/>,以获得预设参数/>;其中,N、P、Q为预设常数;i的取值范围为[1,N],q为的取值范围为[1,Q],/>为预设常数,/>表示第i个样本数据,/>表示样本数据和伪样本数据之间的度量距离,/>为预设参数;/>表示第i个样本数据对应的嵌入向量,/>表示第i个样本数据对应的伪样本数据的嵌入向量,/>表示损失函数值;通过小批量随机梯度下降算法,确定最小的损失函数值对应的预设参数为最优参数。
第三方面,本申请提供了一种基于小样本学习的恶意流量分类设备,设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述任一项的一种基于小样本学习的恶意流量分类方法。
第四方面,本申请提供了一种非易失性计算机存储介质,其特征在于,其上存储有计算机指令,计算机指令在被执行时实现如上述任一项的一种基于小样本学习的恶意流量分类方法。
本领域技术人员能够理解的是,本申请至少具有如下有益效果:
首先,本申请在原始流量PCAP文件预处理过程中,基于预设字节长度阈值,截取会话的最终字节。这种方式能够反映原始流量PCAP文件的实际特征,避免了使用0值填充造成的数据稀疏。
然后,本申请采用自监督预训练(将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数)和监督微调(通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练)两阶段训练模型。自监督预训练使用未知标签数据集作为输入,能够有效降低流量数据类别标签样本量不均衡的干扰。此外,当目标域的分类数目发生变化时,仅需要在监督微调阶段修正训练过程中抽取的数据集类别数、每类数据集对应子数据数量即可,避免类似元学习方式重新训练模型,缩短在新任务上的迁移时间。
最后,本申请采用的监督微调(通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练)能够捕捉目标域数据的变化,修正源域数据特征带来的偏移,进而能够有效避免跨域数据(训练集和测试集分布差异较大)对模型分类性能的影响。
附图说明
下面参照附图来描述本公开的部分实施例,附图中:
图1是本申请实施例提供的一种基于小样本学习的恶意流量分类方法流程图。
图2是本申请实施例提供的一种基于小样本学习的恶意流量分类系统内部结构示意图。
图3是本申请实施例提供的一种基于小样本学习的恶意流量分类设备内部结构示意图。
具体实施方式
本领域技术人员应当理解的是,下文所描述的实施例仅仅是本公开的优选实施例,并不表示本公开仅能通过该优选实施例实现,该优选实施例仅仅是用于解释本公开的技术原理,并非用于限制本公开的保护范围。基于本公开提供的优选实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实施例,仍应落入到本公开的保护范围之内。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
下面通过附图对本申请实施例提出的技术方案进行详细的说明。
本申请实施例提供了一种基于小样本学习的恶意流量分类方法,如图1所示,本申请实施例提供的方法,主要包括以下步骤:
步骤110、获取原始流量PCAP文件,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集。
需要说明的是,原始流量PCAP文件由若干连续的数据包构成,且数据包至少包含流量五元组、字节长度和标签数据,且标签数据包含:未知标签和若干类已知标签。其中,流量五元组即源ip、目的ip、源端口、目的端口、协议类型。另外,标签数据为原始流量PCAP文件本身具有的,其未知标签为没有检测出具体恶意;已知标签对应具体恶意数据,例如病毒标签、外挂标签等,具体恶意的具体数量由实际情况确定。
本步骤可以具体为:将原始流量PCAP文件中相同的流量五元组的数据包划分为一个会话,以得到由若干会话组成的会话集合;将会话集合中的流量五元组中的IP地址进行匿名化处理,以及去除会话集合中的重复会话和空值会话,以完成清洗会话集合;确定字节长度小于或等于预设字节长度阈值的会话对应的会话字节为最终字节;将字节长度大于预设字节长度阈值的会话进行截取,保留前预设字节长度阈值的会话字节为最终字节;将最终字节转换为二进制数;将二进制数和标签数据作为一个子数据,进而生成会话数据集。
需要说明的是,将原始流量PCAP文件划分为若干会话,可以通过工具包USTC-TL2016将相同流量五元组(源和目的可互换)的数据包切割为一个会话。进行匿名化处理的方法可由现有方法或技术实现,本申请对匿名化的具体内容不做限定。将最终字节转换为二进制数的方法可由现有技术实现,本领域技术人员可以根据实际需求选择任意可行的能够将字节数据转换为二进制转换的方法。
步骤120、基于标签数据,将会话数据集分为未知标签数据集和已知标签数据集;将已知标签数据集划分为已知标签训练数据集和已知标签测试数据集。
步骤130、在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数。
需要说明的是,随机变换函数任意可行的能够生成样本数据对应的伪样本数据的函数。
本步骤可以具体为:从未知标签数据集中随机抽取N个子数据作为样本数据;利用随机变换函数为每个样本数据生成对应的Q个伪样本数据;在未知标签数据集中随机抽取P次,每次抽取M个子数据,以得到P个批量集;获得批量集中各个子数据对应的伪样本数据,进而获得批量集对应的伪样本数据集;将批量集和批量集对应的伪样本数据集,作为预设嵌入函数的输入;通过预设最优参数计算公式:
,以获得预设参数/>
其中,N、P、Q为预设常数,本领域技术人员可以根据实际需求自行调整N、P、Q各自对应的预设常数;i的取值范围为[1,N],q为的取值范围为[1,Q],为预设常数,/>表示第i个样本数据,/>表示样本数据和伪样本数据之间的度量距离,/>为预设参数;/>表示第i个样本数据对应的嵌入向量,/>表示第i个样本数据对应的伪样本数据的嵌入向量,表示损失函数值;通过小批量随机梯度下降算法,确定最小的损失函数值对应的预设参数为最优参数。
需要说明的是,小批量随机梯度下降算法为现有的能够确定最小的损失函数值对应的数据(预设参数)的算法,本申请对小批量随机梯度下降算法的具体实现过程不做限定。
步骤140、从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练。
本步骤可以具体为:以同一已知标签为一类,从已知标签训练数据集合中随机抽取T类数据集;其中,每类数据集对应2K个子数据;将每类数据集平分两份,以获得包含T*K个子数据的训练支持集和包含T*K个子数据的训练请求集。
通过线性分类器公式为:,通过预设公式:/>=2/>,/>,和交叉熵损失函数,完成/>和/>的参数训练。
其中,W为权重,b为偏置值;x为训练支持集或训练请求集中的子数据,为x对应的分类结果;T、K为预设常数,t的取值范围为[1,T],/>表示第t个已知标签对应的权重,表示第t个已知标签对应的权重的转置向量;/>为第t个已知标签对应的偏置值;/>表示第t个已知标签在训练支持集中对应的子数据集;/>为第t个已知标签在训练支持集中对应的子数据集的平均向量;/>表示第i个训练请求集中的子数据对应的嵌入向量,/>表示第i个训练请求集中的子数据,i的取值范围为[1,T*K]。
步骤150、从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器。
需要说明的是,获得线性分类器的准确率的方法可由现有的任意可行的能够检测准确率的方法实现,本申请对此不做限定。
本步骤可以具体为:从已知标签测试数据集随机抽取U类已知标签对应的S个子数据,以作为测试支持集;获取去除S个子数据的U类已知标签对应的全部子数据;去除全部子数据中的已知标签,以获得测试请求集;将测试支持集和测试请求集,作为完成训练的线性分类器的输入,以完成测试请求集的样本分类;获取样本分类的准确率,以在准确率大于预设准确率阈值时,确定完成训练线性分类器为基于小样本学习的恶意流量分类器。
需要说明的是,本领域技术人员可以根据实际需求自行调整U和S的具体数值。
除此之外,图2为本申请实施例提供的一种基于小样本学习的恶意流量分类系统。如图2所示,本申请实施例提供的系统,主要包括:
系统通过生成模块210获取原始流量PCAP文件,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集。
需要说明的是,生成模块210可以为任意可行的能够将原始流量PCAP文件进行数据处理以获得会话数据的设备或装置等。原始流量PCAP文件由若干连续的数据包构成,且数据包至少包含流量五元组、字节长度和标签数据,且标签数据包含:未知标签和若干类已知标签。
具体地,通过生成模块210中的生成单元211,将原始流量PCAP文件中相同的流量五元组的数据包划分为一个会话,以得到由若干会话组成的会话集合;将会话集合中的流量五元组中的IP地址进行匿名化处理,以及去除会话集合中的重复会话和空值会话,以完成清洗会话集合;而后基于字节长度和预设字节长度阈值,确定每个会话的最终字节;将最终字节转换为二进制数;将二进制数和标签数据作为一个子数据,进而生成会话数据集。
系统中的划分模块220基于标签数据,将会话数据集分为未知标签数据集和已知标签数据集;将已知标签数据集划分为已知标签训练数据集和已知标签测试数据集。
需要说明的是,划分模块220为任意可行的能够进行数据集划分的设备或装置等。
系统中的获得模块230在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数。
需要说明的是,获得模块230为任意可行的能够调用函数获得伪样本数据。进而通过未知标签数据集中抽取批量集和伪样本数据集进行预设嵌入函数训练,以获得最优参数的设备或装置等。
具体地,通过获得模块230中的参数计算单元231从未知标签数据集中随机抽取N个子数据作为样本数据;利用随机变换函数为每个样本数据生成对应的Q个伪样本数据;在未知标签数据集中随机抽取P次,每次抽取M个子数据,以得到P个批量集;获得批量集中各个子数据对应的伪样本数据,进而获得批量集对应的伪样本数据集;将批量集和批量集对应的伪样本数据集,作为预设嵌入函数的输入;通过预设最优参数计算公式:,/>,/>,以获得预设参数/>;其中,N、P、Q为预设常数;i的取值范围为[1,N],q为的取值范围为[1,Q],/>为预设常数,/>表示第i个样本数据,/>表示样本数据和伪样本数据之间的度量距离,/>为预设参数;/>表示第i个样本数据对应的嵌入向量,/>表示第i个样本数据对应的伪样本数据的嵌入向量,/>表示损失函数值;通过小批量随机梯度下降算法,确定最小的损失函数值对应的预设参数为最优参数。
系统中的训练模块240从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练。
需要说明的是,训练模块240可以为任意可行的能够进行线性分类器训练的设备或装置等。
系统中的完成模块250从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器。
需要说明的是,完成模块250可以为任意可行的能够进行完成训练的线性分类器的准确性验证的设备或装置等。
以上为本申请中的方法实施例,基于同样的发明构思,本申请实施例还提供了一种基于小样本学习的恶意流量分类设备。如图3所示,该设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述实施例中的一种基于小样本学习的恶意流量分类方法。
具体地,服务器端获取原始流量PCAP文件,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集;其中,原始流量PCAP文件由若干连续的数据包构成,且数据包至少包含流量五元组、字节长度和标签数据,且标签数据包含:未知标签和若干类已知标签;基于标签数据,将会话数据集分为未知标签数据集和已知标签数据集;将已知标签数据集划分为已知标签训练数据集和已知标签测试数据集;在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数;从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练;从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器。
除此之外,本申请实施例还提供了一种非易失性计算机存储介质,其上存储有可执行指令,在该可执行指令被执行时,实现如上述的一种基于小样本学习的恶意流量分类方法。
至此,已经结合前文的多个实施例描述了本公开的技术方案,但是,本领域技术人员容易理解的是,本公开的保护范围并不仅限于这些具体实施例。在不偏离本公开技术原理的前提下,本领域技术人员可以对上述各个实施例中的技术方案进行拆分和组合,也可以对相关技术特征作出等同的更改或替换,凡在本公开的技术构思和/或技术原理之内所做的任何更改、等同替换、改进等都将落入本公开的保护范围之内。

Claims (10)

1.一种基于小样本学习的恶意流量分类方法,其特征在于,所述方法包括:
获取原始流量PCAP文件,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集;其中,原始流量PCAP文件由若干连续的数据包构成,且数据包至少包含流量五元组、字节长度和标签数据,且标签数据包含:未知标签和若干类已知标签;
基于标签数据,将会话数据集分为未知标签数据集和已知标签数据集;将已知标签数据集划分为已知标签训练数据集和已知标签测试数据集;
在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数;
从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练;
从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器。
2.根据权利要求1所述的基于小样本学习的恶意流量分类方法,其特征在于,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集,具体包括:
将原始流量PCAP文件中相同的流量五元组的数据包划分为一个会话,以得到由若干会话组成的会话集合;
将会话集合中的流量五元组中的IP地址进行匿名化处理,以及去除会话集合中的重复会话和空值会话,以完成清洗会话集合;
确定字节长度小于或等于预设字节长度阈值的会话对应的会话字节为最终字节;将字节长度大于预设字节长度阈值的会话进行截取,保留前预设字节长度阈值的会话字节为最终字节;
将最终字节转换为二进制数;将二进制数和标签数据作为一个子数据,进而生成会话数据集。
3.根据权利要求1所述的基于小样本学习的恶意流量分类方法,其特征在于,在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数,具体包括:
从未知标签数据集中随机抽取N个子数据作为样本数据;
利用随机变换函数为每个样本数据生成对应的Q个伪样本数据;
在未知标签数据集中随机抽取P次,每次抽取M个子数据,以得到P个批量集;
获得批量集中各个子数据对应的伪样本数据,进而获得批量集对应的伪样本数据集;
将批量集和批量集对应的伪样本数据集,作为预设嵌入函数的输入;
通过预设最优参数计算公式:
,以获得预设参数/>
其中,N、P、Q为预设常数;i的取值范围为[1,N],q为的取值范围为[1,Q],为预设常数,表示第i个样本数据,/>表示样本数据和伪样本数据之间的度量距离,/>为预设参数;/>表示第i个样本数据对应的嵌入向量,/>表示第i个样本数据对应的伪样本数据的嵌入向量,/>表示损失函数值;
通过小批量随机梯度下降算法,确定最小的损失函数值对应的预设参数为最优参数。
4.根据权利要求1所述的基于小样本学习的恶意流量分类方法,其特征在于,从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练,具体包括:
以同一已知标签为一类,从已知标签训练数据集合中随机抽取T类数据集;其中,每类数据集对应2K个子数据;将每类数据集平分两份,以获得包含T*K个子数据的训练支持集和包含T*K个子数据的训练请求集;
通过线性分类器公式为:,通过预设公式:/>=2/>,/>,和交叉熵损失函数,完成/>和/>的参数训练;
其中,W为权重,b为偏置值;x为训练支持集或训练请求集中的子数据,为x对应的分类结果;T、K为预设常数,t的取值范围为[1,T],/>表示第t个已知标签对应的权重,/>表示第t个已知标签对应的权重的转置向量;/>为第t个已知标签对应的偏置值;/>表示第t个已知标签在训练支持集中对应的子数据集;/>为第t个已知标签在训练支持集中对应的子数据集的平均向量;/>表示第i个训练请求集中的子数据对应的嵌入向量,/>表示第i个训练请求集中的子数据,i的取值范围为[1,T*K]。
5.根据权利要求1所述的基于小样本学习的恶意流量分类方法,其特征在于,从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器,具体包括:
从已知标签测试数据集随机抽取U类已知标签对应的S个子数据,以作为测试支持集;
获取去除S个子数据的U类已知标签对应的全部子数据;去除全部子数据中的已知标签,以获得测试请求集;
将测试支持集和测试请求集,作为完成训练的线性分类器的输入,以完成测试请求集的样本分类;
获取样本分类的准确率,以在准确率大于预设准确率阈值时,确定完成训练线性分类器为基于小样本学习的恶意流量分类器。
6.一种基于小样本学习的恶意流量分类系统,其特征在于,所述系统包括:
生成模块,用于获取原始流量PCAP文件,基于流量五元组将原始流量PCAP文件划分为若干会话;进行会话清洗,而后基于预设字节长度阈值和会话字节长度,获得会话的最终字节;预设处理规则,生成会话数据集;其中,原始流量PCAP文件由若干连续的数据包构成,且数据包至少包含流量五元组、字节长度和标签数据,且标签数据包含:未知标签和若干类已知标签;
划分模块,用于基于标签数据,将会话数据集分为未知标签数据集和已知标签数据集;将已知标签数据集划分为已知标签训练数据集和已知标签测试数据集;
获得模块,用于在未知标签数据集中抽取样本数据,进而通过随机变换函数,获得伪样本数据;在未知标签数据集中抽取批量集,并获得批量集对应的伪样本数据集;将批量集和伪样本数据集作为预设嵌入函数的输入,以获得预设嵌入函数对应的最优参数;
训练模块,用于从已知标签训练数据集中,获得训练支持集和训练请求集;通过训练支持集、训练请求集、预设嵌入函数、最优参数和交叉熵损失函数,完成线性分类器中参数的训练;
完成模块,用于从已知标签测试数据集中,获得测试支持集和测试请求集,以作为完成训练的线性分类器的输入;进而获得线性分类器的准确率,以在准确率大于预设准确率阈值时,确定完成训练的线性分类器为基于小样本学习的恶意流量分类器。
7.根据权利要求6所述的基于小样本学习的恶意流量分类系统,其特征在于,生成模块包括生成单元,
用于将原始流量PCAP文件中相同的流量五元组的数据包划分为一个会话,以得到由若干会话组成的会话集合;将会话集合中的流量五元组中的IP地址进行匿名化处理,以及去除会话集合中的重复会话和空值会话,以完成清洗会话集合;确定字节长度小于或等于预设字节长度阈值的会话对应的会话字节为最终字节;将字节长度大于预设字节长度阈值的会话进行截取,保留前预设字节长度阈值的会话字节为最终字节;将最终字节转换为二进制数;将二进制数和标签数据作为一个子数据,进而生成会话数据集。
8.根据权利要求6所述的基于小样本学习的恶意流量分类系统,其特征在于,获得模块包括参数计算单元,
用于从未知标签数据集中随机抽取N个子数据作为样本数据;利用随机变换函数为每个样本数据生成对应的Q个伪样本数据;在未知标签数据集中随机抽取P次,每次抽取M个子数据,以得到P个批量集;获得批量集中各个子数据对应的伪样本数据,进而获得批量集对应的伪样本数据集;将批量集和批量集对应的伪样本数据集,作为预设嵌入函数的输入;
通过预设最优参数计算公式:
,以获得预设参数/>
其中,N、P、Q为预设常数;i的取值范围为[1,N],q为的取值范围为[1,Q],为预设常数,表示第i个样本数据,/>表示样本数据和伪样本数据之间的度量距离,/>为预设参数;/>表示第i个样本数据对应的嵌入向量,/>表示第i个样本数据对应的伪样本数据的嵌入向量,/>表示损失函数值;通过小批量随机梯度下降算法,确定最小的损失函数值对应的预设参数为最优参数。
9.一种基于小样本学习的恶意流量分类设备,其特征在于,所述设备包括:
处理器;
以及存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-5任一项所述的一种基于小样本学习的恶意流量分类方法。
10.一种非易失性计算机存储介质,其特征在于,其上存储有计算机指令,所述计算机指令在被执行时实现如权利要求1-5任一项所述的一种基于小样本学习的恶意流量分类方法。
CN202311279415.2A 2023-10-07 2023-10-07 基于小样本学习的恶意流量分类方法、系统、设备及介质 Active CN117034124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311279415.2A CN117034124B (zh) 2023-10-07 2023-10-07 基于小样本学习的恶意流量分类方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311279415.2A CN117034124B (zh) 2023-10-07 2023-10-07 基于小样本学习的恶意流量分类方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN117034124A CN117034124A (zh) 2023-11-10
CN117034124B true CN117034124B (zh) 2024-02-23

Family

ID=88635772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311279415.2A Active CN117034124B (zh) 2023-10-07 2023-10-07 基于小样本学习的恶意流量分类方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN117034124B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114580484A (zh) * 2022-04-28 2022-06-03 西安电子科技大学 一种基于增量学习的小样本通信信号自动调制识别方法
CN116015708A (zh) * 2022-11-17 2023-04-25 中国人民解放军战略支援部队信息工程大学 基于深度学习预测不确定性的恶意流量开集识别方法及装置
CN116032588A (zh) * 2022-12-23 2023-04-28 南京中孚信息技术有限公司 一种基于特征选择的异常加密流量识别方法
CN116070137A (zh) * 2023-02-08 2023-05-05 电子科技大学 一种针对恶意流量检测的开集识别装置及方法
US11658989B1 (en) * 2022-01-13 2023-05-23 National University Of Defense Technology Method and device for identifying unknown traffic data based dynamic network environment
CN116405419A (zh) * 2023-04-13 2023-07-07 东南大学 一种基于小样本学习的未知网络协议分类方法
WO2023155069A1 (zh) * 2022-02-16 2023-08-24 佛山市南海区广工大数控装备协同创新研究院 一种基于深度学习的手机电池表面缺陷检测方法
CN116668327A (zh) * 2023-05-23 2023-08-29 中国人民解放军战略支援部队信息工程大学 基于动态再训练的小样本恶意流量分类增量学习方法及系统
CN116821764A (zh) * 2023-06-30 2023-09-29 杭州电子科技大学 一种基于知识蒸馏的多源域适应的eeg情绪状态分类方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11658989B1 (en) * 2022-01-13 2023-05-23 National University Of Defense Technology Method and device for identifying unknown traffic data based dynamic network environment
WO2023155069A1 (zh) * 2022-02-16 2023-08-24 佛山市南海区广工大数控装备协同创新研究院 一种基于深度学习的手机电池表面缺陷检测方法
CN114580484A (zh) * 2022-04-28 2022-06-03 西安电子科技大学 一种基于增量学习的小样本通信信号自动调制识别方法
CN116015708A (zh) * 2022-11-17 2023-04-25 中国人民解放军战略支援部队信息工程大学 基于深度学习预测不确定性的恶意流量开集识别方法及装置
CN116032588A (zh) * 2022-12-23 2023-04-28 南京中孚信息技术有限公司 一种基于特征选择的异常加密流量识别方法
CN116070137A (zh) * 2023-02-08 2023-05-05 电子科技大学 一种针对恶意流量检测的开集识别装置及方法
CN116405419A (zh) * 2023-04-13 2023-07-07 东南大学 一种基于小样本学习的未知网络协议分类方法
CN116668327A (zh) * 2023-05-23 2023-08-29 中国人民解放军战略支援部队信息工程大学 基于动态再训练的小样本恶意流量分类增量学习方法及系统
CN116821764A (zh) * 2023-06-30 2023-09-29 杭州电子科技大学 一种基于知识蒸馏的多源域适应的eeg情绪状态分类方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Few-Shot Learning-Based Malicious IoT Traffic Detection with Prototypical Graph Neural Networks;Thein, TT 等;IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS E106D (9);全文 *
基于增量学习SVM的Android恶意应用检测方法;熊祖涛;;嘉应学院学报(第05期);全文 *
网络流量异常检测方法:SSAE-IWELM-AdaBoost;李小剑;谢晓尧;徐洋;;武汉大学学报(理学版)(第02期);全文 *
非平衡网络流量识别方法;韩国栋;黄雅静;王孝龙;;计算机应用(第01期);全文 *

Also Published As

Publication number Publication date
CN117034124A (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
CN109104441A (zh) 一种基于深度学习的加密恶意流量的检测系统和方法
TW201832138A (zh) 圖像識別方法及裝置
US20170063893A1 (en) Learning detector of malicious network traffic from weak labels
CN112235264A (zh) 一种基于深度迁移学习的网络流量识别方法及装置
CN110956615B (zh) 图像质量评估模型训练方法、装置、电子设备及存储介质
CN108809989B (zh) 一种僵尸网络的检测方法及装置
CN113992349B (zh) 恶意流量识别方法、装置、设备和存储介质
CN112673386A (zh) 用于高效标签传播的基于集成的数据管理管道
CN111786951B (zh) 流量数据特征提取方法、恶意流量识别方法及网络系统
CN110071829A (zh) Dns隧道检测方法、装置及计算机可读存储介质
Nazarenko et al. Features of application of machine learning methods for classification of network traffic (features, advantages, disadvantages)
CN111935185B (zh) 基于云计算构建大规模诱捕场景的方法及系统
CN107846402B (zh) 一种bgp稳定性异常检测方法、装置及电子设备
CN111209998B (zh) 基于数据类型的机器学习模型的训练方法及装置
CN109121133B (zh) 一种位置隐私保护方法及装置
CN114826681A (zh) 一种dga域名检测方法、系统、介质、设备及终端
CN110768929A (zh) 域名检测方法和装置、计算机可读存储介质
CN117034124B (zh) 基于小样本学习的恶意流量分类方法、系统、设备及介质
CN109889616B (zh) 一种识别域名的方法及装置
CN115334005B (zh) 基于剪枝卷积神经网络和机器学习的加密流量识别方法
CN108366071B (zh) Url异常定位方法、装置、服务器及存储介质
CN111091194A (zh) 一种基于cavwnb_kl算法的操作系统识别方法
CN116232694A (zh) 轻量级网络入侵检测方法、装置、电子设备及存储介质
CN111447169A (zh) 一种在网关上的实时恶意网页识别方法及系统
CN107508764B (zh) 一种网络数据流量类型识别方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant