CN110034966A - 一种基于机器学习的数据流分类方法及系统 - Google Patents
一种基于机器学习的数据流分类方法及系统 Download PDFInfo
- Publication number
- CN110034966A CN110034966A CN201810027661.1A CN201810027661A CN110034966A CN 110034966 A CN110034966 A CN 110034966A CN 201810027661 A CN201810027661 A CN 201810027661A CN 110034966 A CN110034966 A CN 110034966A
- Authority
- CN
- China
- Prior art keywords
- stream
- machine learning
- data
- classification
- data 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Signal Processing (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于机器学习的数据流分类方法,包括:步骤1)捕获并根据输入规则过滤网络上的数据流,获取符合条件的数据包;步骤2)根据数据包的五元组信息建立数据流,结合其反向的数据流建立应用流,提取指定的应用流特征信息,记录在应用流流表中;步骤3)检测应用流是否完成交互过程;如果已完成,则将应用流特征信息封装成特征向量,调用机器学习分类器进行分类得到标签La,进入步骤4),否则,将所述应用流的分类结果标识为“未知应用”;步骤4)查找当前应用流所属的关联信息表,结合表内历史应用流的机器学习分类信息决定当前应用流的最终分类结果。本发明的方法能够有效提升当前数据流的分类准确性。
Description
技术领域
本发明涉及计算机网络技术领域,特别涉及一种基于机器学习的数据流分类方法及系统。
背景技术
网络数据流分类是网络安全、服务质量控制等网络管理工作的重要环节。互联网中应用交互的所有数据最终在网络上以数据字节流的形式进行传输,通过将网络数据流与其高层应用进行映射,可以实现对流量的细粒度调控和审查。传统的数据流分类方式有基于著名端口和基于数据包载荷的深度分析两种形式。随着应用类型的日益复杂,著名端口不再“著名”,导致基于端口的分类方法准确性下降;另一方面,基于深度包检测的方法虽然准确性较高,但存在识别性能和隐私权限方面的限制。与基于深度包检测和基于著名端口的识别算法不同,基于机器学习的方法可以根据数据流的统计特征来有效识别产生数据流的高层应用。机器学习算法应用于数据流分类的基础是不同的应用的交互模式不同,而这些模式反映在数据流的诸多特征之中,如交互中数据包的大小,数据包交互的间隔,交互的轮数等等。
目前,已有较多的机器学习模型在数据流分类的场景下发挥了作用。然而,从提升数据里分类准确性的角度出发,想要进一步提升分类的准确性,就要深入挖掘隐藏在数据流中的各种信息,单纯的引入新的算法模型是不足够的。因此,挖掘并且有效利用待分类数据流中的信息,以提升基于机器学习分类器所得结果的准确性,有着切实的研究意义。
发明内容
本发明目的在于克服目前基于机器学习的数据分流方法存在的上述缺陷,通过挖掘待分类数据流之间的关联信息,提出了一种基于机器学习的数据流分类方法及系统,能够有效提升基于机器学习的数据流分类结果的准确性,以适应实时、鲁棒的数据流分类需求。
为了实现上述目的,本发明提出了一种基于机器学习的数据流分类方法,所述方法包括:
步骤1)捕获并根据输入规则过滤网络上的数据流,获取符合条件的数据包;
步骤2)根据数据包的五元组信息建立数据流,结合其反向的数据流建立应用流,提取指定的应用流特征信息,记录在应用流流表中;
步骤3)检测应用流是否完成交互过程;如果已完成,则将应用流特征信息封装成特征向量,调用机器学习分类器进行分类得到标签La,进入步骤4),否则,将所述应用流的分类结果标识为“未知应用”;
步骤4)查找当前应用流所属的关联信息表,结合表内历史应用流的机器学习分类信息决定当前应用流的最终分类结果。
作为上述方法的一种改进,所述输入规则为:端口、IP地址、协议字段是否在预设值域内。
作为上述方法的一种改进,所述步骤2)具体包括:
步骤2-1)根据数据包的五元组信息:源IP,源端口,目的IP,目的端口和协议,通过哈希算法将数据包映射到对应的数据流;
步骤2-2)将方向相反的两条数据流构成应用流;
步骤2-3)提取应用流的特征信息,所述特征信息为用于机器学习分类器的各种特征字段,包括:应用流的交互时间、每一轮交互的数据包大小及间隔时间、交互的数据包总个数;
步骤2-4)将应用流及其特征信息记录在应用流流表中。
作为上述方法的一种改进,所述步骤3)的机器学习分类器的采用决策树、最近邻、SVM和神经网络分类算法,采用监督机器学算法,将带有标签的训练数据集输入所述机器学习分类器完成训练。
作为上述方法的一种改进,所述步骤4)具体包括:
步骤4-1)根据应用流的三元组信息:目的地址,目的端口,协议哈希值,查询所述应用流是否有所属的关联信息表;如果有,转入步骤4-2),否则,建立一个新的关联信息表;
所述关联信息表对每一个可能的分类标签维护一个权重得分V-score,初始值都为零;
步骤4-2)在所述应用流所属的关联信息表,将所有的V-score乘以衰减因子β,将标签La对应的V-score加1;
步骤4-3)选择数值最大的V-score对应的标签作为当前待分类应用流的最终分类结果。
本发明还提供了一种基于机器学习的数据流分类系统,包括存储器、处理器和存储在存储器上的并可在处理器上运行的计算机程序,所述处理器执行所述程序时实上述方法的步骤。
本发明的优点在于:
本发明的基于机器学习的数据流分类系统及方法能够高效的记录数据流的历史分类信息,从而有效提升当前数据流的分类准确性。
附图说明
图1是本发明的基于机器学习的数据流分类系统的结构图;
图2是本发明的基于机器学习的数据流分类方法的流程图。
具体实施方式
现结合附图对本发明作进一步的描述。
参考图1,本发明运行于数据流分类系统之中,该系统包括核心模块和辅助模块,所述核心模块包括数据流管理及特征提取模块、机器学习分类模块、分类模块;所述辅助模块包括数据流捕获过滤模块、日志封装模块。
所述数据流捕获过滤模块用于捕获网络链路上的数据包,该模块将根据数据包各数据层的包头信息,判断是否是合法的数据包并符合系统的输入规则,不合法或者不符合规则的数据包将被丢弃;
所述数据流管理及特征提取模块,通过哈希表来将数据包与数据流建立对应关系:根据数据包的五元组信息:源IP,源端口,目的IP,目的端口和协议,通过哈希算法将数据包映射到对应的数据流,并建立反向的数据流,从而得到应用流:双向的数据流,即在同一个交互过程中的方向相反的两条数据流,提取其指定的特征信息并记录在对应的流表中;具体的说,所提取的特征信息可以包括但不限于应用流交互的数据包大小信息、交互的数据总量信息、交互的时间信息、交互双方的IP或端口信息等等。
所述机器学习分类模块,用于基于所提取的应用流特征信息,调用机器学习算法,对该应用流进行分类。具体的说,所调用的机器学习算法可以使任何可行的机器学习算法,如决策树、最近邻、SVM、神经网络等监督学习方法。以上监督机器学算法输入带有标签的训练数据集完成训练,在分类过程中,根据输入数据的相关特征,输出分类结果。
所述分类模块,用于根据机器学习分类结果及各个应用流之间的关联信息,通过基于指数衰减窗口的方法,决定最终的分类结果,提升总体的分类准确性。所述关联信息,指所有输入系统的有待被分类的数据流中,拥有相同三元组(目的地址,目的端口,协议)的一组数据流可以认为是同一种高层应用或者协议产生的,所以这一组数据流的最终分类标签应该是一致的。在认为机器学习分类器的分类结果只有少量错误的基础上,可以通过组内的投票机制,将少量分类错的标签进行纠正,以提升最终的分类准确性。
所述日志封装模块用于记录各个数据流的最终分类结果。
以上是对本发明的基于机器学习的数据流分类提升系统的描述,下面在该系统的基础上结合图2对相应的数据流分类准确性提升方法进行说明。
步骤1)针对每一条应用流,提取指定的数据流特征信息,记录在应用流表中;
步骤2)当应用流交互完成,即检测到数据流超时标识或者完成标识时,将所需的特征信息封装成特征向量,调用机器学习算法进行数据流分类,得到分类标签La;
步骤3)查找与当前应用流属于相同应用层协议的数据流流组,结合组内历史数据流的机器学习分类信息决定当前流的最终分类结果。
步骤3)包括:
步骤3-1)、根据应用流的三元组信息(目的地址,目的端口,协议)哈希值,查询该应用流所属的关联信息表,如果没有对应的数据流立一个新的表。其中,该关联信息表对每一个系统可能识别出的协议或应用维护一个权重得分V-score,初始值都为零;具体的说,如果该系统需要区分和分类的应用类别有100种,那么,每个关联信息表内,需要维护100个V-score值,对应100个类别。
步骤3-2)、在该应用流对应的关联信息表中,将所有协议的V-score乘以衰减因子β,然后将标签La对应的协议的V-score加1。所述的衰减因子可根据具体场景进行设置,用于减小历史最久远的标签的权值。因为当前数据流更可能与时间上更接近的数据流相似。
步骤3-3)、选择数值最大的V-score对应的协议作为当前待分类应用流的最终分类结果。V-score数值最大,代表其对应的类别得到了更多的投票票数。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种基于机器学习的数据流分类方法,所述方法包括:
步骤1)捕获并根据输入规则过滤网络上的数据流,获取符合条件的数据包;
步骤2)根据数据包的五元组信息建立数据流,结合其反向的数据流建立应用流,提取指定的应用流特征信息,记录在应用流流表中;
步骤3)检测应用流是否完成交互过程;如果已完成,则将应用流特征信息封装成特征向量,调用机器学习分类器进行分类得到标签La,进入步骤4),否则,将所述应用流的分类结果标识为“未知应用”;
步骤4)查找当前应用流所属的关联信息表,结合表内历史应用流的机器学习分类信息决定当前应用流的最终分类结果。
2.根据权利要求1所述的基于机器学习的数据流分类提升系统,其特征在于,所述输入规则为:端口、IP地址、协议字段是否在预设值域内。
3.根据权利要求1所述的基于机器学习的数据流分类方法,其特征在于,所述步骤2)具体包括:
步骤2-1)根据数据包的五元组信息:源IP,源端口,目的IP,目的端口和协议,通过哈希算法将数据包映射到对应的数据流;
步骤2-2)将方向相反的两条数据流构成应用流;
步骤2-3)提取应用流的特征信息,所述特征信息为用于机器学习分类器的各种特征字段,包括:应用流的交互时间、每一轮交互的数据包大小及间隔时间、交互的数据包总个数;
步骤2-4)将应用流及其特征信息记录在应用流流表中。
4.根据权利要求1所述的基于机器学习的数据流分类方法,其特征在于,所述步骤3)的机器学习分类器的采用决策树、最近邻、SVM和神经网络分类算法,采用监督机器学算法,将带有标签的训练数据集输入所述机器学习分类器完成训练。
5.根据权利要求1所述的基于机器学习的数据流分类方法,其特征在于,所述步骤4)具体包括:
步骤4-1)根据应用流的三元组信息:目的地址,目的端口,协议哈希值,查询所述应用流是否有所属的关联信息表;如果有,转入步骤4-2),否则,建立一个新的关联信息表;
所述关联信息表对每一个可能的分类标签维护一个权重得分V-score,初始值都为零;
步骤4-2)在所述应用流所属的关联信息表,将所有的V-score乘以衰减因子β,将标签La对应的V-score加1;
步骤4-3)选择数值最大的V-score对应的标签作为当前待分类应用流的最终分类结果。
6.一种基于机器学习的数据流分类系统,包括存储器、处理器和存储在存储器上的并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~5之一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810027661.1A CN110034966B (zh) | 2018-01-11 | 2018-01-11 | 一种基于机器学习的数据流分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810027661.1A CN110034966B (zh) | 2018-01-11 | 2018-01-11 | 一种基于机器学习的数据流分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110034966A true CN110034966A (zh) | 2019-07-19 |
CN110034966B CN110034966B (zh) | 2020-09-08 |
Family
ID=67234345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810027661.1A Active CN110034966B (zh) | 2018-01-11 | 2018-01-11 | 一种基于机器学习的数据流分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110034966B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887300A (zh) * | 2021-01-22 | 2021-06-01 | 北京交通大学 | 一种数据包分类方法 |
WO2021104444A1 (zh) * | 2019-11-27 | 2021-06-03 | 华为技术有限公司 | 一种数据流分类方法、装置及系统 |
CN113259263A (zh) * | 2021-04-29 | 2021-08-13 | 中电积至(海南)信息技术有限公司 | 一种深度报文检测集群中的数据包调度方法 |
CN113438332A (zh) * | 2021-05-21 | 2021-09-24 | 中国科学院信息工程研究所 | 一种DoH服务标识方法及装置 |
CN114827042A (zh) * | 2021-01-22 | 2022-07-29 | 瑞昱半导体股份有限公司 | 数据流分类装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060079914A (ko) * | 2005-01-04 | 2006-07-07 | 주식회사 정보보호기술 | Mpls vpn에서 네트워크 모니터링을 위한 가입자 네트워크 식별 및 트래픽 분류방법 |
CN101841440A (zh) * | 2010-04-30 | 2010-09-22 | 南京邮电大学 | 基于支持向量机与深层包检测的对等网络流量识别方法 |
EP2584496A1 (en) * | 2011-10-20 | 2013-04-24 | Telefonaktiebolaget L M Ericsson AB (Publ) | Creating and using multiple packet traffic profiling models to profile packet flows |
CN104268260A (zh) * | 2014-10-10 | 2015-01-07 | 中国科学院重庆绿色智能技术研究院 | 一种流数据的分类方法及其装置和系统 |
CN104883278A (zh) * | 2014-09-28 | 2015-09-02 | 北京匡恩网络科技有限责任公司 | 一种利用机器学习对网络设备进行分类的方法 |
-
2018
- 2018-01-11 CN CN201810027661.1A patent/CN110034966B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060079914A (ko) * | 2005-01-04 | 2006-07-07 | 주식회사 정보보호기술 | Mpls vpn에서 네트워크 모니터링을 위한 가입자 네트워크 식별 및 트래픽 분류방법 |
CN101841440A (zh) * | 2010-04-30 | 2010-09-22 | 南京邮电大学 | 基于支持向量机与深层包检测的对等网络流量识别方法 |
EP2584496A1 (en) * | 2011-10-20 | 2013-04-24 | Telefonaktiebolaget L M Ericsson AB (Publ) | Creating and using multiple packet traffic profiling models to profile packet flows |
CN104883278A (zh) * | 2014-09-28 | 2015-09-02 | 北京匡恩网络科技有限责任公司 | 一种利用机器学习对网络设备进行分类的方法 |
CN104268260A (zh) * | 2014-10-10 | 2015-01-07 | 中国科学院重庆绿色智能技术研究院 | 一种流数据的分类方法及其装置和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021104444A1 (zh) * | 2019-11-27 | 2021-06-03 | 华为技术有限公司 | 一种数据流分类方法、装置及系统 |
CN112887300A (zh) * | 2021-01-22 | 2021-06-01 | 北京交通大学 | 一种数据包分类方法 |
CN112887300B (zh) * | 2021-01-22 | 2022-02-01 | 北京交通大学 | 一种数据包分类方法 |
CN114827042A (zh) * | 2021-01-22 | 2022-07-29 | 瑞昱半导体股份有限公司 | 数据流分类装置 |
CN113259263A (zh) * | 2021-04-29 | 2021-08-13 | 中电积至(海南)信息技术有限公司 | 一种深度报文检测集群中的数据包调度方法 |
CN113438332A (zh) * | 2021-05-21 | 2021-09-24 | 中国科学院信息工程研究所 | 一种DoH服务标识方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110034966B (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110034966A (zh) | 一种基于机器学习的数据流分类方法及系统 | |
CN102315974B (zh) | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 | |
CN105871832A (zh) | 一种基于协议属性的网络应用加密流量识别方法及其装置 | |
CN101408883B (zh) | 一种网络舆情观点收集方法 | |
CN102420723A (zh) | 一种面向多类入侵的异常检测方法 | |
CN104794192A (zh) | 基于指数平滑、集成学习模型的多级异常检测方法 | |
CN106228398A (zh) | 基于c4.5决策树算法的特定用户挖掘系统及其方法 | |
CN102394827A (zh) | 互联网流量分级分类方法 | |
CN103973589B (zh) | 网络流量分类方法及装置 | |
WO2015154484A1 (zh) | 流量数据分类方法及装置 | |
CN106789242A (zh) | 一种基于手机客户端软件动态特征库的识别应用智能分析引擎 | |
CN110532564A (zh) | 一种基于cnn和lstm混合模型的应用层协议在线识别方法 | |
CN112967063B (zh) | 一种面向以太坊平台的庞氏骗局检测方法 | |
CN105871619A (zh) | 一种基于n-gram多特征的流量载荷类型检测方法 | |
CN108028807A (zh) | 用于在线自动识别网络流量模型的方法和系统 | |
Kong et al. | Identification of abnormal network traffic using support vector machine | |
CN112861894A (zh) | 一种数据流分类方法、装置及系统 | |
Cheng et al. | Blocking bug prediction based on XGBoost with enhanced features | |
CN107493275A (zh) | 异构网络安全日志信息的自适应提取和分析方法及系统 | |
Min et al. | Online Internet traffic identification algorithm based on multistage classifier | |
CN102984131A (zh) | 一种信息识别方法和装置 | |
Wang et al. | Internet traffic classification using machine learning: a token-based approach | |
Yu et al. | Abnormal transaction detection based on graph networks | |
Qing et al. | Mitigating data imbalance to improve the generalizability in IoT DDoS detection tasks | |
Shi et al. | Unsupervised anomaly detection for network flow using immune network based k-means clustering |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230807 Address after: 450000 Ximei building, No. 6, Changchun Road, high tech Industrial Development Zone, Zhengzhou City, Henan Province Patentee after: Zhengzhou xinrand Network Technology Co.,Ltd. Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES Patentee before: BEIJING SCV TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |