CN110034966B - 一种基于机器学习的数据流分类方法及系统 - Google Patents

一种基于机器学习的数据流分类方法及系统 Download PDF

Info

Publication number
CN110034966B
CN110034966B CN201810027661.1A CN201810027661A CN110034966B CN 110034966 B CN110034966 B CN 110034966B CN 201810027661 A CN201810027661 A CN 201810027661A CN 110034966 B CN110034966 B CN 110034966B
Authority
CN
China
Prior art keywords
flow
machine learning
application
data
classification
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.)
Active
Application number
CN201810027661.1A
Other languages
English (en)
Other versions
CN110034966A (zh
Inventor
叶晓舟
张润滋
吴京洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Xinrand Network Technology Co ltd
Original Assignee
Beijing Scv Technology Co ltd
Institute of Acoustics CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Scv Technology Co ltd, Institute of Acoustics CAS filed Critical Beijing Scv Technology Co ltd
Priority to CN201810027661.1A priority Critical patent/CN110034966B/zh
Publication of CN110034966A publication Critical patent/CN110034966A/zh
Application granted granted Critical
Publication of CN110034966B publication Critical patent/CN110034966B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing 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),否则,将所述应用流的分类结果标识为“未知应用”,转入步骤1);
步骤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之一所述方法的步骤。
CN201810027661.1A 2018-01-11 2018-01-11 一种基于机器学习的数据流分类方法及系统 Active CN110034966B (zh)

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 CN110034966A (zh) 2019-07-19
CN110034966B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861894A (zh) * 2019-11-27 2021-05-28 华为技术有限公司 一种数据流分类方法、装置及系统
CN114827042B (zh) * 2021-01-22 2024-06-18 瑞昱半导体股份有限公司 数据流分类装置
CN112887300B (zh) * 2021-01-22 2022-02-01 北京交通大学 一种数据包分类方法
CN113259263B (zh) * 2021-04-29 2022-11-22 积至(海南)信息技术有限公司 一种深度报文检测集群中的数据包调度方法
CN113438332B (zh) * 2021-05-21 2022-08-23 中国科学院信息工程研究所 一种DoH服务标识方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100676712B1 (ko) * 2005-01-04 2007-02-02 주식회사 정보보호기술 Mpls vpn에서 네트워크 모니터링을 위한 가입자 네트워크 식별 및 트래픽 분류방법
CN101841440B (zh) * 2010-04-30 2012-01-04 南京邮电大学 基于支持向量机与深层包检测的对等网络流量识别方法
US8817655B2 (en) * 2011-10-20 2014-08-26 Telefonaktiebolaget Lm Ericsson (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 中国科学院重庆绿色智能技术研究院 一种流数据的分类方法及其装置和系统

Also Published As

Publication number Publication date
CN110034966A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
CN110034966B (zh) 一种基于机器学习的数据流分类方法及系统
WO2020062390A1 (zh) 一种网络流量分类方法、系统及电子设备
CN112085039B (zh) 一种基于随机森林的icmp隐蔽通道检测方法
CN110012029B (zh) 一种区分加密和非加密压缩流量的方法和系统
CN101414939B (zh) 一种基于动态深度包检测的互联网应用识别方法
CN109218223B (zh) 一种基于主动学习的鲁棒性网络流量分类方法及系统
CN111191767B (zh) 一种基于向量化的恶意流量攻击类型的判断方法
KR102279983B1 (ko) 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체
CN102420723A (zh) 一种面向多类入侵的异常检测方法
CN107819646A (zh) 一种分布式传输的网络流量分类系统和方法
CN112804253B (zh) 一种网络流量分类检测方法、系统及存储介质
CN113989583A (zh) 一种互联网恶意流量检测方法及系统
CN109150859B (zh) 一种基于网络流量流向相似性的僵尸网络检测方法
CN113645232A (zh) 一种面向工业互联网的智能化流量监测方法、系统及存储介质
CN112528277A (zh) 一种基于循环神经网络的混合入侵检测方法
CN108462707B (zh) 一种基于深度学习序列分析的移动应用识别方法
CN104468252A (zh) 一种基于正迁移学习的智能网络业务识别方法
CN109639734B (zh) 一种具有计算资源自适应性的异常流量检测方法
CN106789242A (zh) 一种基于手机客户端软件动态特征库的识别应用智能分析引擎
CN111611280A (zh) 一种基于cnn和sae的加密流量识别方法
CN112861894A (zh) 一种数据流分类方法、装置及系统
Kong et al. Identification of abnormal network traffic using support vector machine
CN116150688A (zh) 智能家居中轻量级的物联网设备识别方法与装置
CN105812280B (zh) 一种分类方法及电子设备
CN116233902B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
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.