论文部分内容阅读
当今社会,网络在人们的生活中扮演着越来越重要的角色。网络给人们带来了便利,但是它的安全问题也凸显的越来越重要。在传统的网络安全解决方案中,防火墙等工具扮演着重要的角色。而防火墙不能抵御来自网络内部的攻击。在这种情况下,入侵检测系统出现了,它可以在防火墙的基础上为网络提供进一步的安全保障,成为网络安全领域的研究热点。在高速网络环境下,如何实现入侵检测的高速处理和分析能力对入侵检测来说是一个挑战。Snort作为一个典型的开源网络入侵检测系统目前在全世界已经得到广泛应用。基于此,本文选择了基于Snort的高速网络入侵检测系统作为研究方向。本文首先分析了本课题的理论基础入侵检测。入侵检测是用于检测网络和主机系统上的恶意行为的技术和方法。入侵者的特征,就像计算机病毒一样,可以被软件检测到。如果数据包中含有和入侵有关的特征或者和互联网协议有关的异常行为,就可以判断这是入侵行为。入侵检测系统根据特征或者规则就能够发现可疑行为,记录下来,并且生成警告通知用户。基于异常的入侵检测系统通常依靠协议头部的异常来判断入侵。在某些情况下,基于异常的入侵检测系统比基于特征的入侵检测系统的效果要好。入侵检测系统通常从网络捕获数据,应用规则或者检测其中的异常。本文提出了基于Snort的高速网络入侵检测系统的总体设计方案。为了适应高速网络环境,我们改造了Snort的数据包捕获模块,使用了PF_RING技术来实现对数据包的高速捕获,通过开启多个Snort进程实现对数据包的高速处理。另外一个重要工作是设计和实现了入侵检测查询分析系统模块,它可以把警告数据方便的展示在用户面前,实现警告数据的可视化显示。它主要包括查询模块、绘图模块、统计模块和警报群组模块。在数据包捕获模块设计与实现的章节中首先分析了提高捕获包效率的相关技术,然后介绍了PF_RING技术和接口函数,以及PF_RING的内部工作流程。我们用PF_RING技术实现对数据包的高速捕获。并且对PF RING+SNORT进行了安装配置和测试。在入侵检测查询分析系统模块设计与实现中对入侵检测查询分析系统进行了概要设计、详细设计和数据库设计。然后介绍了它的主要页面:首页设计、创建警报群组、搜索和生成图示等。接着介绍了入侵检测查询分析系统的安装配置。最后对系统进行了测试。目前该系统已经在山东大学的学校服务器上进行了部署,运行了一年多的时间,获得全部警告数80多万条,取得了较好的运行效果。