当前位置: 首页 > 专利查询>南开大学专利>正文

基于负载映射与随机森林的非加密流量识别方法技术

技术编号:19327549 阅读:35 留言:0更新日期:2018-11-03 14:27
本发明专利技术针对于非加密流量提出了一种移动应用流量识别方法。方法结合向量空间映射与随机森林分类器,包括预处理阶段,用于将流量负载进行预处理;随机森林分类器建模阶段,将流量负载映射到向量空间,利用流量训练集合建立随机森林模型;分类阶段,待识别流量通过随机森林模型分类。常见的非加密流量识别方法,局限于寻找固定长度或可变长度的特征字符串,为此花费了巨大的精力。本发明专利技术引入自然语言处理领域的方法。将非加密负载转化为向量,克服了寻找特征字符时间复杂度大的特点。本发明专利技术可以用于非加密流量的应用类型识别,具有较高的识别准确度。

Non encrypted traffic identification method based on Load Mapping and random forest

The invention proposes a mobile application traffic identification method for non encrypted traffic. Methods Combining vector space mapping with random forest classifier, including pretreatment stage, to pretreat traffic load; mapping traffic load to vector space in the modeling stage of random forest classifier, using traffic training set to establish random forest model; classification stage, traffic to be identified through random forest model Type classification. Common non-encrypted traffic identification methods are limited to finding feature strings of fixed or variable length, which takes a lot of energy. The invention introduces a method in the field of Natural Language Processing. Transforming non encrypted load into vector can overcome the complexity of finding characteristic characters. The invention can be applied to the application type recognition of non encrypted traffic, and has high recognition accuracy.

【技术实现步骤摘要】
基于负载映射与随机森林的非加密流量识别方法
本专利技术涉及流量分类与识别
,尤其涉及一种非加密移动应用流量识别方法。
技术介绍
网络流量识别在网络管理中处于十分重要的位置,是网络监管、带宽计费、QoS等多方面的基础。近几年,移动设备的数量呈现爆炸式增长,越来越深入到人们的生活中。在这些设备上,人们下载安装应用程序,这些应用程序产生的流量称之为移动应用流量。这些流量增长得十分迅速,并且包含了网络环境中的重要信息,因此对这些流量进行分析变得十分有意义,而流量识别作为流量分析的基础,吸引了学术界的许多目光。移动应用程序大多使用HTTP/HTTPS等协议,目前流量识别的方式主要有3种:基于端口的识别方法、基于机器学习的识别方法、基于数据包负载的识别方法(DPI)。基于端口的识别方法是将一些熟知端口作为识别规则,如80端口对应HTTP协议,53号端口对应DNS协议。但由于大多数移动应用都采用HTTP/HTTPS协议,流量端口基本固定为80或443,基于端口识别的方案不能很好地识别移动应用流量。基于机器学习的识别方法通常是先按照五元组的方式提取出数据流,所谓数据流就是指在一定时间间隔内报文的集合,这些报文有着相同的源IP、目的IP、源端口、目的端口和协议。而后可以通过提取流特征,如数据包到达间隔、数据包大小等,完成数据包到特征空间的映射,进而可以建立如贝叶斯、SVM、决策树等分类器以进行分类。或是采用K-Means、DBSCAN等无监督方法进行聚类,预测类别。但同样是由于移动应用大都采用HTTP/HTTPS协议,流特征会较为相近,常用的流特征将近250个,如何选择有效的特征成为一个复杂的问题。基于DPI的识别方法依赖于报文负载内容,将位置固定或不固定的关键字符串作为应用签名。通过字符串匹配进行流量识别。如何找到具有代表性的匹配模式,在很大程度上决定了这种分类方法的识别准确度。不同学者提出了不同的方法来对寻找特征模式,但过程相对较为复杂。本专利技术基于DPI的识别方法,仅针对使用HTTP协议的应用流量进行识别。依赖于HTTP负载报文,但不采用提取特征字符串的方式,而是使用自然语言处理领域中的方法,将负载映射为向量,建立随机森林分类器进行应用类别预测。
技术实现思路
本专利技术提供一种非加密移动应用流量识别方法,不必提取特征字符串,而是将负载映射为向量,具有较为准确的识别率。本专利技术提供一种基于随机森林的非加密移动应用流量识别方法。HTTP流量负载为明文,可以将其视为文本进行处理,引入自然语言处理中的向量空间模型,实现负载到向量的映射。图1展示了本方法的框架图,在预处理阶段,截取HTTP报文负载中“\r\n\r\n”之前的内容,该内容包含了HTTP的请求行与请求报文,拥有足够的信息量可以用于分类器的建立。对每条负载进行分词处理,可以简单地使用空格、斜杠等分隔符进行分割,将长度过短的单词删除。将单词存入单词集合W={w1,w2,...,wn},W也可称之为词袋(bagofwords)。本文所提到的流量分类为二分类问题,即预测的结果为属于某个应用或不属于某个应用,故在随机森林分类器建模阶段,建立二分类模型。计算词袋中每个单词的TFIDF值,所谓TFIDF值,是自然语言处理领域用来衡量单词重要度的指标之一。计算公式为:tfi,j表示单词wi,j在负载j中的出现次数,df表示包含单词wi,j的报文负载数量,|D|是报文负载集合的总数。由TFIDF计算公式可以看出,同一单词在不同负载中TFIDF的值并不相同,即一个单词对应多个TFIDF值。但若使用全部单词,计算量较大且包含噪声。因此,将每个单词对应的所有TFIDF值进行求和,对和值进行排序,并设定比率Ratio,使用排名在前Ratio*|W|的单词构建词袋W′。顺序扫描一条报文中的单词,若单词存在于词袋W′,可使用单词对应的TFIDF值代替该单词;若不存在于W′中,则忽略该单词。至此,将报文负载转化为TFIDF向量,建立了向量空间模型。使用训练样本向量与对应标签建立随机森林分类器。方法包括:对训练向量集合,随机抽样生成数据子集D1、D2、......、DN,对于某数据子集Di,采用的是TFIDF特征,相当于连续特征,利用二分法对连续特征进行处理,假设单词wi,j的TFIDF取值有k个,将这k个取值从小到大排列,记为{a1,a2,...,ak},基于划分点at可将Di分为两个子集和其中表示单词wi,j的TFIDF取值不大于at的样本,表示单词wi,j的TFIDF取值大于at的样本。在构建随机森林的第i棵树Ti时,若输入的所有训练样本都属于同一类Ck,则Ti为单节点树,并将类Ck作为该节点的类标记;否则,对于每一个特征A,对其可能取的每一个值a,计算基尼指数,计算公式定义为其中,Di1和Di2表示按照分割点a将数据集合划分成的两部分,Dim基尼指数计算公式为Ck表示Dim中属于第k类的样本子集,由于基尼指数刻画了集合的不确定性,故选择基尼指数最小的特征Ag及其对应的切分点作为最优特征和最优切分点,将训练数据集分配到两个子节点中,递归进行以上步骤,直到满足迭代停止的条件。在分类阶段,对待识别的数据包负载进行预处理,即截取”\r\n\r\n”之前的部分,利用分隔符进行分词,并删除长度较短的单词,计算每个单词的TFIDF值。顺序扫描待分类报文中的单词,若单词存在于词袋W',可使用单词对应的TFIDF值代替该单词;若不存在于W′中,则忽略该单词。建立好向量空间模型,将TFIDF向量输入到随机森林分类器进行预测。对于每条待识别的报文x,都会输出该样本属于目标应用的概率P(Y=1|x),以及样本不属于目标应用的概率P(Y=0|x),选择概率值大的作为最终的标签。附图说明图1是非加密移动应用流量识别方法框架图图2是选择不同关键字比率Ratio与准确率的关系图3是选择不同树的棵数与准确率的关系图4是不同移动应用识别的准确率、召回率、F1值具体实施方式为了更清晰直观的表达本专利技术的方法思路,下面对算法的细节进行详细说明:1.确定参数算法需要确定的参数包括:1)关键字的比率Ratio2)树的棵数Estimators2.预处理阶段读取数据包负载,截取“\r\n\r\n”之前的部分。使用空格、斜杠等分隔符对等分隔符进行分割,将长度小于2的单词删除,将其余单词存入单词集合W={w1,w2,...,wn}。3.建立随机森林分类器模型计算每个单词的TFIDF值,将对应单词的TFIDF值进行求和累加,并对和值进行排序,设定Ratio的数值,选取排名在前Ratio*|W|的单词构建词袋W′。顺序扫描一条报文中的单词,若单词存在于词袋W′,可使用单词对应的TFIDF值代替该单词;若不存在于W′中,则忽略该单词。多次设定Ratio的数值,并比较训练时移动应用的分类准确率,最终选定一个Ratio值用于最终的分类。同样,多次设定树的棵数Estimators,并比较训练时移动应用的分类准确率,最终选定一个Estimators值用于最终的分类。4.随机森林分类器预测待识别的数据包负载截取”\r\n\r\n”之前的部分,使用空格、斜杠等分隔符对等分隔符进行分割,将长度小于2的单词删除,利用词袋将负载映射到向量空间。输入到训练好本文档来自技高网
...

【技术保护点】
1.一种非加密移动应用流量识别方法,具体包括:方法基于随机森林分类器,包括预处理阶段、随机森林分类器建模阶段和预测阶段;预处理阶段,负责提取数据包负载中的有用信息,以降低训练和预测时的复杂度,且能降低噪声;随机森林分类器建模阶段,将负载映射为向量空间中的TFIDF向量,以此进行随机森林分类器的训练;预测阶段,对未知标签的流量,提取出数据包负载,经过预处理阶段,提取出有用信息,同样经过负载映射到向量空间,将该向量输入到分类器模型中,得到预测标签。

【技术特征摘要】
1.一种非加密移动应用流量识别方法,具体包括:方法基于随机森林分类器,包括预处理阶段、随机森林分类器建模阶段和预测阶段;预处理阶段,负责提取数据包负载中的有用信息,以降低训练和预测时的复杂度,且能降低噪声;随机森林分类器建模阶段,将负载映射为向量空间中的TFIDF向量,以此进行随机森林分类器的训练;预测阶段,对未知标签的流量,提取出数据包负载,经过预处理阶段,提取出有用信息,同样经过负载映射到向量空间,将该向量输入到分类器模型中,得到预测标签。2.根据权利要求说明1所述方法,其特征在于,用于训练与测试的HTTP流量负载,仅截取”\r\n\r\n”之前的内容,删去无用的数据部分。3.根据权利要求说明1所述方法,其特征在于,对流量负载依照空格、斜杠等分隔符进行分词,引入自然语言处理领域中的方法,计算单词的逆文档频率(TFIDF)以映射到向量空间,以TFIDF值衡量单词的重要程度,即建立的分类特征是重要单词的TFIDF值,训练流量样本集可被视为向量集合。4.根据权利要求说明1所述方法,其特征在于,对所有单词的TFIDF值进行从高到低的排序,选择重要度高的单词建立词袋模型,将重要度低的单词从词袋中删去。5.根据权利要求说明1所述方法,其特征在于,对训练向量集合,随机抽样生成数据...

【专利技术属性】
技术研发人员:邹学强张玉包秀国金宇菲张建忠
申请(专利权)人:南开大学国家计算机网络与信息安全管理中心
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1