CN117527434A - 模型训练方法、资产识别方法、装置、设备及介质 - Google Patents

模型训练方法、资产识别方法、装置、设备及介质 Download PDF

Info

Publication number
CN117527434A
CN117527434A CN202311735405.5A CN202311735405A CN117527434A CN 117527434 A CN117527434 A CN 117527434A CN 202311735405 A CN202311735405 A CN 202311735405A CN 117527434 A CN117527434 A CN 117527434A
Authority
CN
China
Prior art keywords
network
traffic load
model
flow
asset
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.)
Pending
Application number
CN202311735405.5A
Other languages
English (en)
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.)
Shenzhen Shenxinfu Information Security Co ltd
Original Assignee
Shenzhen Shenxinfu Information Security 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 Shenzhen Shenxinfu Information Security Co ltd filed Critical Shenzhen Shenxinfu Information Security Co ltd
Priority to CN202311735405.5A priority Critical patent/CN117527434A/zh
Publication of CN117527434A publication Critical patent/CN117527434A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种资产识别模型训练方法、装置、设备及介质,涉及计算机技术领域,包括:将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以输出对应的增强后流量载荷;利用分类网络模型预测网络流量载荷和增强后流量载荷的资产类别,得到对应的预测类别,并确定网络流量载荷和增强后流量载荷对应资产的真实类别;利用基于网络流量载荷和增强后流量载荷构建的第一损失函数以及基于预测类别和真实类别构建的第二损失函数,对分类网络模型进行训练得到训练后分类模型;基于生成对抗网络模型和训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。本申请能够得到快速识别未知资产的资产识别模型。

Description

模型训练方法、资产识别方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,特别涉及模型训练方法、资产识别方法、装置、设备及介质。
背景技术
随着互联网的普及和网络技术的快速发展,网络流量呈现爆炸式增长,网络流量中包含着设备之间的交互信息,因此对网络流量的分析,是网络带宽规划、网络入侵检测与防御以及IOT(Internet of Things,物联网)资产识别,恶意流量检测等任务的重要前提。但网络流量的加密,内容随机性,标注数据少,以及数据类别不平衡等特性也使分析其面临着巨大的挑战。
网络流量分类技术能够按照网络应用类型或协议类型对流量进行分类,可为上述问题提供重要的技术支撑,目前常用的有基于端口的流量分类方法、基于有效负载的流量分类方法、基于流量行为的流量分类方法,但随着技术的发展,这些方法各自有各自的缺点。其中,基于端口的流量分类方法由于随机端口以及端口伪装技术的滥用,该方法已逐渐失效;基于流量载荷的流量分类方法,主要是通过提取网络流量载荷中有效字符串信息,依靠字符串匹配算法进行分类或者通过相关机器学习算法进行分类,但是该方法无法处理加密流量或者其它未知网络应用的流量;基于流量行为模式的流量分类方法,通常针对流量包之间的特性,例如流量包之间的传输时间,包的大小等等进行建模,该方法不依赖协议特征,机器学习算法模型通过学习主机交互的行为信息来识别网络流量,但该类方法的问题是很难找出有效的特征,构造特征工程非常的繁琐,一旦切换场景,可能需要重新构造特征工程,非常耗时耗力,同时数据集的不平衡问题对模型最后的效果影响非常大。以上都是有监督的流量分类方式,但是在实际业务场景中,很难有大量标注好的、质量高的流量数据集供模型训练,因此也有研究人员用无监督的流量分类方法,但无监督的流量方法由于流量内容的不确定性很难有好的分类效果。
综上,如何在只有少量标注数据的情况下进行模型训练,从而得到用于对未知资产快速识别的资产识别模型是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种资产识别模型训练方法、装置、设备及介质,能够在只有少量标注数据的情况下进行模型训练,从而得到用于对未知资产快速识别的资产识别模型。其具体方案如下:
第一方面,本申请公开了一种资产识别模型训练方法,包括:
将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷;
利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别;
利用基于所述网络流量载荷和所述增强后流量载荷构建的第一损失函数以及基于所述预测类别和所述真实类别构建的第二损失函数,对所述分类网络模型进行训练得到训练后分类模型;
基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
可选的,所述生成对抗网络模型包括生成器和判别器;所述生成器基于嵌入层、双向长短期记忆网络和全连接神经网络构建,所述判别器基于卷积神经网络和全连接神经网络构建。
可选的,所述将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型之前,还包括:
获取资产设备的网络流量文件,并对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷;
相应的,所述网络流量载荷和所述增强后流量载荷对应资产的真实类别为所述资产设备表征的资产类别。
可选的,所述对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷,包括:
二进制读取所述网络流量文件,并解析所述网络流量文件中的各流量数据包得到解析结果;
基于所述解析结果对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷。
可选的,所述解析所述网络流量文件中的各流量数据包得到解析结果,包括:
遍历所述网络流量文件中的每一流量数据包,读取解析每一所述流量数据包的以太网帧头和网络层信息,以得到源IP地址和目的IP地址,并读取解析传输层信息,以得到源端口、目的端口、当前流量数据包中第一个字节的序号、下一流量数据包中第一个字节的确认号和载荷长度以及各流量数据包携带的流量数据;
相应的,所述基于解析结果对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷,包括:
基于所述源IP地址、所述目的IP地址、所述源端口、所述目的端口、所述序号、所述确认号和所述载荷长度对所述网络流量文件中各流量数据包携带的流量数据进行流重组,得到所述网络流量载荷。
可选的,所述资产识别模型训练方法,还包括:
若任一所述流量数据包中不可读字符的长度值与所述载荷长度的比值超过预设阈值,则在流重组过程中剔除所述流量数据包携带的流量数据。
可选的,所述第一损失函数为对比损失函数;其中,在每一训练批次中,每一所述网络流量载荷与同一资产设备对应的增强后流量载荷互为正样本,每一所述网络流量载荷与不同资产设备对应的所述增强后流量载荷互为负样本。
可选的,所述第二损失函数为交叉熵损失函数。
可选的,所述将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型之前,还包括:
对所述网络流量载荷进行数据清洗和去噪处理,得到处理后的所述网络流量载荷;
相应的,所述将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,包括:
将处理后的所述网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型。
第二方面,本申请公开了一种资产识别方法,基于前述公开的资产识别模型训练方法训练得到的资产识别模型,包括:
获取待识别网络流量;
将所述待识别网络流量输入至所述资产识别模型,以利用所述资产识别模型对所述待识别网络流量进行资产识别,得到资产识别结果。
第三方面,本申请公开了一种资产识别模型训练装置,包括:
数据增强模块,用于将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷;
类别确定模块,用于利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别;
模型训练模块,用于利用基于所述网络流量载荷和所述增强后流量载荷构建的第一损失函数以及基于所述预测类别和所述真实类别构建的第二损失函数,对所述分类网络模型进行训练得到训练后分类模型;
资产识别模型构建模块,用于基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
第四方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的资产识别模型训练方法以及资产识别方法的步骤。
第五方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的资产识别模型训练方法以及资产识别方法的步骤。
可见,本申请通过将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷;利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别;利用基于所述网络流量载荷和所述增强后流量载荷构建的第一损失函数以及基于所述预测类别和所述真实类别构建的第二损失函数,对所述分类网络模型进行训练得到训练后分类模型;基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
由此可见,本申请先将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型中,以利用生成对抗网络模型输出对应的增强后流量载荷,通过数据增强的方式,可以扩增训练样本的数量,且增强后流量载荷原始的网络流量载荷应属于同一资产类别。进一步的,利用分类网络预测网络流量载荷和增强后流量载荷的资产类别,得到对应的预测类别,并确定网络流量载荷和增强后流量载荷对应资产的真实类别,然后利用基于网络流量载荷和增强后流量载荷构建的第一损失函数以及基于预测类别和真实类别构建的第二损失函数对分类网络模型进行训练得到训练后分类模型;最后基于生成对抗网络模型和训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。也即,本申请中由于生成对抗网络已经训练完成,因此在对模型训练时,仅需对分类网络模型进行训练即可,最后基于生成对抗网络模型和训练后分类网络构成用于对待识别网络流量进行资产识别的资产识别模型。如此一来,本申请能够在只有少量标注数据的情况下对分类网模型进行训练,进一步构建用于对对待识别网络流量进行资产识别的资产识别模型。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种资产识别模型训练方法流程图;
图2为本申请公开的一种具体的资产识别模型训练方法流程图;
图3为本申请公开的一种资产识别方法流程图;
图4为本申请公开的一种资产识别模型训练装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前在针对网络流量分类的研究中存在以下问题:机器学习模型所需要的特征需要大量的专家经验,一旦切换场景,需要重新构造特征工程,非常耗时耗力;实际场景中,没有大量的标注好的、质量高的流量数据集供模型训练,且数据集不平衡问题非常严重;现有的无监督的流量聚类方法由于流量内容的不确定性很难有好的分类效果。为此,本申请实施例公开了一种资产识别模型训练方法、装置、设备及介质,能够在只有少量标注数据的情况下进行模型训练,从而得到用于对未知资产快速识别的资产识别模型。
参见图1所示,本申请实施例公开了一种资产识别模型训练方法,该方法包括:
步骤S11:将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷。
本实施例中,用于数据增量处理的网络模型具体为生成对抗网络模型(Generative Adversarial Network,即GAN网络),可以理解的是,生成对抗网络通过让两个神经网络相互博弈的方式进行学习,从而生成具有高度逼真度的数据样本,本发明采用GAN网络对数据进行数据增强,GAN网络由一个生成器和一个判别器组成。其中,生成器用于生成假数据样本,判别器用于判断数据样本的真假,在每一轮的训练中,生成器生成一批假数据样本,判别器判断这些数据样本的真假,并给出一个概率值。生成器的目标是让生成的假数据样本尽可能地逼真,使得判别器无法区分真假数据样本;判别器的目标是尽可能地准确地判断数据样本的真假,因此,生成器和判别器的目标是相互对抗的。本申请通过设计一个以双向LSTM(Long Short-Term Memory,长短期记忆)网络作为主体的网络,作为生成器的主体结构,一个以CNN(Convolutional Neural Network,即卷积神经网络)网络为主体的作为判别器的主体结构。
需要指出的是,在训练生成对抗网络模型时,同样可以使用网络流量载荷作为训练数据进行模型训练,以得到用于数据增强的生成对抗网络模型。GAN网络的生成器由一个嵌入层(即embed层)、双向LSTM层、全连接神经网络层组成;判别器有CNN层、全连接神经网络层组成,在经过不断迭代训练后,模型可以生成与输入数据语义信息高度相似的新数据。
因此,在生成对抗网络模型训练完成至,则可将获取到的网络流量载荷输入至生成对抗网络模型中,以利用生成对抗网络模型输出对应的增强后流量载荷。
步骤S12:利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别。
本实施例中,将网络流量载荷和增强后流量载荷输入至分类网络中,具体为一个分类层,由分类层输出分类概率,该分类概率即表示资产的预测类别。
步骤S13:利用基于所述网络流量载荷和所述增强后流量载荷构建的第一损失函数以及基于所述预测类别和所述真实类别构建的第二损失函数,对所述分类网络模型进行训练得到训练后分类模型。
本实施例中,由于生成对抗网络已经训练完成,因此在对模型训练时,仅需对分类网络模型进行训练即可,也即利用基于网络流量载荷和增强后流量载荷构建的第一损失函数以及基于预测类别和真实类别构建的第二损失函数对分类网络模型进行训练得到训练后分类模型
步骤S14:基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
本实施例中,基于生成对抗网络模型和训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型,本申请能够在只有少量标注数据的情况下对分类网模型进行训练,进一步构建用于对对待识别网络流量进行资产识别的资产识别模型。
可见,本申请通过将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷;利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别;利用基于所述网络流量载荷和所述增强后流量载荷构建的第一损失函数以及基于所述预测类别和所述真实类别构建的第二损失函数,对所述分类网络模型进行训练得到训练后分类模型;基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
由此可见,本申请先将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型中,以利用生成对抗网络模型输出对应的增强后流量载荷,通过数据增强的方式,可以扩增训练样本的数量,且增强后流量载荷原始的网络流量载荷应属于同一资产类别。进一步的,利用分类网络预测网络流量载荷和增强后流量载荷的资产类别,得到对应的预测类别,并确定网络流量载荷和增强后流量载荷对应资产的真实类别,然后利用基于网络流量载荷和增强后流量载荷构建的第一损失函数以及基于预测类别和真实类别构建的第二损失函数对分类网络模型进行训练得到训练后分类模型;最后基于生成对抗网络模型和训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。也即,本申请中由于生成对抗网络已经训练完成,因此在对模型训练时,仅需对分类网络模型进行训练即可,最后基于生成对抗网络模型和训练后分类网络构成用于对待识别网络流量进行资产识别的资产识别模型。如此一来,本申请能够在只有少量标注数据的情况下对分类网模型进行训练,进一步构建用于对对待识别网络流量进行资产识别的资产识别模型。
参见图2所示,本申请实施例公开了一种具体的资产识别模型训练方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体包括:
步骤S21:获取资产设备的网络流量文件,并对所述网络流量文件中的流量数据包进行流重组,得到网络流量载荷;
本实施例中,本实施例中,资产设备具体为物联网(IOT)设备,网络流量载荷和增强后流量载荷对应资产的真实类别即为物联网设备的具体类型。网络流量文件具体指的是pcap结尾的流量包文件,每个pcap包由多个流量数据包(packet)组成。也即首先获取IOT设备的离线流量数据为pcap结尾的流量包,再对网络流量文件中的流量数据包进行流重组,得到完整的网络流量载荷。在具体实施方式中,可以通过抓包工具(例如tcpdump等开源工具)或者探针等方式获取相关物联网设备的流量。
在具体实施方式中,上述对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷,包括:二进制读取所述网络流量文件,并解析所述网络流量文件中的各流量数据包得到解析结果;基于所述解析结果对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷。
也即,在流重组过程中,首先二进制读取网络流量文件,并解析网络流量文件中的各流量数据包得到解析结果,再基于解析结果对网络流量文件中的流量数据包进行TCP流重组,得到pcap包中完整的网络流量载荷。
可以理解的是,在TCP/IP分层中,数据链路层用MTU(最大传输单元)来限制所能传输的数据包大小,MTU是指一次传送的数据最大长度,不包括数据链路层数据帧的帧头。如以太网的MTU为1500字节。发送的IP数据报的大小超过了MTU时,网络层(指IP层)就需要对数据进行分片;网络传输中IP层不能保证包传输是有序进行的,IP协议可能出现将单个包传输多次的情况,因此可能出现分片丢失、重叠以及乱序到达等情况。应用层向传输层(指TCP层)发送用于网间传输的数据流,TCP则把数据流分割成适当长度的报文段,最大报文段大小(MSS)通常受以太网MTU限制,TCP协议在实现的时候往往用MTU值减去IP数据包头部和TCP数据段头部长度代替MSS,一般为1460字节;因为TCP使用IP来传递它的报文段,IP不提供重复消除和保证次序正确的功能,所以TCP流重组主要处理包失序和包重复等问题。
因此,在具体实施方式中,上述解析所述网络流量文件中的各流量数据包得到解析结果,包括:遍历所述网络流量文件中的每一流量数据包,读取解析每一所述流量数据包的以太网帧头和网络层信息,以得到源IP地址和目的IP地址,并读取解析传输层信息,以得到源端口、目的端口、当前流量数据包中第一个字节的序号、下一流量数据包中第一个字节的确认号和载荷长度以及各流量数据包携带的流量数据;相应的,所述基于解析结果对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷,包括:基于所述源IP地址、所述目的IP地址、所述源端口、所述目的端口、所述序号、所述确认号和所述载荷长度对所述网络流量文件中各流量数据包携带的流量数据进行流重组,得到所述网络流量载荷。也即,遍历网络流量文件中的每一个packet,读取解析以太网帧头,读取解析IP层信息,以保存源IP地址和目的IP地址,进一步的,判断下一层是否为TCP层,如果是,则继续读取解析TCP层,以源端口、目的端口、当前流量数据包中第一个字节的序号(即seq)、下一流量数据包中第一个字节的确认号(即ack)和载荷长度(即payload长度)以及各流量数据包携带的流量数据,遍历完所有的packet后,将所有解析结果保存后,开始按照保存的源IP地址、目的IP地址、源端口、所的端口、序号、确认号和载荷长度等特征来进行TCP流重组,即排序和去重,从而得到pcap包完整的网络流量载荷。得到流重组后的内容后,此时一个资产的网络流量文件有多个流,每个流有一个payload内容,通过流重组后,完整的网络流量载荷可以表示为['某个资产':[[45,33,6a,9e...],[9e,8a,96,c8...],[...]],可以看出某类资产设备,包含多段payload内容,且payload内容都是由16进制字符组成。例如从一台华为路由器上捕获了一段时间的流量,通过流重组后,完整的网络流量载荷集合可以表示为['华为路由器':[[45,33,6a,9e...],[9e,8a,96,c8...],[...]],其中,[45,33,6a,9e...]、[9e,8a,96,c8...]均表示一条payload。
另外,需要指出的是,上述方法还包括:若任一所述流量数据包中不可读字符的长度值与所述载荷长度的比值超过预设阈值,则在流重组过程中剔除所述流量数据包携带的流量数据。其中,预设阈值可以设置为10%,也即,若流量数据包中不可读字符的长度值与载荷长度的比值超过10%,则将剔除该流量数据包携带的流量数据。
步骤S22:对所述网络流量载荷进行数据清洗和去噪处理,得到处理后的所述网络流量载荷。
本实施例中,在获取到流重组后的网络流量载荷后,需要对网络流量载荷进行数据清洗和去噪处理,得到处理后的网络流量载荷,以将处理后的网络流量载荷输入至生成对抗网络模型。
步骤S23:将处理后的所述网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷。
本实施例中,生成对抗网络模型训练好之后,该模型可以针对某条payload内容生成多条相似的payload,作为数据增强,例如输入一条payload1,可以设置生成5条新的payload,这5条payload的语义信息与payload1都有高度相似性,即为payload1的增强数据。
步骤S24:利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别。
本实施例中,网络流量载荷和所述增强后流量载荷对应资产的真实类别为资产设备表征的资产类别。
步骤S25:利用基于所述网络流量载荷和所述增强后流量载荷构建的对比损失函数以及基于所述预测类别和所述真实类别构建的交叉熵损失函数,对所述分类网络模型进行训练得到训练后分类模型。
本实施例中,通过设计联合对比学习损失函数,使模型学习到流量载荷的深度语义信息,对比学习中,最重要的部分在生成正负样本和设计效果好的对比损失函数,因此在这个阶段,本发明通过利用上一步训练好的GAN网络进行正负样本的生成,同时设计了一种联合对比损失函数,具体流程为,第一阶段:在一个batch(训练批次)中,将原payload集合输入到GAN模型中,生成等量数据的payload集合,需要指出的是,这里一条原始paylaod就生成一条新的payload,一个batch有10条,经过GAN模型就会生成10条,总共20条,这些payload内容与输入的内容具有高度相似性,对于每一条原始payload来说,与通过GAN模型生成的同一资产设备的增强payload作为一对正样本,与batch内其余资产设备的增强payload两两作为多对负样本,计算对比损失函数,公式为:
其中,B代表一个batch中所有的样本数据,xj是xi的增强样本,即xi为原始的网络流量载荷,xj为增强后流量载荷,根据设计的原理,两者属于同一资产资产,其payload的内容理应更相似。xk代表在B中,除了xj,xi之外的其他资产类别的数据,这里由于不是一类资产设备的payload,那么理应更不相似,因此,当这个Loss越来越小时,可以说明,同一资产设备的payload相似度更高,非一类资产设备的payload更不相似,模型很好的学习到了payload的深层语义信息。
通过前述内容可知,本实施例需要将整个batch中的样本x输入到一个分类中,样本x包括原始的网络流量载荷和增强后流量载荷,以得到样本资产的预测类别,因此,基于预测类别和真实类别构建的交叉熵损失函数Losscls,公式为:
其中y代表真实资产类别,代表x输入到分类层后的分类概率,当该Loss越来越小时,代表分类的准确率越来越大。最后将两个Loss相加,作为最终的优化目标,即利用对比损失函数和交叉熵损失函数共同对模型进行训练,总损失函数Loss的公式为:
Loss=LossCL+Losscls
步骤S26:基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
本实施例中,在得到训练后分类模型后,则可基于生成对抗网络模型和训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
其中,关于上述步骤S24和S26更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例通过获取IOT设备的离线流量数据为pcap结尾的流量包,再对网络流量文件中的流量数据包进行流重组,得到完整的网络流量载荷。在流重组过程中,首先二进制读取网络流量文件,并解析网络流量文件中的各流量数据包得到解析结果,再基于解析结果对网络流量文件中的流量数据包进行TCP流重组,得到pcap包中完整的网络流量载荷。获取到流重组后的网络流量载荷后,还需要对网络流量载荷进行数据清洗和去噪处理,以将处理后的网络流量载荷输入至生成对抗网络模型。另外,由于生成对抗网络已经训练完成,因此在对模型训练时,仅需对分类网络模型进行训练即可,最后基于生成对抗网络模型和训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。如此一来,本申请采用一种生成网络和对比学习联合的方法,设计训练数据增强模型和对比损失函数,在有标注、质量高的小样本流量数据上进行模型训练,从而达到对未知资产的识别。通过本发明的方法,可以很好的缓解当前标注数据不够,数据不平衡的问题,同时还可以达到更好的识别效果。
参见图3所示,本申请实施例公开了一种资产识别方法,基于前述公开的资产识别模型训练方法训练得到的资产识别模型,该方法包括:
步骤S31:获取待识别网络流量。
步骤S32:将所述待识别网络流量输入至所述资产识别模型,以利用所述资产识别模型对所述待识别网络流量进行资产识别,得到资产识别结果。
可见,当资产识别模型训练完成之后,即可利用资产识别模型对待识别网络流量进行识别,以完成对未知资产的识别。具体的,获取待识别网络流量;将待识别网络流量输入至资产识别模型,以利用资产识别模型对待识别网络流量进行资产识别,得到资产识别结果。如此一来,本申请能够利用资产识别模型快速完成对未知资产的识别。
参见图4所示,本申请实施例公开了一种资产识别模型训练装置,该装置包括:
数据增强模块11,用于将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷;
类别确定模块12,用于利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别;
模型训练模块13,用于利用基于所述网络流量载荷和所述增强后流量载荷构建的第一损失函数以及基于所述预测类别和所述真实类别构建的第二损失函数,对所述分类网络模型进行训练得到训练后分类模型;
资产识别模型构建模块14,用于基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
可见,本申请通过将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷;利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别;利用基于所述网络流量载荷和所述增强后流量载荷构建的第一损失函数以及基于所述预测类别和所述真实类别构建的第二损失函数,对所述分类网络模型进行训练得到训练后分类模型;基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
由此可见,本申请先将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型中,以利用生成对抗网络模型输出对应的增强后流量载荷,通过数据增强的方式,可以扩增训练样本的数量,且增强后流量载荷原始的网络流量载荷应属于同一资产类别。进一步的,利用分类网络预测网络流量载荷和增强后流量载荷的资产类别,得到对应的预测类别,并确定网络流量载荷和增强后流量载荷对应资产的真实类别,然后利用基于网络流量载荷和增强后流量载荷构建的第一损失函数以及基于预测类别和真实类别构建的第二损失函数对分类网络模型进行训练得到训练后分类模型;最后基于生成对抗网络模型和训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。也即,本申请中由于生成对抗网络已经训练完成,因此在对模型训练时,仅需对分类网络模型进行训练即可,最后基于生成对抗网络模型和训练后分类网络构成用于对待识别网络流量进行资产识别的资产识别模型。如此一来,本申请能够在只有少量标注数据的情况下对分类网模型进行训练,进一步构建用于对对待识别网络流量进行资产识别的资产识别模型。
在一些具体实施例中,所述生成对抗网络模型包括生成器和判别器;所述生成器基于嵌入层、双向长短期记忆网络和全连接神经网络构建,所述判别器基于卷积神经网络和全连接神经网络构建。
在一些具体实施例中,所述数据增强模块11之前,还包括:
流重组单元,用于获取资产设备的网络流量文件,并对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷;
相应的,所述网络流量载荷和所述增强后流量载荷对应资产的真实类别为所述资产设备表征的资产类别。
在一些具体实施例中,所述流重组单元,具体包括:
解析单元,用于二进制读取所述网络流量文件,并解析所述网络流量文件中的各流量数据包得到解析结果;
重组单元,用于基于所述解析结果对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷。
在一些具体实施例中,所述解析单元具体用于遍历所述网络流量文件中的每一流量数据包,读取解析每一所述流量数据包的以太网帧头和网络层信息,以得到源IP地址和目的IP地址,并读取解析传输层信息,以得到源端口、目的端口、当前流量数据包中第一个字节的序号、下一流量数据包中第一个字节的确认号和载荷长度以及各流量数据包携带的流量数据;
相应的,所述重组单元具体用于基于所述源IP地址、所述目的IP地址、所述源端口、所述目的端口、所述序号、所述确认号和所述载荷长度对所述网络流量文件中各流量数据包携带的流量数据进行流重组,得到所述网络流量载荷。
在一些具体实施例中,所述装置,还包括:
数据剔除单元,用于若任一所述流量数据包中不可读字符的长度值与所述载荷长度的比值超过预设阈值,则在流重组过程中剔除所述流量数据包携带的流量数据。
在一些具体实施例中,所述第一损失函数为对比损失函数;其中,在每一训练批次中,每一所述网络流量载荷与同一资产设备对应的增强后流量载荷互为正样本,每一所述网络流量载荷与不同资产设备对应的所述增强后流量载荷互为负样本。
在一些具体实施例中,所述第二损失函数为交叉熵损失函数。
在一些具体实施例中,所述数据增强模块11之前,还包括:
数据预处理单元,用于对所述网络流量载荷进行数据清洗和去噪处理,得到处理后的所述网络流量载荷。
图5为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的资产识别模型训练方法和/或资产识别方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的资产识别模型训练方法和/或资产识别方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的资产识别模型训练方法和/或资产识别方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(Random AccessMemory,即RAM)、内存、只读存储器(Read-Only Memory,即ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、只读光盘(Compact Disc Read-Only Memory,即CD-ROM)、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种模型训练方法、资产识别方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (13)

1.一种资产识别模型训练方法,其特征在于,包括:
将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷;
利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别;
利用基于所述网络流量载荷和所述增强后流量载荷构建的第一损失函数以及基于所述预测类别和所述真实类别构建的第二损失函数,对所述分类网络模型进行训练得到训练后分类模型;
基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
2.根据权利要求1所述的资产识别模型训练方法,其特征在于,所述生成对抗网络模型包括生成器和判别器;所述生成器基于嵌入层、双向长短期记忆网络和全连接神经网络构建,所述判别器基于卷积神经网络和全连接神经网络构建。
3.根据权利要求1所述的资产识别模型训练方法,其特征在于,所述将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型之前,还包括:
获取资产设备的网络流量文件,并对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷;
相应的,所述网络流量载荷和所述增强后流量载荷对应资产的真实类别为所述资产设备表征的资产类别。
4.根据权利要求3所述的资产识别模型训练方法,其特征在于,所述对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷,包括:
二进制读取所述网络流量文件,并解析所述网络流量文件中的各流量数据包得到解析结果;
基于所述解析结果对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷。
5.根据权利要求4所述的资产识别模型训练方法,其特征在于,所述解析所述网络流量文件中的各流量数据包得到解析结果,包括:
遍历所述网络流量文件中的每一流量数据包,读取解析每一所述流量数据包的以太网帧头和网络层信息,以得到源IP地址和目的IP地址,并读取解析传输层信息,以得到源端口、目的端口、当前流量数据包中第一个字节的序号、下一流量数据包中第一个字节的确认号和载荷长度以及各流量数据包携带的流量数据;
相应的,所述基于解析结果对所述网络流量文件中的流量数据包进行流重组,得到所述网络流量载荷,包括:
基于所述源IP地址、所述目的IP地址、所述源端口、所述目的端口、所述序号、所述确认号和所述载荷长度对所述网络流量文件中各流量数据包携带的流量数据进行流重组,得到所述网络流量载荷。
6.根据权利要求5所述的资产识别模型训练方法,其特征在于,还包括:
若任一所述流量数据包中不可读字符的长度值与所述载荷长度的比值超过预设阈值,则在流重组过程中剔除所述流量数据包携带的流量数据。
7.根据权利要求1所述的资产识别模型训练方法,其特征在于,所述第一损失函数为对比损失函数;其中,在每一训练批次中,每一所述网络流量载荷与同一资产设备对应的增强后流量载荷互为正样本,每一所述网络流量载荷与不同资产设备对应的所述增强后流量载荷互为负样本。
8.根据权利要求1所述的资产识别模型训练方法,其特征在于,所述第二损失函数为交叉熵损失函数。
9.根据权利要求1至8任一项所述的资产识别模型训练方法,其特征在于,所述将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型之前,还包括:
对所述网络流量载荷进行数据清洗和去噪处理,得到处理后的所述网络流量载荷;
相应的,所述将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,包括:
将处理后的所述网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型。
10.一种资产识别方法,其特征在于,基于如权利要求1至9任一项所述的资产识别模型训练方法训练得到的资产识别模型,包括:
获取待识别网络流量;
将所述待识别网络流量输入至所述资产识别模型,以利用所述资产识别模型对所述待识别网络流量进行资产识别,得到资产识别结果。
11.一种资产识别模型训练装置,其特征在于,包括:
数据增强模块,用于将获取到的网络流量载荷输入至预先训练好的用于数据增强处理的生成对抗网络模型,以利用所述生成对抗网络模型输出对应的增强后流量载荷;
类别确定模块,用于利用分类网络模型预测所述网络流量载荷和所述增强后流量载荷的资产类别,得到对应的预测类别,并确定所述网络流量载荷和所述增强后流量载荷对应资产的真实类别;
模型训练模块,用于利用基于所述网络流量载荷和所述增强后流量载荷构建的第一损失函数以及基于所述预测类别和所述真实类别构建的第二损失函数,对所述分类网络模型进行训练得到训练后分类模型;
资产识别模型构建模块,用于基于所述生成对抗网络模型和所述训练后分类模型构建用于对待识别网络流量进行资产识别的资产识别模型。
12.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至10任一项所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述方法的步骤。
CN202311735405.5A 2023-12-15 2023-12-15 模型训练方法、资产识别方法、装置、设备及介质 Pending CN117527434A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311735405.5A CN117527434A (zh) 2023-12-15 2023-12-15 模型训练方法、资产识别方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311735405.5A CN117527434A (zh) 2023-12-15 2023-12-15 模型训练方法、资产识别方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117527434A true CN117527434A (zh) 2024-02-06

Family

ID=89753218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311735405.5A Pending CN117527434A (zh) 2023-12-15 2023-12-15 模型训练方法、资产识别方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117527434A (zh)

Similar Documents

Publication Publication Date Title
CN109951444B (zh) 一种加密匿名网络流量识别方法
Wang The applications of deep learning on traffic identification
CN112163594A (zh) 一种网络加密流量识别方法及装置
Soleymanpour et al. CSCNN: cost-sensitive convolutional neural network for encrypted traffic classification
CN111191767A (zh) 一种基于向量化的恶意流量攻击类型的判断方法
Wang et al. Using CNN-based representation learning method for malicious traffic identification
CN113472751A (zh) 一种基于数据包头的加密流量识别方法及装置
CN113364787A (zh) 一种基于并联神经网络的僵尸网络流量检测方法
CN112468324B (zh) 基于图卷积神经网络的加密流量分类方法及装置
Millar et al. Using convolutional neural networks for classifying malicious network traffic
CN112839051B (zh) 基于卷积神经网络的加密流量实时分类方法及装置
CN110365659B (zh) 一种小样本场景下的网络入侵检测数据集的构造方法
Liu et al. P2P traffic identification and optimization using fuzzy c-means clustering
CN114970680A (zh) 基于cnn+lstm的流量终端实时识别方法及装置
CN117633657A (zh) 基于多图表征增强实现加密应用流量识别处理的方法、装置、处理器及计算机可读存储介质
Dener et al. RFSE-GRU: Data balanced classification model for mobile encrypted traffic in big data environment
CN114650229A (zh) 基于三层模型sftf-l的网络加密流量分类方法与系统
Luo et al. Binary Neural Network with P4 on Programmable Data Plane
CN114398938A (zh) 一种基于有向图的无监督p2p流量识别方法及系统
CN116132167B (zh) 一种面向物联网的多协议僵尸网络检测方法
Ge et al. Robot communication: Network traffic classification based on deep neural network
CN115622810B (zh) 一种基于机器学习算法的业务应用识别系统及方法
CN116599907A (zh) 网络流量处理方法及装置、设备、存储介质
CN117527434A (zh) 模型训练方法、资产识别方法、装置、设备及介质
CN114979017B (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