CN108737290A - 基于负载映射与随机森林的非加密流量识别方法 - Google Patents
基于负载映射与随机森林的非加密流量识别方法 Download PDFInfo
- Publication number
- CN108737290A CN108737290A CN201810449191.8A CN201810449191A CN108737290A CN 108737290 A CN108737290 A CN 108737290A CN 201810449191 A CN201810449191 A CN 201810449191A CN 108737290 A CN108737290 A CN 108737290A
- Authority
- CN
- China
- Prior art keywords
- random forest
- word
- flow
- load
- sample
- 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/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)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明针对于非加密流量提出了一种移动应用流量识别方法。方法结合向量空间映射与随机森林分类器,包括预处理阶段,用于将流量负载进行预处理;随机森林分类器建模阶段,将流量负载映射到向量空间,利用流量训练集合建立随机森林模型;分类阶段,待识别流量通过随机森林模型分类。常见的非加密流量识别方法,局限于寻找固定长度或可变长度的特征字符串,为此花费了巨大的精力。本发明引入自然语言处理领域的方法。将非加密负载转化为向量,克服了寻找特征字符时间复杂度大的特点。本发明可以用于非加密流量的应用类型识别,具有较高的识别准确度。
Description
技术领域
本发明涉及流量分类与识别技术领域,尤其涉及一种非加密移动应用流量识别方法。
背景技术
网络流量识别在网络管理中处于十分重要的位置,是网络监管、带宽计费、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)关键字的比率Ratio
2)树的棵数Estimators
2.预处理阶段
读取数据包负载,截取“\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的单词删除,利用词袋将负载映射到向量空间。输入到训练好的随机森林分类器模型中,进行预测。
实施例
本发明采用现实数据的方式实施。
本发明选择10组真实的网络环境下采集的网络流量数据集作为实施例中的数据源。这10组数据集分别对应了当前中国最为流行的10种应用,分别是:大众点评、爱奇艺、今日头条、美团、优酷视频、优酷视频、手机淘宝、腾讯新闻、新浪微博、微信、酷我音乐。
定义分类准确率为正确分类的样本数与所有样本数的比值。
图2显示了在不同Ratio值下,在训练随机森林分类器时分类准确率的变化。Ratio<0.5时,准确率大致呈现向上增长的趋势,优酷视频的准确率在Ratio<0.5时,变化幅度不大;腾讯新闻与手机淘宝的曲线在Ratio<0.5时,呈现出先下降后上升的趋势,大致在Ratio=0.5时准确率最高,然后准确率又开始下降。选择Ratio=0.5用于最后的应用识别的准确率测试。
图3显示了在不同Estimators值下准确率的变化,Estimators<40时,腾讯新闻与手机淘宝的准确率大致呈现向上增长的趋势,优酷视频的准确率在Estimators<40时,变化幅度不大;大致在Estimators<40时准确率最高,然后准确率又开始下降。选择Estimators=40用于最后的应用识别的准确率测试。
准确率、召回率、F1值常见于衡量分类器性能,计算公式为:
其中TP表示正样本预测为正类的数量,FP表示正样本预测为负类的数量,FN表示负样本预测为正类的数量。
图4显示了在Ratio=0.5,Estimators=40时,对不同移动应用识别的准确率(Precision)、召回率(Recall)、F1值(F1-Score)。分类准确率最高可达99%以上,平均准确率为98.2%,平均召回率为98.27%,准确率与召回率相差不大。验证了本发明对于非加密的移动应用识别有良好的识别准确率。
Claims (7)
1.一种非加密移动应用流量识别方法,具体包括:
方法基于随机森林分类器,包括预处理阶段、随机森林分类器建模阶段和预测阶段;
预处理阶段,负责提取数据包负载中的有用信息,以降低训练和预测时的复杂度,且能降低噪声;
随机森林分类器建模阶段,将负载映射为向量空间中的TFIDF向量,以此进行随机森林分类器的训练;
预测阶段,对未知标签的流量,提取出数据包负载,经过预处理阶段,提取出有用信息,同样经过负载映射到向量空间,将该向量输入到分类器模型中,得到预测标签。
2.根据权利要求说明1所述方法,其特征在于,用于训练与测试的HTTP流量负载,仅截取”\r\n\r\n”之前的内容,删去无用的数据部分。
3.根据权利要求说明1所述方法,其特征在于,对流量负载依照空格、斜杠等分隔符进行分词,引入自然语言处理领域中的方法,计算单词的逆文档频率(TFIDF)以映射到向量空间,以TFIDF值衡量单词的重要程度,即建立的分类特征是重要单词的TFIDF值,训练流量样本集可被视为向量集合。
4.根据权利要求说明1所述方法,其特征在于,对所有单词的TFIDF值进行从高到低的排序,选择重要度高的单词建立词袋模型,将重要度低的单词从词袋中删去。
5.根据权利要求说明1所述方法,其特征在于,对训练向量集合,随机抽样生成数据子集D1、D2、......、DN,对于某数据子集Di,当建立随机森林分类器时,树的节点属性分裂方法采用二分法,假设某单词的TFIDF取值有k个,将这k个取值从小到大排列,记为{a1,a2,...,ak},基于划分点at可将Di分为两个子集和其中表示该单词的TFIDF取值不大于at的样本,表示该单词的TFIDF取值大于at的样本。
6.根据权利要求说明1所述方法,其特征在于,所述方法还包括:
在构建随机森林的第i棵树Ti时,若输入的所有训练样本都属于同一类Ck,则Ti为单节点树,并将类Ck作为该节点的类标记;否则,对于每一个特征A,对其可能取的每一个值a,计算基尼指数,计算公式定义为其中,Di1和Di2表示按照分割点a将数据集合划分成的两部分,Dim基尼指数计算公式为Ck表示Dim中属于第k类的样本子集,由于基尼指数刻画了集合的不确定性,故选择基尼指数最小的特征Ag及其对应的切分点作为最优特征和最优切分点,将训练数据集分配到两个子节点中,递归进行以上步骤,直到满足迭代停止的条件。
7.根据权利要求说明1所述方法,其特征在于,随机森林分类器对于每条样本x,都会输出该样本属于目标应用的概率P(Y=1|x),以及样本不属于目标应用的概率P(Y=0|x),选择概率值大的作为最终的标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810449191.8A CN108737290A (zh) | 2018-05-11 | 2018-05-11 | 基于负载映射与随机森林的非加密流量识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810449191.8A CN108737290A (zh) | 2018-05-11 | 2018-05-11 | 基于负载映射与随机森林的非加密流量识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108737290A true CN108737290A (zh) | 2018-11-02 |
Family
ID=63937326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810449191.8A Pending CN108737290A (zh) | 2018-05-11 | 2018-05-11 | 基于负载映射与随机森林的非加密流量识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737290A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151880A (zh) * | 2018-11-08 | 2019-01-04 | 中国人民解放军国防科技大学 | 基于多层分类器的移动应用流量识别方法 |
CN110674010A (zh) * | 2019-09-10 | 2020-01-10 | 西安电子科技大学 | 基于会话长度概率分布的智能设备应用程序识别方法 |
CN111222547A (zh) * | 2019-12-30 | 2020-06-02 | 中国人民解放军国防科技大学 | 一种面向移动应用的流量特征提取方法及系统 |
CN111641599A (zh) * | 2020-05-11 | 2020-09-08 | 国家计算机网络与信息安全管理中心 | 一种VoIP网络流量所属平台的识别方法 |
CN113329023A (zh) * | 2021-05-31 | 2021-08-31 | 西北大学 | 一种加密流量恶意性检测模型建立、检测方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120321174A1 (en) * | 2011-06-15 | 2012-12-20 | Siemens Aktiengesellschaft | Image Processing Using Random Forest Classifiers |
CN106991374A (zh) * | 2017-03-07 | 2017-07-28 | 中国矿业大学 | 基于卷积神经网络和随机森林的手写数字识别方法 |
-
2018
- 2018-05-11 CN CN201810449191.8A patent/CN108737290A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120321174A1 (en) * | 2011-06-15 | 2012-12-20 | Siemens Aktiengesellschaft | Image Processing Using Random Forest Classifiers |
CN106991374A (zh) * | 2017-03-07 | 2017-07-28 | 中国矿业大学 | 基于卷积神经网络和随机森林的手写数字识别方法 |
Non-Patent Citations (2)
Title |
---|
张颖超: "基于互信息与随机森林的P2P流量识别", 《淮海工学院学报(自然科学版)》 * |
罗元帅: "基于随机森林和Spark的并行文本分类算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151880A (zh) * | 2018-11-08 | 2019-01-04 | 中国人民解放军国防科技大学 | 基于多层分类器的移动应用流量识别方法 |
CN109151880B (zh) * | 2018-11-08 | 2021-06-22 | 中国人民解放军国防科技大学 | 基于多层分类器的移动应用流量识别方法 |
CN110674010A (zh) * | 2019-09-10 | 2020-01-10 | 西安电子科技大学 | 基于会话长度概率分布的智能设备应用程序识别方法 |
CN111222547A (zh) * | 2019-12-30 | 2020-06-02 | 中国人民解放军国防科技大学 | 一种面向移动应用的流量特征提取方法及系统 |
CN111222547B (zh) * | 2019-12-30 | 2021-08-17 | 中国人民解放军国防科技大学 | 一种面向移动应用的流量特征提取方法及系统 |
CN111641599A (zh) * | 2020-05-11 | 2020-09-08 | 国家计算机网络与信息安全管理中心 | 一种VoIP网络流量所属平台的识别方法 |
CN111641599B (zh) * | 2020-05-11 | 2022-04-15 | 国家计算机网络与信息安全管理中心 | 一种VoIP网络流量所属平台的识别方法 |
CN113329023A (zh) * | 2021-05-31 | 2021-08-31 | 西北大学 | 一种加密流量恶意性检测模型建立、检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737290A (zh) | 基于负载映射与随机森林的非加密流量识别方法 | |
Wu et al. | Twitter spam detection based on deep learning | |
CN107609121B (zh) | 基于LDA和word2vec算法的新闻文本分类方法 | |
Liu et al. | Effective and real-time in-app activity analysis in encrypted internet traffic streams | |
CN106096727B (zh) | 一种基于机器学习的网络模型构造方法及装置 | |
CN103117903B (zh) | 上网流量异常检测方法及装置 | |
CN109492026B (zh) | 一种基于改进的主动学习技术的电信欺诈分类检测方法 | |
CN109726744A (zh) | 一种网络流量分类方法 | |
CN109471938A (zh) | 一种文本分类方法及终端 | |
CN109739986A (zh) | 一种基于深度集成学习的投诉短文本分类方法 | |
CN103927302A (zh) | 一种文本分类方法和系统 | |
US20190340507A1 (en) | Classifying data | |
CN111881290A (zh) | 一种基于加权语义相似度的配网多源网架实体融合方法 | |
CN107832456B (zh) | 一种基于临界值数据划分的并行knn文本分类方法 | |
CN101605126A (zh) | 一种多协议数据分类识别的方法和系统 | |
CN104462301A (zh) | 一种网络数据的处理方法和装置 | |
CN108304479B (zh) | 一种基于图结构过滤的快速密度聚类双层网络推荐方法 | |
CN104866558A (zh) | 一种社交网络账号映射模型训练方法及映射方法和系统 | |
CN109522544A (zh) | 基于卡方检验的句向量计算方法、文本分类方法及系统 | |
CN109376797A (zh) | 一种基于二进制编码器和多哈希表的网络流量分类方法 | |
CN108280236A (zh) | 一种基于LargeVis的随机森林可视化数据分析方法 | |
CN106649338B (zh) | 信息过滤策略生成方法及装置 | |
Shafiq et al. | Effective packet number for 5G IM WeChat application at early stage traffic classification | |
CN106959967B (zh) | 一种链路预测模型的训练及链路预测方法 | |
CN115309906A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181102 |
|
RJ01 | Rejection of invention patent application after publication |