更全的杂志信息网

基于内容分析的网络协议指纹识别

更新时间:2009-03-28

0 引 言

协议识别问题一直是计算机网络安全领域的热门研究。各种操作系统的网络协议从理论上说应该是相同的,一般是标准化的,但实际上各种网络协议在应用过程中存在一些差别,网络协议的“指纹”就是指这些细小的差别[1]。越来越多的研究证明网络协议指纹识别技术可应用于计算机网络安全领域。行为管理、应用性能分析、恶意攻击检测、应用安全网关、数据监测等很多环节,都离不开对网络数据内容的分析,而分析网络数据内容,网络协议的识别是前提。

网络协议识别目前主要面临以下问题:通用计算机结构的计算处理方式越来越无法满足网络在线计算处理的速度要求,研究更高效的网络处理技术与计算处理结构有着重要意义[2];各种各样的新应用随着网络技术发展不断出现,使得网络协议的类型也越来越多[3]。这些新的协议有一部分是私有协议,有一部分是根据开源协议来设计的,这些不定因素都给网络协议的识别分析带来了挑战;由于目前不是所有的协议都在IANA中注册使用端口,并且还有多个应用程序可能使用一个被注册的端口号,以及服务器的端口有时是动态分配的,这都使得只采用端口识别的网络协议识别技术越来越受到限制[4]

针对上述问题,本文研究基于内容分析的网络协议识别技术,包括网络协议的结构化定义、深度包网络协议识别技术以及正则表达式的优化改进。在此基础上开展基于协议指纹匹配和协议规则验证的协议自识别技术研究,进行协议指纹的提取,建立协议指纹库,实现对未知协议的识别。最后对协议自识别技术进行分析与评估,改进自识别技术及算法,提高识别效率和准确率。

1 相关研究

1.1 网络协议结构化定义

网络协议通常分不同层次进行设计,每一层负责不同的通信功能,这样可以简化网络设计,提高网络设计效率。TCP/IP协议族被广泛应用于网络数据传输,已成为事实上的国际标准。用户数据如FTP服务,FTP协议将用户数据封装成FTP数据,FTP数据将在传输层中被封装成TCP报文,在网络层中被封装成IP包,然后在链路层,网络接口驱动程序将IP包封装成以太网帧发送到网络中[5]。接收端收到数据后,按相反的次序解除各协议层的封装,最后得到用户数据。

各协议层都会在接收到上层数据后增加有严格的格式定义的封装。TCP的报文格式定义如图1所示。

  

图1 TCP报文格式(RFC793)

在网络层,IP协议将TCP或UDP报文封装成IP包,IP协议的封装格式如图2所示。

  

图2 IP协议格式定义(RFC791)

采用多模匹配算法来实现协议识别结果的快速验证,过程流程如图9所示。先提取出协议识别结果验证规则集中的所有规则进行编号,通过模式匹配算法在协议报文数据包解析出的五元组信息中查找规则,找到一个规则之后遍历此五元组信息包含的所有规则,如果某条五元组信息包含的所有规则都与对应的协议识别结果类型分组的规则对应,则表明该条协议识别结果正确。

  

图3 以太网封装数据格式(RFC894)和IEEE 802.2/802.3(RFC1042)

1.2 深度包检测技术

网络协议的这种严格的结构化定义为深度解析包的信息提供了技术基础。深度包检测(Deep Packet Inspection,DPI)技术不同于普通报文检测,不仅分析了包括源地址、目的地址、源端口、目的端口以及协议类型的内容,还对应用层的内容进行了分析,是一种基于应用层的业务检测和识别技术。DPI深度包检测的协议识别大致可以通过以下3种技术实现:

各个操作系统的网络协议的差异表现在数据包头的标志位段,如ACK序号、TOS(服务类型)、ICMP地址屏蔽请求、对FIN包的响应等,都可以作为各种网络协议的指纹特征,是该网络协议的一种特定描述[9]。通过汇总这些协议特定描述,提取指纹特征,形成网络协议指纹特征库。

1)协议指纹提取和验证规则建立。

3)行为模式识别技术:通过对终端已经完成的行为流量进行解析,识别出用户正在发生的行为或者即将发生的行为[6]。通常通过分析上下行流量的比例、单IP的连接模式、应用的连接数、数据包的发送接收频率等来识别应用的类型,用于无法根据协议判断的业务的识别。

1.3 正则表达式匹配技术

DFA不能有效支持通配符,而在协议分析中不可避免地遇到通配符。通配符会导致状态跃迁表膨胀,极端情况下,会达到数十GB的规模,这种理论上可行的方案在实际应用中是难以实现的[15]。一方面需要的存储空间巨大,给软硬件设计带来困难;另一方面高内存消耗使得查收频繁的内容访问速度严重下降。所以采用多级匹配的模式,结合流状态机进行分析是可行的方案。通过多级DFA分析,结合流状态表综合处理,是解决DFA状态跃迁表膨胀的有效途径。

有限状态自动机有2种:DFA(Deterministic Finite Automation,确定有限状态自动机)和NFA(Nondeterministic Finite Automation,非确定有限状态自动机)[7]。DFA处理复杂度是Ο(1),其状态集复杂度是Ο(∑n);NFA处理复杂度是Ο(n2),其状态集复杂度为Ο(n)。采用NFA的优势是需要的存储空间小,但匹配时速度慢,需要完成多次状态转换。采用DFA的优势是某一时刻只能存在一个活跃状态,匹配时速度快,只需进行一次状态转换,但与NFA相比,同样大小的存储空间容纳的匹配规则数量少。因此通常采用DNA匹配算法实现更高的数据吞吐。虽然NFA实现相对简单,但吞吐量较低。采用DFA匹配算法进行设计有利于高速报文匹配,且有较好的灵活性。

由于正则表达式匹配的时间代价与空间代价较高,对正则表达式匹配的时间与空间代价进行减少的研究特别重要[2]。近年来在提高编译速度、提高匹配速度以及降低存储空间这3个方面做了以下研究:通过McNaughton&Yamada算法和Thompson算法这2种基本的方式将正则表达式转换成NFA,并基于以上2种构建方式,降低算法的时间复杂度,提高编译速度;目前正则表达式匹配主要使用专用加速硬件来加快速度,匹配引擎有DFA和NFA这2种方式,在硬件匹配引擎中,基于存储器的引擎采用DFA实现,基于FPGA的一般采用NFA实现,也有采用DFA的方式[7];相比较NFA匹配引擎的状态转移表,DFA的状态转移表很庞大,因此降低存储空间的研究几乎都是基于DFA的。研究发现,由NFA通过最小子集构造算法仍有重复的等效状态自动机,可以利用填充表算法减少状态转移表。

2 基于协议指纹匹配和协议规则验证的协议自识别技术

2.1 网络协议指纹自识别技术总体设计

通过对网络协议严格的结构化定义以及深度包检测技术等进行研究分析,本文提出基于协议指纹匹配和协议规则验证技术的网络协议指纹自识别技术,能够对网络协议报文数据自动识别所属协议类型并且验证其识别结果。基于协议指纹匹配和协议规则验证的协议自识别技术的总体设计如图4所示,包括网络协议指纹特征库、协议识别结果验证规则库、协议指纹特征匹配识别引擎和协议识别结果快速验证引擎。其中,网络协议指纹特征库和协议识别结果验证规则库分别以配置文件描述形式存储了协议样本指纹特征提取阶段产生的网络协议指纹特征和协议识别结果验证规则集[8]。协议指纹特征匹配识别引擎基于快速哈希表方法实现协议特征指纹快速匹配,协议识别结果快速验证引擎基于高效的专用网络报文处理虚拟机实现协议识别结果进一步验证。

  

图4 网络协议指纹自识别技术总体设计

2.2 网络协议指纹自识别技术核心模块实现

网络协议指纹自识别技术提供基于协议指纹识别和协议规则验证技术实现的未知协议的指纹特征匹配自识别机制以及协议识别结果的快速验证机制,分为协议指纹特征提取和协议指纹特征匹配识别2个阶段,核心模块包括协议指纹提取和协议验证规则建立、协议指纹匹配自识别以及协议识别结果的快速验证,核心模块具体说明如下。

2)关联识别技术:网络应用业务的业务流和控制流是分离的,业务流基本没有明显的指纹特征[5]。控制流的数据内容包含建立连接以及协商出的数据流的五元组信息,识别出控制流将其五元组信息加入关联表中,后续的数据流流量通过使用关联表来识别。

1)“特征轮廓”识别技术:一般来说,不同的应用程序使用不同的协议,每个协议都有自己的“特征轮廓”,类似于人的指纹。这些“特征轮廓”可能是特定的字符串、特定的端口或特定的编码序列[5]

在网络通信初期,网络协议应用报文数据流一般不包含业务数据信息,主要包含和服务器进行交互的控制流信息,其具有较为明显的协议指纹特征。因此提取网络应用协议指纹特征一般从传输过程中抓取网络通信初期的协议报文数据流作为协议类型样本进行解析。通过使用抓包工具抓取网络协议报文数据包,以源端口号、源IP地址、协议类型(TCP/UDP)、目的端口号、目的IP地址的五元组信息数据流为单位解析形成数据报文集合[10]。网络应用协议报文数据包解析过程如图5所示。

除了以上障碍,技术性障碍是始终存在的,无论是设计者还是学习者,都会面临技术不断更新、技术对多样化数字教育环境的适应性以及如何应用新科技于学习等问题。

  

图5 网络应用协议报文数据包解析过程

通过对多种网络应用协议五元组数据流进行分析,提取可以唯一标识各种网络应用协议的指纹特征,通过这些信息建立和更新协议指纹特征库,该过程包括协议指纹特征提取、协议指纹特征库管理以及外部控制这3个子模块。其过程如图6所示。

  

图6 网络应用协议指纹特征库建立与更新过程

通过网络协议报文数据包解析过程,将获取的五元组信息作为输入流发送给指纹特征提取模块。指纹特征提取模块分为以下3种提取方法:1)协议样本报头是固定报头类型的报头字段分为动态字段和静态字段,组合定义应用协议报头中的多个连续静态类型字段作为该类型协议的特征指纹;2)协议样本报头是文本命令类型的描述格式为[状态码+参数]或[指令+参数],提取其中的状态码或指令作为该类型协议的特征指纹;3)协议样本报头是其他无固定格式类型,找出可以表示该应用协议特征的单词作为该类型协议的特征指纹[11]。协议指纹特征库管理运用指纹特征提取模块提取出的指纹特征和由外部控制模块反馈的匹配结果信息创建并维护网络协议指纹特征库。

近年来,合川区结合生猪标准化规模养殖场等建设项目和国务院、重庆市发展生猪养殖的优惠政策,因势利导,创新发展思路,推进生产方式转变,加大标准化规模养殖场建设力度,在生猪标准化养殖场建设过程中激励政策的建立、项目资金使用管理、参建规模场业主选择、规划设计、建设管理、疫病防控、技术培训等方面进行了有益探索,取得了较好成效,并呈现出以下特点。

2.3.1 谐波运动成像 (harmonic motion imaging,HMI)谐波运动成像是通过一个外部声源发射超声波,超声波产生的声辐射力对被检组织形成周期性的压力,使得被检组织产生谐波运动,通过采集组织被激发前后的超声图像进行位移相位估计,可间接反映组织的弹性状况,弹性越大,应变就越大[6]。应变是组织硬度的相对指标,会随压力的改变而改变。

每个大尺度时代都由若干中尺度时代构成,每个中尺度时代都由若干小尺度时代构成;而那些推动生产关系发生根本性变革的小尺度时代,就成为大尺度时代的开端。如 “梭伦改革”和“克里斯提尼改革”开创了古希腊的奴隶制时代;“商鞅变法”和春秋战国之际各国变法开创了中国的封建制时代;克伦威尔领导的英国革命,华盛顿、杰佛逊领导的北美独立战争,罗伯斯庇尔、拿破仑领导的法国大革命开创了资本主义时代,列宁领导的“十月革命”、毛泽东领导的中国革命开创了社会主义时代。这样,以开创者个人为标记的小尺度时代,成为创立新的生产关系和社会结构的大尺度时代的开端,其意义就特别重大,开创者个人的历史地位也特别崇高。

  

图7 协议类型验证规则分组的结构图

2)协议指纹匹配自识别。

协议指纹匹配自识别对未知协议报文流进行报文数据包解析,通过协议指纹特征匹配识别引擎匹配出在网络协议指纹特征库中的所属协议类型,将协议识别结果发送给快速验证引擎进行结果验证,同时也要发送给网络协议指纹特征库的外部控制子模块,网络协议指纹特征库根据识别结果更新网络协议指纹特征库信息。

协议指纹特征匹配识别引擎使用多报文叠加匹配算法对数据包进行正则表达式匹配,当第一个网络协议报文数据包的解析完成时,提取其指纹特征进行匹配,若没有匹配成功,则等待下一个数据包到来并解析完成后,把已经解析的2个协议报文数据包和五元组信息合起来完成指纹提取再去匹配,若还没有匹配成功,继续等待下一个数据包并合起来,如此反复进行下去,直到匹配成功或匹配报文数据包个数达到上限为止[12]。协议指纹特征匹配识别引擎匹配过程如图8所示。

将该院收治的80例脑血管疾病合并糖尿病患者纳入该次研究,随机分为对照组、研究组均40例。入选者均签署知情同意书,该研究经医学伦理委员会批准。研究组年龄范围53~76岁,平均(62.79±4.15)岁,男女各 24例、16 例;对照组年龄范围 52~78 岁,平均(62.85±4.21)岁,男女各 23例、17例,差异无统计学意义(P>0.05),可比较。

  

图8 协议指纹特征匹配识别引擎匹配过程

3)协议识别结果的快速验证。

  

图9 协议识别结果的快速验证过程流程图

IP数据报文将被封装成以太网格式的帧(RFC894)或IEEE 802.2/802.3(RFC1042),封装格式定义如图3所示。

3 高性能协议分析优化技术

协议识别和分析技术即使再成熟、再准确,在高速网络环境下,要能够线速处理,仍然需相应的优化和匹配技术。为了满足线速处理,业内采用TCAM或者专用加速芯片。但是TCAM本身是为了网络协议层转发而设计的,通过把包的部分内容输入TCAM中,TCAM能在一个指令cycle中完成匹配并返回结果。TCAM本身受到容量的限制,分析的内容不会太多,满足协议层分析是足够的,但是应用到数据包内容分析方面,显得有些不足[13]。基于ASIC技术,即使采用即时编译技术提高适应性,也存在使用灵活性问题,数据包整个交给ASIC芯片,完成处理后再交给平台处理,导致处理流程复杂,并且数据不能及时更新到处理流程中,硬件接口也变得非常复杂,开发难度增大[14]

应用系统众多且发展快,新的功能要求需要频繁地改动系统,研究完全采用软件的方法,高速分析网络协议,充分利用处理器平台Cache,采用流状态机和查收结合的方法提高处理性能,缩小查找表,是一种可行的方法,而且在安全领域也有成功的先例。

深度包检测匹配网络协议的特征轮廓集,可采用正则表达式匹配算法提高系统监测性能和监测准确度。基于正则表达式进行协议识别技术是深度包检测的重要性能指标,正则表达式匹配通常采用自动机理论,将正则表达式编译成有限状态自动机[7]

多种网络应用可以归为一个协议类型分组,提取网络应用协议样本中可以进一步标识协议样本类型的字段或者协议消息传输需要满足的规则等作为该网络应用协议类型除协议指纹特征之外的协议验证规则。图7为协议识别结果验证规则库中协议类型验证规则分组的结构图。

高效率协议分析和内容分析检查是网络处理的关键,在网络安全领域,多模式查找AC算法(Aho-Corasick algorithm)是一个经典算法,也是被广泛采用的算法,对于单个正则表达式多采用Boyer-Moore算法。AC算法采用状态机的方式对多个模式一次扫描匹配,AC算法提供了将NFA转换成DFA的算法,最终结果是状态跃迁表。如果将所有的模式制成一个表,会引起状态跃迁表的膨胀,表空间巨大且呈现稀疏矩阵的特点[16]。巨大的表空间会导致处理器Cache的频繁失效,严重影响处理效率。AC算法还存在致命的问题,对于通配符的支撑不足,特别是长度不限定的通配符会导致状态表数倍的增长。通过研究基于流状态机的处理机制,结合网络层、应用层协议判断对模式进行划分,减少每个状态跃迁表的状态数。

4 实验结果分析

本章利用真实链路上捕获的报文进行协议指纹识别测试分析。用Etherreal捕获HTTP(Web访问)、QQ(文本聊天)、SMTP(发送邮件)、BT(长文件下载)、Edonkey(长文件下载)、POP3(接收邮件)这6种应用的流量[17],流量情况如表1所示。

测试环境如图10所示。

年末人口总量约束:据GM(1,1)预测结果显示,2040年研究区年末总人口数为182.416万人。模拟年限内人均城市建设用地规模为0.0087万人/hm2,相应地,人均农用地面积和人均其他土地面积为0.0008万人 /hm2、0.0338 万人 /hm2,即:

  

图10 测试环境

在测试时,设置每个流上的检测报文个数为8个,寄存器超时设置为35 s,测试结果如表2所示。

IPC作为预防DVT的辅助手段及具有药物禁忌证的DVT病人的唯一治疗方法,其安全性和有效性均得到动物实验和临床试验验证。本研究通过对DVT发生率、纤维蛋白原和D-二聚体进行定量、定性分析,发现术前即开始进行IPC治疗,并将治疗时间设定在为每日80 min~360 min,治疗频次设定为每日2次或3次,有利于降低病人DVT发生率;“每日2次,每次40 min”或“每日3次,每次2 h”可降低骨科大手术病人纤维蛋白原水平;术前即开始使用IPC方法可降低病人D-二聚体水平。由于原始文献数量和质量限制,确切结果有待未来大样本、高质量随机对照试验予以验证。

从协议指纹识别结果中可以发现:基于报文流的平均识别率大约为94.3%,基于字节流的平均识别率大约为90.1%。对比发现,基于内容的协议指纹自识别处理能力强,并且能够在线处理以及精确区分各协议类型,具有很大优势。

中药材是我国中医体系的基础,随着近些年中医的逐渐复苏,中医药种植、生产、流通已经成为我国医药产业的重要组成部分,中药材种植企业想要发展壮大必须依靠市场。在供应链管理体系下,以客户为中心,中药材种植企业需要与中成药生产和营销企业密切合作,以最小的成本博取最大的经济效益,提高供应链整体效益,已经成为中药材种植企业发展的必经之路,对我国中医药体系发展也同样具有重要意义。

表1 协议指纹识别准确性测试采样流量

  

网络协议类别报文数采样时间/s存储空间/MB平均包长/B备注BT2976920024.223702SMTP65401004.882832成功QQ19951002.112603含有文件传输HTTP2658820015.112659成功POP340661003.112745成功Edonkey4689220027.876633

 

表2 协议指纹识别结果 单位:%

  

网络协议类别报文流字节流识别率误判率识别率误判率BT99.7099.30SMTP96.10.990.92.9QQ76.114.973.217.2HTTP99.10.396.11.1POP389.23.183.26.3Edonkey99.4097.10

5 结束语

网络协议识别是网络管理、网络测量和网络安全等领域的基础,本文首先介绍了现有识别方法,在对网络协议、网络协议识别相关概念进行概述的基础上,分析了各种识别方法所使用的协议指纹存在的基础、局限性和匹配的难易程度等。鉴于现有研究对协议指纹识别关注较少,提出了一种基于内容分析,并采用统计和行为模型分析的具有自学习功能的协议识别方法,既能对已知的协议进行正确的识别,又能够通过自学习方式对未知的协议从内容进行协议指纹提取与模型建立,实现对未知协议快速、准确的识别。通过实验验证了该方法及特征的有效性。高速网络环境下实现协议解析和内容分析需要高效能的算法支撑,进一步完善高性能协议分析优化技术是下一步的研究内容。

由于广西经济发展水平不高,酒店员工工资水平跟发达地区有较大的差距,导致许多酒店员工和广西本地酒店管理专业的毕业生流向广东等发达地区,广西酒店留不住人才,招工难的情况普遍存在,十分不利于广西酒店业的长远发展。

周六晚上不上晚自习,我和沐子约好了去零食批发市场进货。琳琅满目的食品,我刚挽起袖子准备大干一场时,就接到了叶子因为无聊而邀约我看电影的电话。也许这一通电话,是她约了无数人未果后才打给我的,但于我而言,已是极致的幸福了。顾不得向沐子告别,我朝电影院匆匆奔去。

参考文献

[1] 杨阳,赵洪宋,岳雨俭,等. 基于协议分析的网络入侵检测系统[J]. 计算机与现代化, 2014(2):201-204.

[2] 郑生军,夏业超,李建华,等. 基于多种检测技术融合的入侵检测系统[J]. 计算机与现代化, 2016(5):116-121.

[3] 李斌,常乐,杨宝琦. 一种网络协议高效自动识别方法的研究[J]. 电信科学, 2014,30(9):139-144.

[4] 胡卫华,班晓芳,孟祥杰,等. 面向下一代威胁的安全框架[J]. 信息安全与通信保密, 2014(6):100-104.

[5] 宋勇,秦拯. 网络入侵检测系统安全通信协议的设计及验证[J]. 计算机与现代化, 2010(7):51-55.

[6] 郭恩阳. DPI在移动分组域中的应用与展望[J]. 移动通信, 2012,36(18):85-89.

[7] 黄益彬,金倩倩,纪元. 网络数据包高性能并行处理技术研究[J]. 计算机与现代化, 2016(12):57-61.

[8] 蔡洪民,伍乃骐,滕少华. 分布式木马检测系统设计实现[J]. 计算机应用与软件, 2012,29(5):278-280.

[9] 俞皓,黄益彬. 网络协议通用型解析引擎描述语言研究[J]. 计算机与现代化, 2014(4):157-161.

[10] 王绍辉. 流数据协议特征分析[D]. 成都:电子科技大学, 2016.

[11] 王勇,吴艳梅,李芬,等. 面向比特流数据的未知协议关联分析与识别[J]. 计算机应用研究, 2015,32(1):243-248.

[12] 田艳飞. Linux下基于网络协议分析和窃取识别的网络取证的研究[D]. 北京:北京工业大学, 2015.

[13] 丁斌. 网络协议分析与网络异常流量识别技术的研究[D]. 长春:长春工业大学, 2015.

[14] 周东旭. Ares协议分析与流量检测机制研究[D]. 南京:南京邮电大学, 2012.

[15] 朱映映,吴锦锋,明仲. 基于网络事件和深度协议分析的入侵检测研究[J]. 通信学报, 2011,32(8):171-178.

[16] 朱贺军,万月亮. 网络内容审计系统构建[J]. 信息网络安全, 2010(4):48-50.

[17] 万兵,杨阳. VoIP流量监测技术的研究与应用[J]. 电信快报, 2010(2):32-35.

[18] 朱钱广. 基于深度包过滤的网络入侵检测系统的设计与实现[D]. 上海:东华大学, 2010.

 
夏琨,丁波,刘俊,刘子豪,林亮成
《计算机与现代化》 2018年第05期
《计算机与现代化》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息