首页> 中国专利> 一种应用软件通信协议特征的描述方法

一种应用软件通信协议特征的描述方法

摘要

本发明涉及一种应用软件通信协议特征的描述方法,属于网络信息安全技术领域。本发明使用的前提是已从捕获的网络数据包中分析获得需要识别的应用软件通信协议的特征,然后使用本发明提出的方法对该应用软件通信协议特征进行描述,以便准确的实现对该应用软件通信协议的识别。本发明对应用软件通信协议特征进行了明确的分类和定义,具有逻辑严密、结构严谨、适用范围广、可扩展性好等特点。将本发明提出的方法用于应用软件通信协议识别时,具有高效、准确、实时、可扩展等优点。

著录项

  • 公开/公告号CN101710898A

    专利类型发明专利

  • 公开/公告日2010-05-19

    原文格式PDF

  • 申请/专利权人 北京理工大学;

    申请/专利号CN200910237433.8

  • 发明设计人 胡昌振;姚淑萍;薛飞;张欣;

    申请日2009-11-06

  • 分类号H04L29/06(20060101);

  • 代理机构11120 北京理工大学专利中心;

  • 代理人张利萍

  • 地址 100081 北京市海淀区中关村南大街5号

  • 入库时间 2023-12-17 23:57:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-12-23

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20111019 终止日期:20141106 申请日:20091106

    专利权的终止

  • 2011-10-19

    授权

    授权

  • 2010-07-07

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20091106

    实质审查的生效

  • 2010-05-19

    公开

    公开

说明书

技术领域

本发明涉及一种应用软件通信协议特征的描述方法,属于网络信息安全技术领域。适用于网络数据流量识别过程中对应用软件通信协议特征的描述。

背景技术

随着互连网上用以信息传输的应用软件数量的急剧增加,用户对应用软件进行识别的需求也越来越大。例如:企业希望能够识别出点对点(P2P)类下载软件、网络游戏、股票资讯类、即时通讯类等与工作无关的软件,进而通过禁用这些软件来规范员工的上网行为;青少年的家长希望互联网服务提供商(ISP)能够准确识别出网络游戏软件,并提供能够禁止网络游戏软件通信的服务;高校和ISP用户则希望能够识别出大量抢占带宽的P2P流量,从而按照策略进行流量管理控制。

区分不同类别的应用软件主要通过识别每一类型应用软件的通信协议所独有的特征来完成,而如何有效描述这些协议特征是其中的一项关键技术。目前已有技术中应用软件通信协议特征描述方法主要有以下几种:

(1)代码描述方法。该方法是将特征码写在程序代码中,其缺点是不利于维护已有协议特征和扩展新协议特征,每次特征升级都需要改动程序代码、重新编译程序并更新产品相关模块。

(2)正则表达式方法。该方法是利用正则语言表述协议特征,其缺点是描述能力相当有限,而且正则表达式匹配特征很耗资源。实验测试发现,识别过程中,有90%的匹配时间花费在正则表达式匹配字符串上,其它的检测分析或监视功能只占用很少的处理时间。

(3)自定义描述方法。该方法是用户自定义一种协议特征描述格式。邓凡在文献《基于特征库的流量识别方法》(专利,公开号为CN 101442489A)中对于每种应用,采用如下信息进行描述:

应用名称,便于使用者查看;

应用ID,便于系统检索;

特征值描述,每种应用可以有多个特征值描述,每个特征值描述又包括:协议类型、特征字符串、特征字符串位置(相对于报文头或尾的偏移)、特征掩码(表示特征字符串中的某些字符可以为任意字符)。

该文献提出的方法,缺陷在于特征描述能力有限,它只能描述单个应用层负载中固定位置出现的关键字特征,描述能力不及正则表达式。

发明内容

本发明的目的是针对已有应用软件通信协议特征描述方法存在的不足,提出一种更有效的应用软件通信协议特征的描述方法。本发明使用的前提是已从捕获的网络数据包中分析获得需要识别的应用软件通信协议的特征,然后使用本发明出的方法对该应用软件通信协议特征进行描述,以便准确的实现对该应用软件通信协议的识别。

本发明涉及的应用软件包括P2P类软件(如,哇嘎Vagaa“画”时代软件)、即时通讯类软件(如,MSN)、网络游戏类软件(如,反恐精英软件)和股票资讯类软件,但不限于上述软件。

本发明使用的前提是已经分析获得需要识别的应用软件通信协议的特征。

基于上述前提,本发明是通过以下技术方案实现的。

首先,给出相关概念定义。

定义:连接特征

本发明中网络流量中有限时间间隔内,源IP、源端口、目的IP、目的端口、传输层协议相同的数据包归属于同一连接。所谓连接特征,即在一条连接中体现出的某一种应用软件通信协议独有的特点。

每一种应用软件通信协议可以有多条连接特征,当抓取的属于同一连接的数据包满足其中的一个连接特征时,就可以完成对该应用软件通信协议的识别。

本发明的一种应用软件通信协议特征的描述方法为:

本发明设置以下描述项来描述一条连接特征:传输层协议特征项、源端口特征项、目的端口特征项、单负载特征项和多负载行为特征项组成。其中单负载特征项由位置特征项、方向特征项、长度特征项、固位特征项、变位特征项、对等特征项、长度运算特征项和端口运算特征项组成;多负载行为特征项为连接中数据包应用层负载长度不为0的前有限数目数据包中多个连续数据包的应用层负载在长度、方向、内容上共同形成的特征。多负载行为特征项由多个单负载特征项组成。

应用软件通信协议特征描述如图1所示。

下面详细阐述图中各特征项的组成及取值约束。

1.传输层协议特征项

表示连接特征描述的应用层负载的传输层协议类型;可选值为“TCP”、“UDP”;该特征项无子元素,在连接特征中最多出现1次,不出现表示该连接特征适用于TCP和UDP两种协议。

2.源端口特征项

表示连接特征描述的连接的源端口属于一个或多个固定值,或者属于某一范围。端口取值范围为0~65535。源端口特征项在连接特征中最多出现1次,不出现表示无源端口特征。

3.目的端口特征项

表示连接特征描述的连接的目的端口属于一个或多个固定值,或者属于某一范围。端口取值范围为0~65535。目的端口特征项在连接特征中最多出现1次,不出现表示无目的端口特征。

4.单负载特征项

表示连接应用层前有限数目数据包中某一数据包的应用层负载内容上的特征。单负载特征项由如下几类子特征项组成:

①位置特征项:

表示该单负载特征项描述的数据包在整个应用连接中出现的位置。位置可以是一个固定值或一个范围。例如应用层负载前4个字节内容为abcd的特征出现在连接的第1个数据包中,或应用层负载末4位字节内容为0x0a0b0c0d的特征出现在第3个数据包之后,第10个数据包之前。本发明中所提到数据包的位置是相对于所有应用层负载长度不为0的数据包排序而言。考察连接特征时最多考察连接的前有限个数据包的应用层负载。较佳的方案为考察前15个数据包的特征。位置特征项在单负载特征项中最多出现1次,不出现表示该特征可能出现在任意位置。

②方向特征项:

表示该单负载特征项描述的应用层负载相对于连接初始方向而言是相同还是相反。例如:用0表示与连接初始方向相同,用1表示与连接初始方向相反。方向特征项在单负载特征项中最多出现1次,不出现表示无方向特征。

③长度特征项:

表示单负载特征项描述的应用层负载长度属于一个或多个固定值,或者属于某一范围。这里的长度是指去除三层报头后应用层负载的长度。长度特征项在单负载特征项中最多出现1次,不出现表示无长度特征。

④固位特征项:

表示某一个特征字符串在应用层负载中位置固定,且内容恒定。固位特征项在单负载特征项中出现频度为0到n次,n为大于0的整数。固位特征项内容见表1。

表1固位特征项内容

  名称  含义  取值范围  位置偏移  特征字符串在应用层负载中出现的位置。取正值表示  从应用层负载首处计算。取负值表示从应用层负载末  尾处计算。  不为0的整数  特征长度  特征串的长度,约定以一个字符长度(8bit)为一个特征  长度单位。  不为0的整数  特征内容  分为ASCII和16进制两种描述方式。  运算标志位  表示数据包该位置出现的内容与该特征进行相等运算  还是不等运算。  EQ(相等运算)  NEQ(不相等)

例:第11个字节开始长度为8的字符串内容为“abcdefgh”,包末尾两个字节内容为0x09dd。

⑤变位特征项:

表示某一个特征字符串位置不固定,内容固定的特征。变位特征项在单负载特征项中出现频度为0到n次,n为大于0的整数。变位特征项内容见表2。

表2变位特征项内容

  名称  含义  取值范围  起始偏移  特征字符串出现起始偏移后面某位置处。取正值表示  从应用层负载首处计算。取负值表示从应用层负载末  尾处计算。  不为0的整数  终止偏移  特征字符串出现终止偏移前面某位置处。取正值表示  从应用层负载首处计算。取负值表示从应用层负载末  尾处计算。  不为0的整数  特征长度  特征串的长度,约定以一个字符长度(8bit)为一个特征  长度单位。  正整数  特征内容  分为ASCII和16进制两种描述方式。  运算标志位  表示数据包该位置出现的内容与该特征进行相等运算  还是不等运算。  EQ(相等运算)  NEQ(不相等)

例如:在距离应用层负载首处第4个字节至倒数第二个字节间将出现内容为“abcd”的字符串。

⑥对等特征项:

表示分布在应用层负载2个固定位置处相同长度的内容为相等或不等。对等特征项在单负载特征项中出现频度为0到n次,n为大于0的整数。对等特征项内容见表3。

表3对等特征项内容

  名称  含义  取值范围  X位置偏移  特征字符串应用层负载中出现的第一个位置。取正值  表示从应用层负载首处计算。取负值表示从应用层负  载末尾处计算。  不为0的整数  Y位置偏移  特征字符串应用层负载中出现的第二个位置。取正值  表示从应用层负载首处计算。取负值表示从应用层负  载末尾处计算。  不为0的整数  特征长度  特征串的长度,约定以一个字符长度(8bit)为一个特征  长度单位。  正整数  运算标志位  相等运算还是不等运算。  EQ(相等运算)  NEQ(不相等)

例:第3字节处取长度为4的串A,第30字节处取长度为4的串B,判断是否有A==B

⑦长度运算特征项:

表示该应用层负载在固定位置处固定长度的内容换算成数值并与一个固定修正值进行加或减运算的结果等于该应用层负载长度;长度运算特征项在单负载特征项中出现的频度为0到n次,n为大于0的整数。长度运算特征项内容见表4。

表4长度运算特征项内容

  名称  含义  取值范围  位置偏移  特征字符串在应用层负载中出现的位置。取正值表示  从应用层负载首处计算。取负值表示从应用层负载末  尾处计算。  不为0的整数  特征长度  特征串的长度,约定以一个字符长度(8bit)为一个特征  长度单位。  较佳为[1,4]中的整数  修正值  参与运算的常量。  整数

例如:有效应用层负载长度为32,第三、四字节的内容为0x001c,十进制值为28,则有28+4=32,其中4为修正值。

⑧端口运算特征项:

表示该应用层负载在固定位置处固定长度的内容等于该连接的源端口或目的端口。端口运算特征项在单负载特征项中出现的频度为0到n次,n为大于0的整数。端口运算特征项内容见表5。

表5端口运算特征项内容

  名称  含义  取值范围  位置偏移  特征字符串在应用层负载中出现的位置。取正值表示  从应用层负载首处计算。取负值表示从应用层负载末  尾处计算。  不为0的整数  特征长度  特征串的长度,约定以一个字符长度(8bit)为一个特征  长度单位。  较佳为[1,4]中的整数  运算标志位  表示与源端口相等还是与目的端口相等。  SP(与源端口相等)  DP(与目的端口相等)

例如:连接目的端口为3333,第3字节处取长度为4的内容十进制运算后为A,则有A==3333。

5.多负载行为特征项

连接中数据包应用层负载长度不为0的前有限数目数据包中多个连续数据包的应用层负载在长度、方向、内容上共同形成的特征。

多负载行为特征项由多个单负载特征项组成。当分析应用软件应用层负载时,如果单个负载的特征相对较少,导致与其它应用软件通信协议特征发生碰撞,则可以联合应用软件协议通信连接前有限数目数据包中连续多个应用层负载的特征,从而避免特征碰撞,增加识别准确率。然而多负载行为特征要考察多个数据包的特征,相对于高效的单负载特征而言,多负载行为特征会耗费网络安全设备更多时间和资源。

在一条连接特征中,单负载特征项和多负载行为特征项是互斥关系,即一条连接特征只包含单负载特征项和多负载行为特征项中的一种。

6.自定义项

根据应用软件通信协议的特殊特征,设置的自定义项,可以设置多项。

有益效果

本发明的描述方式是在提炼大量不同类别应用软件通信协议特征的共同特点的基础上提出的,它对应用软件通信协议特征进行了明确的分类和定义,具有逻辑严密、结构严谨、适用范围广、可扩展性好等特点。将本发明提出的方法用于应用软件通信协议识别时,具有高效、准确、实时、可扩展等优点。

附图说明

图1为本发明的应用软件通信协议特征描述方式示意图。

具体实施方式

根据上述技术方案,下面结合实施例对本发明进行详细说明。

选择P2P类、即时通讯类(IM)、网络游戏类件和股票资讯类这四类不同的应用软件作为协议分析对象,展示如何运用本发明阐述的描述方法进行协议特征描述。四类软件中P2P类选择国内用户基础广泛的Vagaa进行分析,版本为2.6.6.3;IM类选择国内外应用最广的MSN进行分析,版本为2009版(版本14.0.8050.1202);考虑到网络游戏类和股票资讯类相似,只是功能不同,本发明只选择网络游戏反恐精英软件进行分析,版本为1.6v3647。

实验环境:

硬件:奔腾IV3.0G处理器、内存1G;

操作系统:windows xp sp2;

抓包工具软件:wireshark

测试应用软件:Vagaa,MSN,反恐精英。

网络环境:ADSL拨号上网,带宽1M。

首先,经过网络抓包,分析以上三种应用软件通信协议,获取协议特征。

1.Vagaa协议

Vagaa协议特征如下:

(1)Vagaa协议可以通过TCP和UDP两种传输协议进行文件传输;

(2)UDP协议的第一个应用层负载前4个字节内容为0xff0a0c02,负载长度恒为8;

(3)UDP协议的第一个应用层负载前4个字节内容为0xff0e0000,负载长度恒为12;

(4)UDP或TCP协议的第一个应用层负载前4个字节内容为0xffdee3e4,负载长度大于68;

(5)UDP或TCP协议的第一个应用层负载的前两个字节内容为0x3cb0,第4、5字节内容为0x649b;

(6)TCP协议的连续3个应用层负载长度不为0的数据包中,第一个包的应用层负载长度范围为220~240,第二个包的应用层负载长度范围为160~200,第三个包的应用层负载长度取值为26或80;

(7)TCP协议的连续3个应用层负载长度不为0的数据包中,第一个包的应用层负载长度为26,第二个包的应用层负载长度为29、66、188、10、14中的某一值,第三个包的应用层负载长度为26、54、14、10中的某一值。

(8)UDP协议的连续3个应用层负载长度不为0的数据包中,第一个包的应用层负载长度为8、12、16中的某一值,第二个包的应用层负载长度为4,第三个包的应用层负载长度为4。

2.MSN协议

MSN协议特征如下:

(1)MSN协议通过TCP传输协议进行文件传输;

(2)TCP协议的第一个包应用层负载前4个字节内容为“VER”,第4字节之后存在内容为″MSNP″的字符串,该字符串的位置不固定;

(3)TCP协议的第一个包应用层负载前6个字节内容“ISR1”,最后两个字节内容为0x0d0a;

(4)TCP协议的第一个包应用层负载前6个字节内容为“ANS1”,最后两个字节内容为0x0d0a。

3.反恐精英协议

反恐精英协议特征如下:

(1)反恐精英协议通过UDP传输协议进行文件传输;

(2)UDP协议的第一个包应用层负载前16字节内容为0xffffffff6765746368616c6c656e6765;

(3)UDP协议的第一个包引用层负载前25字节内容0xffffffff54536f7572636520456e67696e6520517565727900。

按照本发明提出的特征描述方式表述上述应用软件通信协议的特征如下:

1.Vagaa协议

Vagaa软件通信协议特征由7条连接特征组成:

(1)连接特征由一个传输层协议特征项和一个单负载特征项组成,传输层协议特征项取值为UDP,表示该特征所标识的连接采用传输层协议为UDP。单负载特征项由位置特征项、长度特征项和一个固位特征项组成:位置特征项取值为1,表示该单负载特征项所记录的特征信息位于连接的第一个应用负载中;长度特征项内容为等于8,固位特征项中位置偏移为1,特征长度为4,特征内容为0xff0a0c0a,运算符项为EQ。

(2)连接特征由一个传输层协议特征项和一个单负载特征项组成,传输层协议特征项取值为UDP。单负载特征项由位置特征项、长度特征项和一个固位特征项组成:位置特征项取值为1,长度特征向取值等于12,固位特征项中位置偏移为1,特征长度为4,特征内容为0xff0e0000,运算符项为EQ。

(3)连接特征由一个单负载特征项组成,单负载特征项由位置特征项、长度特征项和一个固位特征项组成:位置特征项取值为1,长度特征项取值为大于68,固位特征项中位置偏移为1,特征长度为4,特征内容为0xff0e0000,运算符项为EQ。

(4)连接特征由一个单负载特征项组成:单负载特征项由位置特征项和两个固位特征项组成:位置特征项取值为1,第一个固位特征项中位置偏移为1,特征长度为2,特征内容为0x3cb0,运算符项为EQ;第二个固位特征项中位置偏移为4,特征长度为2,特征内容为0x649b,运算符项为EQ。

(5)连接特征由一个传输层协议特征项和一个多负载行为特征项组成。传输层协议特征项取值为TCP。多负载行为特征项由三个单负载特征项组成:第一个单负载特征项由一个长度特征项组成,取值为220~240之间。第二个单负载特征项由一个长度特征项组成,取值为160~200之间。第三个单负载特征项由一个长度特征项组成,取值为26或80。

(6)连接特征由一个传输层协议特征项和一个多负载行为特征项组成。传输层协议特征项取值为TCP。多负载行为特征项由三个单负载特征项组成:第一个单负载特征项由一个长度特征项组成,取值为26。第二个单负载特征项由一个长度特征项组成,取值为29或66或188或14或10。第三个单负载特征项由一个长度特征项组成,取值为26或54或14或10。

(7)连接特征由一个传输层协议特征项和一个多负载行为特征项组成。传输层协议特征项取值为UDP。多负载行为特征项由三个单负载特征项组成:第一个单负载特征项由一个长度特征项组成,取值为16或12或8。第二个单负载特征项由一个长度特征项组成,取值为4。第三个单负载特征项由一个长度特征项组成,取值为4

2.MSN协议

MSN软件协议特征由3条连接特征组成:

(1)连接特征由一个传输层协议特征项和一个单负载特征项组成:传输层协议特征项取值为TCP;单负载特征项由位置特征项、一个固位特征项及一个变位特征项组成。位置特征项取值为1,固位特征项中位置偏移为1,特征长度为4,特征内容为“VER”,运算符项为EQ;变位特征项中起始位置偏移为5,终止位置偏移为-1,特征长度为4,特征内容为“MSNP”,运算符项为EQ。

(2)连接特征由一个传输层协议特征项和一个单负载特征项组成:传输层协议特征项取值为TCP;单负载特征项由位置特征项和两个固位特征项组成:位置特征项取值为1,第一个固位特征项中位置偏移为1,特征长度为6,特征内容为“ISR1”运算符项为EQ;第二个固位特征项中位置偏移为-1,特征长度为2,特征内容为0x0d0a,运算符项为EQ。

(3)连接特征由一个传输层协议特征项和一个单负载特征项组成:传输层协议特征项取值为TCP;单负载特征项由位置特征项和两个固位特征项组成:位置特征项取值为1,第一个固位特征项中位置偏移为1,特征长度为6,特征内容为“ANS1”,运算符项为EQ;第二个固位特征项中位置偏移为-1,特征长度为2,特征内容为0x0d0a,运算符项为EQ。

3.反恐精英协议

反恐精英软件协议由两条连接特征组成:

(1)连接特征由一个传输层协议特征项和一个单负载特征项组成,传输层协议特征项取值为UDP。单负载特征项由位置特征项和一个固位特征项组成:位置特征项取值为1,长固位特征项中位置偏移为1,特征长度为16,特征内容为0xffffffff6765746368616c6c656e6765,运算符项为EQ。

(2)连接特征由一个传输层协议特征项和一个单负载特征项组成,传输层协议特征项取值为UDP。单负载特征项由位置特征项和一个固位特征项组成:位置特征项取值为1,长固位特征项中位置偏移为1,特征长度为25,特征内容为0xffffffff54536f7572636520456e67696e6520517565727900,运算符项为EQ。

通过本发明提出的应用软件通信协议特征的描述方法对应用软件通信协议的特征进行描述以后,可以准确地实现对该应用软件通信协议的识别。

需要特别说明的是,对于本领域技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些也应视为属于本发明的保护范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号