admin管理员组

文章数量:1532172

2024年1月6日发(作者:)

网络安全协议的几种识别方法浅析

摘要:计算机网络规模不断扩大,复杂性不断增加,网络带宽大幅提升,用户数量激增是当前网络的突出特点,因此,准确识别网络安全应用协议显得尤为重要,安全协议识别技术是信息安全领域的关键问题。本文分析了网络应用协议识别的三种主要方法,给出安全协议识别策略,提出安全协议识别算法。

关键词:安全协议;端口特征;负载内容特征;流量统计特征

1. 背景和意义

在互联网中,对于网络应用协议的识别尤为重要,因为它在网络监督管理和新一代网络安全中起着重要的作用。随着密码技术的广泛应用,安全协议被广泛的应用在互联网各种核心应用之中,与安全协议相关的各种数据在网络流量中所占的比重日益增加,因此,对安全协议的识别已经成为当前网络安全技术中关键技术之一。

现有协议协议识别方法主要包括基于端口映射的方法、基于负载内容的方法、基于流量统计特征的方法。在协议识别的初期,传统应用大多采用由IANA(互联网数字分配机构)分配的固定端口,因此可以根据端口号快速识别出相应的网络协议。随着采用动态端口技术和复用端口技术的应用不断增加,基于端口映射的的识别方法在很多协议上识别失效,人们开始研究基于负载内容的识别方法,利用协议负载的内容特征进行识别。该方法能够进行较为精准的协议识别,但是需要提前建立待识别协议的特征项,并且对于新版本协议的识别存在一定的滞后性,而且对于包含加密内容的安全协议,特征项提取的难度进一步加大。基于流量特征统计的的协议识别方法的本质是:相同协议的网络流具有相似的流量统计特征,可以根据网络报文的流量统计特征完成对协议的识别。与基于负载内容的协议识别方法进行比较,能够更好地识别加密协议,但是准确性和健壮性不如基于负载内容的方法。因此,以上三种识别方法各有优缺点。如何结合各种方法的优点,使其优势互补是协议识别领域的重要研究方向。

1. 安全协议识别特征项分析

下面对安全协议识别特征项进行分析对比介绍。

(1)端口特征项

与普通网络协议相似,安全协议也有各自对应的通信端口,通过向这些固定的端口发送和接收数据,完成协议连接和数据交换,因此,可借助端口特征识别安全协议。

(2)负载关键词特征项

大多数的网络协议都在报文格式中定义一个或多个用于标识协议报文类型和传递相关控制信息的协议字段,该字段称为协议关键词。协议的关键词可以是协议包头中的特征字符串,也可以是协议控制信息的特征字符串。关键词在协议中频繁出现,是组成协议特征的重要元素。同时,大多数安全协议都存在明文部分,用于在会话开始时协商参数,因此通常也存在关键词字段。

(3)统计特征项

安全协议中包含大量密文信息,其可用明文关键词信息相对于普通网络协议更为稀少,但是安全协议相关的流量统计特征不受加密影响,容易提取,其中数据包大小、包到达时间间隔是关键特征。

为对协议流量进行早期识别,只需要流中前64B负载就可以进行协议特征识别。本文采用端口、流中前64B负载的关键词、流中前N个数据包的大小和包到达间隔时间作为安全协议识别特征。

1. 安全协议识别方法

3.1安全协议识别策略

协议在网络运行中以IP数据包形式进行传输。同一个双向流中的数据包通常属于同一种协议,将数据包组合成流进行考虑可以降低复杂度。识别策略如下:

(1)基于流识别协议。安全协议识别在流的基础上进行,对每一个流记录识别状态,包括已识别、尚未识别、不可识别三种状态,直到流结束。

(2)基于反向流识别协议。当流被识别为协议A时,其反向流同样被识别为协议A。

(3)分阶段识别协议。对协议特征库中的每一个安全协议,给出各自的识别策略,设置其所使用的识别方法和优先级。端口特征是最简单、复杂度最低的特征。负载关键词特征——流中前64B负载中关键词是最精准的特征,并且由于只需考虑流中前64B负载,复杂度较低。现有的协议识别系统大都是基于负载关键词特征的。统计特征——负载统计特征和数据包统计特征容易获取,复杂度低,但属于模糊特征,其识别准确度不如负载关键词特征。本文对识别方法设置优先级,按照端口识别→深度报文检测→基于统计特征识别的顺序,分阶段进行识别。

3.2安全协议识别算法

识别算法如图1所示:(见下页)

第一步:对每一个到达的网络数据包,查找其所属流是否存在。若所属流不存在,产生新的流标识,将流识别状态标记为“尚未识别”,识别方法设置为“端口识别”,若所属流存在,则执行第二步。

第二步:查找数据包所属流或者反向流的识别状态,若为“已识别”和“不可识别”,则不再对数据包进行识别,输出相应的协议类型。若为“尚未识别”,则进行第三步。

第三步:对尚未识别的协议类型的数据包,根据其正在使用的识别方法进行在线特征提取。若正在使用的识别方法为端口识别,则从数据包的传输层头部获取流的端口特征,并利用端口识别规则与实例特征库中的协议端口值进行匹配。若存在相同的协议端口值,则输出相应的协议类型;若不存在相同的协议端口值,则执行第四步,并将所采取的的识别方法设置为“负载关键词识别”。

第四步:根据协议关键词特征提取报文中的消息内容,并进行匹配。协议关键词可以分为固定偏移关键词特征和非固定偏移关键词。若协议关键词序列全部

成功匹配,则输出该报文的所属流协议类型,并将流识别状态标记为“已识别”;若协议特征库所有协议的关键词特征均与该报文所属流不同,则将流识别方法设置为“统计特征识别”。

第五步:提取数据包所属流的统计特征,并根据协议特征库中的统计特征进行识别。

1. 结束语

本文提出了一种安全协议综合方法,给出了安全协议识别策略,在此基础上提出了安全协议识别算法,识别报文所属的协议类型。

参考文献:

[1]Aceto G,Dsinotti A,Donato W,et ad:Taking the Best of

Two Worlds in Traffic Classification[A].San Diego,California,USA,2010.

[2]Xu K,Zhang M,Ye MJ,Chiu DM,Wu fy P2P Traffic by

Inspecting Data Transfer Behavior[J].Journal of Computer

Communications,2010.

本文标签: 协议识别特征端口进行