论文部分内容阅读
随着互联网技术的飞速发展,新的应用和服务不断涌现,应用层协议层出不穷。这在带给人们极大便利的同时,其安全性问题也日趋严重。各种新的应用和未知协议导致网络越来越复杂、多样化并且难以管理。例如:P2P、视频流等应用,占用了大量带宽,造成网络带宽耗尽;各种网络恶意攻击(僵尸网、蠕虫、病毒等)更是严重地危害到网络服务和信息安全。因此,一方面需要能快速、实时地识别和控制网上的网络流量,更加有效地利用网络带宽和资源;另一方面,需要及时地将恶意流量和非法流量从正常流量中快速识别和分流出去,这将对网络的净化、社会的和谐、国家的稳定提供积极意义。应用层协议的快速识别,是解决上述问题的必由之路,也是网络和信息安全技术的重要问题和热点研究之一。本论文首先对应用层协议识别做出综述,对几种应用层协议识别方法进行对比,总结了它们的优缺点,说明基于负载的协议识别技术作为本文主导算法的可行性。接下来,提出基于精确匹配的协议识别技术,使用协议分析和字符串匹配相结合的方法来分析网络数据包。通过对四种经典多模式算法进行对比测试,选择SRS算法作为本文的精确匹配算法。对于特征比较复杂的协议,本文选择DFA的正则表达式匹配引擎对网络数据流进行协议识别。以上述研究为基础,本文提出一种基于位向量bitmask的方法,设计和实现了一个应用层协议识别系统QC(Quick Classifier),融合基于精确匹配和基于正则表达式匹配的方法,在协议识别中能够有效减少匹配次数,快速地对网络数据流应用层协议正确识别。最后,本文在真实网络环境下对QC系统进行了实验和测试,通过骨干网数据集和DARPA1999数据集,分析和比较了QC和L7-filter的性能,测试结果表明:本文设计和实现的应用层协议识别系统QC具有良好的实时性和准确性。