CN109981474A - 一种面向应用软件的网络流量细粒度分类系统及方法 - Google Patents
一种面向应用软件的网络流量细粒度分类系统及方法 Download PDFInfo
- Publication number
- CN109981474A CN109981474A CN201910232314.7A CN201910232314A CN109981474A CN 109981474 A CN109981474 A CN 109981474A CN 201910232314 A CN201910232314 A CN 201910232314A CN 109981474 A CN109981474 A CN 109981474A
- Authority
- CN
- China
- Prior art keywords
- stream
- fuzzy
- port
- class
- network flow
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种面向应用软件的网络流量细粒度分类系统及方法,包括:数据收集与预处理模块、特征提取与模型训练模块、流关联分析模块;数据收集与预处理模块:收集操作系统背景流量,收集目标应用软件的网络流量,然后进行预处理,从中过滤掉背景流量数据包和错误数据包,并按照流量五元组提取出流;特征提取与模型训练模块:针对提取出的每条流,利用一阶马尔科夫模型对流中的包大小序列进行建模,计算包大小序列的转移概率矩阵,并将其作为特征向量训练分类模型;流关联分析模块:对分类器的分类结果进行置信度检验,将小于类别概率阈值的流标记为模糊流,将模糊流与非模糊流通过K近邻端口进行关联分析,修正模糊流的类别标签,得到最终的分类结果。
Description
技术领域
本发明涉及一种面向应用软件的网络流量细粒度分类系统及方法,属于计算机网络技术领域。
背景技术
网络流量分类在网络管理和网络安全中发挥着重要的作用。例如,为了更好的进行网络设计和配置,网络管理人员需要充分了解流量的组成和应用的使用趋势;为了更好的进行服务质量控制(QoS),需要首先将网络中的所有流量按不同应用类型进行划分,然后针对不同类型的应用提供不同的服务质量等级,从而确保关键业务服务质量,维持网络高效通畅运行。在网络安全方面,流量分类是入侵检测系统(IDS)的核心部分,其可发现网络中的突发流量(如分布式拒绝服务攻击)和未知流量,以便于及时采取有效的防御措施。为了有效的进行网络流量分类,多种流量分类方法被相继提出,这些流量分类方法可以被归纳为三个类别:基于端口的方法、基于包负载内容的方法、基于流(flow)统计的方法。
基于端口的方法通过检查网络数据包的传输层端口号,然后根据IANA[9]定制的知名端口号与应用协议的对应关系来将数据包与不同的应用协议关联起来。然而,随着网络应用的不断发展,基于端口的方法逐渐变得不再可靠。已有研究表明[Karagiannis T,Broido A,Brownlee N,et al.Is P2P dying or just hiding?[P2P trafficmeasurement][C]//IEEE Global Telecommunications Conference.2004.]、[MadhukarA,Williamson C.A Longitudinal Study of P2P Traffic Classification[C]//IEEEInternational Symposium on Modeling.2006.],新型的P2P类应用普遍使用随机端口进行数据传输。与此同时,有些应用将自己的网络流量隐藏在知名的端口之后以规避防火墙的检测,进而导致基于端口的流量分类方法不再适用。
考虑到基于端口的流量分类方法的缺点,基于包负载内容的方法[7,8]被提出。基于包负载内容的方法通过分析数据包的载荷数据来对已知的应用签名进行匹配。基于包负载内容的方法具有准确率高的优点,然而,其同时面临以下不足:(1)非标应用和私有协议缺乏公开可用的协议规范,导致特征串难找易变;(2)无法应对加密网络流量;(3)对数据包内容的检查存在隐私保护问题;(4)系统时间和空间开销巨大。
为了克服以上两种方法的不足,近年来研究人员广泛使用基于网络行为或流统计特征的方法来解决流量分类问题。机器学习技术在基于流统计特征的流量分类中的应用受到了极大的关注。Roughan等人[Roughan M,Sen S,Spatscheck O,et al.Class-of-service mapping for QoS:a statistical signature-based approach to IP trafficclassification[C]//Acm Sigcomm Conference on Internet Measurement.2004.]提出使用K近邻算法进行网络流量分类,该方法共使用了5类特征:分组层次、流层次、连接层次、流与连接内部特征、同一源目主机之间的多条并发流的特征。然而,实验结果表明该方法随着流量类型数量的增加,分类错误率明显上升。Moore等人[Moore A W,Zuev D.Internettraffic classification using bayesian analysis techniques[J].Acm SigmetricsPerformance Evaluation Review,2005,33(1):50-60.]引入朴素贝叶斯方法进行流量分类与应用识别。但是该方法要求样本各个特征之间满足条件独立的假设,这在实际的网络流量特征中难以满足,因此其分类准确率较低。Raahemi等人[Raahemi B,Zhong W,JingL.Peer-to-Peer Traffic Identification by Mining IP Layer Data Streams UsingConcept-Adapting Very Fast Decision Tree[C]//IEEE International Conference onTools with Artificial Intelligence.2008.]提出基于CVFDF决策树算法的P2P流量识别方法,该算法能够得知每个决策节点测试所需要的最少样例数,并能使决策树动态增长,从而满足识别模型动态更新的需要,但决策树方法根据训练数据集的局部信息对样本特征进行过滤,会导致特征选择的局部最优性,进而导致分类结果的不稳定。Sun等人[Sun R,YangB,Peng L,et al.Traffic classification using probabilistic neural networks[C]//Natural Computation(ICNC),2010Sixth International Conference on.IEEE,2010.]提出利用概率神经网络解决流量分类问题,与传统的BP神经网络相比,PNN训练速度更快,收敛性更好,但此方法仅仅限于web与P2P两类流量分类。Taylor V F等人[Taylor VF,Spolaor R,Conti M,et al.AppScanner:Automatic Fingerprinting of SmartphoneApps from Encrypted Network Traffic[C]//IEEE European Symposium on Security&Privacy.IEEE,2016.]、[Taylor V F,Spolaor R,Conti M,et al.Robust Smartphone AppIdentification via Encrypted Network Traffic Analysis[J].IEEE Transactions onInformation Forensics&Security,2017,13(1):63-78.]使用SVM和随机森林算法来从网络流量中对手机APP进行识别,并取得了99.8%的准确率。然而,相比于流量分类,对手机APP进行识别的任务更加简单。从理论上来说,其仅需正确分类目标APP的一条流就可以正确识别该APP,而流量分类则需要对所有网络流量分类正确。
已有的网络流量分类方法的不足:
(1)已有研究工作往往是面向协议(例如HTTP,FTP,SMTP等)或协议族(例如P2P,WEB,Streaming等)的。但是对于一个特定的应用协议来说,其可能同时被多种不同的应用所使用,因此面向具体应用软件的流量分类更加细粒度;对于一个特定的应用软件来说,其可能使用多种不同的协议来完成不同的业务功能,因此应用软件的网络行为更加多样化。传统的简单流统计特征忽略了每条流中数据包之间的时序变化特点,不能有效的表征不同应用软件的流特征,面向应用软件进行流量分类时准确率低。
(2)已有研究工作对于网络流量的分类结果仅仅依赖于分类器本身的判定。但是具有相似业务功能的不同应用软件可能会产生相似的流,使得分类器在特征空间下难以有效区分,进而导致分类准确率低。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种面向应用软件的网络流量细粒度分类系统及方法,同时考虑细粒度流特征刻画和分类结果置信度检验,提高了分类准确率。
本发明技术解决方案:
一种面向应用软件的网络流量细粒度分类系统,包括:数据收集与预处理模块、特征提取与模型训练模块、流关联分析模块;其中:
数据收集与预处理模块:收集操作系统自身产生的网络流量,该流量为背景流量;收集目标应用软件的网络流量,然后进行预处理,从中过滤掉背景流量数据包和错误数据包,并按照流量五元组(源IP,目的IP,源端口,目的端口,传输层协议)提取出流(flow),其中,一条流是指具有相同五元组的一组连续的数据包;
特征提取与模型训练模块:针对提取出的每条流,获取其包大小序列,按照均匀分布的映射规则将包大小序列映射为状态序列,使用一阶马尔科夫模型对得到的状态序列进行建模,计算该序列的转移概率矩阵,并将转移概率矩阵作为特征向量,使用支持向量机(SVM)算法来训练分类器;
流关联分析模块:对分类器的分类结果进行置信度检验,通过将分类器输出的后验概率与类别概率阈值进行比较,将流样本分为模糊流和非模糊流两类,小于类别阈值的流标记为模糊流,其他标记为非模糊流;将模糊流与非模糊流通过K近邻端口进行关联分析,通过非模糊流的类别标签来修正模糊流的类别标签,得到最终的分类结果。
所述数据收集与预处理模块中,
数据预处理的具体步骤如下:
(1)提取背景流量中出现的IP地址,本机IP地址除外;
(2)解析捕获的网络流量,过滤掉包含(1)中IP地址的数据包以及乱序到达、重传、校验和错误非正常数据包;
(3)对每个应用的网络流量,按照五元组,即源IP,源端口,目的IP,目的端口,传输层协议进行流提取,将网络流量表示为流集合。
所述特征提取与模型训练模块具体步骤如下:
(1)对于每条流,从数据包头中提取包负载大小信息,将流表示为包大小序列,考虑客户端→服务器和服务器→客户端双向流数据,其中客户端→服务器的包大小表示为正值,服务器→客户端的包大小表示为负值;
(2)将原始包大小序列转化为状态转移序列;
(3)计算每条流对应的状态转移序列的转移概率矩阵;
(4)将每个转移概率矩阵按行展开,形成特征向量集。
上述将原始包大小序列转化为状态转移序列,具体步骤如下:
(1)将全部的数据包大小的绝对值按照从小到大的顺序进行排列;
(2)按照等分法对数据包进行分桶,使得每个分桶中的数据包个数满足均匀分布,落在同一个分桶中的数据包映射为同一个状态;
(3)将大小为0、1460和大于1460的数据包作为单独的状态进行映射;
(4)将每个包大小转换为对应的状态。
所述流关联分析模块中,模糊流与非模糊流的区分过程为:
使用SVM算法来训练分类器,SVM的决策函数如下:
其中N表示训练样本的个数,yi表示第i个训练样本的标签,αi为第i个训练样本所对应的拉格朗日系数,K为选定的核函数,b为分类超平面的偏置,f(x)的值正比于样本x到分类超平面的距离;
利用Sigmod函数拟合f(x)的输出,通过公式(2)可给出样本类别的后验概率,它表示对于分类结果的确定程度:
通过将分类器输出的后验概率P与类别概率阈值β进行比较,将低于类别概率阈值的流样本标记为模糊流,将大于或等于类别概率阈值的流样本标记为非模糊流。
所述流关联分析模块中,K近邻端口关联分析的方法如下:
(1)获取模糊流的源IP和源端口:对于模糊流集合中的每个流样本s,获取s的源IPip_src_s和源端口port_src_s。
(2)获取与待识别模糊流具有相同源IP且具有K近邻端口关系的非模糊流的类别标签集合:初始化一个空集合Y,遍历非模糊流集合中的每个流样本e,获取e的源IP ip_src_e和源端口port_src_e,若ip_src_s与ip_src_e相同并且port_src_s–K≤port_src_e≤port_src_s+K,则将e对应的类别标签y添加到集合Y中;
(3)结合非模糊流的类别标签来修正待识别模糊流的类别标签:如果Y不为空,则将s的类别标签修改为Y中出现最多的标签值。
本发明一种面向应用软件的网络流量细粒度分类方法,包括以下步骤:
(1)数据收集与预处理:收集操作系统自身产生的网络流量,该流量为背景流量。收集目标应用软件的网络流量,然后进行预处理,从中过滤掉背景流量数据包和错误数据包,并按照流量五元组提取出流(flow),五元组即源IP,目的IP,源端口,目的端口,传输层协议;其中,一条流是指具有相同五元组的一组连续的数据包;
(2)特征提取与模型训练:针对提取出的每条流,获取其包大小序列,按照均匀分布的映射规则将包大小序列映射为状态序列,使用一阶马尔科夫模型对得到的状态序列进行建模,计算该序列的转移概率矩阵,并将转移概率矩阵作为特征向量,使用支持向量机(SVM)算法来训练分类器;
(3)流关联分析:对分类器的分类结果进行置信度检验,通过将分类器输出的后验概率与类别概率阈值进行比较,将流样本分为模糊流和非模糊流两类,小于类别阈值的流标记为模糊流,其他标记为非模糊流;将模糊流与非模糊流通过K近邻端口进行关联分析,通过非模糊流的类别标签来修正模糊流的类别标签,得到最终的分类结果。
本发明与现有技术相比的优点在于:
(1)同一种应用协议往往被多种不同的应用软件所使用,因此将网络流量按照具体的应用软件进行分类更加细粒度。应用软件往往使用多种不同的协议来完成不同的业务功能,相比于单一的网络协议,其网络行为更加多样化,需要更加细粒度的刻画不同应用软件流量特征。本发明提出的基于马尔科夫链的流特征提取方法,使用一阶马尔科夫模型对每条流中的包大小序列进行建模,将得到的转移概率矩阵作为该条流的特征向量。与传统的流统计特征相比,基于马尔科夫链的特征提取方法考虑了流中数据包之间的时序变化特点。
(2)不同的应用软件也可能会表现出相似的网络行为,使得它们的网络流在特征空间难以区分,进而导致分类准确率低。本发明通过对分类器的分类结果进行置信度检验,将后验概率低于概率阈值的模糊流与高于概率阈值的非模糊流通过K近邻端口进行关联分析,修正模糊流的类别标签,有效的提高了分类准确率。
附图说明
图1为本发明系统组成框图;
图2为本发明特征提取与模型训练模块中特征提取流程图;
图3为本发明中端口空间局部性图;
图4为本发明中K近邻端口关联图,其中(a)端口关联操作前,(b)端口关联操作后。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
如图1所示,本发明的一种面向应用软件的网络流量细粒度分类系统包括:数据收集与预处理模块、特征提取与模型训练模块、流关联分析模块。
步骤1:数据收集与预处理:搭建干净的虚拟机环境,收集操作系统背景流量;然后逐一运行目标应用软件,人工遍历目标软件的各个业务功能模块,收集目标应用软件的网络流量;网络流量收集完成后,从中过滤掉背景流量数据包和错误数据包,并按照流量五元组(源IP,目的IP,源端口,目的端口,传输层协议)提取出流(flow)。
步骤2:特征提取与模型训练:针对提取出的每条流,获取其包大小序列,按照均匀分布的映射规则将包大小序列映射为状态序列,使用一阶马尔科夫模型对得到的状态序列进行建模,计算该序列的转移概率矩阵,并将转移概率矩阵作为特征向量,使用支持向量机(SVM)算法来训练分类器。
步骤3:流关联分析:对分类器的分类结果进行置信度检验,通过将分类器输出的后验概率与类别概率阈值进行比较,将小于类别概率阈值的流标记为模糊流,大于等于类别概率阈值的流标记为非模糊流,将模糊流与非模糊流通过K近邻端口进行关联分析,修正模糊流的类别标签,得到最终的分类结果。
步骤1:数据收集与预处理具体实施步骤
数据收集的具体步骤如下:
(1)创建一个新的虚拟机,安装Windows7操作系统(也可使用其他版本的操作系统);
(2)让系统运行两个小时,与此同时用数据包捕获工具tshark进行流量捕获,此处捕获的流量为背景流量;
(3)运行目标应用软件,人工遍历目标应用软件的各个功能模块,与此同时用tshark进行流量捕获;
(4)目标应用软件运行1小时后,关闭目标应用软件,停止流量捕获并保存捕获的网络流量。
(5)卸载该目标应用软件,安装下一个目标应用软件,继续步骤(3),直到所有目标应用软件流量收集结束。
数据预处理的具体步骤如下:
(1)提取背景流量中出现的IP地址(本机IP地址除外);
(2)解析捕获的网络流量,过滤掉包含(1)中IP地址的数据包以及乱序到达、重传、校验和错误等非正常数据包;
(3)对每个应用的网络流量,按照(源IP,源端口,目的IP,目的端口,传输层协议)五元组来进行流提取,将网络流量表示为流集合。
步骤2:特征提取与模型训练具体实施步骤
1.特征提取
如图2所示,利用马尔科夫链来对每条流中的包大小序列进行建模,提取流特征具体步骤如下:
(1)对于每条流,从数据包头中提取包负载大小信息,将流表示为包大小序列。考虑客户端→服务器和服务器→客户端双向流数据,其中客户端→服务器的包大小表示为正值,服务器→客户端的包大小表示为负值;
(2)将原始包大小序列转化为状态转移序列,具体步骤如下:
1)将全部的数据包大小的绝对值按照从小到大的顺序进行排列;
2)按照等分法对数据包进行分桶,使得每个分桶中的数据包个数满足均匀分布,落在同一个分桶中的数据包映射为同一个状态;
3)将大小为0、1460和大于1460的数据包作为单独的状态进行映射;
4)将每个包大小转换为对应的状态。
(3)计算每条流对应的状态转移序列的转移概率矩阵;
(4)将每个转移概率矩阵按行展开,形成特征向量集。
2.模型训练
考虑到特征提取后形成的特征向量是稀疏的高维向量,所以在进行模型训练之前,先通过PCA对特征向量进行了降维处理,然后使用SVM算法进行多类别分类器训练,得到分类器模型。
步骤3:流关联分析实现步骤
应用软件出于业务功能或性能的需要,在运行过程中往往建立多条连接,虽然应用软件会使用随机端口来与服务器端建立连接,但是一旦其选择了某个端口来初始化第一条连接,接下来在建立其他连接时往往会选择该端口附近的端口来使用,将这种现象称之为应用软件端口使用的“空间局部性”。图3展示了本发明测试的12种不同应用软件端口使用的空间局部性特点。从图3中可以看出,每个应用软件在运行过程中使用的端口范围具有连续性,它们往往在第一条连接使用的端口附近来选择其他端口建立后续的连接。虽然不同应用之间使用的端口范围有一定的重合,但是其对最终的结果不会产生严重影响(这可以从图4的例子中得到验证,后面会进行分析)。
考虑到功能相似的应用软件可能会产生相似的流,即使提取的细粒度的特征可能也无法将它们在特征空间很好的区分,仅仅依赖于分类器本身给出的类别判定结果准确率低。通过设定类别概率阈值将流样本分为模糊流和非模糊流两类,利用K近邻端口来对模糊流和非模糊流进行关联,通过非模糊流的类别标签来修正模糊流的类别标签。
(1)模糊流与非模糊流区分
本发明使用SVM算法来训练分类器,SVM的决策函数如下:
从公式(1)中可以看出,f(x)的值正比于样本x到分类超平面的距离。该算法的核心思想是样本距离分类超平面越近,被分类正确的可能性越低,样本距离分类超平面越远,被分类正确的可能性越高。更一般地,可以通过公式(2)给出样本类别的后验概率,它表示了对于分类结果的确定程度。
通过将分类器输出的后验概率P与类别概率阈值β进行比较,将低于类别概率阈值的流样本标记为模糊流(如图4中的(a)椭圆中样本所示),这些模糊流对应于不同应用产生的相似流。将大于或等于类别概率阈值的流样本标记为非模糊流(如图4中的(a)中虚线方框中的样本所示),这些非模糊流对应于不同应用产生的“个性化”流。
(2)K近邻端口关联
从图4中(a)中可以看出,同一应用软件在产生模糊流的同时,会不可避免的产生“个性化”的非模糊流,这是由于不同的应用软件的业务功能的差异性,不同开发人员的差异性等原因导致的。通过利用应用软件端口使用的空间局部性特点,将模糊流与非模糊流进行关联分析,进一步修正模糊流的类别标签。如图4中的(b)所示,经过流关联分析之后,大部分被误分类的模糊流样本被重新标记为了正确的类别。虽然由于不同应用之间端口使用范围的部分重合,使得在进行关联分析后,少量原本分类正确的模糊流样本被标记为了错误的类别,但是从整体来看,关联分析之后的被误分类的模糊流样本大大减少。
K近邻端口关联具体算法如下:
(1)获取模糊流的源IP和源端口:对于模糊流集合中的每个流样本s,获取s的源IPip_src_s和源端口port_src_s。
(2)获取与待识别模糊流具有相同源IP且具有K近邻端口关系的非模糊流的类别标签集合:初始化一个空集合Y。遍历非模糊流集合中的每个流样本e,获取e的源IP ip_src_e和源端口port_src_e,若ip_src_s与ip_src_e相同并且port_src_s–K≤port_src_e≤port_src_s+K,则将e对应的类别标签y添加到集合Y中。
(3)结合非模糊流的类别标签来修正待识别模糊流的类别标签:如果Y不为空,则将s的类别标签修改为Y中出现最多的标签值。
总之,针对已有的基于机器学习技术和流统计特征的方法不能有效的表征不同应用软件的流特征和对于不同应用软件产生的相似流不能进行有效判别的问题,本发明一方面利用马尔科夫链对每条流的流特征进行细粒度的刻画,有效的表征了不同应用软件的流特征,另一方面利用不同应用软件端口使用所具有的“空间局部性”特点对分类器不能有效判别的相似流进行关联分析,进一步提高了分类准确率。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (7)
1.一种面向应用软件的网络流量细粒度分类系统,其特征在于,包括:数据收集与预处理模块、特征提取与模型训练模块、流关联分析模块;其中:
数据收集与预处理模块:收集操作系统自身产生的网络流量,该流量为背景流量;收集目标应用软件的网络流量,然后进行预处理,从中过滤掉背景流量数据包和错误数据包,并按照流量五元组(源IP,目的IP,源端口,目的端口,传输层协议)提取出流(flow),其中,一条流是指具有相同五元组的一组连续的数据包;
特征提取与模型训练模块:针对提取出的每条流,获取其包大小序列,按照均匀分布的映射规则将包大小序列映射为状态序列,使用一阶马尔科夫模型对得到的状态序列进行建模,计算该序列的转移概率矩阵,并将转移概率矩阵作为特征向量,使用支持向量机(SVM)算法来训练分类器;
流关联分析模块:对分类器的分类结果进行置信度检验,通过将分类器输出的后验概率与类别概率阈值进行比较,将流样本分为模糊流和非模糊流两类,小于类别阈值的流标记为模糊流,其他标记为非模糊流;将模糊流与非模糊流通过K近邻端口进行关联分析,通过非模糊流的类别标签来修正模糊流的类别标签,得到最终的分类结果。
2.根据权利要求1所述的面向应用软件的网络流量细粒度分类系统,其特征在于:所述数据收集与预处理模块中,
数据预处理的具体步骤如下:
(1)提取背景流量中出现的IP地址,本机IP地址除外;
(2)解析捕获的网络流量,过滤掉包含(1)中IP地址的数据包以及乱序到达、重传、校验和错误非正常数据包;
(3)对每个应用的网络流量,按照五元组,即源IP,源端口,目的IP,目的端口,传输层协议进行流提取,将网络流量表示为流集合。
3.根据权利要求1所述的面向应用软件的网络流量细粒度分类系统,其特征在于:所述特征提取与模型训练模块具体步骤如下:
(1)对于每条流,从数据包头中提取包负载大小信息,将流表示为包大小序列,考虑客户端→服务器和服务器→客户端双向流数据,其中客户端→服务器的包大小表示为正值,服务器→客户端的包大小表示为负值;
(2)将原始包大小序列转化为状态转移序列;
(3)计算每条流对应的状态转移序列的转移概率矩阵;
(4)将每个转移概率矩阵按行展开,形成特征向量集。
4.根据权利要求3所述的面向应用软件的网络流量细粒度分类系统,其特征在于:将原始包大小序列转化为状态转移序列,具体步骤如下:
(1)将全部的数据包大小的绝对值按照从小到大的顺序进行排列;
(2)按照等分法对数据包进行分桶,使得每个分桶中的数据包个数满足均匀分布,落在同一个分桶中的数据包映射为同一个状态;
(3)将大小为0、1460和大于1460的数据包作为单独的状态进行映射;
(4)将每个包大小转换为对应的状态。
5.根据权利要求1所述的面向应用软件的网络流量细粒度分类系统,其特征在于:所述流关联分析模块中,模糊流与非模糊流的区分过程为:
使用SVM算法来训练分类器,SVM的决策函数如下:
其中N表示训练样本的个数,yi表示第i个训练样本的标签,αi为第i个训练样本所对应的拉格朗日系数,K为选定的核函数,b为分类超平面的偏置,f(x)的值正比于样本x到分类超平面的距离;
利用Sigmod函数拟合f(x)的输出,通过公式(2)可给出样本类别的后验概率,它表示对于分类结果的确定程度:
通过将分类器输出的后验概率P与类别概率阈值β进行比较,将低于类别概率阈值的流样本标记为模糊流,将大于或等于类别概率阈值的流样本标记为非模糊流。
6.根据权利要求1所述的面向应用软件的网络流量细粒度分类系统,其特征在于:所述流关联分析模块中,K近邻端口关联分析的方法如下:
(1)获取模糊流的源IP和源端口:对于模糊流集合中的每个流样本s,获取s的源IP ip_src_s和源端口port_src_s。
(2)获取与待识别模糊流具有相同源IP且具有K近邻端口关系的非模糊流的类别标签集合:初始化一个空集合Y,遍历非模糊流集合中的每个流样本e,获取e的源IP ip_src_e和源端口port_src_e,若ip_src_s与ip_src_e相同并且port_src_s–K≤port_src_e≤port_src_s+K,则将e对应的类别标签y添加到集合Y中;
(3)结合非模糊流的类别标签来修正待识别模糊流的类别标签:如果Y不为空,则将s的类别标签修改为Y中出现最多的标签值。
7.一种面向应用软件的网络流量细粒度分类方法,其特征在于,包括以下步骤:
(1)数据收集与预处理:收集操作系统自身产生的网络流量,该流量为背景流量;收集目标应用软件的网络流量,然后进行预处理,从中过滤掉背景流量数据包和错误数据包,并按照流量五元组提取出流(flow),五元组即源IP,目的IP,源端口,目的端口,传输层协议;其中,一条流是指具有相同五元组的一组连续的数据包;
(2)特征提取与模型训练:针对提取出的每条流,获取其包大小序列,按照均匀分布的映射规则将包大小序列映射为状态序列,使用一阶马尔科夫模型对得到的状态序列进行建模,计算该序列的转移概率矩阵,并将转移概率矩阵作为特征向量,使用支持向量机(SVM)算法来训练分类器;
(3)流关联分析:对分类器的分类结果进行置信度检验,通过将分类器输出的后验概率与类别概率阈值进行比较,将流样本分为模糊流和非模糊流两类,小于类别阈值的流标记为模糊流,其他标记为非模糊流;将模糊流与非模糊流通过K近邻端口进行关联分析,通过非模糊流的类别标签来修正模糊流的类别标签,得到最终的分类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910232314.7A CN109981474A (zh) | 2019-03-26 | 2019-03-26 | 一种面向应用软件的网络流量细粒度分类系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910232314.7A CN109981474A (zh) | 2019-03-26 | 2019-03-26 | 一种面向应用软件的网络流量细粒度分类系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109981474A true CN109981474A (zh) | 2019-07-05 |
Family
ID=67080629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910232314.7A Pending CN109981474A (zh) | 2019-03-26 | 2019-03-26 | 一种面向应用软件的网络流量细粒度分类系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981474A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691003A (zh) * | 2019-09-04 | 2020-01-14 | 北京天融信网络安全技术有限公司 | 一种网络流量分类方法、装置和存储介质 |
CN110708341A (zh) * | 2019-11-15 | 2020-01-17 | 中国科学院信息工程研究所 | 一种基于远程桌面加密网络流量模式差异的用户行为检测方法及系统 |
CN110796196A (zh) * | 2019-10-30 | 2020-02-14 | 中国科学院信息工程研究所 | 一种基于深度判别特征的网络流量分类系统及方法 |
CN111382780A (zh) * | 2020-02-13 | 2020-07-07 | 中国科学院信息工程研究所 | 一种基于http不同版本的加密网站细粒度分类方法和装置 |
CN111786903A (zh) * | 2020-05-28 | 2020-10-16 | 西安电子科技大学 | 一种基于约束模糊聚类和粒计算的网络流量分类方法 |
CN112714079A (zh) * | 2020-12-14 | 2021-04-27 | 成都安思科技有限公司 | 一种vpn环境下的目标服务识别方法 |
CN114866485A (zh) * | 2022-03-11 | 2022-08-05 | 南京华飞数据技术有限公司 | 一种基于聚合熵的网络流量分类方法及分类系统 |
WO2023119562A1 (ja) * | 2021-12-23 | 2023-06-29 | 日本電気株式会社 | 学習装置、ストレス推定装置、学習方法、ストレス推定方法及び記憶媒体 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078897A (zh) * | 2012-11-29 | 2013-05-01 | 中山大学 | 一种实现Web业务细粒度分类与管理的系统 |
CN103297427A (zh) * | 2013-05-21 | 2013-09-11 | 中国科学院信息工程研究所 | 一种未知网络协议识别方法及系统 |
US20160283859A1 (en) * | 2015-03-25 | 2016-09-29 | Cisco Technology, Inc. | Network traffic classification |
CN108900432A (zh) * | 2018-07-05 | 2018-11-27 | 中山大学 | 一种基于网络流行为的内容感知方法 |
-
2019
- 2019-03-26 CN CN201910232314.7A patent/CN109981474A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078897A (zh) * | 2012-11-29 | 2013-05-01 | 中山大学 | 一种实现Web业务细粒度分类与管理的系统 |
CN103297427A (zh) * | 2013-05-21 | 2013-09-11 | 中国科学院信息工程研究所 | 一种未知网络协议识别方法及系统 |
US20160283859A1 (en) * | 2015-03-25 | 2016-09-29 | Cisco Technology, Inc. | Network traffic classification |
CN108900432A (zh) * | 2018-07-05 | 2018-11-27 | 中山大学 | 一种基于网络流行为的内容感知方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691003A (zh) * | 2019-09-04 | 2020-01-14 | 北京天融信网络安全技术有限公司 | 一种网络流量分类方法、装置和存储介质 |
CN110796196A (zh) * | 2019-10-30 | 2020-02-14 | 中国科学院信息工程研究所 | 一种基于深度判别特征的网络流量分类系统及方法 |
CN110796196B (zh) * | 2019-10-30 | 2022-05-10 | 中国科学院信息工程研究所 | 一种基于深度判别特征的网络流量分类系统及方法 |
CN110708341A (zh) * | 2019-11-15 | 2020-01-17 | 中国科学院信息工程研究所 | 一种基于远程桌面加密网络流量模式差异的用户行为检测方法及系统 |
CN110708341B (zh) * | 2019-11-15 | 2020-09-29 | 中国科学院信息工程研究所 | 一种基于远程桌面加密网络流量模式差异的用户行为检测方法及系统 |
CN111382780B (zh) * | 2020-02-13 | 2023-11-03 | 中国科学院信息工程研究所 | 一种基于http不同版本的加密网站细粒度分类方法和装置 |
CN111382780A (zh) * | 2020-02-13 | 2020-07-07 | 中国科学院信息工程研究所 | 一种基于http不同版本的加密网站细粒度分类方法和装置 |
CN111786903A (zh) * | 2020-05-28 | 2020-10-16 | 西安电子科技大学 | 一种基于约束模糊聚类和粒计算的网络流量分类方法 |
CN112714079A (zh) * | 2020-12-14 | 2021-04-27 | 成都安思科技有限公司 | 一种vpn环境下的目标服务识别方法 |
CN112714079B (zh) * | 2020-12-14 | 2022-07-12 | 成都安思科技有限公司 | 一种vpn环境下的目标服务识别方法 |
WO2023119562A1 (ja) * | 2021-12-23 | 2023-06-29 | 日本電気株式会社 | 学習装置、ストレス推定装置、学習方法、ストレス推定方法及び記憶媒体 |
CN114866485A (zh) * | 2022-03-11 | 2022-08-05 | 南京华飞数据技术有限公司 | 一种基于聚合熵的网络流量分类方法及分类系统 |
CN114866485B (zh) * | 2022-03-11 | 2023-09-29 | 南京华飞数据技术有限公司 | 一种基于聚合熵的网络流量分类方法及分类系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981474A (zh) | 一种面向应用软件的网络流量细粒度分类系统及方法 | |
WO2020119662A1 (zh) | 一种网络流量分类方法 | |
CN102291279B (zh) | P2p网络流量检测方法 | |
CN102315974B (zh) | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 | |
CN102685016B (zh) | 互联网流量区分方法 | |
CN110808971B (zh) | 一种基于深度嵌入的未知恶意流量主动检测系统及方法 | |
CN109861957A (zh) | 一种移动应用私有加密协议的用户行为精细化分类方法及系统 | |
CN113989583A (zh) | 一种互联网恶意流量检测方法及系统 | |
CN104767692A (zh) | 一种网络流量分类方法 | |
CN109218223A (zh) | 一种基于主动学习的鲁棒性网络流量分类方法及系统 | |
CN107786388A (zh) | 一种基于大规模网络流数据的异常检测系统 | |
CN110034966B (zh) | 一种基于机器学习的数据流分类方法及系统 | |
WO2021104444A1 (zh) | 一种数据流分类方法、装置及系统 | |
CN103780588A (zh) | 数字家庭网络中用户异常行为检测方法 | |
CN112367274A (zh) | 一种工控未知协议流量识别方法 | |
CN112491894A (zh) | 一种基于时空特征学习的物联网网络攻击流量监测系统 | |
CN111526101A (zh) | 一种基于机器学习的物联网动态流量分类方法 | |
Liu et al. | Dynamic traffic classification algorithm and simulation of energy Internet of things based on machine learning | |
CN113382039B (zh) | 一种基于5g移动网络流量分析的应用识别方法和系统 | |
CN110266603A (zh) | 基于http协议的身份认证业务网络流量分析系统及方法 | |
Oudah et al. | A novel features set for internet traffic classification using burstiness | |
CN114666273B (zh) | 一种面向应用层未知网络协议的流量分类方法 | |
CN107222343A (zh) | 基于支持向量机的专用网络流分类方法 | |
CN116599720A (zh) | 一种基于GraphSAGE的恶意DoH流量检测方法、系统 | |
CN108307231A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190705 |
|
WD01 | Invention patent application deemed withdrawn after publication |