CN111541621A - 一种基于转向包间隔概率分布的vpn流量分类方法 - Google Patents
一种基于转向包间隔概率分布的vpn流量分类方法 Download PDFInfo
- Publication number
- CN111541621A CN111541621A CN201911358529.XA CN201911358529A CN111541621A CN 111541621 A CN111541621 A CN 111541621A CN 201911358529 A CN201911358529 A CN 201911358529A CN 111541621 A CN111541621 A CN 111541621A
- Authority
- CN
- China
- Prior art keywords
- flow
- vpn
- packet
- data
- traffic
- 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
Images
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/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- 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/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于转向包间隔概率分布的VPN流量分类方法,其特征在于:1)从网络采集较为广泛的加密流量数据;2)对流量数据进行数据包标识并组流,流以会话的形式表示隐含了更多有助于分类的统计信息3)针对VPN流量和非VPN流量分类,充分考虑到了这两种流量在传输过程中的差异,提取了一种新的高效的特征,称为转向包时间间隔,并且在此基础上通过对转向包时间间隔的概率分布统计更细粒度的对该特征进行了优化拓展,得到了基于转向包时间间隔的概率分布的统计特征;4)因为采用集成学习,拥有较传统流量分类模型更高的准确率和更广泛的应用范围,具有实际应用的优势。
Description
技术领域
本发明涉及互联网应用技术领域,具体涉及一种基于转向包间隔概率分布的VPN流量分类方法。
背景技术
准确分类互联网流量是许多网络管理任务的基础,包括服务质量(QoS)控制,入侵检测和诊断监控。传统的流量分类方法一般是通过检查传输层报头中的16位端口号或调查数据包有效负载中的签名信息。但是随着动态端口技术应用越来越普遍,基于检查端口号的流量分类方法已不再适用,调查数据包的负载涉及到了用户的隐私安全问题,并且加密技术在网络通信上的应用使得第三方无法直接获得数据包的真实负载,这些都使得传统的基于数据包有效负载的流量分类方法不再适用。因此许多研究开始应用机器学习技术统计流量在传输层的特征去进行流量的分类。现今大多数的研究都是对应用进行分类,但是对于VPN和非VPN流量的分类却寥寥无几,这也是因为不同应用的流量在统计上有许多区分较大的特征,比如实时性要求较高的视频应用对应的数据流中,数据包之间的时间间隔相对较短等等。但对于VPN和非VPN流量而言,目前用来区分应用的特征都不太适用。而对于VPN流量的识别又十分重要,许多部门需要对部门内员工使用VPN进行管控,国家机构也需要对网民使用VPN进行管控,这就使VPN流量的识别工作提上了日程。
现在已经存在了许多利用机器学习方法对网络流量进行分类的工作。
现有技术提出了一种基于传输层特征的流量分类方法,来对网络流量进行应用级的分类,其主要包括:首先采集一段时间内的所有数据包,并从数据包中提取出作为训练集的数据流;接着对数据流进行预处理,并统计出数据流的一些统计特征,例如平均数据包大小、各数据包之间到达时间间隔,IP层的数据部分大小的统计特征等;然后对数据流进行手工的分类标记处数据流所属的应用类型构建训练集;之后对构造出的训练集进行机器学习,得到作为分类器的决策树;最后利用构建的分类器实现对位置的数据流数据进行准确的分类。
现有技术提出了一种网络流量聚类的方法,其方法主要包括:首先,收集全局的网络流量,并将采集到的网络流量按照单用户进行流量切割,生成所需的样本数据;然后根据样本数据对流量进行类型分类;接着根据流量类型选择不同的特征进行聚类。
上述运用机器学习对网络流量进行分类的方法,首先都只是对非加密的流量进行分类,而如今加密技术在网络通信方面应用越来越普遍,对加密流量进行流量分类的重要性越来越大,VPN流量本身就运用到了加密技术;其次,这些方法都是针对应用进行分类,无法对VPN和非VPN流量进行识别分类;
最后,这些方法在最终模型的选择上过于简单,使得分类的准确率不是很高。
发明内容
本发明的目的在于提供一种基于转向包间隔概率分布的VPN流量分类方法,以解决上述问题。
为实现上述目的,本发明采用以下技术方案:
一种基于转向包间隔概率分布的VPN流量分类方法,包括以下步骤:
步骤1,加密流量数据采集:在计算机上开启若干种主流应用产生若干种应用的流量,并使用OpenVPN产生每种应用相应的VPN流量,使用Wireshark在计算机进行数据包抓取获得网络流量数据,以pcap文件形式存储,最终得到若干种不同应用的加密流量数据和每种应用对应的VPN流量数据;
步骤2,数据包标识:对采集到的pcap源文件进行数据包的标识,将每个数据包按照八元组标识;
步骤3,组流过程:以步骤2中得到的数据包标识为基础,对每个数据包进行组流;
步骤4,转向包时间间隔特征提取:对每一条流flow进行流特征的提取,通过对齐数据包之间的响应顺序提取了关于流的转向包时间间隔统计特征,具体分为对TCP流的转向包间隔提取和UDP流的转向包间隔提取;
步骤5,统计转向包时间间隔的概率分布;
步骤6,抽取概率分布特征:通过观察步骤5统计的关于转向包间隔的概率分布,我们发现在0到2s区间内VPN流和非VPN流有着明显的差异。因此我们将该区间又划分为50个子区间,提取每个子区间更细粒度的概率分布作为特征,并将不在0到2s这个区间的所有概率分布统一划分到1个特征other中,最终得到51个特征用于训练分类器。
步骤7,训练模型。
进一步的,步骤1中,所采集的流量数据主要包括以下几类:
(1)BROWSING:在浏览或执行任何包括使用浏览器的任务时生成的HTTPS流量;
(2)VPN-BROWSING:使用OpenVPN之后,产生的BROWSING流量;
(3)CHAT:聊天标签标识即时消息应用程序;
(4)VPN-CHAT:使用OpenVPN之后,产生的CHAT流量;
(5)EMAIL:使用Thunderbird客户端以及Alice和Bob Gmail帐户生成的流量样本;客户端被配置为通过SMTP/S传递邮件,并在一个客户端中使用POP3/SSL和在另一个客户端中使用IMAP/SSL接收邮件;
(6)VPN-EMAIL:使用OpenVPN之后,产生的EMAIL流量;
(7)STREAMING:连续且稳定的数据流的多媒体应用程序;
(8)VPN-STREAMING:使用OpenVPN之后,产生的STREAMING流量;
(9)FILE:主要用于发送或接收文件和文档的应用程序;
(10)VPN-FILE:使用OpenVPN之后,产生的FILE流量;
(11)VoIP:语音应用程序生成的所有流量;、
(12)VPN-VoIP:使用OpenVPN之后,产生的VoIP流量;
(13)P2P:文件共享协议;
(14)VPN-P2P:使用OpenVPN之后,产生的P2P流量。
进一步的,步骤2中,其数据包表示为pkt={srcIP,srcsort,protocol,dstIP,dstsort,captime,pktlen,vpn},其中srcIP,srcsort分别表示源IP地址和源端口号,dstIP,dstsort分别表示目标IP地址和目标端口号,protocol表示该数据包对应的传输层协议,captime代表该数据包抓取的时间,pktlen表示该数据包的大小,vpn表示该数据包是否为VPN流量,由此对源文件中每个数据包进行标识,前五个标识作为对数据包组流的依据,而后三个标识是为了之后特征提取的计算。
进一步的,步骤3中,其中一条网络流以五元组的形式表示,表示为flow={srcIP,srcsort,protocol,dstIP,dstsort},其中srcIP,srcsort分别表示源IP地址和源端口号,dstIP,dstsort分别表示目标IP地址和目标端口号,protocol表示该数据包对应的传输层协议;将拥有相同流标识的数据包划分到同一条流中,并且流采用会话的形式,即表示为双向流,源IP地址、源端口号和目标IP地址、目标端口号能够两两互换;同时设置数据包FIN位为1和一个超时参数timeout=15s作为判断流结束的两个依据,对所有采集到的数据包进行组流。
进一步的,步骤4中,TCP流有两种情况:
(1)包含三次握手的TCP流;
(2)不包含三次握手的TCP流。
通过对齐数据包头中的序列号和确认号来确定两个数据包之间的响应关系,并根据两个数据包的传输方向是否相同来判断这两个数据包是否为相邻的转向包,如果是则提取两个包之间的时间间隔;
对于UDP流,根据两个数据包的时间顺序和传输方向来判断是否为相邻转向包,具体来说就是先将流内的所有数据包按照时间排序,然后判断时间上相邻的数据包传输方向是否相反,如果相反则确定为相邻转向包,提取其时间间隔;
最终得到每一条流的转向包时间间隔序列{rev1,rev2,rev3…tevn},其中n表示该流中转向包间隔的数量。
进一步的,步骤5中,分别抽取具有代表性的一条VPN流flow_vpn和一条非VPN流flow_non,它们对应的转向包间隔序列分别为{rev1,rev2,rev3,…,revn1},{rev1,rev2,rev3,…,revn2},其中n1为该VPN流中转向包间隔的数量,n2为该非VPN流中转向包间隔的数量,且为了使两条流的概率分布具有可比性,我们抽取的两条流的n1和n2均在40到50之间。
进一步的,步骤7中,使用集成学习中的随机森林算法训练模型,将每条流提取到的51个特征作为训练集输入得到最终的分类模型,用于对VPN流量和非VPN流量进行二分类。
与现有技术相比,本发明有以下技术效果:
本发明使用流统计特征而没有使用数据包的负载进行流的分类,可以对加密流量进行识别分类;其次提出了一种新的流统计特征,即转向包的时间间隔,因此可以对VPN流量进行识别分类;最后,基于转向包间隔的概率分布进一步挖掘出51个细粒度特征对VPN流量进行分类,并且训练模型上使用集成学习的算法,保证了对VPN流量进行识别分类的高准确率。
附图说明
图1是本发明基于转向包间隔概率分布的VPN流量分类方法框图。
图2是数据包标识过程的流程图。
图3是组流过程的流程图。
图4是特征提取过程的流程图。
图5是TCP三次握手流程图。
图6是转向包时间间隔的概率分布统计图
具体实施方式
以下结合附图对本发明进一步说明:
请参阅图1至图6,一种基于转向包间隔概率分布的VPN流量分类方法,包括以下步骤:
步骤1,加密流量数据采集:在计算机上开启若干种主流应用产生若干种应用的流量,并使用OpenVPN产生每种应用相应的VPN流量,使用Wireshark在计算机进行数据包抓取获得网络流量数据,以pcap文件形式存储,最终得到若干种不同应用的加密流量数据和每种应用对应的VPN流量数据;
步骤2,数据包标识:对采集到的pcap源文件进行数据包的标识,将每个数据包按照八元组标识;
步骤3,组流过程:以步骤2中得到的数据包标识为基础,对每个数据包进行组流;
步骤4,转向包时间间隔特征提取:对每一条流flow进行流特征的提取,通过对齐数据包之间的响应顺序提取了关于流的转向包时间间隔统计特征,具体分为对TCP流的转向包间隔提取和UDP流的转向包间隔提取;
步骤5,统计转向包时间间隔的概率分布;
步骤6,抽取概率分布特征:通过观察步骤5统计的关于转向包间隔的概率分布,我们发现在0到2s区间内VPN流和非VPN流有着明显的差异。因此我们将该区间又划分为50个子区间,提取每个子区间更细粒度的概率分布作为特征,并将不在0到2s这个区间的所有概率分布统一划分到1个特征other中,最终得到51个特征用于训练分类器。
步骤7,训练模型。
步骤1中,所采集的流量数据主要包括以下几类:
(1)BROWSING:在浏览或执行任何包括使用浏览器的任务时生成的HTTPS流量;
(2)VPN-BROWSING:使用OpenVPN之后,产生的BROWSING流量;
(3)CHAT:聊天标签标识即时消息应用程序;
(4)VPN-CHAT:使用OpenVPN之后,产生的CHAT流量;
(5)EMAIL:使用Thunderbird客户端以及Alice和Bob Gmail帐户生成的流量样本;客户端被配置为通过SMTP/S传递邮件,并在一个客户端中使用POP3/SSL和在另一个客户端中使用IMAP/SSL接收邮件;
(6)VPN-EMAIL:使用OpenVPN之后,产生的EMAIL流量;
(7)STREAMING:连续且稳定的数据流的多媒体应用程序;
(8)VPN-STREAMING:使用OpenVPN之后,产生的STREAMING流量;
(9)FILE:主要用于发送或接收文件和文档的应用程序;
(10)VPN-FILE:使用OpenVPN之后,产生的FILE流量;
(11)VoIP:语音应用程序生成的所有流量;、
(12)VPN-VoIP:使用OpenVPN之后,产生的VoIP流量;
(13)P2P:文件共享协议;
(14)VPN-P2P:使用OpenVPN之后,产生的P2P流量。
步骤2中,其数据包表示为pkt={srcIP,srcsort,protocol,dstIP,dstsort,captime,pktlen,vpn},其中srcIP,srcsort分别表示源IP地址和源端口号,dstIP,dstsort分别表示目标IP地址和目标端口号,protocol表示该数据包对应的传输层协议,captime代表该数据包抓取的时间,pktlen表示该数据包的大小,vpn表示该数据包是否为VPN流量,由此对源文件中每个数据包进行标识,前五个标识作为对数据包组流的依据,而后三个标识是为了之后特征提取的计算。
步骤3中,其中一条网络流以五元组的形式表示,表示为flow={srcIP,srcsort,protocol,dstIP,dstsort},其中srcIP,srcsort分别表示源IP地址和源端口号,dstIP,dstsort分别表示目标IP地址和目标端口号,protocol表示该数据包对应的传输层协议;将拥有相同流标识的数据包划分到同一条流中,并且流采用会话的形式,即表示为双向流,源IP地址、源端口号和目标IP地址、目标端口号能够两两互换;同时设置数据包FIN位为1和一个超时参数timeout=15s作为判断流结束的两个依据,对所有采集到的数据包进行组流。
步骤4中,TCP流有两种情况:
(1)包含三次握手的TCP流;
(2)不包含三次握手的TCP流。
通过对齐数据包头中的序列号和确认号来确定两个数据包之间的响应关系,并根据两个数据包的传输方向是否相同来判断这两个数据包是否为相邻的转向包,如果是则提取两个包之间的时间间隔;
对于UDP流,根据两个数据包的时间顺序和传输方向来判断是否为相邻转向包,具体来说就是先将流内的所有数据包按照时间排序,然后判断时间上相邻的数据包传输方向是否相反,如果相反则确定为相邻转向包,提取其时间间隔;
最终得到每一条流的转向包时间间隔序列{rev1,rev2,rev3…revn},其中n表示该流中转向包间隔的数量。
步骤5中,分别抽取具有代表性的一条VPN流flow_vpn和一条非VPN流flow_non,它们对应的转向包间隔序列分别为{rev1,rev2,rev3,…,revn1},{rev1,rev2,rev3,…,revn2},其中n1为该VPN流中转向包间隔的数量,n2为该非VPN流中转向包间隔的数量,且为了使两条流的概率分布具有可比性,我们抽取的两条流的n1和n2均在40到50之间。
步骤7中,使用集成学习中的随机森林算法训练模型,将每条流提取到的51个特征作为训练集输入得到最终的分类模型,用于对VPN流量和非VPN流量进行二分类。
具体实施例:
本发明的具体实施过程包括数据采集过程、数据包标识过程、组流过程、特征提取过程、概率分布统计过程、训练模型过程。图1是本发明基于转向包间隔概率分布的VPN流量分类方法框图。
1.数据采集过程
众所周知网络上充斥着成百上千种应用产生的流量,这些应用大体上分为这七类:BROWSING、CHAT、EMAIL、FILE TRANSFER、STREAMING、VoIP和P2P。为了得到具有一般性的网络流量,本机分别开启七种主流应用产生七种应用的流量,并配合使用OpenVPN产生每种应用相应的VPN流量,使用Wireshark在本机进行数据包抓取获得网络流量数据,且这些流量都是经过加密处理的。最终得到七种不同应用的加密流量数据和每种应用对应的VPN流量数据。
2.数据包标识过程
图2展示了数据包标识的整个流程。首先通过Wireshark我们采集到了原始的流量数据,这些流量是以PCAP文件的形式存储在磁盘中,接下来通过代码读取这些PCAP源文件对文件中每个流量数据包进行标识工作。将每个数据包按照八元组标识,其数据包可表示为pkt={srcIP,srcsort,protocol,dstIP,dstsort,captime,pktlen,vpn},其中srcIP,srcsort分别表示源IP地址和源端口号,dstIP,dstsort分别表示目标IP地址和目标端口号,protocol表示该数据包对应的传输层协议,captime代表该数据包抓取的时间,pktlen表示该数据包的大小,vpn表示该数据包是否为VPN流量,由此对源文件中每个数据包进行标识,前五个标识作为对数据包组流的依据,而后三个标识是为了之后特征提取的计算。
3.组流过程
图3是组流的整个过程框图。在得到了每个数据包的表示之后,对每个数据包进行组流。其中一条网络流以五元组的形式表示,表示为flow={srcIP,srcsort,protocol,dstIP,dstsort},其中srcIP,srcsort分别表示源IP地址和源端口号,dstIP,dstsort分别表示目标IP地址和目标端口号,protocol表示该数据包对应的传输层协议。将拥有相同流标识的数据包划分到同一条流中,并且流采用会话的形式,即表示为双向流,源IP地址、源端口号和目标IP地址、目标端口号可以两两互换,使用这样的表示形式使得一条流内隐含了更多的统计信息。同时设置FIN位为1和一个超时参数timeout=15s作为判断流结束的两个依据,其过程具体为:当扫描到新的数据包时,提取数据包的前五个标识与已有的流标识做对比,如果属于已有流且捕获的时间与该流最后一个数据包的捕获时间相差小于15秒,则将该数据包划为该流,如果该包的FIN位为1,则判断该流结束;如果属于已有流但捕获的时间与该流最后一个数据包的捕获时间相差大于15秒,则划为新流,且将该数据包的前五个标识作为新流的流标识;如果不属于已有流,则划为新流,且将该数据包的前五个标识作为新流的流标识。重复上述操作,直到所有的数据包都划分完毕。
4.特征提取过程
图4展示了整个特征提取的步骤。具体来说,对每一条流flow进行转向包时间间隔特征的提取,分为对TCP流的转向包间隔提取和UDP流的转向包间隔提取:
对于TCP流来说,因为我们在组流时设置了超时判断流结束的时间为15s,即如果一条流过了15s没有数据包继续到达,则判断该流结束,所以最终的TCP流有两种情况:
(1)包含三次握手的TCP流;
(2)不包含三次握手的TCP流。
因为三次握手期间数据包的传输模式与握手后数据包的传输模式略有区别,所以在具体实现转向包间隔的提取时方法略有不同,图5是TCP三次握手的过程,具体方法为:首先提取该TCP流第一个数据包的SYN标志位,若该位为1,则证明这条流是以三次握手协议开始的,若该不为1,则证明这条流是因为超时而划分出的新流。两种情况总的思想都是通过对齐数据包头中的序列号和确认号来确定两个数据包之间的响应关系,并根据两个数据包的传输方向是否相同来判断这两个数据包是否为相邻的转向包,如果两个数据包确定是相邻的响应关系,并且传输方向相反,则提取两个包之间的时间间隔作为一个转向包时间间隔;
对于UDP流来说,因为数据包头没有对应的序列号和确认号信息,所以只需根据两个数据包的时间顺序和传输方向来判断是否为相邻转向包,具体来说就是先将流内的所有数据包按照时间排序,然后判断时间上相邻的数据包传输方向是否相反,如果相反则确定为相邻转向包,提取其时间间隔。
最终得到每一条流的转向包时间间隔序列{rev1,rev2,rev3…revn},其中n表示该流中转向包间隔的数量。
5.概率分布统计过程
分别抽取具有代表性的一条VPN流flow_vpn和一条非VPN流flow_non,它们对应的转向包间隔序列分别为{rev1,rev2,rev3,…,revn1},{rev1,rev2,rev3,…,revn2},其中n1为该VPN流中转向包间隔的数量,n2为该非VPN流中转向包间隔的数量,且为了使两条流的概率分布具有可比性,我们抽取的两条流的n1和n2均在40到50之间。接着横轴取时间,边界为0到15s;纵轴取在相应时间区间转向包间隔所占的比例,绘制关于转向包时间间隔的概率分布图。图6是概率分布统计的结果。可以看出在0到2s区间内VPN和非VPN流有着明显的差异,为了得到更细粒度的差异,我们将0到2s这个区间划分为50个子区间,并将这50个子区间内的概率分布作为50个特征为{feature1,feature2,…,feature50},将0到2s区间以外的概率分布作为1个特征为{other},最后加上vpn或者non_vpn的类标签构成特征向量f={feature1,feature2,…,feature51,other,vpn/non_vpn}共52个特征作为训练集用来训练最终的分类模型。
6.模型训练过程
考虑到分类的准确性,使用集成学习中的随机森林算法训练分类器,该算法的准确率高并且因为采用了重采样技术,降低了过拟合的风险,适用于VPN流量的分类。最终我们将每条流提取到的52个特征集作为训练集,采用随机森林算法对模型进行训练,分类的准确率达到了92%以上。
Claims (7)
1.一种基于转向包间隔概率分布的VPN流量分类方法,其特征在于,包括以下步骤:
步骤1,加密流量数据采集:在计算机上开启若干种主流应用产生若干种应用的流量,并使用OpenVPN产生每种应用相应的VPN流量,使用Wireshark在计算机进行数据包抓取获得网络流量数据,以pcap文件形式存储,最终得到若干种不同应用的加密流量数据和每种应用对应的VPN流量数据;
步骤2,数据包标识:对采集到的pcap源文件进行数据包的标识,将每个数据包按照八元组标识;
步骤3,组流过程:以步骤2中得到的数据包标识为基础,对每个数据包进行组流;
步骤4,转向包时间间隔特征提取:对每一条流flow进行流特征的提取,通过对齐数据包之间的响应顺序提取了关于流的转向包时间间隔统计特征,具体分为对TCP流的转向包间隔提取和UDP流的转向包间隔提取;
步骤5,统计转向包时间间隔的概率分布;
步骤6,抽取概率分布特征:通过观察步骤5统计的关于转向包间隔的概率分布,我们发现在0到2s区间内VPN流和非VPN流有着明显的差异;因此我们将该区间又划分为50个子区间,提取每个子区间更细粒度的概率分布作为特征,并将不在0到2s这个区间的所有概率分布统一划分到1个特征other中,最终得到51个特征用于训练分类器;
步骤7,训练模型。
2.根据权利要求1所述的一种基于转向包间隔概率分布的VPN流量分类方法,其特征在于,步骤1中,所采集的流量数据主要包括以下几类:
(1)BROWSING:在浏览或执行任何包括使用浏览器的任务时生成的HTTPS流量;
(2)VPN-BROWSING:使用OpenVPN之后,产生的BROWSING流量;
(3)CHAT:聊天标签标识即时消息应用程序;
(4)VPN-CHAT:使用OpenVPN之后,产生的CHAT流量;
(5)EMAIL:使用Thunderbird客户端以及Alice和Bob Gmail帐户生成的流量样本;客户端被配置为通过SMTP/S传递邮件,并在一个客户端中使用POP3/SSL和在另一个客户端中使用IMAP/SSL接收邮件;
(6)VPN-EMAIL:使用OpenVPN之后,产生的EMAIL流量;
(7)STREAMING:连续且稳定的数据流的多媒体应用程序;
(8)VPN-STREAMING:使用OpenVPN之后,产生的STREAMING流量;
(9)FILE:主要用于发送或接收文件和文档的应用程序;
(10)VPN-FILE:使用OpenVPN之后,产生的FILE流量;
(11)VoIP:语音应用程序生成的所有流量;、
(12)VPN-VoIP:使用OpenVPN之后,产生的VoIP流量;
(13)P2P:文件共享协议;
(14)VPN-P2P:使用OpenVPN之后,产生的P2P流量。
3.根据权利要求1所述的一种基于转向包间隔概率分布的VPN流量分类方法,其特征在于,步骤2中,其数据包表示为pkt={srcIP,srcsort,protocol,dstIP,dstsort,captime,pktlen,vpn},其中srcIP,srcsort分别表示源IP地址和源端口号,dstIP,dstsort分别表示目标IP地址和目标端口号,protocol表示该数据包对应的传输层协议,captime代表该数据包抓取的时间,pktlen表示该数据包的大小,vpn表示该数据包是否为VPN流量,由此对源文件中每个数据包进行标识,前五个标识作为对数据包组流的依据,而后三个标识是为了之后特征提取的计算。
4.根据权利要求1所述的一种基于转向包间隔概率分布的VPN流量分类方法,其特征在于,步骤3中,其中一条网络流以五元组的形式表示,表示为flow={srcIP,srcsort,protocol,dstIP,dstsort},其中srcIP,srcsort分别表示源IP地址和源端口号,dstIP,dstsort分别表示目标IP地址和目标端口号,protocol表示该数据包对应的传输层协议;将拥有相同流标识的数据包划分到同一条流中,并且流采用会话的形式,即表示为双向流,源IP地址、源端口号和目标IP地址、目标端口号能够两两互换;同时设置数据包FIN位为1和一个超时参数timeout=15s作为判断流结束的两个依据,对所有采集到的数据包进行组流。
5.根据权利要求1所述的一种基于转向包间隔概率分布的VPN流量分类方法,其特征在于,步骤4中,TCP流有两种情况:
(1)包含三次握手的TCP流;
(2)不包含三次握手的TCP流;
通过对齐数据包头中的序列号和确认号来确定两个数据包之间的响应关系,并根据两个数据包的传输方向是否相同来判断这两个数据包是否为相邻的转向包,如果是则提取两个包之间的时间间隔;
对于UDP流,根据两个数据包的时间顺序和传输方向来判断是否为相邻转向包,具体来说就是先将流内的所有数据包按照时间排序,然后判断时间上相邻的数据包传输方向是否相反,如果相反则确定为相邻转向包,提取其时间间隔;
最终得到每一条流的转向包时间间隔序列{rev1,rev2,rev3...revn},其中n表示该流中转向包间隔的数量。
6.根据权利要求1所述的一种基于转向包间隔概率分布的VPN流量分类方法,其特征在于,步骤5中,分别抽取具有代表性的一条VPN流flow_vpn和一条非VPN流flow_non,它们对应的转向包间隔序列分别为{rev1,rev2,rev3,...,revn1},{rev1,rev2,rev3,...,revn2},其中n1为该VPN流中转向包间隔的数量,n2为该非VPN流中转向包间隔的数量,且为了使两条流的概率分布具有可比性,我们抽取的两条流的n1和n2均在40到50之间。
7.根据权利要求1所述的一种基于转向包间隔概率分布的VPN流量分类方法,其特征在于,步骤7中,使用集成学习中的随机森林算法训练模型,将每条流提取到的51个特征作为训练集输入得到最终的分类模型,用于对VPN流量和非VPN流量进行二分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911358529.XA CN111541621B (zh) | 2019-12-25 | 2019-12-25 | 一种基于转向包间隔概率分布的vpn流量分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911358529.XA CN111541621B (zh) | 2019-12-25 | 2019-12-25 | 一种基于转向包间隔概率分布的vpn流量分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111541621A true CN111541621A (zh) | 2020-08-14 |
CN111541621B CN111541621B (zh) | 2021-09-07 |
Family
ID=71974774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911358529.XA Active CN111541621B (zh) | 2019-12-25 | 2019-12-25 | 一种基于转向包间隔概率分布的vpn流量分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111541621B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814977A (zh) * | 2010-04-22 | 2010-08-25 | 北京邮电大学 | 利用数据流头部特征的tcp流量在线识别方法及装置 |
CN102271090A (zh) * | 2011-09-06 | 2011-12-07 | 电子科技大学 | 基于传输层特征的流量分类方法及装置 |
CN102315974A (zh) * | 2011-10-17 | 2012-01-11 | 北京邮电大学 | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 |
US20150254555A1 (en) * | 2014-03-04 | 2015-09-10 | SignalSense, Inc. | Classifying data with deep learning neural records incrementally refined through expert input |
CN110011931A (zh) * | 2019-01-25 | 2019-07-12 | 中国科学院信息工程研究所 | 一种加密流量类别检测方法及系统 |
CN110197234A (zh) * | 2019-06-13 | 2019-09-03 | 四川大学 | 一种基于双通道卷积神经网络的加密流量分类方法 |
CN110460502A (zh) * | 2019-09-10 | 2019-11-15 | 西安电子科技大学 | 基于分布特征随机森林的vpn下应用程序流量识别方法 |
-
2019
- 2019-12-25 CN CN201911358529.XA patent/CN111541621B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814977A (zh) * | 2010-04-22 | 2010-08-25 | 北京邮电大学 | 利用数据流头部特征的tcp流量在线识别方法及装置 |
CN102271090A (zh) * | 2011-09-06 | 2011-12-07 | 电子科技大学 | 基于传输层特征的流量分类方法及装置 |
CN102315974A (zh) * | 2011-10-17 | 2012-01-11 | 北京邮电大学 | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 |
US20150254555A1 (en) * | 2014-03-04 | 2015-09-10 | SignalSense, Inc. | Classifying data with deep learning neural records incrementally refined through expert input |
CN110011931A (zh) * | 2019-01-25 | 2019-07-12 | 中国科学院信息工程研究所 | 一种加密流量类别检测方法及系统 |
CN110197234A (zh) * | 2019-06-13 | 2019-09-03 | 四川大学 | 一种基于双通道卷积神经网络的加密流量分类方法 |
CN110460502A (zh) * | 2019-09-10 | 2019-11-15 | 西安电子科技大学 | 基于分布特征随机森林的vpn下应用程序流量识别方法 |
Non-Patent Citations (1)
Title |
---|
郭路路 等: "基于卷积自编码的Open VPN加密流量识别方法", 《信息工程大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111541621B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yamansavascilar et al. | Application identification via network traffic classification | |
CN105871832B (zh) | 一种基于协议属性的网络应用加密流量识别方法及其装置 | |
Li et al. | A machine learning approach for efficient traffic classification | |
CN102315974B (zh) | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 | |
CN102271090B (zh) | 基于传输层特征的流量分类方法及装置 | |
CN112270351A (zh) | 基于辅助分类生成对抗网络的半监督加密流量识别方法 | |
CN107370752B (zh) | 一种高效的远控木马检测方法 | |
Branch et al. | Rapid identification of Skype traffic flows | |
Lu et al. | A heuristic-based co-clustering algorithm for the internet traffic classification | |
CN114650229B (zh) | 基于三层模型sftf-l的网络加密流量分类方法与系统 | |
Xie et al. | Accurate identification of internet video traffic using byte code distribution features | |
Akbari et al. | Traffic classification in an increasingly encrypted web | |
CN111541621B (zh) | 一种基于转向包间隔概率分布的vpn流量分类方法 | |
Jaber et al. | Using host profiling to refine statistical application identification | |
Zou et al. | A flow classifier with tamper-resistant features and an evaluation of its portability to new domains | |
Tavallaee et al. | Online classification of network flows | |
Broadway et al. | Improving the analysis of lawfully intercepted network packet data captured for forensic analysis | |
Oudah et al. | Network application detection using traffic burstiness | |
Ismailaj et al. | When deep learning may not be the right tool for traffic classification | |
Alshammari | Automatically generating robust signatures using a machine learning approach to unveil encrypted voip traffic without using port numbers, ip addresses and payload inspection | |
Olimpio et al. | Intrusion detection over network packets using data stream classification algorithms | |
CN110417786A (zh) | 一种基于深度特征的p2p流量细粒度识别方法 | |
Do et al. | Real time VoIP traffic classification | |
HONG et al. | Identifying online traffic based on property of TCP flow | |
Liu et al. | Video traffic identification with a distribution distance-based feature selection |
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 |