CN110071845B - 一种对未知应用进行分类的方法及装置 - Google Patents
一种对未知应用进行分类的方法及装置 Download PDFInfo
- Publication number
- CN110071845B CN110071845B CN201810069593.5A CN201810069593A CN110071845B CN 110071845 B CN110071845 B CN 110071845B CN 201810069593 A CN201810069593 A CN 201810069593A CN 110071845 B CN110071845 B CN 110071845B
- Authority
- CN
- China
- Prior art keywords
- message
- vector set
- model
- message vector
- sample
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种对未知应用进行分类的方法及装置,用以解决现有技术中存在的不能准确、快速的对通信网络中的未知应用进行分类的技术问题。包括:抓取未知应用的网络数据流量包,并对网络数据流量包进行预处理,获得网络数据流量包的报文向量集合;采用预设的深度对抗模型,获取报文向量集合的报文特征;其中,深度对抗模型是基于伪报文向量集和真实报文向量集,进行对抗训练后获得的;基于预设的聚类算法及预设应用类别数量,对所述报文特征进行聚类及迭代优化,获得最优聚类;按最优聚类的聚类类别对所述未知应用进行分类。并且还可以通过提取未知应用的报文特征,构建对未知应用进行分类的特征数据库。
Description
技术领域
本发明涉及通信领域,尤其是涉及一种对未知应用进行分类的方法及装置。
背景技术
随着互联网中新应用的大量出现,通信网络上出现了很多的未被通信系统记录和标记过的应用,造成通信系统无法识别这些应用,也就不能更好地进行网络规划及对网络资源进行合理配置。
在通信网络中,为了让通信系统能识别这些未知应用,通常是采用对这些未知应用所使用的通信网络流量进行应用分类,然后按应用类型为未知应用规划及配置网络资源。
在现有技术中,针对通信网络流量进行应用分类的方法主要有以下几种:
第一种,采用基于端口的识别方法。这种方法通过已知端口对应用的应用类型进行识别,故通常只适合熟知端口、非跳变的端口以及非加密的端口,其使用受到较多限制。
第二种,基于深度包的检测方法。这种方法由于会对数据包的应用层负载内容进行特征提取,然后根据匹配算法来判断流量所属应用,故该方法无法针对未知应用进行匹配识别。
第三种,基于机器学习的方法。如,决策树、朴素贝叶斯、支持向量机等监督学习方法,这些方法的缺点在于需要拥有大量已标记应用的样本,这将导致整个计算量的增加。
因此,如何准确、快速的对通信网络中的未知应用进行分类,成为一个亟待解决的问题。
发明内容
本发明提供一种对未知应用进行分类的方法及装置,用以解决现有技术中存在的不能准确、快速的对通信网络中的未知应用进行分类的技术问题。
第一方面,为解决上述技术问题,本发明实施例提供的一种对未知应用进行分类的方法的技术方案如下:
抓取未知应用的网络数据流量包,并对所述网络数据流量包进行预处理,获得所述网络数据流量包的报文向量集合;
采用预设的深度对抗模型,获取所述报文向量集合的报文特征;其中,所述深度对抗模型是基于伪报文向量集和真实报文向量集,进行对抗训练后获得的,所述伪报文向量集是通过预设的计算方式,对所述报文向量集合中的指定数量的报文向量进行计算后获得的,所述真实的报文向量集是从所述报文向量集合中随机挑选出的所述指定数量的报文向量;
基于预设的聚类算法及预设应用类别数量,对所述报文特征进行聚类及迭代优化,获得最优聚类;
按所述最优聚类的聚类类别对所述未知应用进行分类。
可选的,对所述网络数据流量包进行预处理,获得所述网络数据流量包的报文向量集合,包括:
去除所述网络数据流量包的报文头,获取网络流量报文集;
从所述网络流量报文集中,依次取出指定数量的报文,获得所述网络流量报文集的每一个报文集;
对所述网络流量报文集的每一个报文集进行正则化处理,获得所述报文向量集合。
可选的,从预设的深度对抗模型中,获取所述报文向量集合的报文特征,包括:
从所述报文向量集合中随机挑选出两组相同数量的样本报文向量集,获得第一样本报文向量集和第二样本报文向量集;其中,所述第二样本报文向量集为所述真实报文向量集;
基于所述第一样本报文向量集和所述第二样本报文向量集,通过随机梯度下降算法对所述深度对抗模型中的模型参数进行更新迭代,直至所述深度对抗模型的误差收敛值达到预设值时,从所述预设的深度对抗模型中,获取所述报文向量集合的报文特征。
可选的,通过随机梯度下降算法对所述深度对抗模型中的模型参数进行更新迭代,直至所述深度对抗模型的误差收敛值达到预设值,包括:
每次对所述深度对抗模型中的模型参数进行更新迭代的过程如下:
通过所述深度对抗模型,对所述第一样本报文向量集和所述第二样本报文向量集进行计算与判断,获得伪报文向量集和判断结果;
基于所述判断结果及所述伪报文向量集和所述真实报文向量集,通过所述深度对抗模型的预设目标函数,计算所述深度对抗模型的误差收敛值;
当所述误差收敛值未达到所述预设值时,采用指定参数值更新所述模型参数;其中,所述指定参数值是根据所述深度对抗模型的参数更新公式计算得的;
当所述误差收敛值达到所述预设值时,停止对所述模型参数的更新。
可选的,通过所述深度对抗模型,对所述第一样本报文向量集和所述第二样本报文向量集进行计算与判断,获得伪报文向量集和判断结果,包括:
通过所述深度对抗模型中的生成模型,对所述第一样本报文向量集中的每一条样本报文向量进行仿制,生成所述伪报文向量集;其中,所述深度对抗模型包括所述生成模型和判别模型;
通过所述判别模型,判断所述伪报文向量集及所述第二样本报文向量集中的每一条报文向量的真假,获得所述判断结果。
可选的,从所述预设的深度对抗模型中,获取所述报文向量集合的报文特征,包括:
在停止对所述指定参数的更新之后,从训练完成的生成模型中获取第一特征集合,以及从训练完成的判别模型中获取第二特征集合;其中,所述第一特征集合用于表征所述第一样本报文向量中所有样本报文向量的分类特征,所述第二特征集合用于表征所述第二样本报文向量中所有样本报文向量的分类特征;
将所述第一特征集合和所述第二特征集合构成的特征集合,作为所述报文特征。
可选的,所述深度对抗模型的参数更新公式,包括:
所述生成模型的参数更新公式和所述判别模型的参数更新公式;
其中,所述生成模型的参数更新公式具体为:
判别模型的参数更新公式具体为:
G为生成模型,θG表征生成模型中的第一参数值,在对生成模型进行训练的过程中,进行迭代更新;G(z(j))表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的输出;D为判别模型,θD表征判别模型中的第二参数值,在对判别模型进行训练的过程中,进行迭代更新;D(G(z(j)))表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的第一参数值,再经过判别模型D计算得到的输出;m为第一样本报文向量集和第二样本报文向量集中的样本报文向量的数量,zj为第j个第一样本报文向量集,xj为第j个第二样本报文向量集。
第二方面,本发明实施例提供了一种用于对未知应用进行分类的装置,包括:
预处理模块,用于抓取未知应用的网络数据流量包,并对所述网络数据流量包进行预处理,获得所述网络数据流量包的报文向量集合;
获取模块,用于采用预设的深度对抗模型,获取所述报文向量集合的报文特征;其中,所述深度对抗模型是基于伪报文向量集和真实报文向量集,进行对抗训练后获得的,所述伪报文向量集是通过预设的计算方式,对所述报文向量集合中的指定数量的报文向量进行计算后获得的,所述真实的报文向量集是从所述报文向量集合中随机挑选出的所述指定数量的报文向量;
聚类模块,用于基于预设的聚类算法及预设应用类别数量,对所述报文特征进行聚类及迭代优化,获得最优聚类;
分类模块,用于按所述最优聚类的聚类类别对所述未知应用进行分类。
可选的,对所述网络数据流量包进行预处理,获得所述网络数据流量包的报文向量集合,所述预处理模块还用于:
去除所述网络数据流量包的报文头,获取网络流量报文集;
从所述网络流量报文集中,依次取出指定数量的报文,获得所述网络流量报文集的每一个报文集;
对所述网络流量报文集的每一个报文集进行正则化处理,获得所述报文向量集合。
可选的,从预设的深度对抗模型中,获取所述报文向量集合的报文特征,所述获得模块还用于:
从所述报文向量集合中随机挑选出两组相同数量的样本报文向量集,获得第一样本报文向量集和第二样本报文向量集;其中,所述第二样本报文向量集为所述真实报文向量集;
基于所述第一样本报文向量集和所述第二样本报文向量集,通过随机梯度下降算法对所述深度对抗模型中的模型参数进行更新迭代,直至所述深度对抗模型的误差收敛值达到预设值时,从所述预设的深度对抗模型中,获取所述报文向量集合的报文特征。
可选的,通过随机梯度下降算法对所述深度对抗模型中的模型参数进行更新迭代,直至所述深度对抗模型的误差收敛值达到预设值,所述获得模块还用于:
每次对所述深度对抗模型中的模型参数进行更新迭代的过程如下:
通过所述深度对抗模型,对所述第一样本报文向量集和所述第二样本报文向量集进行计算与判断,获得伪报文向量集和判断结果;
基于所述判断结果及所述伪报文向量集和所述真实报文向量集,通过所述深度对抗模型的预设目标函数,计算所述深度对抗模型的误差收敛值;
当所述误差收敛值未达到所述预设值时,采用指定参数值更新所述模型参数;其中,所述指定参数值是根据所述深度对抗模型的参数更新公式计算得的;
当所述误差收敛值达到所述预设值时,停止对所述模型参数的更新。
可选的,通过所述深度对抗模型,对所述第一样本报文向量集和所述第二样本报文向量集进行计算与判断,获得伪报文向量集和判断结果,所述获得模块还用于:
通过所述深度对抗模型中的生成模型,对所述第一样本报文向量集中的每一条样本报文向量进行仿制,生成所述伪报文向量集;其中,所述深度对抗模型包括所述生成模型和判别模型;
通过所述判别模型,判断所述伪报文向量集及所述第二样本报文向量集中的每一条报文向量的真假,获得所述判断结果。
可选的,从所述预设的深度对抗模型中,获取所述报文向量集合的报文特征,所述获得模块还用于:
在停止对所述指定参数的更新之后,从训练完成的生成模型中获取第一特征集合,以及从训练完成的判别模型中获取第二特征集合;其中,所述第一特征集合用于表征所述第一样本报文向量中所有样本报文向量的分类特征,所述第二特征集合用于表征所述第二样本报文向量中所有样本报文向量的分类特征;
将所述第一特征集合和所述第二特征集合构成的特征集合,作为所述报文特征。
可选的,所述深度对抗模型的参数更新公式,所述获得模块还用于:
所述生成模型的参数更新公式和所述判别模型的参数更新公式;
其中,所述生成模型的参数更新公式具体为:
判别模型的参数更新公式具体为:
G为生成模型,θG表征生成模型中的第一参数值,在对生成模型进行训练的过程中,进行迭代更新;G(z(j))表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的输出;D为判别模型,θD表征判别模型中的第二参数值,在对判别模型进行训练的过程中,进行迭代更新;D(G(z(j)))表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的第一参数值,再经过判别模型D计算得到的输出;m为第一样本报文向量集和第二样本报文向量集中的样本报文向量的数量,zj为第j个第一样本报文向量集,xj为第j个第二样本报文向量集。
第三方面,本发明实施例提供了一种特征数据库,包括:
将通过如第一方面所述的方法获得的未知应用的报文特征,构建成对未知应用进行分类的特征数据库。
第四方面,本发明实施例还提供一种用于对未知应用进行分类的装置,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面所述的方法。
第五方面,本发明实施例还提供一种计算机可读存储介质,包括:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如上述第一方面所述的方法。
通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:
在本申请提供的实施例中,通过对抓取的未知应用的网络数据流量包进行预处理后,获得网络数据流量包的报文向量集合,从该报文向量集合中挑选指定数量的两组报文向量集,其中一组作为真实报文向量集,另一组通过预设的计算方式获得伪报文向量集,通过真实报文向量集集伪报文向量集对深度对抗模型进行训练,最终获得预设的深度对抗模型,然后从预设的深度对抗模型中获得报文向量集合的报文特征,最后,基于预设的聚类算法及预设应用类别数量,对报文特征进行聚类及迭代优化,获得最优聚类;按最优聚类的聚类类别对未知应用进行分类。从而实现准确、快速的对通信网络中的未知应用进行分类的技术效果。
附图说明
图1为本发明实施例提供的一种对未知应用进行分类方法的流程图;
图2为本发明实施例提供的深度对抗模型的示意图;
图3为本发明实施例提供的聚类的能量误差和与预设应用类别数量之间的关系图;
图4为本发明实施例提供的一种对未知应用进行分类的结构示意图。
具体实施方式
本发明实施列提供一种对未知应用进行分类的方法及装置,用以解决现有技术中存在的不能准确、快速的对通信网络中的未知应用进行分类的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
提供一种对未知应用进行分类的方法,包括:抓取未知应用的网络数据流量包,并对网络数据流量包进行预处理,获得网络数据流量包的报文向量集合;采用预设的深度对抗模型,获取报文向量集合的报文特征;其中,深度对抗模型是基于伪报文向量集和真实报文向量集,进行对抗训练后获得的,伪报文向量集是通过预设的计算方式,对报文向量集合中的指定数量的报文向量进行计算后获得的,真实的报文向量集是从报文向量集合中随机挑选出的指定数量的报文向量;基于预设的聚类算法及预设应用类别数量,对报文特征进行聚类及迭代优化,获得最优聚类;按最优聚类的聚类类别对未知应用进行分类。
由于在上述方案中,通过对抓取的未知应用的网络数据流量包进行预处理后,获得网络数据流量包的报文向量集合,从该报文向量集合中挑选指定数量的两组报文向量集,其中一组作为真实报文向量集,另一组通过预设的计算方式获得伪报文向量集,通过真实报文向量集集伪报文向量集对深度对抗模型进行训练,最终获得预设的深度对抗模型,然后从预设的深度对抗模型中获得报文向量集合的报文特征,最后,基于预设的聚类算法及预设应用类别数量,对报文特征进行聚类及迭代优化,获得最优聚类;按最优聚类的聚类类别对未知应用进行分类。从而实现准确、快速的对通信网络中的未知应用进行分类的技术效果。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
请参考图1,本发明实施例提供一种对未知应用进行分类的方法,该方法的处理过程如下。
步骤101:抓取未知应用的网络数据流量包,并对网络数据流量包进行预处理,获得网络数据流量包的报文向量集合。
在通信网络中,为了对未知应用进行分类,通常需要通过抓包软件如wireshark来采集网络数据流量包,由于这些数据流量包通常都是按照约定的网络通信协议进行封装后才在通信网络中传输的,所以,在获得网络数据流量包后,还需要对它进行预处理,以获得其中的真实报文并对真实报文进行相关的处理才能得到所需要的报文向量集合。具体的预处理过程为:
首先,去除网络数据流量包的报文头,获取网络流量报文集。
如,以网络数据流量包为IP数据包为例,请参见表1。
表1
在表1中,示出了采用IP协议发送的IP数据包,通过抓包软件从通信网络中抓取IP数据包后,只需要将该数据包中的报文头,即数据包的前28字节的数据去除即可获得真实的报文数据(即网络流量报文集),在表1中表现为用户数据。
然后,从网络流量报文集中,依次取出指定数量的报文,获得网络流量报文集的每一个报文集。
假设网络流量报文集中共有80字节的报文数据,每一字节为一条报文数据,指定数量为40,则可以从网络流量报文集中获得2个报文集,即前40字节组成的报文集和后40字节组成的报文集。
最后,对网络流量报文集的每一个报文集进行正则化处理,获得报文向量集合。
依然以前面的例子为例,在对网络流量报文集中的每一个报文集进行正则化处理之前,还需要将连续的每8个字节的报文数据转化为一个十进制数,其中,该十进制数的取值范围为0-255。然后,对该十进制数进行正则化处理,最后将被正则化处理后的十进制数统一处理为如下的向量格式:
M={ε1,ε2,…,εk}
其中,M为网络流量报文集中的一个报文集,ε1,ε2,…,εk为报文集M中的一个报文向量。
这样,便可获得报文向量集合,之后,便可执行步骤102。
步骤102:采用预设的深度对抗模型,获取报文向量集合的报文特征;其中,深度对抗模型是基于伪报文向量集和真实报文向量集,进行对抗训练后获得的,伪报文向量集是通过预设的计算方式,对报文向量集合中的指定数量的报文向量进行计算后获得的,真实的报文向量集是从报文向量集合中随机挑选出的指定数量的报文向量。
需要理解的是,预设的深度对抗模型是已经被训练好的深度对抗模型,深度对抗模型是具有多层结构的对抗模型。其中,对抗模型是源自博弈论中的零和博弈,它由两个模型(生成模型和判别模型)构成,生成模型用于学习样本数据的分布,判别模型用于根据预设的阈值对输入按真假进行二元分类,对抗模型的优化过程就是“二元极大极小博弈”。它是利用两个模型互相制约,交替迭代,使对方错误最大化,同时自己错误最小化,最终得到能够估测出样本数据分布的生成模型。这种模型可以有效的避免无监督学习容易受到噪音干扰的问题。
采用预设的深度对抗模型,获取报文向量集合的报文特征的具体实施方式如下:
首先,从报文向量集合中随机挑选出两组相同数量的样本报文向量集,获得第一样本报文向量集和第二样本报文向量集;其中,第二样本报文向量集为真实报文向量集。
从报文向量集合中随机挑选出两组相同数量的样本报文向量集,即第一样本报文向量集和第二样本报文向量集,让第一样本报文向量集作为对抗模型生成伪报文向量集的样本,让第二样本报文向集作为真实报文向量集。
需要理解的是,第一样本报文向量集也可以作为真实报文向量集,此时第二样本报文向量集则应作为生成伪报文向量集的样本,具体是将第一样本报文向量集还是第二样本报文向量集作为真实报文向量集在此不做限定。
其次,基于第一样本报文向量集和第二样本报文向量集,通过随机梯度下降算法对深度对抗模型中的模型参数进行更新迭代,直至深度对抗模型的误差收敛值达到预设值时,从预设的深度对抗模型中,获取报文向量集合的报文特征。
过随机梯度下降算法对深度对抗模型中的模型参数进行更新迭代,直至深度对抗模型的误差收敛值达到预设值的具体实施过程如下:
每次对所述深度对抗模型中的模型参数进行更新迭代的过程如下:
首先,通过深度对抗模型,对第一样本报文向量集和第二样本报文向量集进行计算与判断,获得伪报文向量集和判断结果。
具体获得伪报文向量集和判断结果的处理过程如下:先通过深度对抗模型中的生成模型,对第一样本报文向量集中的每一条样本报文向量进行仿制,生成伪报文向量集;其中,深度对抗模型包括生成模型和判别模型;然后,通过判别模型,判断伪报文向量集及第二样本报文向量集中的每一条报文向量的真假,获得所述判断结果。
请参见图2,从报文向量集合中随机挑选出具有K个样本报文向量的第一样本报文向量集,和具有K个样本报文向量的第二样本报文向量集,然后通过生成模型对第一样本报文向量集中的每一条样本报文向量进行仿制,生成伪报文向量集,其中,仿制的过程就是对样本报文向量进行编码与解码的过程,对样本报文向量进行编码后可以得到样本报文向量的特征H,然后对该特征H进行解码便可得到该样本报文向量的伪报文向量,将所有第一样本报文向量集对应的伪报文向量汇聚为伪报文向量集。
在得到伪报文向量集之后,将伪报文向量集与第二样本报文向量集(即真实报文向量)输入判别模型中,让判别模型对输入的每个报文向量进行判断,获得所有报文向量的判断结果,即获得报文向量是真还是假,如果为真输出值为1,如果为假输出值为0。
其次,基于判断结果及伪报文向量集和真实报文向量集,通过深度对抗模型的预设目标函数,计算深度对抗模型的误差收敛值。
其中,预设目标函数为:
D代表判别模型,G代表生成模型,x表征第二样本报文向量集(即真实报文向量集),z代表第一样本报文向量集,E[log(x)]代表真实报文向量集的能量误差,E[log(1-D(G(z)))]代表伪报文向量集的能力误差,代表误差收敛值。
在计算出深度对抗模型的误差收敛值之后,需要判断该误差收敛值是否达到预设值。
再次,当误差收敛值未达到预设值时,采用指定参数值更新模型参数;其中,指定参数值是根据深度对抗模型的参数更新公式计算得的。
具体的深度对抗模型的参数更新由生成模型的参数更新公式和判别模型的参数更新公式组成。
其中,生成模型的参数更新公式具体为:
判别模型的参数更新公式具体为:
G为生成模型,θG表征生成模型中的第一参数值,在对生成模型进行训练的过程中,进行迭代更新;G(z(j))表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的输出;D为判别模型,θD表征判别模型中的第二参数值,在对判别模型进行训练的过程中,进行迭代更新;D(G(z(j)))表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的第一参数值,再经过判别模型D计算得到的输出;m为第一样本报文向量集和第二样本报文向量集中的样本报文向量的数量,zj为第j个第一样本报文向量集,xj为第j个第二样本报文向量集。
通过上述方式,在误差收敛值未达到预设值时,通过第一样本报文向量集和第二样本报文向量集对深度对抗模型进行迭代训练,每训练一次,通过指定参数(即第一参数值和第二参数值)对深度对抗模型进行一次迭代训练。
最后,当误差收敛值达到预设值时,停止对指定参数的更新。
在误差收敛值达到预设值时,深度对抗模型便被训练好了,此时的深度对抗模型即为预设的深度对抗模型。
然后从预设的深度对抗模型中提取报文向量集合的报文特征,具体的提取方式为:
在停止对所述指定参数的更新之后,从训练完成的生成模型中获取第一特征集合,以及从训练完成的判别模型中获取第二特征集合;其中,第一特征集合用于表征第一样本报文向量中所有样本报文向量的分类特征,第二特征集合用于表征第二样本报文向量中所有样本报文向量的分类特征;之后,将第一特征集合和第二特征集合构成的特征集合,作为报文特征。
例如,请参见图2中的生成模型部分,在停止对所述指定参数的更新之后(即对深度对抗模型训练结束,获得预设的深度对抗模型之后),生成模型中的特征H可通过解码还原出输入的z,故该特征H是包含输入的z的特征信息,将其作为该样本z的第一特征集合。
而对于第二特征集合,则是通过提取深度对抗模型中判别模型,在去掉判别模型中的真假判别层后,将判别模型中的参数应用于报文向量,得到所有特征层提取后构造出的所有报文向量的特征,将其延展为一维的向量,作为第二特征集合。
在获得报文特征之后,便可执行步骤103。
步骤103:基于预设的聚类算法及预设应用类别数量,对报文特征进行聚类及迭代优化,获得最优聚类。
步骤104:按最优聚类的聚类类别对未知应用进行分类。
在提取出上述报文特征后,采用预设的聚类算法,如K-means聚类算法,预设应用类别数量C,对报文向量集合进行聚类。
在聚类时,需要对预设应用类别数量进行迭代优化,进而选取最优聚类。其中,每次聚类的预设应用类别数量的步长可预设为5。通常聚类的能量误差和与预设应用类别数量之间的关系如下图3所示,误差能量会随着预设应用类别数量的增加而降低,且降低速度逐渐变慢,此时,则选择拐点作为最优聚类的聚类类别。然后按照该最优聚类的聚类类别对未知应用进行分类。
基于同一发明构思,本发明一实施例中提供一种用于对未知应用进行分类的装置,该装置的分类方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述,请参见图4,该装置包括:
预处理模块401,用于抓取未知应用的网络数据流量包,并对所述网络数据流量包进行预处理,获得所述网络数据流量包的报文向量集合;
获得模块402,用于采用预设的深度对抗模型,获取所述报文向量集合的报文特征;其中,所述深度对抗模型是基于伪报文向量集和真实报文向量集,进行对抗训练后获得的,所述伪报文向量集是通过预设的计算方式,对所述报文向量集合中的指定数量的报文向量进行计算后获得的,所述真实的报文向量集是从所述报文向量集合中随机挑选出的所述指定数量的报文向量;
聚类模块403,用于基于预设的聚类算法及预设应用类别数量,对所述报文特征进行聚类及迭代优化,获得最优聚类;
分类模块404,用于按所述最优聚类的聚类类别对所述未知应用进行分类。
可选的,对所述网络数据流量包进行预处理,获得所述网络数据流量包的报文向量集合,所述预处理模块401还用于:
去除所述网络数据流量包的报文头,获取网络流量报文集;
从所述网络流量报文集中,依次取出指定数量的报文,获得所述网络流量报文集的每一个报文集;
对所述网络流量报文集的每一个报文集进行正则化处理,获得所述报文向量集合。
可选的,从预设的深度对抗模型中,获取所述报文向量集合的报文特征,所述获得模块402还用于:
从所述报文向量集合中随机挑选出两组相同数量的样本报文向量集,获得第一样本报文向量集和第二样本报文向量集;其中,所述第二样本报文向量集为所述真实报文向量集;
基于所述第一样本报文向量集和所述第二样本报文向量集,通过随机梯度下降算法对所述深度对抗模型中的模型参数进行更新迭代,直至所述深度对抗模型的误差收敛值达到预设值时,从所述预设的深度对抗模型中,获取所述报文向量集合的报文特征。
可选的,通过随机梯度下降算法对所述深度对抗模型中的模型参数进行更新迭代,直至所述深度对抗模型的误差收敛值达到预设值,所述获得模块402还用于:
每次对所述深度对抗模型中的模型参数进行更新迭代的过程如下:
通过所述深度对抗模型,对所述第一样本报文向量集和所述第二样本报文向量集进行计算与判断,获得伪报文向量集和判断结果;
基于所述判断结果及所述伪报文向量集和所述真实报文向量集,通过所述深度对抗模型的预设目标函数,计算所述深度对抗模型的误差收敛值;
当所述误差收敛值未达到所述预设值时,采用指定参数值更新所述模型参数;其中,所述指定参数值是根据所述深度对抗模型的参数更新公式计算得的;
当所述误差收敛值达到所述预设值时,停止对所述模型参数的更新。
可选的,通过所述深度对抗模型,对所述第一样本报文向量集和所述第二样本报文向量集进行计算与判断,获得伪报文向量集和判断结果,所述获得模块402还用于:
通过所述深度对抗模型中的生成模型,对所述第一样本报文向量集中的每一条样本报文向量进行仿制,生成所述伪报文向量集;其中,所述深度对抗模型包括所述生成模型和判别模型;
通过所述判别模型,判断所述伪报文向量集及所述第二样本报文向量集中的每一条报文向量的真假,获得所述判断结果。
可选的,从所述预设的深度对抗模型中,获取所述报文向量集合的报文特征,所述获得模块402还用于:
在停止对所述指定参数的更新之后,从训练完成的生成模型中获取第一特征集合,以及从训练完成的判别模型中获取第二特征集合;其中,所述第一特征集合用于表征所述第一样本报文向量中所有样本报文向量的分类特征,所述第二特征集合用于表征所述第二样本报文向量中所有样本报文向量的分类特征;
将所述第一特征集合和所述第二特征集合构成的特征集合,作为所述报文特征。
可选的,所述深度对抗模型的参数更新公式,所述获得模块402还用于:
所述生成模型的参数更新公式和所述判别模型的参数更新公式;
其中,所述生成模型的参数更新公式具体为:
判别模型的参数更新公式具体为:
G为生成模型,θG表征生成模型中的第一参数值,在对生成模型进行训练的过程中,进行迭代更新;G(z(j))表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的输出;D为判别模型,θD表征判别模型中的第二参数值,在对判别模型进行训练的过程中,进行迭代更新;D(G(z(j)))表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的第一参数值,再经过判别模型D计算得到的输出;m为第一样本报文向量集和第二样本报文向量集中的样本报文向量的数量,zj为第j个第一样本报文向量集,xj为第j个第二样本报文向量集。
基于同一发明构思,本发明实施例中提供了一种特征数据库,包括:
将通过上所述的对未知应用进行分类的方法获得的未知应用的报文特征,构建成对未知应用进行分类的特征数据库。
基于同一发明构思,本发明实施例中提供了一种用于对未知应用进行分类的设备,包括:至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上所述的对未知应用进行分类方法。
基于同一发明构思,本发明实施例还提一种计算机可读存储介质,包括:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如上所述的对未知应用进行分类方法。
在本申请提供的实施例中,通过对抓取的未知应用的网络数据流量包进行预处理后,获得网络数据流量包的报文向量集合,从该报文向量集合中挑选指定数量的两组报文向量集,其中一组作为真实报文向量集,另一组通过预设的计算方式获得伪报文向量集,通过真实报文向量集集伪报文向量集对深度对抗模型进行训练,最终获得预设的深度对抗模型,然后从预设的深度对抗模型中获得报文向量集合的报文特征,最后,基于预设的聚类算法及预设应用类别数量,对报文特征进行聚类及迭代优化,获得最优聚类;按最优聚类的聚类类别对未知应用进行分类。从而实现准确、快速的对通信网络中的未知应用进行分类的技术效果。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种对未知应用进行分类的方法,其特征在于,包括:
抓取未知应用的网络数据流量包,并对所述网络数据流量包进行预处理,获得所述网络数据流量包的报文向量集合;
采用预设的深度对抗模型,获取所述报文向量集合的报文特征;其中,所述深度对抗模型是基于伪报文向量集和真实报文向量集,进行对抗训练后获得的,所述伪报文向量集是对所述报文向量集合中的指定数量的报文向量进行编码与解码后获得的,所述真实的报文向量集是从所述报文向量集合中随机挑选出的所述指定数量的报文向量;
基于预设的聚类算法及预设应用类别数量,对所述报文特征进行聚类及迭代优化,获得最优聚类;
按所述最优聚类的聚类类别对所述未知应用进行分类。
2.如权利要求1所述的方法,其特征在于,对所述网络数据流量包进行预处理,获得所述网络数据流量包的报文向量集合,包括:
去除所述网络数据流量包的报文头,获取网络流量报文集;
从所述网络流量报文集中,依次取出指定数量的报文,获得所述网络流量报文集的每一个报文集;
对所述网络流量报文集的每一个报文集进行正则化处理,获得所述报文向量集合。
3.如权利要求1所述的方法,其特征在于,从预设的深度对抗模型中,获取所述报文向量集合的报文特征,包括:
从所述报文向量集合中随机挑选出两组相同数量的样本报文向量集,获得第一样本报文向量集和第二样本报文向量集;其中,所述第二样本报文向量集为所述真实报文向量集;
基于所述第一样本报文向量集和所述第二样本报文向量集,通过随机梯度下降算法对所述深度对抗模型中的模型参数进行更新迭代,直至所述深度对抗模型的误差收敛值达到预设值时,从所述预设的深度对抗模型中,获取所述报文向量集合的报文特征。
4.如权利要求3所述的方法,其特征在于,通过随机梯度下降算法对所述深度对抗模型中的模型参数进行更新迭代,直至所述深度对抗模型的误差收敛值达到预设值,包括:
每次对所述深度对抗模型中的模型参数进行更新迭代的过程如下:
通过所述深度对抗模型,对所述第一样本报文向量集和所述第二样本报文向量集进行计算与判断,获得伪报文向量集和判断结果;
基于所述判断结果及所述伪报文向量集和所述真实报文向量集,通过所述深度对抗模型的预设目标函数,计算所述深度对抗模型的误差收敛值;
当所述误差收敛值未达到所述预设值时,采用指定参数值更新所述模型参数;其中,所述指定参数值是根据所述深度对抗模型的参数更新公式计算得的;
当所述误差收敛值达到所述预设值时,停止对所述模型参数的更新。
5.如权利要求4所述的方法,其特征在于,通过所述深度对抗模型,对所述第一样本报文向量集和所述第二样本报文向量集进行计算与判断,获得伪报文向量集和判断结果,包括:
通过所述深度对抗模型中的生成模型,对所述第一样本报文向量集中的每一条样本报文向量进行仿制,生成所述伪报文向量集;其中,所述深度对抗模型包括所述生成模型和判别模型;
通过所述判别模型,判断所述伪报文向量集及所述第二样本报文向量集中的每一条报文向量的真假,获得所述判断结果。
6.如权利要求5所述的方法,其特征在于,从所述预设的深度对抗模型中,获取所述报文向量集合的报文特征,包括:
在停止对所述指定参数的更新之后,从训练完成的生成模型中获取第一特征集合,以及从训练完成的判别模型中获取第二特征集合;其中,所述第一特征集合用于表征所述第一样本报文向量中所有样本报文向量的分类特征,所述第二特征集合用于表征所述第二样本报文向量中所有样本报文向量的分类特征;
将所述第一特征集合和所述第二特征集合构成的特征集合,作为所述报文特征。
7.如权利要求5或6任一权项所述的方法,其特征在于,所述深度对抗模型的参数更新公式,包括:
所述生成模型的参数更新公式和所述判别模型的参数更新公式;
其中,所述生成模型的参数更新公式具体为:
判别模型的参数更新公式具体为:
G为生成模型,θG表征生成模型中的第一参数值,在对生成模型进行训练的过程中,进行迭代更新;G(zj)表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的输出;D为判别模型,θD表征判别模型中的第二参数值,在对判别模型进行训练的过程中,进行迭代更新;D(G(zj))表征第j个第一样本报文向量集zj经过生成模型G计算之后得到的第一参数值,再经过判别模型D计算得到的输出;m为第一样本报文向量集和第二样本报文向量集中的样本报文向量的数量,zj为第j个第一样本报文向量集,xj为第j个第二样本报文向量集,D(xj)表征第j个第二样本报文向量集xj经过判断别模型D计算之后得到的输出。
8.一种对未知应用进行分类的装置,其特征在于,包括:
预处理模块,用于抓取未知应用的网络数据流量包,并对所述网络数据流量包进行预处理,获得所述网络数据流量包的报文向量集合;
获取模块,用于采用预设的深度对抗模型,获取所述报文向量集合的报文特征;其中,所述深度对抗模型是基于伪报文向量集和真实报文向量集,进行对抗训练后获得的,所述伪报文向量集是对所述报文向量集合中的指定数量的报文向量进行编码和解码后获得的,所述真实的报文向量集是从所述报文向量集合中随机挑选出的所述指定数量的报文向量;
聚类模块,用于基于预设的聚类算法及预设应用类别数量,对所述报文特征进行聚类及迭代优化,获得最优聚类;
分类模块,用于按所述最优聚类的聚类类别对所述未知应用进行分类。
9.一种特征数据库,其特征在于,包括:
将通过权利要求1-7任一权项所述的方法获得的未知应用的报文特征,构建成对未知应用进行分类的特征数据库。
10.一种对未知应用进行分类的装置,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如权利要求1-7任一项所述的方法。
11.一种计算机可读存储介质,其特征在于:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810069593.5A CN110071845B (zh) | 2018-01-24 | 2018-01-24 | 一种对未知应用进行分类的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810069593.5A CN110071845B (zh) | 2018-01-24 | 2018-01-24 | 一种对未知应用进行分类的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110071845A CN110071845A (zh) | 2019-07-30 |
CN110071845B true CN110071845B (zh) | 2021-09-10 |
Family
ID=67365566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810069593.5A Active CN110071845B (zh) | 2018-01-24 | 2018-01-24 | 一种对未知应用进行分类的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110071845B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445800B (zh) * | 2019-08-15 | 2022-06-14 | 上海寰创通信科技股份有限公司 | 一种基于自学习的深度报文解析系统 |
CN113890902B (zh) * | 2021-09-15 | 2023-12-29 | 奇安信科技集团股份有限公司 | 特征识别库的构建方法及装置、流量识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827603A (zh) * | 2016-03-14 | 2016-08-03 | 中国人民解放军信息工程大学 | 未明协议特征库建立方法、未明报文分类方法及相关装置 |
CN106533784A (zh) * | 2016-12-01 | 2017-03-22 | 广东技术师范学院 | 一种提高应用层流量分类准确率的方法 |
CN106803082A (zh) * | 2017-01-23 | 2017-06-06 | 重庆邮电大学 | 一种基于条件式生成对抗网络的在线笔迹识别方法 |
CN107846326A (zh) * | 2017-11-10 | 2018-03-27 | 北京邮电大学 | 一种自适应的半监督网络流量分类方法、系统及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2449348C1 (ru) * | 2010-11-01 | 2012-04-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ для антивирусной проверки на стороне сервера скачиваемых из сети данных |
CN103200133A (zh) * | 2013-03-21 | 2013-07-10 | 南京邮电大学 | 一种基于网络流引力聚类的流量识别方法 |
-
2018
- 2018-01-24 CN CN201810069593.5A patent/CN110071845B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827603A (zh) * | 2016-03-14 | 2016-08-03 | 中国人民解放军信息工程大学 | 未明协议特征库建立方法、未明报文分类方法及相关装置 |
CN106533784A (zh) * | 2016-12-01 | 2017-03-22 | 广东技术师范学院 | 一种提高应用层流量分类准确率的方法 |
CN106803082A (zh) * | 2017-01-23 | 2017-06-06 | 重庆邮电大学 | 一种基于条件式生成对抗网络的在线笔迹识别方法 |
CN107846326A (zh) * | 2017-11-10 | 2018-03-27 | 北京邮电大学 | 一种自适应的半监督网络流量分类方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110071845A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108229321B (zh) | 人脸识别模型及其训练方法和装置、设备、程序和介质 | |
CN111967609B (zh) | 模型参数验证方法、设备及可读存储介质 | |
CN111260220B (zh) | 群控设备识别方法、装置、电子设备和存储介质 | |
CN111461164B (zh) | 样本数据集的扩容方法及模型的训练方法 | |
CN111586071B (zh) | 一种基于循环神经网络模型的加密攻击检测方法及装置 | |
CN111614599A (zh) | 基于人工智能的webshell检测方法和装置 | |
CN110071845B (zh) | 一种对未知应用进行分类的方法及装置 | |
CN113890821A (zh) | 一种日志关联的方法、装置及电子设备 | |
CN114627412A (zh) | 基于误差重构实现无监督深度伪造视频检测处理的方法、装置、处理器及其计算机存储介质 | |
KR20190028880A (ko) | 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치 | |
CN114781779A (zh) | 一种无监督能耗异常检测方法、装置及存储介质 | |
CN112383488B (zh) | 一种适用于加密与非加密数据流的内容识别方法 | |
CN112257332A (zh) | 一种仿真模型的评估方法及装置 | |
Bui et al. | A clustering-based shrink autoencoder for detecting anomalies in intrusion detection systems | |
CN111553386A (zh) | 一种基于AdaBoost和CNN的入侵检测方法 | |
Rouhi et al. | User profiles’ image clustering for digital investigations | |
CN112738724B (zh) | 一种区域目标人群的精准识别方法、装置、设备和介质 | |
CN115146788A (zh) | 分布式机器学习模型的训练方法、装置、电设备存储介质 | |
CN111556017B (zh) | 一种基于自编码机的网络入侵检测方法及电子装置 | |
CN112905987B (zh) | 账号识别方法、装置、服务器及存储介质 | |
CN115632875B (zh) | 一种多特征融合实时分析的恶意流量检测方法及系统 | |
CN117034124B (zh) | 基于小样本学习的恶意流量分类方法、系统、设备及介质 | |
CN116863309B (zh) | 一种图像识别方法、装置、系统、电子设备及存储介质 | |
CN116405330B (zh) | 基于迁移学习的网络异常流量识别方法、装置和设备 | |
CN115718696B (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 |