CN110225001A - 一种基于主题模型的动态自更新网络流量分类方法 - Google Patents
一种基于主题模型的动态自更新网络流量分类方法 Download PDFInfo
- Publication number
- CN110225001A CN110225001A CN201910425904.1A CN201910425904A CN110225001A CN 110225001 A CN110225001 A CN 110225001A CN 201910425904 A CN201910425904 A CN 201910425904A CN 110225001 A CN110225001 A CN 110225001A
- Authority
- CN
- China
- Prior art keywords
- data packet
- cluster
- moment
- theme
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于主题模型的动态自更新网络流量分类方法,包括:初始时刻,利用事先标记好协议类别的数据包集作为初始化数据集,对分类模型进行初始化,以获得时刻1的分类模型;数据包分类:在t时刻,利用时刻t的分类模型对此时收到的待分类数据包进行分类,并输出此时的待分类数据包的协议类别及协议分布信息;分类模型训练更新:利用t时刻输出的已知协议类别的数据包构成训练集,利用t、t‑1、…、t‑(L‑1)共L个历史时刻输出的历史协议分布信息作为主题先验分布,训练时刻t+1的分类模型;t=1,2,3,...,L=1,2,...,δ。本发明解决效率低、未考虑未知类型流量而影响分类模型准确率、未充分考虑网络流量动态性而使分类准确率降低等问题。
Description
技术领域
本发明涉及计算机网络技术领域,具体是流量检测和网络安全领域,尤其是涉及一种基于主题模型的动态自更新网络流量分类方法。
背景技术
网络协议是指不同的计算机之间进行通信的通信规范,包括流程控制、提供的服务和数据格式等。开放***互联参考模型(OpenSystemInterconnection ReferenceModel)是国际标准化组织在1978年提出的网络互联模型,该模型共分为七层,每一层都定义了所在层的服务提供和协议规范。对应用层协议的识别可以帮助网络提供商、网络安全管理机构等提供更好的网络服务以及侦测恶意流量。
网络流量分类是指将网络流量映射到产生其的应用层协议中。自互联网诞生以来,网络用户以及网络需求都在高速增长。因此,网络应用也随着用户和需求的变化不断地增长。如今的网络应用,数量成千上万,形式也***。近年来,网络发展愈发迅猛,接入带宽几乎按照尼森定律描述的每一年增长百分之五十;而骨干网络带宽则以每12~18个月增长一倍的速度快速增长,远超摩尔定律的预期。高带宽的背后是网络用户数量的飞速增长,据统计,全球互联网用户数量已经超过了20亿,而中国的用户数量也已经达到了4.5亿,这些数字在未来还将继续高速增长。
在这样的大背景下,网络应用的发展也是突飞猛进,随着大数据以及云技术的发展,更多的应用将会出现在互联网链路中。在网络以及各式各样的应用迅速发展的同时,多样化的应用给流量管理、网络安全和网络测量带了更大的挑战。网络流量分类引起了学术界的广泛关注,并且在网络和安全领域扮演着重要的角色。传统的研究方法主要通过端口号、规范的报文格式等信息进行流量分类。然而在网络环境、应用类型***的今天,大部分应用都没有一个特定的固定端口号,也不会有公开的格式规范,更不要说恶意软件以及病毒所产生的流量。在这种环境下,传统的方法已经无法适用。
随着机器学习技术的发展,越来越多研究者将目光投向了将机器学习的技术应用到流量分类问题中。通过这种方法,我们可以自动探寻特定应用产生流量的模式特征,节约了大量的人力物力,并在准确度方面也取得了很好的成果。现有的方法按照处理内容的层次可以分为基于网络流和基于数据包两大类,前者将网络流作为处理对象,而后者则是直接对数据包进行分类。这些研究相较于传统方法取得了较为精确的分类结果。然而通过调研发现,之前的研究方法面对动态网络环境以及新型、较为复杂的应用,识别效果不佳。
公开号为CN109063777A的专利文献提出了一种网络流量分类装置流程,通过按照每个网络流的首个数据包所包含的包头信息对数据包进行流转化,随后将包中字节转化为网络流。随后,该方法对于数据流进行标准化处理,包括去掉数据包的干扰信息,缺失补0,并将数据包的数目进行补齐等等。随后利用深度学习的流量分类模型,包括分层感知网络(Hierarchicalattentionnetwork)模型或基于感知的长短时记忆神经网络模型(Attention-basedLSTM)等模型对流量进行分类。该方法缺点主要有三点:其一,处理流程过于冗余,极大地增加了复杂度,而且循环神经网络本身不需要序列长度一致,因此补齐数据包等操作并没有作用;其二,使用深度学习的方法虽然能够提高网络流量分类的精确度,但是在现实分类应用场景中,网络流量分类方法需要极高的响应速度以及部署在底层网络设备中,而深度学习模型速度较慢且对计算资源要求较高;其三,该模型没有提出对未知流量数据的处理方案,在真实网络环境中模型精确度会下降。综上,该方法不利于真实网络环境的部署。
公开号为CN108650194A的专利文献提出了利用聚类算法(K_means和KNN的融合)对特征集进行优选,选出最优特征子集配合机器学***均差等信息作为初始特征;随后结合监督和非监督的方法选取高分离度的特征,以K_means聚类算法为基础,由低维到高维合并,针对不同的应用种类选出对应的最优特征子集。在上一步的基础上,利用训练集数据和最优子集特征建立目标应用类别相对应的二分类器,并将所有的分类结果由决策规则整合为最终分类结果。该方法的主要不足有如下几点。第一,该方法选择基于流特征进行网络流量分类,每次需要庞大的训练集筛选出某种应用的最优特征集合,然而,网络应用的种类数目庞大,针对每一种应用选取特征是不可能的。第二,该方法的分类器只能对单一应用进行二分类,在多分类的应用场景下,需要多个二分类器通过决策规则进行决定,这种决策方式效率较低而且容易产生矛盾。最后,该方法没有考虑到未知流量的处理方式,而未知流量在真实网络环境中十分普遍。该方法对于前期数据的数量,种类要求较高,并且在多分类的应用上存在不足。
公开号为CN108200006A的专利文献提出利用两种不同的神经网络,层次化地学习网络流量的时间、空间等特征。再利用这些特征进行流量分类。首先,将网络流转化为二维图像格式的数据,包括将网络流进行流量切分,统一数据包中的数据单元数量和单元长度。随后,利用卷积神经网络学习所述的图像格式,得到相应的特征向量。再采用循环神经网络,对网络流的时序特征进行学习得到与上述网络流所对应的网络流向量。由此将网络流进行分类。由于该方法也利用深度学习的模型来进行分类,而且还利用了两种不同的神经网络对时间、空间特征进行提取。因此该方法也存在复杂度高,对计算资源要求较高,很难在现实中取得广泛应用的缺陷。此外,基于网络流特征进行分类也存在很多问题,例如在一些情况下,流数据包数量出现缺失或冗余,同时,该方法没有对未知流量进行合理处理,这些因素都导致了该方案在现实中的可用性较低。
发明内容
本发明的主要目的在于针对现有的网络流量分类方法所存在的不足,提出一种基于主题模型的动态自更新网络流量分类方法,通过动态聚类主题模型,学习记忆节点的网络流量随时间变化的规律,自动自主地对分类模型进行调整更新,还可直接进行多分类,直接将数据包映射到分类的协议中,从而解决现有技术存在的效率低、未考虑未知类型流量而影响分类模型准确率、未充分考虑网络流量动态性而使分类准确率降低等问题。
本发明为达上述目的提出以下技术方案:
一种基于主题模型的动态自更新网络流量分类方法,包括:1)分类模型初始化:初始时刻,利用事先标记好协议类别的数据包集作为初始化数据集,对分类模型进行初始化,以获得时刻1的分类模型;2)数据包分类:在t时刻,利用时刻t的分类模型对此时收到的待分类数据包进行分类,并输出此时的待分类数据包的协议类别以及协议分布信息;3)分类模型训练更新:利用t时刻输出的已知协议类别的数据包构成训练集,利用t、t-1、…、t-(L-1)共L个历史时刻输出的历史协议分布信息作为主题先验分布,训练时刻t+1的分类模型;t=1,2,3,...,L=1,2,...,δ,δ值根据分类精确度要求及模型训练时长要求预先设置;其中,某一时刻分类模型输出的所述协议分布信息是指该时刻属于不同协议类别的数据包分布比例。
更进一步地:
所述分类模型包括:数据包标准化模块、聚类模块、标记模块和判决模块,所述聚类模块是利用历史协议分布信息作为主题先验分布的动态聚类主题模型进行构建;
初始化过程包括:通过数据包标准化模块将初始化数据集中的每个数据包转化为对应的类文本数据序列;通过所述聚类模块对所有类文本数据序列进行聚类;对于每一个聚类,通过所述标记模块将该聚类下数据包数量最多的协议类别分配给该聚类,作为该聚类的标签进行标记;利用带标签的聚类生成所述判决模块的判决规则;
分类模型的训练更新过程包括:通过数据包标准化模块将训练集中的每个数据包转化为对应的类文本数据序列;通过所述聚类模块,根据前L个历史时刻输出的历史协议分布信息,对训练集中所有数据包的类文本数据序列进行聚类;对于每一个聚类,通过所述标记模块将该聚类下数据包数量最多的协议类别作为该聚类的标签进行标记;利用带标签的聚类生成判决模块的判决规则;
数据包分类过程包括:通过数据包标准化模块将待分类数据包转化为类文本数据序列;对于每一个类文本数据序列,通过判决模块计算该类文本数据序列属于每个聚类的概率,概率最大的聚类所带的标签即为该类文本数据序列对应的数据包所属的协议类别。
本发明提出的基于主题模型的动态自更新网络流量分类方法,与现有的分类方法相比,至少具有以下有益效果:
1、本发明利用了流量数据的时间相关性,对时间流网络流量数据进行动态分类。本发明针对实时变化的网络环境动态地构建自更新分类模型,使得本发明的分类方法对于各种复杂的网络环境都有适应能力。这种考虑到动态变化的网络流数据的时间关联性是流量分类方法的重大创新。在本发明中,数据包不再是一维的数据点,而变成了连续延伸的数据线。动态的流量分类模型,不仅可以很好地适应流量动态变化的特征,也能够提高流量分类的准确率。此外,利用历史时刻的协议分布信息作为下一时刻的先验分布,可以极大地减少主题模型的迭代次数,使得训练效率不再是制约模型自我更新的关键,用户可以自由地根据需求设置更新方式,极大地提高了模型的可用性和效率;
2、本发明采用的聚类——分类框架,实现了聚类和协议类别的多对一关系,对于较为复杂的新型应用来说,可以更好地匹配其应用模式,极大地提高了本发明的实用性。举例来说,某聊天应用在实现上可能包含多种不同流量模式,如视频、聊天、HTTP信息等。虽然从应用层面上来看是属于同一种应用,但是如果将它们的特征强行混为一谈,势必会对分类模型的精确性产生影响。在本发明中,多对一的聚类——分类框架可以很好地适应这种多功能应用,例如多个聚类分别对应上述的子功能流量,但是最终的协议类别都对应着某聊天应用。另外,这种对应方式不仅可以提高分类的精确度,还方便了流量管控人员分析某种应用流量的细节构成,方便研究和应用;
3、本发明还提出了新类识别方案,弥补了对于未知流量的识别空白,通过利用模型内部的概率分布信息,提出聚类置信度和局外点等定义。利用合理的逻辑结构处理了未知流量,首先判断一定数量的局外点的均值是否与已知类别相近,再判断局外点能否独自形成一类。通过上述方式,本发明可以将真实网络中经常出现的,未在训练数据中的网络应用协议进行合理处理,首先可以避免收到未知流量时立即强行分类为未知协议类别而影响分类模型的精确性,其次可以自动地对未知流量进行进一步的整理分类,极大地提高了本发明在真实网络环境中的应用能力。
附图说明
图1是本发明基于主题模型的动态自更新网络流量分类方法的流程示意图;
图2是本发明基于主题模型的动态自更新网络流量分类方法的原理框架及相应的处理流程图;
图3是本发明具体实施例对局外点数据包进行新类判别的流程图。
具体实施方式
下面结合附图和具体的实施方式对本发明作进一步说明。
网络流量具有动态特性,不同时刻同一节点所经过的流量种类、数量分布都是变化的;功能复杂多样的网络应用往往也会产生很多特征不同的数据包,强行将这些数据包按照同一应用来进行处理会使得流量分类方法准确率降低;在真实分类数据中存在未知类别,如不能妥善处理未知协议类别的数据将会对分类模型造成影响。为了解决这些问题,本发明基于用历史时刻流量协议类别分布特征来辅助对下一时刻流量进行分类的思路,提出了一种基于主题模型的动态自更新网络流量分类方法,参考图1,该方法的原理是:构建了一个分类模型,完成初始化及初次分类后,分类方法便随着时间线不断地进行着模型训练更新→数据包分类→模型训练更新→数据包分类……,分类模型是按照预先设定的更新周期自动训练更新的,更新时利用前一时刻的分类结果作为训练集,同时利用前L个历史时刻的协议分布信息作为模型训练时的参考输入(即作为主题先验分布,后续详述),进行训练更新。这样一来充分利用了网络流量的时间相关性,辅助进行分类,并且减少了训练次数,还提高了流量分类的精确度。说明:某一时刻分类模型输出的协议类别分布信息包括该时刻与前一时刻期间不同协议类别的数据包分布比例。
本发明的方法所构建的分类模型包括:数据包标准化模块、聚类模块、标记模块和判决模块。应当理解的是,这些功能模块是计算机程序模块,存储于计算机可读存储介质上,其功能是通过处理器执行相应的计算机程序而实现。其中,聚类模块是利用历史协议分布信息作为主题先验分布的动态聚类主题模型进行构建的,通过构建动态聚类主题模型,本发明可以在对流量数据聚类时参考历史协议分布信息,充分利用流量数据的时间连续性,挖掘时间维度的信息。类似于文本-主题-单词的主题模型,本发明也构建了数据包-主题-字段三层概率主题模型。通过该概率主题模型,本发明可以在模型更新过程中根据历史协议分布信息来对新数据进行聚类,通过对流量信息的时序特征的学习,可以更迅速、更精确地得到聚类,减少模型训练的时间。
参考图1和图2,本发明提出的基于主题模型的动态自更新网络流量分类方法,包括分类模型初始化、分类模型训练更新和数据包分类三大流程:
1)分类模型初始化:初始时刻,利用事先标记好协议类别的数据包集作为初始化数据集,对分类模型进行初始化,以获得时刻1的分类模型;
2)数据包分类:在t时刻,利用时刻t的分类模型对此时收到的待分类数据包进行分类,并输出此时的待分类数据包的协议类别以及协议分布信息;
3)分类模型训练更新:利用t时刻输出的已知协议类别的数据包构成训练集,利用t、t-1、…、t-(L-1)共L个历史时刻输出的历史协议分布信息作为主题先验分布,训练时刻t+1的分类模型;t=1,2,3,...,L=1,2,...,δ,δ值根据分类精确度要求及模型训练时长要求预先设置。优选地,δ值为5;比如,利用t=1时刻输出的已知协议类别的数据包构成训练集,利用t=1时刻输出的历史协议分布信息作为主题先验分布,训练时刻t+1的分类模型;利用t=2时刻输出的已知协议类别的数据包构成训练集,利用t=2和t=1时刻输出的历史协议分布信息作为主题先验分布,训练时刻t+1的分类模型;利用t=3时刻输出的已知协议类别的数据包构成训练集,利用t=3、t=2和t=1时刻输出的历史协议分布信息作为主题先验分布,训练时刻t+1的分类模型。即,在一种优选的方案中,最多取前面5个历史时刻的协议分布信息作为主题先验分布。
初始化过程可认为是初次训练,只不过训练集不是历史时刻的分类输出结果(因为还不存在历史时刻),而是采用事先标记好协议类别(标签)的大量数据包构成初始数据集,进行初始化。具体过程是:初始的数据包先通过数据包标准化模块,将每个数据包转化成类文本数据序列,再到聚类模块,聚类模块对所有类文本数据序列进行聚类;对于每一个聚类,通过所述标记模块将该聚类下数据包数量最多的协议类别分配给该聚类,作为该聚类的标签进行标记;利用带标签的聚类生成所述判决模块的判决规则。举例而言,初始的1000个标记有协议类别的数据包经过标准化转化后,得到相应的1000个类文本数据序列输入到聚类模块,聚类模块将1000个类文本数据序列即1000个数据包分到20个聚类(具体如何实现聚类将在后续详述)下,标记模块将对20个聚类进行标记,与此同时,标记模块还计算每个聚类的置信度,若置信度小于事先设定的值则舍弃聚类,认为是不可信聚类,再对余下的聚类进行标记。当某个聚类F下含有两种以上协议类别的数据包时,以数据包数量最多的那个协议类别作为聚类F的标签进行标记,从而可知,聚类的标签实质上是某一种协议类别。这些标记好标签的聚类就可以用来构建决策模块(新数据包分类时才用到该模块)的决策规则。这样就完成初始化训练。我们把初始化时定义为0时刻,则初始化完成后得到的分类模型称之为时刻1的分类模型,将被用来对时刻1收到的数据包进行分类。应当注意的是,我们所说的某时刻的数据包,实质上是该时刻与该时刻的前一分类时刻之间流过网络节点的数据包。
在时刻1(t=1时刻),利用初始化好的时刻1的分类模型进行数据包的分类,包括:此时的新数据包先经过标准化转化,得到相应的类文本数据序列,然后类文本数据序列直接进入决策模块。决策模块将会对每一个类文本数据序列,即每一个数据包,计算其属于当前分类模型中所存在的各个聚类的概率。对每个数据包,决策模块会选择概率最大所对应的那个聚类的标签作为该数据包的协议类别作为分类结果,进行输出。同时,还输出时刻1的所有数据包的协议类别分布比例,将用作后续分类模型训练更新时的先验信息。
t=1时刻输出的分类结果以及协议分布信息,可以用于训练更新t=2时刻的分类模型;t=2时刻输出的分类结果以及t=1和t=2时刻输出的协议分布信息,可以用于训练更新t=3时刻的分类模型;……;以此类推。即,利用t时刻输出的已知协议类别的数据包构成训练集,利用t、t-1、…、t-(L-1)共L个历史时刻输出的历史协议分布信息作为主题先验分布,训练时刻t+1的分类模型。L的值越大,则分类的精确度会越好,但会导致训练时间较长,优选地:1≤L≤5。
分类模型的训练更新过程与前述初始化过程类似,都是利用了数据包标准化模块、聚类模块、标记模块。聚类模块在聚类时,要参考前L个历史时刻输出的历史协议分布信息。
下面将对本发明方法所构建的分类模型的各个模块及其工作流程进行详细的示例性说明。
数据包标准化模块,实现将数据包转化为类文本数据序列的,相当于数据包的预处理步骤,具体包括:
首先,去除数据包的链路层、网络层及传输层的包头信息。虽然包头信息可以提高分类的精确度,但却会使得分类方法过度依赖如IP地址之类的不可靠的包头信息,这些信息很容易被伪造和更改;
然后,对二进制的数据包应用层内容进行N-gram转化,利用一个N-gram生成模型将数据包负载转化成文本结构。具体来说,N-gram生成模型会将原始的数据包转化成一系列N-gram字符串,或称N-gram字段。在自然语言处理中,N-gram是指对于一个长度大于N的串,选出其所有长度为N的字串。
举例来说,一个数据包“DATA\r\n”可以用如下的N-gram来表示:
2-gram:DA,AT,TA,A\r,\r\n
3-gram:DAT,ATA,TA\r,A\r\n
4-gram:DATA,ATA\r,TA\r\n
这样就可以把数据包“DATA\r\n”转化为含有3个N-gram字段的类文本数据序列。当然,实际中每个数据包的N-gram字段往往不只3个,此处仅为示例。
不论是分类模型的训练更新还是新数据包的分类过程,都可以先将原始数据包进行上述的标准化预处理,转化为类文本数据序列之后,再用于后续的步骤。通过对完整的数据包做剔除链路层、网络层、传输层等包头信息,仅仅保留应用层数据部分,来让分类模型更多地挖掘与应用层有关的数据特征。这样可以在一定程度上提高分类模型的鲁棒性,使得模型在面对VPN、恶意伪造的流量等数据时也可以很好地应对。此外,对二进制的流量数据内容进行N-gram处理,提取出前后字节的连贯性,为后续利用主题模型挖掘特征、聚类提供了方便,同时这种处理方式也有效的从数据包中提取了分类所需要的关键特征。
本发明的动态聚类主题模型(DynamicClusterTopic,DCT),对传统的隐含狄里克莱模型(LDA)进行改进,使得历史时刻的协议分布特征作为模型迭代更新的先验条件,来提高准确度。
在分类模型的训练更新(包括初始化训练)过程中,基于动态聚类主题模型的聚类模块对t时刻类文本数据序列(即数据包)进行聚类的步骤包括:
(1)给t时刻的每个数据包随机分配一个主题,并默认每个数据包的所有N-gram字段均属于为该数据包分配的主题,从而得到初始化的主题多项式分布;
(2)采用基于主题先验分布的吉布斯采样,从初始化的主题多项式分布开始进行采样迭代,迭代预定次数或者聚类质量满足预设的卡方检验条件时,所得到的主题多项式分布即为目标后验分布;
(3)根据所述目标后验分布,得到t时刻的数据包聚类。
下面对利用吉布斯采样迭代为每个数据包寻找最合适的主题(本发明中主题即“聚类”)的过程进行说明:
t时刻的所有数据包的N-gram集合表示为其中P是t时刻类文本数据序列也即数据包的总数,Np是第p个数据包(或称“数据包p”)的N-gram字段数,并且wp,i是其中的第i个N-gram。数据包p中的所有N-gram对应于某个特定主题zp,并且zp服从多项式分布。
设是t时刻的主题分布,且有θt,z=P(z|t)和大写Z是主题的总数。根据DCT,可以有如下的数据包-主题分布:
式(1)中,表示t时刻的数据包-主题条件分布;Θt-n为t-n时刻的主题分布;αt,z是主题持续性,表征了t时刻的主题z与t-1时刻的主题相比的显著性;θt,z表示主题z在t时刻的数据包-主题分布;αt,z,n表示t-n时刻的数据包-主题z的先验参数;θt-n,z表示t-n时刻主题模型的数据包-主题z分布。通过这种方式,本发明的方法允许t时刻的主题分布Θt的先验条件取决于先前L个时刻的主题分布
对于每个主题z,令为所有主题的字段分布,为主题z的字段分布。其中,P(w|t,z)表示第w种字段在t时刻和主题z下的条件分布,V为t时刻所有数据包中N-gram字段种类的总数。与式(1)的分布类似的,有如下主题-字段分布:
式(2)中,表示时刻t下主题z的主题-字段条件分布;βt,z,w是主题z中第w种N-gram在t时刻的持久性;是t-n时刻的主题z的词分布。在初始化时刻,可认为t=0,可以将两个分布初始化为θt,z=θ0,z=1/Z和
从而,在聚类过程中,我们可以对数据包的类文本数据序列的做如下生成处理:
①从Dirichlet主题先验分布得出主题z的多项式分布Θt;
②根据Dirichlet主题的词先验分布为每个主题z生成单词多项式分布
③对于标准数据包数据p∈Pt,从Θt和p中的每个N-gram生成一个主题zp;
④从主题zp的单词多项式分布中绘制一个N-gram字段wp;
根据该流程,我们需要确定究竟哪个主题才是t时刻的数据包p最合适的主题zp,即对于未聚类的数据包类文本数据序列而言,在其N-gram已知的情况下,我们需要反推出最合适的主题,即需要求得目标后验分布P(zp|t,p)。而目标后验分布可采用吉布斯采样来迭代训练动态聚类主题模型而得到。
本发明的主题模型更新时的吉布斯采样,相对于传统的吉布斯采样迭代更新而言,加入了历史时刻的协议分布信息作为先验信息。采样公式为:
式(3)中,表示t时刻的动态聚类主题模型,zt,-p表示除p之外其它数据包所属的主题,pt表示t时刻的任意数据包,表示前L个时刻的数据包-主题分布,表示前L个时刻的主题-字段分布,αt、βt表示t时刻主题模型的先验参数,xt,z表示关联主题z的数据包pt的总数,j、i均为主题模型迭代的累加参数且i,j≥1,Np,w表示数据包p中第w种N-gram字段的数目,yt,z,w,-p表示除数据包p以外其它数据包中关联主题z的第w种N-gram字段的数目,βt,z,w,n表示时刻t-n下主题z的第w字段的先验参数,表示时刻t下主题z-第w种字段的分布,yt,z,-p表示除数据包p以外的其它数据包中与主题z关联的数据包数目。
先验参数αt,z,n在t时刻的更新方法如下:
其中,Ψ(·)表示狄格马函数;
先验参数βt,z,w,n在t时刻的更新方法如下:
其中:
yt,z,w表示数据包pt中与主题z关联的第w种N-gram字段的数目。
通过上述吉布斯采样迭代更新来为每个数据包找到合适的主题(聚类)的过程,迭代固定次数(根据实验验证,200次左右)或者利用卡方检验来评估聚类质量,聚类质量满足预设要求,即可停止迭代,此时得到的目标后验分布中,每个数据包的主题即为聚类结果。至此,完成数据包聚类过程,得到若干个聚类。接下来即可通过标记模块对聚类进行标记。
在一些优选的实施例中,标记聚类时还计算聚类的置信度,计算公式如下:
式(6)中,C表示当前聚类的置信度,Pmax表示当前聚类中被分配的协议类别下数据包的数量,Ptotal表示当前聚类中数据包总数。对于某个聚类而言,若其置信度低于第一预设值,则认为该聚类不可信,舍弃该聚类。该第一预设值的取值范围为0~0.5。对每个可信的聚类,采用该聚类下的数据包数量最多的协议作为标签进行标记。举例而言,聚类1中A、B、C、D四种协议类别的数据包数目分别为1000、100、20、40,则为聚类1分配标签A。即认为被判决到聚类1的数据包属于类别A。在聚类数目足够多(大于协议类别数目)的情况下,本发明可以得到纯度足够高的聚类,来保证分类的精确度。标记好的聚类即可构建判决模块的判决规则。
在对新来的数据包进行分类时,经过标准化处理之后,每个数据包对应的类文本数据序列直接进入判决模块,进行判决分类,具体而言,就是计算该数据包属于当前分类模型中已标记的每个聚类的概率。采用如下公式:
式(7)中,表示t时刻数据包pnew属于聚类k的概率,K表示当前分类模型中聚类的总数目,k表示K个聚类中的任意聚类k,表示数据包pnew中属于聚类k的N-gram字段数,αt,k表示t时刻主题k的先验参数。
对于某个数据包而言,若判决模块求出的上述概率对于当前分类模型中的任意聚类k都满足:
则,该数据包判别为局外点,需要进行是否为新类别的判断。τ0为预先设置的固定值,取值范围优选为0.5~0.8。
对于被判决模块判别为局外点的数据包,本发明并非立即强行分类为未知流量,而是进一步根据图3所示的流程进行是否为新类别的判别,以免影响分类模型的准确性。新类判决具体包括:
采用基于欧式距离的k-means聚类方法以概率分布作为特征对属于局外点的数据包进行聚类,由t时刻被判断为局外点的所有数据包属于每个聚类的概率而得到;当基于欧式距离的k-means聚类所得到的局外点聚类中数据包的数量超过预设的阈值时,例如在一个更新周期内数量超过100个,采用如下判决条件进行新类判决:
式(9)中,M表示局外点聚类中数据包的总数目,σ0为预先设置的固定值,取值范围为0.5~0.8;表示第m个局外点数据包pm属于每个聚类的概率;若局外点聚类中数据包满足判决条件式(9),则该局外点聚类判定为新类别并加入到分类模型中;否则,该局外点聚类判定为已有类别,该已有类别即为使达到最大时的聚类k。
通过上述方式,本发明可以将训练数据集中没有涵盖的未知流量数据进行分类判决,并给对未知流量数据的类别进行了详细分析和合理的处理。使其不影响正常数据的识别,并且能够将未知流量归类。满足了真实网络环境的特点。
本发明的方法在使用时,需事先设定好分类模型自更新的更新周期。更新周期可为预设的固定时长,即每个预设的固定时长即对分类模型进行训练更新,比如每个时刻t更新,而相邻时刻之间为固定时长;或者为固定数量的数据包,即网络节点每流过固定数量数据包之后即更新一次分类模型。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
Claims (10)
1.一种基于主题模型的动态自更新网络流量分类方法,其特征在于,包括:
1)分类模型初始化:初始时刻,利用事先标记好协议类别的数据包集作为初始化数据集,对分类模型进行初始化,以获得时刻1的分类模型;
2)数据包分类:在t时刻,利用时刻t的分类模型对此时收到的待分类数据包进行分类,并输出此时的待分类数据包的协议类别以及协议分布信息;
3)分类模型训练更新:利用t时刻输出的已知协议类别的数据包构成训练集,利用t、t-1、…、t-(L-1)共L个历史时刻输出的历史协议分布信息作为主题先验分布,训练时刻t+1的分类模型;t=1,2,3,...,L=1,2,...,δ,δ值根据分类精确度要求及模型训练时长要求预先设置;
其中,某一时刻分类模型输出的所述协议分布信息是指该时刻属于不同协议类别的数据包分布比例。
2.如权利要求1所述的动态自更新网络流量分类方法,其特征在于,所述分类模型包括:数据包标准化模块、聚类模块、标记模块和判决模块,所述聚类模块是利用历史协议分布信息作为主题先验分布的动态聚类主题模型进行构建;
初始化过程包括:通过数据包标准化模块将初始化数据集中的每个数据包转化为对应的类文本数据序列;通过所述聚类模块对所有类文本数据序列进行聚类;对于每一个聚类,通过所述标记模块将该聚类下数据包数量最多的协议类别分配给该聚类,作为该聚类的标签进行标记;利用带标签的聚类生成所述判决模块的判决规则;
分类模型的训练更新过程包括:通过数据包标准化模块将训练集中的每个数据包转化为对应的类文本数据序列;通过所述聚类模块,根据前L个历史时刻输出的历史协议分布信息,对训练集中所有数据包的类文本数据序列进行聚类;对于每一个聚类,通过所述标记模块将该聚类下数据包数量最多的协议类别作为该聚类的标签进行标记;利用带标签的聚类生成判决模块的判决规则;
数据包分类过程包括:通过数据包标准化模块将待分类数据包转化为类文本数据序列;对于每一个类文本数据序列,通过判决模块计算该类文本数据序列属于每个聚类的概率,概率最大的聚类所带的标签即为该类文本数据序列对应的数据包所属的协议类别。
3.如权利要求2所述的动态自更新网络流量分类方法,其特征在于,还包括:对聚类进行标记时,计算每个聚类的置信度,并舍弃置信度低于第一预设值的聚类。
4.如权利要求3所述的动态自更新网络流量分类方法,其特征在于,聚类的置信度计算公式为:
其中,C表示当前聚类的置信度,Pmax表示当前聚类中被分配的协议类别下数据包的数量,Ptotal表示当前聚类中数据包总数。
5.如权利要求2所述的动态自更新网络流量分类方法,其特征在于,将数据包转化为类文本数据序列的步骤包括:
去除数据包的链路层、网络层及传输层的包头信息;
对二进制的数据包应用层内容进行N-gram转化,得到数据包对应的类文本数据序列。
6.如权利要求5所述的动态自更新网络流量分类方法,其特征在于,所述聚类模块对t时刻数据包的类文本数据序列进行聚类的步骤包括:
(1)给t时刻的每个数据包随机分配一个主题,并默认每个数据包的所有N-gram字段均属于为该数据包分配的主题,从而得到初始化的主题多项式分布;
(2)采用基于主题先验分布的吉布斯采样,从初始化的主题多项式分布开始进行采样迭代,迭代预定次数或者聚类质量满足预设的卡方检验条件时,所得到的主题多项式分布即为目标后验分布;
(3)根据所述目标后验分布,得到t时刻的数据包聚类。
7.如权利要求6所述的动态自更新网络流量分类方法,其特征在于,基于主题先验分布的吉布斯采样的采样公式为:
其中,表示t时刻的动态聚类主题模型,zp表示数据包p所属的主题,zt,-p表示除p之外其它数据包所属的主题,pt表示t时刻的任意数据包,表示前L个时刻的数据包-主题分布,表示前L个时刻的主题-字段分布,αt、βt表示t时刻主题模型的先验参数,xt,z表示关联主题z的数据包pt的总数,αt,z,n表示t-n时刻的数据包-主题z的先验参数,θt-n,z表示t-n时刻主题模型的数据包-主题z分布,V表示t时刻所有数据包中N-gram字段的种类数目,j、i均为主题模型迭代的累加参数且i,j≥1,Np,w表示数据包p中第w种N-gram字段的数目,Np表示数据包p中N-gram字段的总数,yt,z,w,-p表示除数据包p以外其它数据包中关联主题z的第w种N-gram字段的数目,βt,z,w,n表示时刻t-n下主题z的第w字段的先验参数,表示时刻t下主题z-第w种字段的分布,yt,z,-p表示除数据包p以外的其它数据包中与主题z关联的数据包数目;
先验参数αt,z,n在t时刻的更新方法如下:
其中,Ψ(·)表示狄格马函数;
先验参数βt,z,w,n在t时刻的更新方法如下:
其中, yt,z,w表示数据包pt中与主题z关联的第w种N-gram字段的数目。
8.如权利要求7所述的动态自更新网络流量分类方法,其特征在于,判决模块采用如下公式计算t时刻数据包pnew属于聚类k的概率
其中,K表示当前分类模型中聚类的总数目,k表示K个聚类中的任意聚类k,表示数据包pnew中属于聚类k的N-gram字段数,αt,k表示t时刻主题k的先验参数;
对于某个数据包而言,若判决模块求出的上述概率对于当前分类模型中的任意聚类k都满足:
τ0为预先设置的固定值;
则,该数据包判别为局外点,需要进行是否为新类别的判断。
9.如权利要求8所述的动态自更新网络流量分类方法,其特征在于,对属于局外点的数据包进行是否为新类别的判断包括:
采用基于欧式距离的k-means聚类方法以概率分布作为特征对属于局外点的数据包进行聚类,由t时刻被判断为局外点的所有数据包属于每个聚类的概率而得到;
当基于欧式距离的k-means聚类所得到的局外点聚类中数据包的数量超过预设的阈值时,采用如下判决条件进行新类判决:
其中,M表示局外点聚类中数据包的总数目,σ0为预先设置的固定值,表示第m个局外点数据包pm属于每个聚类的概率;若局外点聚类中数据包满足所述判决条件,则该局外点聚类判定为新类别并加入到分类模型中;否则,该局外点聚类判定为已有类别,该已有类别即为使达到最大时的聚类k。
10.如权利要求2所述的动态自更新网络流量分类方法,其特征在于,分类模型的训练更新周期为预设的固定时长,即每个预设的固定时长即对分类模型进行训练更新;或者为固定数量的数据包,即网络节点每流过固定数量数据包之后即更新一次分类模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910425904.1A CN110225001B (zh) | 2019-05-21 | 2019-05-21 | 一种基于主题模型的动态自更新网络流量分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910425904.1A CN110225001B (zh) | 2019-05-21 | 2019-05-21 | 一种基于主题模型的动态自更新网络流量分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110225001A true CN110225001A (zh) | 2019-09-10 |
CN110225001B CN110225001B (zh) | 2021-06-04 |
Family
ID=67821675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910425904.1A Active CN110225001B (zh) | 2019-05-21 | 2019-05-21 | 一种基于主题模型的动态自更新网络流量分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110225001B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111144470A (zh) * | 2019-12-20 | 2020-05-12 | 中国科学院信息工程研究所 | 一种基于深度自编码器的未知网络流量识别方法及*** |
CN112583860A (zh) * | 2021-03-02 | 2021-03-30 | 北京智慧易科技有限公司 | 一种互联网流量异常检测的方法、装置及设备 |
CN112995104A (zh) * | 2019-12-16 | 2021-06-18 | 海信集团有限公司 | 一种通信设备及网络安全预测方法 |
CN113569368A (zh) * | 2021-09-17 | 2021-10-29 | 支付宝(杭州)信息技术有限公司 | 基于协议的建模方法及装置 |
CN114386514A (zh) * | 2022-01-13 | 2022-04-22 | 中国人民解放军国防科技大学 | 基于动态网络环境下的未知流量数据识别方法及装置 |
CN117556065A (zh) * | 2024-01-11 | 2024-02-13 | 江苏古卓科技有限公司 | 基于深度学习的大模型数据管理***及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789931A (zh) * | 2009-12-31 | 2010-07-28 | 暨南大学 | 一种基于数据挖掘的网络入侵检测***及方法 |
CN102521248A (zh) * | 2011-11-14 | 2012-06-27 | 北京亿赞普网络技术有限公司 | 一种网络用户分类方法及其装置 |
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及*** |
CN104468262A (zh) * | 2014-11-17 | 2015-03-25 | 中国科学院信息工程研究所 | 一种基于语义敏感的网络协议识别方法及*** |
US20170075991A1 (en) * | 2015-09-14 | 2017-03-16 | Xerox Corporation | System and method for classification of microblog posts based on identification of topics |
CN107360032A (zh) * | 2017-07-20 | 2017-11-17 | 中国南方电网有限责任公司 | 一种网络流识别方法及电子设备 |
CN107451187A (zh) * | 2017-06-23 | 2017-12-08 | 天津科技大学 | 基于互约束主题模型的半结构短文本集中子话题发现方法 |
CN108900432A (zh) * | 2018-07-05 | 2018-11-27 | 中山大学 | 一种基于网络流行为的内容感知方法 |
-
2019
- 2019-05-21 CN CN201910425904.1A patent/CN110225001B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789931A (zh) * | 2009-12-31 | 2010-07-28 | 暨南大学 | 一种基于数据挖掘的网络入侵检测***及方法 |
CN102521248A (zh) * | 2011-11-14 | 2012-06-27 | 北京亿赞普网络技术有限公司 | 一种网络用户分类方法及其装置 |
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及*** |
CN104468262A (zh) * | 2014-11-17 | 2015-03-25 | 中国科学院信息工程研究所 | 一种基于语义敏感的网络协议识别方法及*** |
US20170075991A1 (en) * | 2015-09-14 | 2017-03-16 | Xerox Corporation | System and method for classification of microblog posts based on identification of topics |
CN107451187A (zh) * | 2017-06-23 | 2017-12-08 | 天津科技大学 | 基于互约束主题模型的半结构短文本集中子话题发现方法 |
CN107360032A (zh) * | 2017-07-20 | 2017-11-17 | 中国南方电网有限责任公司 | 一种网络流识别方法及电子设备 |
CN108900432A (zh) * | 2018-07-05 | 2018-11-27 | 中山大学 | 一种基于网络流行为的内容感知方法 |
Non-Patent Citations (1)
Title |
---|
王一鹏等: "基于主动学习和SVM方法的网络协议识别技术", 《通信学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995104A (zh) * | 2019-12-16 | 2021-06-18 | 海信集团有限公司 | 一种通信设备及网络安全预测方法 |
CN112995104B (zh) * | 2019-12-16 | 2022-05-20 | 海信集团有限公司 | 一种通信设备及网络安全预测方法 |
CN111144470A (zh) * | 2019-12-20 | 2020-05-12 | 中国科学院信息工程研究所 | 一种基于深度自编码器的未知网络流量识别方法及*** |
CN111144470B (zh) * | 2019-12-20 | 2022-12-16 | 中国科学院信息工程研究所 | 一种基于深度自编码器的未知网络流量识别方法及*** |
CN112583860A (zh) * | 2021-03-02 | 2021-03-30 | 北京智慧易科技有限公司 | 一种互联网流量异常检测的方法、装置及设备 |
CN112583860B (zh) * | 2021-03-02 | 2021-05-18 | 北京智慧易科技有限公司 | 一种互联网流量异常检测的方法、装置及设备 |
CN113569368A (zh) * | 2021-09-17 | 2021-10-29 | 支付宝(杭州)信息技术有限公司 | 基于协议的建模方法及装置 |
CN113569368B (zh) * | 2021-09-17 | 2022-01-11 | 支付宝(杭州)信息技术有限公司 | 基于协议的建模方法及装置 |
CN114386514A (zh) * | 2022-01-13 | 2022-04-22 | 中国人民解放军国防科技大学 | 基于动态网络环境下的未知流量数据识别方法及装置 |
CN114386514B (zh) * | 2022-01-13 | 2022-11-25 | 中国人民解放军国防科技大学 | 基于动态网络环境下的未知流量数据识别方法及装置 |
CN117556065A (zh) * | 2024-01-11 | 2024-02-13 | 江苏古卓科技有限公司 | 基于深度学习的大模型数据管理***及方法 |
CN117556065B (zh) * | 2024-01-11 | 2024-03-26 | 江苏古卓科技有限公司 | 基于深度学习的大模型数据管理***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110225001B (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110225001A (zh) | 一种基于主题模型的动态自更新网络流量分类方法 | |
CN108900432B (zh) | 一种基于网络流行为的内容感知方法 | |
CN112381121A (zh) | 一种基于孪生网络的未知类别网络流量的检测与识别方法 | |
CN109218223B (zh) | 一种基于主动学习的鲁棒性网络流量分类方法及*** | |
Pu et al. | Dynamic conceptional contrastive learning for generalized category discovery | |
CN104601565A (zh) | 一种智能优化规则的网络入侵检测分类方法 | |
Chu et al. | An adaptive learning approach for noisy data streams | |
Yang et al. | One-class classification using generative adversarial networks | |
CN106911591A (zh) | 网络流量的分类方法和*** | |
CN105516020A (zh) | 一种基于本体知识推理的并行网络流量分类方法 | |
CN105930792A (zh) | 一种基于视频局部特征字典的人体动作分类方法 | |
CN104680193A (zh) | 基于快速相似性网络融合算法的在线目标分类方法与*** | |
CN113298186A (zh) | 融合流模型对抗生成网络和聚类算法的网络异常流量检测方法 | |
Liu et al. | Dynamic traffic classification algorithm and simulation of energy Internet of things based on machine learning | |
Ren et al. | A novel deep learning method for application identification in wireless network | |
CN115114409A (zh) | 一种基于软参数共享的民航不安全事件联合抽取方法 | |
Shrivastav et al. | Network traffic classification using semi-supervised approach | |
Liu et al. | Learning multiple gaussian prototypes for open-set recognition | |
CN104468276B (zh) | 基于随机抽样多分类器的网络流量识别方法 | |
Huo et al. | A novel approach for semi-supervised network traffic classification | |
CN112668633A (zh) | 一种基于细粒度领域自适应的图迁移学习方法 | |
CN111797935A (zh) | 基于群体智能的半监督深度网络图片分类方法 | |
Xu et al. | Federated traffic synthesizing and classification using generative adversarial networks | |
CN116522260A (zh) | 基于极限学习机算法的网络流量在线分类的学习模型 | |
CN114358177B (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 |