分布式入侵检测系统设计-毕业论文_第1页
分布式入侵检测系统设计-毕业论文_第2页
分布式入侵检测系统设计-毕业论文_第3页
分布式入侵检测系统设计-毕业论文_第4页
分布式入侵检测系统设计-毕业论文_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分布式入侵检测系统 分布式入侵检测系统设计摘要随着黑客入侵事件的日益猖獗,只从防御的角度构造安全系统是不够的。入侵检测技术是继“防火墙”、“数据加密”等传统安全保护措施后新一代的安全保障技术。它对计算机和网络资源上的恶意使用行为进行识别和响应,它不仅检测来自外部的入侵行为,同时也监督内部用户的未授权活动。本文所设计的入侵检测系统,具有良好的分布性能和扩展性。他将多种入侵检测技术有机地结合在一起,能够提供集成化的检测、报告和响应功能。在网络引擎的实现上,使用了协议分析和模式匹配相结合的方法,有效减小目标的匹配范围,提高了检测速度。同时改进了匹配算法,使得网络引擎具有更好的实时性能。关键词 入侵检测 模式匹配 协议分析 AbstractWith more and more site intruded by hackers, security expert found than only use crypt technology to build a security system is not enough. The Intrusion Detection is a new security technology, apart from tradition security protect technology, such as firewall and data crypt. IDS watch the computer and network traffic for intrusive and suspicious activities. they not only detect the intrusion from the Extranet hacker, but also the intranet users.We design a component-based Intrusion Detection System, which has good distribute and scalable ability. It combine various intrusion detection technology into a system, and provide detection, report and respond together.In the implement of the network engine, the combination of network protocol analyze and pattern match technology is used, and reduce scope to search. We also improved pattern match algorithm, the network engine can search intrusion signal more quickly. Keyword IDS pattern match protocol analyze目 录摘要 .1Abstract .2第一章 引言 . 4 1.1项目背景 .4 1.2系统介绍 .4 1.3 工作内容 .5 1.4组织结构.5第二章 系统功能概述 .6 2.1系统工作流程 .72.2 系统功能特点 .82.3 本章小结 12第三章 系统体系结构 .13 3.1 系统架构设计 13 3.2 系统开发环境 143.3 系统功能结构设计 143.4 公用构件设计 153.5 系统辅助功能模块. 163.6 本章小结 .18第四章 系统关键模块设计.19 4.1 入侵检测引擎 194.2 数据存储模块.224.3 安全通讯 .234.4 本章小结 23第五章 结束语 .24致谢 .25参考文献 . 26第一章 引 言1.1项目背景本课题是博华科技有限公司网龙入侵检测系统项目的一部分,该系统的目标是设计一个分布式的入侵检测系统。该系统融合了目前入侵检测领域中多种先进技术,具有可扩展性、跨平台性、安全性和开放性。并且可以作为网帅系列芯片级主动式保障系统的一部分来充分保障网络安全。1.2 系统介绍本系统采用流行的WEB浏览器模式,在专用的安全操作系统开发平台上进行项目开发。分布式IDS通过分布于各个节点的传感器对整个网络和主机环境进行监视,中心监视平台收集来自各个节点的信息监视这个网络流动的数据和入侵企图。系统属于三层架构,分为前端业务操作控制台,数据处理和后台数据存储。图1.1 系统架构 项目性能指标: 规则库在线升级:支持 自定义规则库:管理员可自定义新的规则 状态检测:支持IP碎片重组和TCP流重组 变形攻击的检测:支持 自动响应方式:阻断特定 自定义响应方式:电子邮件通知,实时报警等 事件风暴处理:采用智能算法,可在大量的伪造攻击中检测出真正的攻击 传感器的分组管理:可将传感器分组,统一配置规则,也可单独配置 多用户管理:支持不同权限用户管理 入侵记录方式:实时记录数据库或文件1.3 工作内容该论文是在博华网龙入侵检测系统开发项目的基础上完成的,该系统是在原有老系统架构的基础上参照入侵检测的最新技术和公司整体性的功能要求设计的。目前系统的大体功能都已经实现,目前正在进行附加模块的开发设计工作。整个项目的开发设计中,我负责了规则预处理和协议分析模块的开发,目前正负责漏洞扫描模块的设计。 1.4 组织结构 本文共分四章,以下是后面三章的基本内容介绍。第二章 系统功能概述 该部分系统介绍了网龙分布式入侵检测系统的功能特点。 第三章 系统体系结构 该部分介绍了整个系统的体系结构以及系统的各个功能模块。第四章 系统关键技术 该部分着重介绍了系统中的几个功能模块所采用的关键实现技术。第二章 系统功能概述网龙入侵检测系统是基于部件的分布式入侵检测系统。能够部署在网络的各个位置并且和网络中的其他设备进行交互来监控网络中的数据流,对每一数据包进行分析、匹配以发现违反网络安全策略的行为。一个典型的网龙入侵检测系统部署图如下:图2.1 IDS在网络中的部署图图2.2 IDS与其他网络设备的交互图2.1 系统工作流程首先,由规则预处理模块对规则文件进行预处理,生成规则链表。参数预处理模块初始化用户输入的命令参数,确定系统的工作状态。数据包捕获模块将网卡设置为混杂模式后开始捕捉所有流经的数据包,交由协议分析模块进行数据包处理。然后与先前生成的规则链表进行匹配。如果匹配成功,就将该数据包的关键内容(源、目的ip地址,源、目的端口,协议类型,攻击匹配类型,攻击时间)交数据存储模块进行存储,然后报警输出。若不匹配,则将其按照原路由转发。流程图如下: 图2.3 系统工作流程2.2 系统功能特点2.2.1 分布式检测,集中式管理采用分布式的体系结构,以旁路监听的方式采集网络上的数据包,不影响现有网络的任何性能。分布在网络各处的传感器,可以通过控制中心进行统一管理。2.2.2 丰富和友好的管理界面该IDS采用WEB的管理方式,使得管理员易于操作和管理整个入侵监测系统。采用可视的管理、监视、控制和分析操作界面,方便使用。不需要安装任何客户端软件,只要有一台能访问控制中心,并且带有浏览器的主机就可以对其进行控制、管理。系统登陆界面如图2.4所示:图2.4 系统登录界面2.2.3实时的动态检测对来自网络内部和外部的数据流进行实时动态的监测,能够检测出包括端口扫描、碎片攻击、DOS攻击及缓冲区攻击等在内的46种攻击类型,共1700多种攻击模式。图2.5 系统所涉及的46种攻击类型图2.6 系统所涉及攻击模式2.2.4日志处理与事件监控能力精确的记录系统日志,按照当前的日期、时间、攻击者、攻击对象、攻击方法等生成报告;能根据入侵检测传感器提供的日志进行多样查询,并能以各种图表的形式显示出来。 有三种日志模式:a. 总体分析图2.7 总体分析b. 报表中心主要根据最近的、今天的、最后24小时的、最后72小时的、经常发生的等条件,生成各种统计报表。例如“今天的警告信息”如图2.8所示:图2.8 警告信息c. 图表中心系统可以根据“时间”、“源IP地址”、“目的IP地址”、“源端口”、“目的端口”、“攻击种类”和“传感器”按指定的大小和形状以图表的形式显示所有的警告信息执行“系统报告图表中心警告数据”将出现如图2.9所示界面:图2.9 图表警告数据系统还可以根据“小时”、“天”和“月”按指定的时间段以图表的形式显示所有的警告信息。执行“系统报告图表中心警告时间”将出现如图2.10所示界面:图2.10 警告器的时间配置管理中心与管理主机之间的数据通信是安全加密的(SSL协议)。在进入管理界面的时候,系统会弹出认证会话框,如图2.11 所示:图2.11 安全警报 2.2.5 易于扩展和升级用户可以自己定义一些入侵检测规则,加入到规则库中去,更加灵活地进行扩展入侵检测传感器的检测范围,同时不要终止入侵检测系统就能进行在线升级。2.3 本章小结 本章主要介绍了网龙入侵检测系统的主要特点,在下一章中,我将详细介绍系统的体系结构和功能模块。第三章 系统体系结构 本章主要介绍网龙入侵检测系统的体系结构和功能模块。3.1系统架构设计整个系统采用如下图所示的三层体系结构,分别为传感器,控制中心和数据中心图3.1 IDS体系结构传感器(Sensor): 1、监听网络数据包,对其进行分析,根据分析结果,产生警报,并发送给数据中心进行存储,以备用户进行安全审计。2、对系统进行漏洞扫描,提供给用户系统安全参考数据。3、记录网内机器的网络访问行为,需要时进行网络访问行为内容回放。4、提供与交换机、路由器进行通讯的接口,收集其日志信息,使用户能更有效地进行网络安全审计。控制中心(Control Center): 1、传感器控制控制中心检查数据中心的运行状态,当检测到数据中心出现异常时,控制中心将控制传感器,把警报信息写入到指定的内存,当数据中心恢复正常情况时,再把内存中的警报数据传送给数据中心。2、日志报表统计分析警报及行为日志信息,以图表、列表的形式显示给用户。3、规则库管理 对规则进行查找、添加、删除、修改等操作,对规则进行升级。数据中心(Data Center)警告信息的存储,用户通过操作控制中心间接到数据中心进行警报查询及分析,从而产生用户所需的报表,方便用户进行安全审计。3.2系统开发环境入侵检测引擎(Sensor):操作系统为公司自行研制的linux系统:NetDragon。编译平台为:gcc 3.2。主要语言:C语言。ControlCenter(控制中心):基于Windows 2000、XP操作系统。编译平台为:Visual C+ 6.0。主要语言:C、C+语言。支持库:MFC类库。DataCenter(数据中心):1、采用Mysql数据库系统:为开源软件,详情请见,支持在各主流linux平台,及Windows2000、XP操作系统上运行。2、采用MS Sql Server数据库:支持在Windows2000、XP操作系统上运行。3.3软件功能结构设计软件功能结构如下图所示:图3.2 软件功能结构图中主要功能内容如下:UserPopedom Manager:功能:添加、删除用户、用户属性修改、密码管理、验证码管理、权限显示。Alert/Behavior Log:功能:警告日志显示、警告日志导入、警告日志导出、警告日志备份、警告日志归并、警告日志清空。Background Process功能:警报输出、防火墙联动、参数配置、网络流量检测。Database Manager功能:数据库备份、数据库恢复、数据库备份的配置管理、设置数据库保存天数Rule Manager:功能:规则修改、规则增加、规则删除、规则查找、规则分组、恢复缺省设置、定义触发响应动作、规则升级。Sensor Manager:功能:增加、删除、查看、配置、启动、停止。Addition Feature功能:内容回放、漏洞扫描及相关性分析、与网络设备的日志收集接口3.4 公用构件设计加密解密程序库:作为公用的构件,用公共头文件进行声明,其它程序模块只需要调用就可以了。IDS 发送会话密钥,指定加密方法(当前加密方法支持3DES),此时的通信使用共有的密钥加密,经Base64编码后,附加结尾字符0发送;3.5 系统辅助功能模块3.5.1 参数配置模块本模块主要是针对传感器配置文件进行重写,使传感器能以适当的方式对网络数据包进行处理。1、用户操作Console通过Backgroud Server对Config File中的一些传感器参数进行更改。2、 修改Config File后,Console通过Backgroud Server控制Sensor重新启动。Sensor在重新启动的过程中,读取Config File中各参数,根据这些参数对网络数据包进行处理。图3.3 参数配置模块结构图3.5.2 报警输出模块 在入侵检测引擎检测到了攻击以后,由报警输出模块负责将警告信息以不同的方式发送。以达到向管理员报警的作用。图3.4 报警输出流程3.5.3 防火墙联动模块 在IDS发现入侵行为以后,根据入侵行为的严重程度,可以通过此模块与防火墙联动达到对来自于某些IP地址的数据包进行阻断的作用。IDS与防火墙的关联图如下所示: 图3.5 入侵检测系统与防火墙的关联图3.6 本章小结 本章介绍了网龙入侵检测系统的体系结构和功能模块,让读者从总体上了解认识本系统。在下一章中,我将详细讨论系统设计中几个关键模块。第四章 系统关键模块设计 在本章中着重介绍了在系统开发过程中几个关键模块的开发及其采用的技术4.1 入侵检测引擎入侵检测引擎(又称传感器)通过分析网络上传输的数据包,得到可能入侵的信息。他不单单是一个数据产生和传输的工具,也具有一定的分析能力。入侵检测引擎一般可分为以下几部分:数据包截获、协议分析、数据分析、引擎管理和安全通信。它的结构如图4.1所示。图4.1 入侵检测模块4.1.1 数据包截获数据包截获模块将网络接口设置为混杂模式,将接收到达到网络上传输的数据包截取下来,供协议分析模块使用。由于效率的需要,有时要根据设置过滤网络上的一些数据包,如特定IP,特定MAC地址、特定协议的数据包。数据包截获模块的过滤功能的效率是该网络监听的关键,因为对于网络上的每一数据包都会使用该模块过滤,判断是否符合过滤条件。低效率的过滤程序会导致数据包丢失、分析部分来不及处理等。为提高效率,数据包过滤应该在系统内核里来实现。我们采用了专门为数据监听应用程序设计的开发包里libpcap来实现这模块,开发包中内置的内核层实现的BDF过滤机制和许多接口函数不但能够提高监听部分的效率,也降低了我们开发的难度。4.1.2 协议分析协议分析的功能是辨别数据包的协议类型,以便使用相应的数据分析程序来检测数据包。可以把所有的协议构成一棵协议树,一个特定的协议是该树结构中的一个结点,可以用一棵二叉树来表示(如图4.2)。一个网络数据包的分析就是一条从根到某个叶子的路径。在程序中动态地维护和配置此树结构即可实现非常灵活的协议分析功能。树的结点数据结构中应包含以下信息:该协议的特征、协议名称、协议代号,下级协议代号,协议对应的数据分析函数链表。协议名称是该协议的唯一标志。协议代号是为了提高分析速度用的编号。下级协议代号是在协议树中其父结点的编号,如TCP的下级协议是IP协议。协议特征是用于判定一个数据包是否为该协议的特征数据,这是协议分析模块判断该数据包的协议类型的主要依据。数据分析函数链表是包含对该协议进行检测的所有函数的链表。该链表的每一结点包含可配置的数据,如是否启动该检测函数等。图4.2 协议树示意图4.1.3 数据分析(模式匹配)数据分析模块的功能是分析某一特定协议数据,与预定义的规则库进行匹配,得出是否关注该数据包(流)的结论。一个数据分析函数一般可以检查一种协议的某一类型入侵,这样可以方便的进行配置。数据分析的方法是入侵检测系统的核心。我们的系统使用了快速的模式匹配算法(详见后节),所有的攻击方法被表示为模式信号存放在入侵特征数据库中,当前的数据如果和规则库中某种特征匹配,就指出这是这种入侵行为。例如当发现一个HTTP请求某个服务器上的“/cgi-bin/phf”,这很可能是一个攻击者正在寻找系统的CGI漏洞。 检测规则 因为条件的限制,我们采用了与snort相兼容的规则库设计,每条规则分为两部分:规则头部和规则选项。规则头部包含规则的操作、协议、源IP地址和目标IP地址及其网络掩码和端口。规则选项包括报警信息及需要检测模式信息。以下是一个例子:alert tcp any any - /24 111 (content:|00 01 86 a5|; msg: mountd access;)以上规则描述了:任何使用TCP协议连接网络/24中任何主机的111端口的数据包中,如果出现了二进制数据00 01 86 a5,便发出警告信息mountd access。 模式匹配算法匹配算法是检测引擎的关键,它直接影响系统的实时性能。在网络数据包搜索入侵特征时,需要一个有效的字符串搜索算法。我们的系统采用的是一种高效的字符串搜索算法。例如我们要在substring searching algorithm搜索search,搜索步骤如下:首先,把子串与文本左边对齐substring searching algorithmsearch第一次匹配结果是在第二个字符处发现不匹配,于是要把子串往后移动。但是该移动多少呢?这就是各种算法各显神通的地方了,最简单的做法是移动一个字符位置;而我们的方法是根据紧跟在当前子串之后的那个字符(上图中的“i”)获得位移量。显然,由于上一次匹配的失败,移动是必然的,因此,设移动步数为N,则N1。但N的最大值是多少呢?如果这个字符在模式串中,显然应该根据模式串的位置来决定。如果它在模式串中就没有出现,显然连他自己也不用比较量,因此可以移动到该字符地下一个字符开始比较。以上面的例子,子串“search”中并不存在“i”,则说明可以直接跳过一大片,从“i”之后的那个字符开始作下一步的比较,如下:substring searching algorithm search比较的结果,第一个字符又不匹配,再看子串后面的那个字符,是“r”,它在子串中出现在倒数第三位,于是把子串向前移动三位,使两个“r”对齐,如下:substring searching algorithm search这次匹配成功了!回顾整个过程,我们只移动了两次子串就找到了匹配位置,可以看出,用这个算法,匹配的速度时很快的。采用这种算法对捕获的数据包进行规则匹配,可以大大提高匹配速度,提高整个入侵检测系统的工作效率。 4.2 数据存储模块(数据中心)存储系统把系统检测到的入侵事件记录下来,以便于以后的分析。构造专用的存储系统可以提高反应速度,这是一个艰难的过程。我们选择现有的mysql和ms sql server数据库系统来建立存储系统。跟据入侵检测系统的规模,存储系统也有和大的区别,它既可以是一个单一的数据文件,也可以是一个数据库系统,对于大规模的入侵检测系统来也有可能配置一个数据仓库作为其存储系统。图4.3 存储系统框图4.2.1 数据载入我们选择的数据载入方法对于系统实时性的要求有所损害。主要原因是在数据载入数据库后,要把该数据写到数据库的物理存储中,就必须调用提交命令(commit)。如果每个数据得到就提交一次,这样对信息处理会提供方便但对影响系统的运行性能。为了找到系统的实时性和检测性能的最佳结合点,我们目前还没有找到一种很好的方法。4.2.2 数据缩减任何设计的入侵检测系统都会产生误报。这时分析员就需要系统提供所有的数据,包括数据包头和内容,进行手工分析。但是我们无法长久保存这样的高保真数据,就需要对数据库进行一次或多次缩减。对数据进行缩减的一种有效的办法是把数据库分为两个主要的存储装置:原始数据数据库和长期记录数据库。1、 原始数据数据库:原始数据数据库中存储了近一段时间的高保真数据,这些数据包括源IP地址、目标IP地址、原始数据、欺骗包的特征、新的攻击特征、最后一次见到的时间等。这个数据库应该建立多重索引和优化,以便能够进行最有效的搜索。原始数据数据库中存储很短一段时间内的数据包,这个时间通常是3天到一周之间。系统提供两种保存原始数据的设置方式:按时间和按存储容量。按时间设置以分析为依据设置原始数据应该保存的时间,而按存储容量是以保证检索性能为前提来配置系统。2、 长期记录数据库:长期记录数据库以缩减数据的格式记录了很长一段时间内的检测情况。长期记录数据库主要支持产生报告而不是交互式的查询,还能帮助可能漏掉的事件进行检测。缩减数据格式一般只包括时间、源IP地址、目标IP地址、源端口、目标端口、协议标志。4.3 安全通信IDS系统模块组件之间需要通信。因此,定义统一的协议,使各部分能够根据协议所致订的的标准进行沟通是很有必要的。部件之间传输的信息是非常重要的信息,因此必须要保持数据的真实性和完整性。必须有一定的机制进行通信双方的身份验证和保密传输(同时防止主动和被动攻击)。我们的系统采用了安全套接层协议(SSL),SSL是在Internet基础上提供的一种保证私密性的安全协议。它能使客户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对客户进行认证。SSL协议要求建立在可靠的传输层协议(例如:TCP)之上。SSL协议的优势在于它是与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论