41
致谢 43
1 绪论
1.1 课题背景
Internet的最早起源于上个世纪60年代。1969年,美国国防部最先开发具备抗核打击性的计算机网络的计划“ARPANET”,计算机网络从此诞生。经过将近半个世纪的发展,计算机网络从原先的之用于军事研究到现在的民用化、商业化,从原先的只有几百人使用到现在的几乎人人普及、无人不知的地步。
科技的发展带动着计算机网络的不断发展,网络协议数以百计,使得网络协议识别技术面临严峻的挑战,而网络协议识别技术不仅关系到服务质量(Quality of Service)、流量形成机制、网络设计优化和资源配置等等问题,而且也是网络安全中入侵检测技术的一个重要的手段。近年来,威胁网络安全的事件时有发生,如赛门铁克源代码被盗,VMware源代码被盗,维基解密网站遭受持续攻击,全球400万台电脑被DNSChanger感染,由于雅虎服务器被黑,导致45.3万份用户信息泄露等等[1]。这些事件严重影响了计算机网络世界的正常秩序,网络安全技术迫在眉睫,协议识别技术作为网络安全技术中的一种重要的手段自然显得尤为重要。
协议识别技术作为网络安全和流量分类中的一种重要的手段已经发展的非常的成熟了。当前成熟的网络协议识别技术主要有三种类型:基于特殊端口的协议识别技术,基于负载检测的协议识别技术和基于测度统计的协议识别技术[2]。基于端口的协议识别技术主要检测数据包的端口号来判断协议。基于负载的协议识别技术主要匹配数据包的负载段关键字判断协议类型[3]-[6]。基于统计的协议识别技术主要是通过统计数据包的大小、到达的时间间隔等等信息判断协议类型[7]-[9]。随着计算机网络的不断发展,上面三种协议识别技术越来越难满足当代网络协议识别的要求。所以,一个能够满足当代计算机网络流量的协议解析技术将面临下面几个难题:
(1)能够识别那些通过知名端口建立连接并且传输数据的未知协议,能够识别数据是加密的数据包的协议。
(2)能够快速的解析出协议类型,不需要解析完整的会话流,只要解析一个会话流前几个包就能够识别出协议。
(3)能够保证协议识别准确性的前提下,降低漏报和误报率。
(4)能够自动学习新的协议,便于维护更新。
以上几点便是本文研究的主要内容,更是本文研究的协议识别技术预期达到的目标。
1.2研究现状
1.3 课题研究内容
2008年,Erik Hjelmvik和Wolfgang John提出了一种基于统计方法的应用层协议识别(Statistical Protocol Identification)[19]。该方法应用了几乎所有的协议识别方法,包括端口识别,负载分析,还有流量统计。但是算法着重强调基于统计的方法,该方法统计的维度比较多,每组会话都要经过大量的统计维度进行统计计算,对计算机资源的消耗非常大。本文在这基础之上,提出一种改进算法,在不影响识别准确性的前提下,提高协议识别的效率,使其能够更好地适应在线网络协议识别的需求。
此外,嵌入式网络协议在线识别的另一个难题在于嵌入式设备的处理能力有限,各种
硬件资源也是有限的,在有限的资源环境下处理大量的数据包是对嵌入式系统的一大挑战,针对项目中使用的PPC网络处理器本文提出了一种修改网卡驱动的方案,在网卡驱动层增加数据包过滤层,过滤掉那些不感兴趣的协议数据,把未知协议或者是应用层协议提交至上层协议栈进行进一步的分析。
综上所述,本文的研究内容主要包括以下几点: 嵌入式系统网络协议在线识别研究与实现(2):http://www.751com.cn/tongxin/lunwen_72616.html