1、 (科研训练、毕业设计 ) 题 目:分布式入侵检测系统控制端的设计与实现 姓 名: 学 院: 软件学院 系: 专 业: 软件工程 年 级: 学 号: 指导教师(校内): 职称: 年 月 日 分布式入侵检测控制端的 设计与实现 - 1 - 分布式入侵检测系统控制端的设计与实现 摘要 随着高速网络的快速发展、网络信息量的迅猛增长、网络攻击方式的不断翻新,网络入侵检测系统经过了由集中式处理到分布式处理变化过程,入侵检测结果的 取得需要 对多 个数据 源 的 综合 分析才能得到, 但现有 部分 分布式入侵检测 控制端 由于设计的不合理,存在 鲁棒性差、可扩展能力不强等技术 瓶颈。 本文给出了一个分布式
2、入侵检测 系统的实现方案,我们将底层的入侵检测任务在多个底层入侵检测系统之间进行分配,通过 控制端 的实现对来自底层的报警信息进行综合分析,从而实现对分布式入侵的检测。 关键字 入侵检测 分布式 数据源 入侵检测系统 分布式入侵检测控制端的 设计与实现 - 2 - The design and realization of Distributed Instrusion Detection System Abstract With the fast development of the high-speed network, network attack way has renovated co
3、nstantly, at the same time, network invade detection system has developed from central process into distributed detection. It needs to analyze a lot of data sources synthetically to make and invade the result of measuring. It is unreasonable to design for measuring the distributed control end, so th
4、e network instrusion detection system exists defect ,for example, stupid,and poor expansion .This paper provides a distributed realization scheme of instrsion detection system,. First, we measure the invasion tasks which come form the ground floor among many instrusion detections systems (SNORT ), S
5、econdly, it can realize analyzing synthetically about the warning information which comes from ground floor through controlling, Then it can realize measuring to the distributed invasion. Keywords Instrusion detection Distributed Data source Instrsion detection system 分布式入侵检测控制端的 设计与实现 - 3 - 目录 第一章
6、引言 . - 5 - 1.1 研究背景与研究意义 . - 5 - 1.2 工作内容 . - 5 - 1.3 论文组织结构 . - 6 - 第二章 . 入侵检测技术及 snort1入侵检测系统 . - 7 - 2.1 入侵检测技术 . - 7 - 2.1.1 分布式入侵检测技术 . - 7 - 2.1.2 目前的入侵检测技术分析 . - 8 - 2.2 入侵检测系统 . - 8 - 2.2.1 最早的入侵检测模型 . - 8 - 2.2.2 入侵检测系统的通用模型 . - 9 - 2.2.3 基于主机的入侵检测系统 . - 9 - 2.2.4 基于网络的分布式入侵检测系统 . - 10 - 2.
7、2.5 基于主机与基于网络的入侵监测系统比较 . - 10 - 2.2.6 分布式入侵检测系统 . - 11 - 2.2.7 入侵检测目前存在的问题 . - 11 - 2.3 Snort. - 12 - 2.3.1 Snort 简介 . - 12 - 2.3.2 Snort 系统组成 . - 13 - 2.4 Snort 与 MySQL3库 . - 14 - 2.5 Libpcap 简介 . - 14 - 2.6 本章小结 . - 14 - 第三章 . 系统设计与实现 . - 15 - 3.1 分布式入侵检测系统控制端的设计 . - 15 - 3.1.1 控制端的功能简介 . - 15 - 3
8、.1.2 Snort 数据库和控制端数据库的建立 . - 15 - 3.1.3 设计原则和设计策略 . - 16 - 3.2 程序详细设计 . - 16 - 3.2.1 程序设计要求 . - 16 - 3.2.2 程序详细设计 . - 17 - Client 端程序 . - 17 - Sever 端程序 . - 18 - 3.2.3 编程语言与开发工具 . - 20 - 分布式入侵检测控制端的 设计与实现 - 4 - 3.3 实验 . - 20 - 3.3.1 实验系统环境 . - 21 - 3.4 实验结果分析 . - 23 - 3.7 本章小结 . - 23 - 第四章 总结 . - 24
9、 - 致 谢语 . - 25 - 参考文献 . - 26 - 分布式入侵检测控制端的 设计与实现 - 5 - 第一章 引言 1.1 研究背景与研究意义 网络服务与网络资源共享技术的发展使网络越来越成为一种方便、快捷的交流方式。但这种开放式的网络体系结构同时也为攻击者提供了一个入侵网络的机会。网络规模日趋增大的同时也伴随着攻击发生概率的增 大。通过引入入侵检测技术,在网络中实时检测攻击事件的发生,并在攻击事件发生的早期阶段, 可以 切断攻击者的连接。 近年来高速网络的发展,异种计算机网络的增多,入侵技术的不断翻新,使入侵检测变得日益具有挑战性。 网络入侵检测系统也迅速地发展,经过了由集中式处理到
10、分布式处理、由简单软件结构到通 用功能模块设计、由数据信息流动到代码移动的变化过程。 分布式入侵检测技术的研究已经成为入侵检测领域的一个主要的研究方向。 1.2 工作内容 在本文中, 我们给出了一个分布式入侵检测系统的实现方案。我们将底层的入侵检测任务在多个 底层入侵检测系统( SNORT)之间进行分配,通过 控制端 的实现对来自底层的报警信息进行综合分析,从而实现对分布式入侵的检测。 我们的工作主要集中在两个方面: 底层入侵检测系统的实现:在我们所设计的系统中,底层入侵检测系统是由 SNORT 系统和我们设计的一个监控 /通讯模块组成,这里 SNORT 系统主要负责对分配给它的任务来完成底层
11、入侵检测任务,将产生的原始报警信息存储在本地数据库的多个表中;我们所设计的监控 /通讯模块的任务就是实时地将新产生的报警信息进行概括,从原始报警信息中提取出我们所关心的信息,并将该入侵信息及时 通报 中心控制节点; 主控端的实现:关联分析、去冗余、交互 。主控端接收来自的底层报警信息,再进行数据的分析。数据分析,是对报警信息的重复性的判断, 将接受到的信息与主控端数据库中的数据对比, 当出现两条报警信息的发生时间小于一个特定值,就将两条报警信息看作是对同一入侵行为的重复报警。主控端数据库 的各个报警信息是不同的。被判定为重复报警的信息将被舍弃,反之,写入主控端数据库。当一条信息的报警写入数据库
12、后,分布式入侵检测控制端的 设计与实现 - 6 - 报警信息将在控制台中显示出来。 1.3 论文组织结构 本文共分五部分。第一章为引言,主要是 工作内容及其背景 ,意义;第二章由入侵检测技术引出入侵检测系统,继而介绍了 Snort 入侵检测系统;第三章是系统的设计与实现,主要介绍设计思路与要求,并对实验的结果进行一定的分析;第四章是对全文的总结;最后是致谢 。 分布式入侵检测控制端的 设计与实现 - 7 - 第二章 . 入侵 检测 技术 及 snort1入侵 检测 系统 本章着重 介绍了入侵检测技术,并对我们在系统设计时所采用的底层入侵检测 系统SNORT进行 阐述 。 2.1 入侵检测技术
13、2.1.1 分布式入侵检测技术 入侵检测的核心是数据分析过程,通过对网络通讯、主机状态的实时分析,找出系统异常和 遭受攻击的情况。早期的检测系统都是基于中心式的数据处理机制,信息通过网络上几个节点收集并汇总到中心进行分析。在网络规模小,层次简单,通讯速度慢时,该机制可以做到信息实时的中心处理。但随着高速网络的发展,网络范围的拓宽,各种分布式网络技术、网络服务的发展,使原来的网络入侵检测系统很难适应此状况,因此有必要把检测分析过程也实现分布。 集中式检测结构实现相对容易,如图 2.1。 图 2.1 集中式检测与分布式检测模型 系统通过 n个嗅探器收集数据,经过过滤和简化处理后的数据再通过网络传输
14、到检测器,系统存 在一个通讯和计算的瓶颈。而分布式结构中, n个嗅探器分布在网络环境中,直接接受嗅探器的数据,有效地利用各主机的资源,消除了集中式检测的运算瓶颈与安全隐患,同时由于大量的数据用不着在网络中传输,大大降低了网络带宽的占用,提高了系统的运行效率。分布式入侵检测控制端的 设计与实现 - 8 - 在安全性上,由于各 检测 器分布、独立进行探测,任何一个主机遭到攻击都不影响其他部分的正常运作,增加了系统的鲁棒性。分布式检测系统在充分利用系统资源的同时,还可以实现对分布式攻击等复杂网络行为的检测。 2.1.2 目前的入侵检测技术分析 入侵检测技术可以根据检测对象的不同分为主机检测 和网络检
15、测两 4,5。 主机检测主要是分析和审计单个主机的网络数据 ,寻找可能的入侵行为 。 而网络检测有点类似于防火墙 ,通常布置在单独的机器上 ,对网络的流量数据进行分析 。 可以看出 ,简单的使用单纯一种方式是不能够保障整个系统的安全的 ,尤其是来自网络和系统内部的入侵 。 所以出现了一种基于代理的入侵检测技术 ,它在网络的主机上安装上检测代理 ,然后对主机的信息进行分析 ,将找到的非法信息提交到一个中心监控主机 ,由其对来自各个代理的信息进行分析 ,从而发现可能的入侵现象 ,并进行处理 。 这种技术既能保证主机的安全也能保证这个网络的安 全 ,且能够有效地防止内部入侵现象 。 但是这种技术有一
16、个严重的缺点就是当监控的主机代理较多时 ,中心监控主机就成了信息处理的瓶颈 ,从而导致性能的下降 。 所以这种技术不太适合于一个规模较大的网络系统 。 2.2 入侵 检测 系统 2.2.1 最早的入侵 检测 模型 最早的入侵 检测 模型是由 Dorothy Denning在 1986年提出的 5,如图 2.2所示。 图 2.2 早期的 入侵 检测 模型 分布式入侵检测控制端的 设计与实现 - 9 - 该模型的三个主要部件是事件产生器、活动记录器和规则集。早期的入侵检测系统通常依赖于专家系统技术,因此通用模型中有基于规则的思 想。事件产生器是模型中提供系统活动信息的部分。事件来源于系统审计记录、
17、网络通信或者防火墙、鉴别服务器之类的应用子系统。规则集是一个决定入侵是否发生的参考引擎。活动记录器保存监视中的系统或网络的状态。这个模型是独立于具体系统的,现在该模型在入侵检测系统中仍得到了广泛应用。 2.2.2 入侵检测系统的通用模型 入侵检测系统的通用模型 (CIDF)将一个入侵检测系统分为事件产生器、事件分析器、响应单元、事件数据库五个组件 7。 CIDF将入侵检测系统需要分析的数据统称为事件,是网络入侵检测系统中的数据包, 也是主机的入侵检测系统从系统日志等其他途径得到的信息,同时也对各部件之间的信息传递格式、通信方法和 API进行标准化。 事件产生器的目的是从整个计算环境中获得事件,
18、并向系统的其他部分提供此事件。事件分析器分析得到数据,并产生分析结果。 响应单元则对分析结果作出切断连接、改变文件属性等强烈反应,甚至发动对攻击者的反击,也可以只是简单的报警。 事件数据库是存放各种中间和最终数据的地方,既是复杂的数据库,也是简单的文本文件。 2.2.3 基于主机的入侵检测系统 基于主机的入侵检测系统是根据主机的审计跟踪数据和 系统的日志来发现可疑事件。它的目标环境是主机系统,检测的是本系统用户。这种 IDS 的优点是操作简单,而且可针对不同操作系统的特点判定应用层的入侵事件。缺点是要占用主机宝贵的资源。 由于这种系统研究的时间比较长,因而技术上相对比较完善,如最初的 Haystack模型、MIDAS系统、 IDES系统,到现在的 CSM (Cooperating Security Manager,简称 CSM)协作安全管理员、 USTAT 等。