> 硕士毕业论文 > 37620字硕士毕业论文基于流量统计的应用协议识别技术的研究与分析

37620字硕士毕业论文基于流量统计的应用协议识别技术的研究与分析

论文类型:硕士毕业论文
论文字数:37620字
论点:协议,识别,特征
论文概述:

本文是计时统计学论文, 本论文对协议识别技术进行全面研究,从最初的基于端口的传统技术,到后来基于包负载的DH技术和目前最流行的基于流统计特性的技术。

论文正文:

第一章导言

1.1研究背景和意义
随着互联网的不断发展,基于网络的通信技术和协议也取得了快速发展。今天的社会是一个信息化的社会。互联网作为信息传递的主要方式,在人们的日常生活中有着越来越大的影响,已经成为人们生活、工作和学习的重要组成部分。除了传统的应用层协议(如超文本传输协议、超文本传输协议、持久性有机污染物协议、HTTPS协议)之外,P2P技术在过去十年中发展最快。据统计,P2P流量已经占到[网络总流量的60%-80%。P2P网络原本是一个网络共享平台,因此很有可能用户无意中将一些敏感文件和信息共享到这个平台上,其他人可以从这个平台上下载和窥探一些机密信息,给受害者造成巨大损失,比如日本温尼软件泄露事件。由于P2P网络的特点,下载速度极快,可能导致内网带宽耗尽,影响网络的正常应用。因此,P2P网络存在敏感信息泄露和带宽滥用等缺陷。随着互联网的日益重要,相应的问题也越来越多。互联网的网络结构越来越复杂,使得互联网的安全性和可管理性逐渐显现。对网络行为的深入分析也成为网络管理者的一项紧迫任务。如何为众多互联网用户提供高效、可靠、安全的环境是网络管理者亟待解决的问题。对于海量网络资源,如何对其进行分类,如何区分有害和无害资源,以及如何区分重要和冗余资源是网络资源规划和管理中不可忽视的问题。
……………

1.2国内外研究现状

1.2。1基于端口的协议识别研究现状
基于端口的协议识别技术是早期最标准的识别方法。这种方法之所以有效,是因为早期的传统协议都使用IANA(互联网分配号码管理局)[21]分配的固定端口。然而,随着技术的创新,许多应用和协议(远程控制木马、音频通信软件等)应运而生。)开始使用动态端口(动态端口的范围是1024到65535)。之所以称之为动态端口,是因为它通常不在固定的基础上分配特定的服务,而是动态分配)用于数据传输,或者使用众所周知的端口(例如,80个http端口、21个ftp端口等)。)被其他协议通过端口复用技术使用,以避免被基于端口的识别技术检测到。这些技术还导致基于端口的协议识别技术的正确率不能得到保证,[7,9]。这种方法有一个严重的问题,即如何维护一个巨大的特征库。许多互联网协议不断更新,相应的协议特征也不是静态的。不更新特征库会降低识别的准确性,实时更新既费时又费力。为了解决这个问题,研究人员提出了另一种基于字节生成签名特征的方法。Haffiier于2005年,Ma于2006年,[24]。曼蒂亚2010年[25]提出了随机包检查(SPI),主要用于识别基于TCP的应用层协议。他们收集了HTTP、FTP、Skype和SSH的训练数据,并基于数据包开头部分字节的信息熵,建立了一个用于识别各种协议的签名特征库。
……………

第二章协议识别相关技术

2.1基于端口的协议标识
在基于TCP/IP协议家族的互联网中,TCP和UDP都使用16位端口号来标识应用程序。服务通常由一个众所周知的端口号来标识。例如,对于每个传输控制协议/协议实现,远程登录服务的传输控制协议端口号为23,每个传输控制协议服务的传输控制协议端口号为21,每个TFTP服务器的UDP端口号为69。任何TCP/IP实现提供的服务都使用1-1023之间的众所周知的端口号,这些端口号由互联网分配号码管理局(lANA)管理。表2.1是对应于一些常见传统协议的端口号。正是因为应用协议和端口之间的这种一对一的对应关系,应用协议才能根据数据包报头中的端口号字段来识别。许多早期的网络分析或网络检测软件使用基于端口的协议识别方法。如第1章所述,因为许多应用协议使用动态端口和端口复用或其他反检测方法,所以基于端口的识别技术不能正确识别这种应用协议。
………

2.2基于分组负载的协议识别
基于分组负载(payloaddata)的协议识别方法是在分组负载中寻找特殊字段,以确定它是否包含应用协议的关键特征,其中分组负载指的是接收到的数据分组的原始数据。不同的应用协议有它们自己的特殊协议规范。这些规范包括协议用来传输数据的端口、一些常规的位序列以及一些特定的字符或字符串。通过对协议的深入分析,找出了协议的这些具体规范,并提取了一些规范作为特征数据,这些规范可以作为协议的签名特征,数据流属于哪个协议是通过在数据包的负载中找到这些签名特征来确定的。图2.1是基于负载的协议识别的基本流程。整个过程主要包括两个模块,一个是特征库,另一个是深度包检查(DPI)标识符。特征库是用于存储应用层协议特征签名的查找表。每个签名都有一对一的通信协议。特定特征签名的语法对应于所选的模式匹配算法。DPI标识符将消息内容与规则库中的签名逐一匹配。如果匹配成功,数据包及其相应的数据流将被视为对应于签名的协议。基于包负载的协议识别技术根据不同的匹配方法分为基于关键字的识别、基于正则表达式的识别和基于规则的识别。BF算法简单而缓慢地通过一段文本找到指定的字符串。BF算法几乎是最简单的算法,不涉及任何特殊的魔法。基本思想是使用双循环比较主字符串S的第一个字符和模式字符串P的第一个字符。如果它们相等,它们将继续比较两者的下一个字符。如果它们不相等,它们将把主字符串S的下一个字符与P的第一个字符进行比较,并重复上述过程。(m和n分别是s和t的长度)。
………

第三章基于FR和FSS混合生成的特征选择算法……16
3.1特征选择算法研究.........基于混合生成的16
3.2特征选择算法.........21
3.3实验分析.........26
3.4本章摘要.........31
第四章协议特征处理和匹配.........32
4.1特征数据结构.........32
4.2功能空.........32
4.3典型应用协议分析和特征选择.........基于K-L距离的33 [/溴/]4.4 HCM算法.........37
4.5基于KL-HCM算法的协议标识符训练.........40
4.6协议识别评估指标.........44
第5章实验设计和分析.........48
5.1数据准备.........48
5.2重要参数选择实验.........50
5.3协议识别实验测试和结果分析.........51

第五章实验设计与分析

5.1数据准备
该实验使用Wireshark工具捕获数据包。Wireshark是一种流行的网络数据包分析工具,它可以捕获网络中的数据,并向用户提供有关网络和上层协议的各种信息。像许多其他网络工具一样,Wireshark使用pcap网络库进行数据包捕获。Wireshark可以捕获各种网络接口类型的数据包,并可以以各种方式过滤数据包和保存捕获的数据包。我们将把捕获的数据包保存为pcap文件。图5.1是Wireshark的捕获界面图。实验中的数据是由学校校园网的一个子网捕获的,捕获数据包的时间段从周一到周日以及每天早、中、晚均匀分布。在抓取过程中,设置了某些规则来过滤掉ICMP包、ARP/RARP包、广播包、组播包和其他类型的包。在实验中总共捕获了大约5.3G数据。Wireshark直接捕获和保存的数据都是经过详细分析的单个数据包,实验中使用的数据单元是数据流或会话(TCP会话或UDP会话),因此有必要将属于同一个会话的数据包组合起来恢复数据流。协议识别的核心算法是基于流的,因此有效地恢复和管理流信息非常重要。流程按照五人组进行描述。流程信息管理如图5.2所示。对于TCP会话,三次握手中的最后一个数据包被用作流的开始。当双向传输控制协议标志位Fin被置位或在1分钟间隔内没有新数据包时,会话结束。对于UDP会话,第一个接收到的数据包被用作会话开始的标识。如果60秒后没有收到新的数据包,则最后收到的数据包将被用作UDP会话结束的标识。
………

结论

本文使用库尔巴克-莱布勒差分来识别协议,并使用HCM算法来训练协议模型库。在特征选择方面,提出了两种混合特征选择算法,有效地结合了传统特征选择算法FR和FSS。随着网络技术的进步,基于流量统计的协议识别方法将会继续发展。本文所用的方法也有一些地方需要进一步研究,具体表现在以下几个方面:
(1)协议特征:本文实验中发现了一个很好的特征子集,但仍有改进空间空。首先是分析和提取更多的协议特征来扩展整个特征空,以便有更多的特征来覆盖更多的应用协议。
(2)训练数据集:面对复杂的网络环境和海量数据,选择合适的训练数据集越来越重要。培训数据应该具有明显的代表性。过多的训练数据会增加系统开销。因此,如何选择合适的训练数据集也是协议识别需要研究的一个重要问题。
(3)统计模型的选择:本文采用聚类算法HCM训练模型库,HCM算法简单快速。当处理大数据集时,该算法也相对可伸缩和高效。然而,HCM算法必须预先给定K,并且对初始值敏感,这可能导致不同初始值的不同结果。因此,如何选择或创建合适的统计模型或统计分类算法也是未来需要进一步研究的内容。
……
参考资料(略)