一种自动化挖掘比特粒度特征的网络流量分类与应用识别方法

文档序号:9352723阅读:277来源:国知局
一种自动化挖掘比特粒度特征的网络流量分类与应用识别方法
【技术领域】
[0001]本发明涉及网络流量分类技术,特别涉及一种基于比特粒度的网络流量分类技术以及自动化挖掘指定应用流量中比特粒度特征的方法。
【背景技术】
[0002]随着互联网技术的不断发展和网络用户的不断增长,基于特征匹配的网络流量识别与分类方法由于其准确性和稳定性在网络管理和安全审计等方面发挥了极其重要的作用,例如包括网络服务质量优化和网络入侵检测等。然而,随着网络应用在互联网流量中复杂性和隐蔽性的逐渐增强,传统的基于字节粒度特征匹配的网络流量分类方法逐渐失去其效力。与此同时,随着网络应用数目的不断增长和版本更新的日益频繁,传统的依靠人工发现特征的方法由于耗时耗力而无法及时更新和应用,导致网络流量的精确分类和应用识别面临极大的挑战。因此,研究和实现更加细粒度的基于特征匹配的网络流量分类与应用识别方法并实现其特征的自动化挖掘,已成为相关学术界和工业界关注的热点问题。
[0003]关联规则,属于数据挖掘的一个重要课题,用于从大量数据中挖掘出有价值的数据项之间的关系。其中涉及的定义如下:设I = U1, I2, I3,…,IJ是项(Item)的集合,给定一个事项数据库D = (T1, T2, T3,…,Tj,其中每个事务项(Transact1n)!1是I的非空子集,即T C I,每一个事项都有一个唯一的标识符TID(Transact1n ID)对应。关联规则是形如X Y的蕴涵式,其中X,关联规则X =4 Y在D中的支持度(support)是D中事务包含X H Y的百分比,即概率Ρ(Χ H Y);置信度(confidence)是包含X的事务中同时包含Y的百分比,即条件概率P(Y I X)。如果同时满足最小支持度阈值和最小置信度阈值,则认为关联规则是有趣的,这些阈值可提前设定。

【发明内容】

[0004]本发明提供了一种基于比特粒度的网络流量分类和应用识别方法,并实现了此类特征的自动化挖掘,提高了网络流量识别与分类的准确性和可靠性。
[0005]为实现上述目的,本发明提供了自动化挖掘比特粒度特征的网络流量分类方法,包括:
步骤1,创建指定网络应用流量的事项数据库Dcild;
步骤2,建立指定哈希表Bit-Table,产生新事项数据库Dnew;
步骤3,构建基于Dnew的前缀树Miner-Tree ;
步骤4,基于最小支持度和最小置信度的剪枝,形成比特粒度特征;
步骤5,基于比特粒度特征的网络应用流量识别。
[0006]优选地,步骤I具体包括如下处理:
步骤11,捕获指定网络应用的一定数量的网络流量;
步骤12,底层处理上述步骤11获取的网络流量,提取全部网络流; 步骤13,将上述步骤12得到的每条网络流格式化为事务项,得到事项数据库Dcildt3
[0007]优选地,步骤12具体包括如下处理:
步骤121,网络流量数据包IP分片重组,得到重组后的IP数据包;
步骤122,将上述步骤121得到的重组后的IP数据包进行TCP流重组或者UDP流重组。
[0008]优选地,步骤13进一步包括:
将每条网络流转换成一项事务项(Transact1n),其中每条网络流的每一个比特转换成一个项(Item)。每一个项由N+M+1个16进制字符组成,首先前N个16进制字符表示此比特所在的网络数据包在网络流中序号;其次中间M个16进制字符表示此比特所在的网络数据包中的比特位置;最后I个16进制字符表示当前比特的比特值,即O或者I。通过这种方式,每条网络流对应的事务项共同组成事项数据库Dcildt3
[0009]优选地,步骤2具体包括如下处理:
步骤21,根据可用内存建立合适大小的哈希表Bit-Table ;
步骤22,计算事项数据库Dcild中每个项的支持度;
步骤23,根据支持度重新排序每个事务项中的所有项的排序,形成新事项数据库D_。
[0010]优选地,步骤22具体包括如下处理:
步骤221,依次读取步骤I产生的事项数据库Dcild中的每个事务项中的每个项,并通过哈希运算将每个项映射到不同的哈希单元;
步骤222,遍历Dcild完成后,得到事项数据库中每个不同项的支持度,这里支持度即Dcild的每个不同项在全部事务项中出现的百分比。
[0011]优选地,步骤23具体包含如下处理:
步骤231,再次读取步骤I产生的事项数据库Dcild中的每个事务项中的每个项,并检查每个不同项的支持度;
步骤232,从每个事务项中删除项的支持度小于已设置的支持度阈值的项;
步骤233,在每个事务项中根据每个项的支持度大小重新排序所有项的位置,由大到小排列;
步骤234,所有新的事务项组成新的事项数据库D_。
[0012]优选地,步骤3进一步包括:
构建基于Dnew的前缀树Miner-Tree,每个事务项的所有项按照已排列的顺序依次导入根节点为空的前缀树,其中每个项占据Miner-Tree的一个节点,不同事务项的完全相同的前X项可共用相同的X个节点,并记录每个节点在所有事务项中出现的重叠次数,如果节点不存在则建立新的节点分支。通过这种方式,将新事项数据库0_中的所有事务项转换成Miner-Tree 存储。
[0013]优选地,步骤4具体包括如下处理:
步骤41,检查步骤3中生成的Miner-Tree的每个节点的支持度,并将支持度小于已设置的支持度阈值的节点及其分支删除;
步骤42,检查上述步骤41处理后的Miner-Tree的每个节点的置信度,并将置信度小于已设置的置信度阈值的节点及其分支删除;
步骤43,根据上述步骤42剪枝后的Miner-Tree的所有保留分支组合形成网络应用的比特粒度的特征。
[0014]优选地,步骤41进一步包括:
这里每个节点的支持度指的是每个节点代表的项重叠次数比上D_中的全部事务项的数目,删除计算结果小于已设置的支持度阈值的节点及其分支。
[0015]优选地,步骤42进一步包括:
这里每个节点的置信度指的是每个节点的所有子节点所代表的所有项的重叠次数比上此节点的重叠次数,删除计算结果小于已设置的置信度阈值的当前节点的全部子节点及其分支。
[0016]优选地,步骤43进一步包括:
剪枝后的Miner-Tree可能包含多个分支,它们之间的关系用“或”来表示,属于并列关系,可用正则表达式表示,这些节点所代表的项共同组成了基于比特粒度的网络流量特征。
[0017]优选地,步骤5进一步包括:
根据步骤4得到的网络流量特征,匹配网络流量中每条网络流在特定位置的比特值,即组成特征的每个项的比特位置(指定的网络数据包序号及内部比特序号)及其相应确定的比特值(O或者I)。如果满足特征所包含的全部项,则认定此网络流为特征所属网络应用的流量。
[0018]本发明有益效果如下:
借助于本发明实施例的技术方案,可以从比特粒度自动化挖掘网络应用流量中存在的强特征,且挖掘得到的比特粒度特征能够有效提高网络流量分类与应用识别的准确性和可靠性,更好的服务于网络管理与审计以及网络安全。
[0019]
【附图说明】
[0020]图1是本发明实施例的自动化挖掘网络流量比特粒度特征示意流程图;
图2是本发明实施例的网络应用流量转换事项数据库示意图;
图3是本发明实施例的网络应用流量事项数据库整理排序示意图;
图4是本发明实施例的网络应用流量事项数据库构建前缀树示意图;
图5是本发明实施例的自动化挖掘的网络应用流量比特粒度特征效果图。
[0021]
【具体实施方式】
[0022]为了解决网络流量分类和应用识别的难题,本发明提出了一种基于比特粒度的网络流量应用分类和识别方法,并提供了其自动化特征挖掘方法,主要包括以下五个步骤:S1.创建指定网络应用流量的事项数据库D-1S〗.建立指定哈希表Bit-Table,产生新事项数据库Dnew;S3.构建基于Dnew的前缀树Miner-Tree ;S4.基于最小支持度和最小置信度的剪枝,形成比特粒度特征;S5.基于比特粒度特征的网络应用流量识别。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0023]方法实施例
根据本发明的实施例,提供了一种基于比特粒度的网络流量分类和应用识别方法,并实现了此类特征的自动化挖掘,图1是本发明实施例的自动化挖掘网络流量比特粒度特征示意流程图,如图1所示,根据本发明实施例的自动化挖掘网络应用流量比特粒度特征的方法包括如下处理:
步骤101,根据指定网络应用的流量,创建其事项数据库Dcild;
步骤101具体包括如下处理:
步骤1011,捕获指定网络应用多次运行所产生的网络流量;
步骤1012,通过Libnids或DPDK等网络流量处理框架提取步骤1011中所捕获的网络流量中的全部网络流;
步骤1012具体包括如下处理:
步骤10121,网络流量数据包的IP分片重组,得到重组后的IP数据包;
步骤10122,将上述步骤10121重组后的IP数据包进行TCP流重组或UDP流重组。
[0024]步骤1013,将上述步骤1012中获得的每条网络流格式化为事务项,得到事项数据库 Dold。
[0025]步骤1013具体包括如下处理:
将每条网络流转换成一项事务项(Transact1n),其中每条网络流的每一个比特转换成一个项(Item)。每一个项由7个16进制字符组成,首先前2个16进制字符表示此比特所在的网络数据包在网络流中
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1