首页> 中国专利> 基于关联性命令控制信息的流量识别方法及系统

基于关联性命令控制信息的流量识别方法及系统

摘要

本发明公开了一种基于关联性命令控制信息的流量识别方法及系统,该方法包括:S1.对目标协议流量的初始握手交互过程进行分析,获得载荷中包含的命令控制信息集合,以及所述命令控制信息之间以交互为主要特征的关联的集合;S2.根据五元组将待识别的流量分成多条流;S3.按照目标协议的消息重组的启发性条件集合,判断待识别的流是否能够进行目标协议的消息重组;S4.检查待识别的流的消息中是否包含所述命令控制信息集合中的项;S5.判断待识别的流的消息的命令控制信息是否包含所述关联集合中的项。本发明的方法及系统有效、快速、并有着较好的可扩展性。

著录项

  • 公开/公告号CN102045195A

    专利类型发明专利

  • 公开/公告日2011-05-04

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN201010562392.2

  • 发明设计人 薛一波;李城龙;

    申请日2010-11-23

  • 分类号H04L12/24(20060101);H04L12/26(20060101);

  • 代理机构11002 北京路浩知识产权代理有限公司;

  • 代理人王莹

  • 地址 100084 北京市海淀区清华园北京100084-82信箱

  • 入库时间 2023-12-18 02:09:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-16

    专利权的转移 IPC(主分类):H04L12/24 登记生效日:20171227 变更前: 变更后: 申请日:20101123

    专利申请权、专利权的转移

  • 2012-07-25

    授权

    授权

  • 2011-06-15

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20101123

    实质审查的生效

  • 2011-05-04

    公开

    公开

说明书

技术领域

本发明涉及信息安全与监控技术领域,尤其涉及一种基于关联性命令控制信息的流量识别方法及系统。

背景技术

网络流分类和协议识别技术是信息安全和监控领域中的核心技术。其主要任务是根据网络流及流内报文包含的信息识别出流所属的网络协议类别。随着高速互联网技术和多媒体技术的发展,网络的有效管理变得越来越富有挑战性。流分类是网络管理的基础,也是解决网络拥塞、确定关键性服务、组织网络攻击、追踪非法流量的基础。

现有的网络流分类和协议识别技术包括:基于包头的技术、基于协议的技术和基于行为的技术。分类和识别方法主要有:基于模式匹配的方法、基于统计的方法和基于机器学习的方法。

基于包头和协议的技术通过对包中载荷里的字段分析,得到目标协议中特定字段的固定模式,并应用模式匹配的方法进行协议识别。该类方法识别速度快,准确率高,但是更新代价较大,无法识别加密流量和协议。

基于行为的技术主要利用目标协议在网络中的传输行为特征,应用统计和机器学习的方法进行网络流分类和识别。该类方法一般情况下的识别速度和准确率都逊于基于包头和协议的匹配方法。但是,该类方法不需要分析载荷中的内容,因此能够识别加密流量。

尽管传统的基于端口的流分类方法和基于固定载荷特征的流分类方法仍然在大量使用,但是越来越多的动态协议和加密协议使得基于包的流分类方法有效性不断降低。

发明内容

(一)要解决的技术问题

本发明所要解决的技术问题是:提高流识别的速度、有效性以及适用范围。

(二)技术方案

为解决上述问题,本发明提供了一种基于关联性命令控制信息的流量识别方法,该方法包括步骤:

S1.对目标协议流量的初始握手交互过程进行分析,获得载荷中包含的命令控制信息集合,以及所述命令控制信息之间以交互为主要特征的关联的集合;

S2.根据五元组将待识别的流量分成多条流;

S3.按照目标协议的消息重组的启发性条件集合,判断待识别的流是否能够进行目标协议的消息重组,若不能,则载入下一条流,并重新执行步骤S3,若能,则执行步骤S4;

S4.检查待识别的流的消息中是否包含所述命令控制信息集合中的项,若不包含,则判断该流为非所述目标协议流量,载入下一条流,并返回步骤S3,若包含,则执行步骤S5;

S5.判断待识别的流的消息的命令控制信息是否符合所述关联集合中的项,若不符合,则判断所述流为非所述目标协议流量,载入下一条流,并返回步骤S3,若符合,则判定所述流为所述目标协议流量,载入下一条流,并返回步骤S3。

其中,在步骤S1进一步包括:

S1.1抓取目标协议纯流量;

S1.2对所述目标协议纯流量进行五元组分流;

S1.3定义所述目标协议的消息,得到所述目标协议的消息重组的启发性条件;

S1.4将所述目标协议纯流量中的每个流按照步骤S1.3中的定义及启发性条件进行消息重组,获得位于载荷开始位置的流量选定交互过程的命令控制信息集合,并对所述命令控制信息按照以交互为主要特征的进行关联;

S1.5对所述关联进行相似度聚类和简化,获得命令控制信息之间的关联的集合。

其中,步骤S1.1中,抓取方法为在虚拟机中通过防火墙、以及抓包工具,运行所述目标协议软件,抓取所述目标协议纯流量。

其中,所述五元组为:源IP、目的IP、源端口、目的端口、以及协议号。

其中,步骤S1.3中定义所述目标协议的消息进一步包括:

S1.31定义目标协议的流,为在设定时间内具有相同五元组的包组成的有序集合;

S1.32定义目标协议的消息,为目标协议的流中的一个独立的交互步骤,一个消息包括一个或多个所述包。

其中,步骤S1.4中,每个消息的中所包含的有效属性包括:命令、长度、是否包含传输数据。

其中,步骤S1.5中的相似度聚类的方法为k-means聚类算法。

本发明还提供了一种基于关联性命令控制信息的流量识别系统,该系统包括:分析模块,用于对目标协议流量的初始握手交互过程进行分析,获得载荷中包含的命令控制信息集合,以及所述命令控制信息之间以交互为主要特征的关联的集合;分流模块,用于根据五元组将待识别的流量分成多条流;第一识别模块,用于按照目标协议的消息重组的启发性条件集合,判断待识别的流是否能够进行目标协议的消息重组;第二识别模块,用于检查待识别的流的消息中是否包含所述命令控制信息集合中的项;第三识别模块,用于判断待识别的流的消息的命令控制信息是否符合所述关联集合中的项,若不符合,则判断所述流为非所述目标协议流量若符合,则判定所述流为所述目标协议流量。

其中,所述敏捷分析模块进一步包括:抓取单元,用于抓取目标协议纯流量;分流单元,用于对所述目标协议纯流量进行五元组分流;定义单元,用于定义所述目标协议的消息,得到所述目标协议的消息重组的启发性条件;消息重组单元,将所述目标协议纯流量中的每个流按照定义单元中的定义及启发性条件进行消息重组,获得位于载荷开始位置的流量选定交互过程的命令控制信息集合,并对所述命令控制信息按照以交互为主要特征的进行关联;聚类单元,用于对所述关联进行相似度聚类和简化,获得命令控制信息之间的关联的集合。

(三)有益效果

本发明的方法及系统首先通过消息重组和聚类技术来对目标协议流量进行分析和学习,得到命令控制信息集合和命令控制信息之间的关联的集合,然后采用基于流的针对消息、命令控制信息及其关联的实时在线系统来对流量进行识别和分类,该方法及系统有效、快速、并有着较好的可扩展性。

附图说明

图1为依照本发明一种实施方式的基于关联性命令控制信息的流量识别方法流程图;

图2为依照本发明一种实施方式的基于关联性命令控制信息的流量识别方法中对目标协议流量的敏捷分析流程图;

图3为HTTP协议两个关键交互过程的状态关联过程示意图;

图4(a)为QQ文本聊天协议空闲状态以及聊天状态的状态关联过程示意图;

图4(b)为QQ文本聊天协议登录状态的状态关联过程示意图。

具体实施方式

对于本发明所提出的基于关联性命令控制信息的流量识别方法及系统,结合附图和实施例详细说明。

本发明的方法是一种新型的基于流的流识别方法,它可以对多种类型的协议流量进行有效快速区分,包括标准协议(如HTTP协议等),动态加密的协议(如即时通信协议等)。本发明方法主要在于寻找通信中的命令控制信息的关联过程,在一般情况下,一个流开始的时候总是该协议的频繁的握手交互过程。本发明首先对目标协议流量的初始握手交互过程进行基于命令控制信息关联的敏捷分析,定义目标协议的消息,并对抓取的目标协议的纯流量进行消息的重组聚类,最终得到代表选定的关键交互过程的命令控制信息关联集合(以状态转移图和状态机形式体现)。然后在在线的实时分类过程中利用命令控制信息和命令控制信息关联判断待识别流是否属于目标协议。本发明的方法具有快速、有效、适用范围广等优点。

如图1所示,依照本发明一种实施方式的基于关联性命令控制信息的流量识别方法包括:

S1.对目标协议流量的初始握手交互过程进行敏捷分析,获载荷中包含的命令控制信息,以及所述命令控制信息之间以交互为主要特征的关联的集合;。

如图2所示,步骤S1进一步包括:

S1.1抓取海量目标协议纯流量,即全部为目标协议的流量,抓取方法为在没有或尽量不启用其他会产生流量的网络应用,即干净的虚拟机中通过防火墙,抓包工具等,运行目标软件,抓取目标协议的纯净流量;

S1.2对目标协议的纯净流量通过<源IP、目的IP、源端口、目的端口、协议号>五元组分流;

S1.3根据观察和分析,定义目标协议的消息,并根据目标协议的消息的定义,找出目标协议的消息重组的启发性条件,根据这些启发性条件能够有效将流进行消息重组;

该步骤中,首先给出流的定义,流为一段时间内具有相同五元组<源IP、目的IP、源端口、目的端口、协议号>的包组成的有序集合,即流S=<P1,P2,...,Pn>,其中Pi(i=1,2,...n)为流中连续的包。消息代表流中一个独立的交互步骤,一个消息由一个或多个包组成,一种协议的消息定义为M(a1,a2,...,ai),即该消息包含i个属性,这些属性通常包括有效属性:命令字符串、长度、是否包含传输数据等,一个流可以表示成S=<M1,M2,...,Mm>,其中m<n。

S1.4将目标协议的每个流按上述定义及启发性条件重组为多个消息,获得位于载荷开始位置的流量选定的关键交互过程的命令控制信息的集合,对命令控制信息按照交互过程进行关联;

S1.5按照每个消息中所包含的命令字符串、长度、是否包含传输数据等属性进行相似度聚类,即消息的转移过程集合,对其进行简化,最终获得命令控制信息之间的关联的集合,即关键交互过程状态机集合K,其中命令控制信息的集合为集合C。

在聚类过程中,优选地使用k-means聚类算法,即目标协议纯流量中有N条流,表示为Si=<Mi1,Mi2,...,Mim>,其中i=1,2,...,N。根据观察和经验给出初始的聚类状态集合C0={c1(1),c2(1),...,ck(1)},将流Si聚类到距离最近的聚类状态ci中。依次迭代进行聚类,直到最终集合收敛,即Ci=<MCi1,MCi2,...,MCiMi>,(i=1,2,...,k)。因为通信协议总是具有一定的内在结构,因此大多数情况下使用k-means聚类算法结果都是收敛的。

继续如图1所示:

S2.对待识别的流量,首先进行分流,按照<源IP、目的IP、源端口、目的端口、协议号>这五元组将流量分成多条流;

S3.以流为单位进行识别,首先按照目标协议的启发性条件判断待识别流是否能被分成目标协议的消息,如果不行则该流被判断为非目标协议流量,载入下一条待判断的流,转至步骤S3,如果可以进行下一步骤;

S4.检查待判断流的消息中是否包含命令控制信息集合中的项,即属于集合C的命令控制信息,如果不包含,则该流被判断为非目标协议流量,载入下一条待判断的流,转至步骤S3,如果包含进行下一步骤;

S5.判断待识别流的消息的命令控制信息是否包含所述关联集合中的项,即关键交互过程集合K中的某个状态转移过程,如果不符合,则该流被判断为非目标协议流量,载入下一条待判断的流,转至步骤S3,如果符合则说明待识别的流属于迅雷流量,转至S3进行下一条流的判断。

在上述过程中,一般只需要检查一个流的头十几个至几十个包,并且每个包只需要检查载荷的头几十个至一百个左右字节即可,我们假设待分类的流量共有N条流,假设每条流需要检查头A个包,每个包需要检查头B个字节,这样识别分类的计算复杂度O(N)=AbN,整体在线识别系统非常简洁,复杂度也较低,能够有效被运用到实际流量识别系统中。

此外,选定的关键交互过程根据目标协议的不同而不同。

本发明还提供了一种基于命令控制信息关联的流量识别系统,该系统包括:分析模块,用于对目标协议流量的初始握手交互过程进行分析,获得载荷中包含的命令控制信息集合,以及所述命令控制信息之间以交互为主要特征的关联的集合;分流模块,用于根据五元组将待识别的流量分成多条流;第一识别模块,用于按照目标协议的消息重组的启发性条件集合,判断待识别的流是否能够进行目标协议的消息重组;第二识别模块,用于检查待识别的流的消息中是否包含所述命令控制信息集合中的项;第三识别模块,用于判断待识别的流的消息的命令控制信息是否符合所述关联集合中的项,若不符合,则判断所述流为非所述目标协议流量若符合,则判定所述流为所述目标协议流量。

其中,所述敏捷分析模块进一步包括:抓取单元,用于抓取目标协议纯流量;分流单元,用于对所述目标协议纯流量进行五元组分流;定义单元,用于定义所述目标协议的消息,得到所述目标协议的消息重组的启发性条件;消息重组单元,将所述目标协议纯流量中的每个流按照定义单元中的定义及启发性条件进行消息重组,获得位于载荷开始位置的流量选定交互过程的命令控制信息集合,并对所述命令控制信息按照以交互为主要特征的进行关联;聚类单元,用于对所述关联进行相似度聚类和简化,获得命令控制信息之间的关联的集合。

实施例1

本实施例以HTTP协议为例,说明本发明的技术方案。其中HTTP协议的命令控制信息之间的关联的集合中的两个选定的关键交互过程(请求状态(Request)以及响应状态(Response))如图3所示。本实施例的基于关联性命令控制信息的流量识别方法包括步骤:

S1.1抓取海量HTTP纯流量,抓取方法为在干净的虚拟机中通过防火墙,抓包工具等,运行目标软件,抓取目标协议的纯净流量;

S1.2对目标协议的纯净流量通过<源IP、目的IP、源端口、目的端口、协议号>五元组分流;

S1.3根据观察和分析,定义目标协议的消息,根据HTTP协议的消息的定义,找出HTTP协议的消息重组的启发性条件,根据这些启发行条件能够有效将目标流进行消息重组;

协议的消息定义为M(命令,长度,是否包含数据,版本),一个流可以表示成S=<M1,M2,...,Mm>。HTTP协议消息重组的启发性条件主要为:由于HTTP命令数量有限且较为固定,所以根据HTTP命令来划分HTTP消息是比较快捷也比较准确的。

S1.4将HTTP协议的每个流按上述定义和启发性条件分成多个消息,然后提取命令控制信息,得到命令控制信息集合C,包括:Request命令:GET,Post,Options,HEAD,PUT,DELETE,CONNECT,TRACE;以及Response命令:Informational 1xx,Successful 2xx,Redirection 3xx,Client Error 4xx,Server Error 5xx;获得控制命令信息后,会根据消息的交互过程对这些控制命令信息进行初步关联。

S1.5得到初步关联结果后,需要对其进行聚类和简化,最终得到的就是命令控制信息之间的关联的集合K;

在聚类过程中,使用k-means聚类算法,即HTTP协议纯流量中有N条流,表示为Si=<Mi1,Mi2,...,Mim>,其中i=1,2,...,N。根据观察和经验给出初始的聚类状态集合C0={c1(1),c2(1),...,ck(1)},将流Si聚类到距离最近的聚类状态ci中。依次迭代进行聚类,直到最终集合收敛,即Ci=<MCi1,MCi2,...,MCiMi>,(i=1,2,...,k)。因为通信协议总是具有一定的内在结构,因此大多数情况下使用k-means聚类算法结果都是收敛的。

S2.对待识别的流量,首先进行分流,按照<源IP、目的IP、源端口、目的端口、协议号>这五元组将流量分成多条流;

S3.以流为单位进行识别,首先按照HTTP协议观察得到的启发性条件判断待识别流是否能够进行HTTP消息重组,如果不行则该流被判断为非HTTP协议流量,载入下一条待判断的流,转至步骤S3,如果可以进行下一步骤;

S4.检查待识别的流的消息中是否包含命令控制信息,即属于集合C的命令,如果不包含,则该流被判断为非HTTP协议流量,载入下一条待判断的流,转至步骤S3,如果包含进行下一步骤;

S5.判断待识别的流的消息构成是否符合命令控制信息的关联集合K中的某个状态转移过程,如果不符合,则该流被判断为非HTTP协议流量,载入下一条待判断的流,转至步骤S3,如果符合则说明待识别的流属于HTTP流量,转至步骤S3进行下一条流的判断。

实施例2

本实施例以QQ文本聊天协议为例,说明本发明的技术方案。本实施例的基于敏捷流分析的流量识别方法包括的步骤与实施例1相同,其中QQ文本聊天协议的命令控制信息之间的关联的集合中的三个选定的关键交互过程(空闲状态、登录状态以及聊天状态)如图5所示,其中空闲状态以及聊天状态的状态关联过程如图5(a)所示,登录状态的状态关联过程如图5(b)所示。其消息重组的启发性条件主要为:

(1)流中一方的QQ版本是固定的;

(2)所有消息的版本应该属于QQ已出的版本中的一种;

(3)QQ的命令较为固定,数量有限,可以用来区分。

在上述过程中,一般只需要检查一个流的头十几个至几十个包,并且每个包只需要检查载荷的头几十个至一百个左右字节即可,假设待分类的流量共有N条流,假设每条流需要检查头A个包,每个包需要检查头B个字节,这样识别分类的计算复杂度O(N)=AbN,整体在线识别系统非常简洁,复杂度也较低,能够有效被运用到实际流量识别系统中。

实际过程中得到的命令控制信息集合C:

C={Keep_Alive(图5(a)中的S0)、Keep_Alive_Resp(图5(a)中的S1)、Touch(图5(b)中的S0)、Successful(图5(b)中的S1)、Token Request(图5(b)中的S2)、Token Response(图5(b)中的S3)、Captchas Request(图5(b)中的S4)、Captchas Response(图5(b)中的S5)、Password Verifying Request(图5(b)中的S6)、PasswordVerifying Successful(图5(b)中的S7)、Login Request(图5(b)中的S8)、Login Successful(图5(b)中的S9)、Send Friend Message(图5(c)中的S0)、Receive Friend Message(图5(c)中的S1)}

以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号