1、 本 科 毕 业 论 文 入侵防御系统 IPS 研究与实现 Intrusion Prevention System (IPS) Research and Implementation 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 指导教师: 年 月 摘 要 随着互联网络的飞速发展,网络已经成为经济 、文化、军事和社会活动中无处不在的工具。网络安全问题也随之突显出来。网络在带来发展的同时,也带来了巨大的风险。网络系统的安全性和可靠性受到了高度的重视,网络安全技术已经成为经济和技术发展中的关键技术问题之一。作为一种重要的网络安全技术手段,入侵防御技术 IPS 已经
2、成为当前该领域的一个研究热点。 本文结合网络安全技术发展趋势,在防火墙技术和入侵检测技术基础上研究了入侵防御技术,并设计实现了一种入侵检测系统与防火墙集成的入侵防御原型系统。该系统采用基于网络的入侵检测系统 snort_inline 作为入侵检测模块,利 用其入侵检测的结果作为防火墙的触发;基于 iptables/Netfilter 机制搭建基于 LINUX 平台的防火墙,利用其便于规则扩展的优点,使防火墙与入侵检测系统 snort_inline 实现联动,从而达到阻断了网络攻击的目的。 关键词: 入侵防御; 入侵检测 ; 防火墙 Abstract With the rapid develop
3、ment of the Internet, the network has become the economic, cultural, military and social activities in the ubiquitous tool. Network security issues have also become more prominent. Brought about by the development of networks at the same time, it also brings great risks. Network security and reliabi
4、lity by a high degree of attention, network security technology has become the economic and technological development in one of the key technical issues. As an important means of network security technology, IPS intrusion prevention technology in the field has become a research hotspot. In this pape
5、r, development trend of network security technology, firewall technology and intrusion detection technology based on the research of intrusion prevention technology and design to achieve a kind of firewall, intrusion detection system and integrated intrusion prevention system prototype. The system u
6、ses network-based Intrusion Detection System snort_inline as a module, using the results of its intrusion detection as a trigger firewall; based on iptables / Netfilter mechanism LINUX-based platform to build the firewall, use the rules to facilitate the expansion of its merits, to enable the firewa
7、ll and intrusion detection system to achieve snort_inline linkage to achieve the blocking of the purpose of network attacks. Key words: Intrusion Prevention;Intrusion Detection; Firewall 目录 第一章 绪论 . 1 1.1 选题背景和研究意义 . 1 1.2 本文主要研究内容 . 2 1.3 论文结构安排 . 3 第二章 入侵防御系统技术研究 . 4 2.1 入侵防御系统的基本思想 . 4 2.1.1 入侵检测
8、与 P2DR 模型 . 4 2.1.2 入侵防御系统基本原理 . 5 2.2 入侵防御系统的发展历程 . 7 2.3 三种安全防护系统的功能描述 . 8 2.4 如何评价入侵防御系统 . 11 2.5 入侵防御系统的部署分析 . 11 2.5.1 边界防御部署 . 12 2.5.2 重点防御部署 . 13 2.5.3 混合防御部署 . 13 2.6 入侵防御系统的设计和实现难点 . 14 2.7 本章小结 . 15 第三章 入侵防御系统架构设计 . 17 3.1 网络入侵防御系统架构设计 . 17 3.1.1 网络入侵防御系统体系结构研究 . 17 3.1.2 入侵检测系统的结构及标准化 .
9、19 3.2 入侵防御系统模块设计 . 20 3.2.1 入侵防御模块 . 20 3.2.2 日志记录模块 . 21 3.2.3 中央控制模块 . 23 3.2.4 模块间 的通信 . 23 3.3 本章小结 . 25 第四章 入侵防御系统的实现过程 . 26 4.1 入侵防御系统实现相关技术 . 26 4.1.1snort 的 inline 模式 . 26 4.1.2 Netfilter 框架 . 27 4.1.3 入侵防御系统的桥梁 iptables . 28 4.1.4 用户态与内核态交流的中介 Netlink 套接字 . 29 4.2 入侵防御系统实现原理 . 30 4.2.1 数据包
10、的传递 . 30 4.2.2 读取数据包 . 32 4.2.3snort 实现入侵检测 . 33 4.2.4 响应事件 -数据包处理 . 34 4.3 入侵防御系统的不足和改进方案 . 35 4.4 入侵防御系统搭建 . 37 4.5 功能测试及结果展示 . 38 4.6 本章小结 . 39 第五章 总结与展望 . 41 参考文献 . 42 致谢 . 43 Contents Chapter 1 Introduction . 1 1.1 Research Topics Background And Meaning. 1 1.2 Summarize . 2 1.3 The Main Work an
11、d Structure of This Thesis . 3 Chapter 2 IPS Technical Study. 4 2.1 IPS Basic Thought. 4 2.1.1 IDS and P2DR model. 4 2.1.2 The theory of IPS . 5 2.2 IPSs developmen course . 7 2.3 There safety products functional description . 8 2.4 How to evaluate IPS . 11 2.5 Deploy of IPS . 11 2.5.1 Deploy of bou
12、ndary defense . 12 2.5.2 Deploy of emphasis defense . 13 2.5.3 Deploy of MIX defense. 13 2.6 IPSs design and the difficulty of achieve . 14 2.7 Chapter summary . 15 Chapter 3 IPS architecture design . 17 3.1 NIPS architecture design . 17 3.1.1 NIPS structural research. 17 3.1.2 IDSs structure and st
13、andardization . 19 3.2 IPS system module design . 20 3.2.1 Invade and defense module. 20 3.2.2 Log module . 21 3.2.3 Center control module. 23 3.2.4 Correspondence of modules. 23 3.3 Chapter summary . 25 Chapter 4 The implementation procedure of IPS . 26 4.1 IPS correlation technique . 26 4.1.1 Snor
14、ts inline mode . 26 4.1.2 Netfilter framework. 27 4.1.3 IPSs bridge Iptables . 28 4.1.4 user and kennels agent Netlink socket . 29 4.2 IPS implementation theory . 30 4.2.1 Transfering data packet . 30 4.2.2 Reading data packet . 32 4.2.3 snort implement IDS . 33 4.2.4 Respond event- dealing data pac
15、ket. 34 4.3 IPSs lacking and improvement . 35 4.4 Set up IPS. 37 4.5 Functional test and result display . 38 4.6 Chapter summary . 39 Chapter 5 Summary and Prospect . 41 References . 42 Acknowledgement . 43 第一章 绪论 1 第一章 绪论 1.1 选题背景和研究意义 随着网络经济和网络时代的发展,网络已经成为一个无处不在的工具。经济、文化、军事和社 会活动都将强烈地依赖网络。由于网络的一些自
16、身特点,网络安全问题突显出来。网络在带来发展的同时,也带来了巨大的风险。网络系统的安全性和可靠性成为关注的焦点,网络安全技术受到了高度的重视,已经成为经济和技术发展中的关键技术问题之一。 网络与信息安全防御体系是一个动态的、基于时间变化的概念 1。为确保网络与信息系统的抗攻击性,为了保障信息的完整性、可用性、可控性和不可否认性,本文提出这样一种思路:结合不同的安全防御技术,来创造一个比单一防御技术有效的多的综合安全防御技术。 入侵防御技术作为一种安全防御技术,弥补 了现有安全技术的不足,提出一种将防火墙技术与入侵检测技术相结合的简单的解决方案。这种方案把防火墙与入侵检测技术融合在一起 2,构建
17、成一种主动、实时响应的入侵防御系统。 入侵检测系统 (IDS, Intrusion Detection System)是近十多年发展起来的新一代安全防范技术,它通过对计算机网络或系统中的若干关键点收集信息并对其进行分析,从中发现是否有违反安全策略的行为和被攻击的迹象。在过去的几年中,入侵检测技术一度得到重视,但在入侵检测系统的使用过程中,仍暴露出了诸多的问题,特别是误报、漏报和对攻 击行为缺乏实时响应等问题比较突出,并且严重影响了系统发挥实际的作用。因此提出了入侵防御系统 (IPS, Intrusion Prevention System)来代替入侵检测系统 3。 IPS 是一种主动的、积极的
18、防御入侵的系统,它部署在网络的关键路径上,检测通过它的网络流量。当检测到攻击企图时,它会自动地将攻击包丢掉或采取措施将攻击源阻断。相对于 IDS 的被动检测及误报等问题, IPS 是一种比较主动、机智的防御系统。从功能上讲,作为并联在网络上的设备,绝大多数 IDS 一般需要与防火墙联动或发送 TCPreset 包来阻 止攻击。而 IPS 本身就可以阻止入侵的流量。从技术上讲, IDS 系统在识别大规模的组合式、分布式的入侵攻击方面,还没有较好的方法和成熟的解决方案,误报与漏报现象严重,用户往往淹没在海第一章 绪论 2 量的报警信息中,而漏掉真正的报警;此外, IDS 只能报警而不能有效采取阻断
19、措施的设计理念,也不能满足用户对网络安全日益增长的需求。相反, IPS 系统则没有这种问题,它的拦截行为与其分析行为处在同一层次,能够更敏锐地捕捉入侵的流量,并能将危害切断在发生之前。从 IDS 到 IPS,这是必然的趋势。 简单地理解, IPS 最简单的实现方式可以通过 IDS+防火墙来实现。 IPS 能对防火墙所不能过滤的攻击进行过滤。 IPS 的检测功能类似于 IDS,但 IPS 检测到攻击后会采取行动阻止攻击,可以说 IPS 是基于 IDS 的、是建立在 IDS 发展的基础上的新生网络安全产品。但 “ IDS+防火墙 ” 的联和防御与 IPS 会在今后相当长的时间内并存, IPS 的发
20、展势头会更好一些。 1.2 本文主要研究内容 本文是要实现 Linux 系统下的入侵防御系统,而这里涉及到的入侵防御系统就是我们前文提到的 IPS 的最简单的实现方式,及通过入侵检测系统和防火墙的联动来实现。 为实现我们的 IPS 我在这里先简 单介绍一下我们将会用到的工具: 众所周知, Linux 系统是一开源的操作系统,同时在该操作系统上运行着各种的开源软件,而在其内核代码中,蕴含着我们要使用的防火墙系统iptables/Netfilter;这将是我们在随后的入侵防御系统中的重要组成部分,将为我的设计提供底层的数据信息源,和最原始的防御功能,同时通过对 iptables 的设置,我们可以实
21、现根深一层的使用。 有了最基础的防火墙系统,接下来是入侵检测系统。在 Linux 系统下,可供使用的入侵检测系统中 snort 是最常见,也是相对比较成熟的一个入侵检测系统,不过这里为了实现入侵检测系统与防火墙的联动功能,使用 snort 的一个升级或者说专门为了实现 snort 与防火墙联动而生的一个 snort 的分支系统 snort_inline来实现入侵检测的功能。 snort_inline 中提供了 snort 与防火墙的联动机制,使得架设实现入侵防御系统的时候减少了很多的工作。 在 snort_inline 与防火墙的联动过程中,需要一个中介 libNetfilter_queue。
22、在联动过程中,住在 kernel 的 Netfilter 把流经本机的封包堆进 queue 里,接下来 下来住在 user mode 里的 snort_inline 会使用 libNetfilter_queue 收取这些封包。 第一章 绪论 3 通过上可以得到一个入侵防御系统的框架,这是要个 snort_inline 设置相应的规则集,才能够为系统提供更好的保护。在加载规则集的时候,使用工具oinkmaster 可以及时的从 snort 的网站上得到最新的规则集,并对获得规则集进行相 应的处理,来满足我们入侵防御系统的需求。 在这些工具的帮助下,利用 snort_inline 与防火墙系统的联
23、动机制,首先通过防火墙的防护作用,起到对系统的首层保护,之后入侵防御系统 snort_inline 通过对内核区域传来的封包的分析,判断应对该分包采用何种操作方式,给出相应的响应,并通过与防火墙的联动,防火墙作出相应的操作,来实现对系统的防护。 1.3 论文结构安排 第一章,绪论:介绍选题背景和研究意义,从信息安全的重要性的角度阐述了入侵防御系统出现的必然性和重要性;接下来就本文件将要研究的入侵防御系统的开 发工具进行了一定的介绍。 第二章,入侵防御系统技术研究:从入侵防御系统的基本思想着手,简述入侵检测系统以及计算机安全理论模型,并讲述入侵防御系统的基本原理;接下来讲述入侵防御系统的发展历程
24、;对当前的三种安全防护系统(防火墙, IPS, IDS)的功能进行描述;从特点等方面评价入侵防御系统;接下来从理论上分析如果我们部署一个入侵防御系统,我们可能采用的部署方式;最后总结说明了一些入侵防御系统在设计过程中会碰到的实现难点。 第三章,入侵防御系统架构设计:在这里研究的入侵防御系统是指网络入侵防御系统,所以选择对网络入 侵防御系统在架构上进行研究,从整体框架,到采用到的入侵检测的结构及标准化;之后对该系统进行模块层次的上对系统进行结构设计。 第四章, 入侵防御系统的实现过程:在之前几章的基础知识积累和思想设计的基础上,开始对该系统的实现过程。在此,首先对将要用到的部分工具进行详细的说明,罗列设计过程中会涉及到的设置和操作,之后详细描述入侵防御系统的实现原理,并对入侵防御的流程进行详细的说明,之后从理想状态下说明一下该系统的不足和改进方案,最后对入侵防御系统进行搭建,并进行相应的测试 。 最后总结本文的研究工作和结果,并对入侵防 御系统的发展进行了展望。