1、摘要由于互联网应用的大规模的快速增长,传统的防火墙已经不能满足互联网对安全的需求,因此网络安全作为一个无法回避的问题被提出。入侵检测系统 IDS,Intrusion Detection System,作为一种新的安全防御措施,是传统防火墙的补充策略,对网络安全的发展以及应用具有十分重要的意义。协议分析技术凭借着其诸多优势在网络安全领域迅速发展起来。由于其具备解析数据包、探测分散的多个数据包中的网络攻击、减少误报和漏报率、真正的高性能等多项技术优势,常常被用来和模式匹配算法结合起来,在误用检测系统中使用。用 Ubuntu 系统作为开发平台,开发一基于协议分析的入侵检测系统, 该系统主要对捕获的数
2、据包进行协议解析,提取有效数据,通过与特定攻击的规则进行匹配,找出可疑或攻击行为,做出响应并记录结果。论文主要工作如下:1、论文首先分析了现有入侵检测产品所存在的问题。针对这些问题,提出了选用协议分析和遗传神经网络技术来构建入侵检测系统中规则检测器和行为检测器的设计思路。2、利用协议的高规则性, 进行协议树、协议解码以及协议分析过程的设计,给出协议分析检测器的基本步骤;结合遗传神经网络算法的思想设计了行为检测器,并详细分析了适应度函数、交叉算子、变异算子以及其他控制参数,给出了核心参数的确定方法。3、根据本文入侵检测模型的设计方法,结合各模块的实现原理,完成了基于规则与行为的入侵检测模型的开发
3、。其中,在数据采集模块中利用 Winpcap 函数定义了数据捕获机制的核心数据结构和函数。关键词:入侵检测,协议分析技术,遗传算法,神经网络,遗传神经网络论文类型:Subject: Potocol analysis-based intrusion detection systemSpecialty: Computer AplicationName:Supervisor: ProfessorABSTRACTSince large-scale Internet applications, the rapid growth of traditional firewalls can not meet
4、the demand for Internet security, so the network security as an unavoidable problem have been proposed. Intrusion Detection System IDS, Intrusion Detection System, as a new security defense measures supplement the traditional firewall strategy, the development and application of network security is
5、of great significance. Protocol analysis technology by virtue of its many advantages in the field of network security has developed rapidly. Because of its analytical data packets to detect a plurality of data packets distributed network attacks and reduce false positives and false negative rate, th
6、e real high number of technical advantages, are often used together and pattern matching algorithms, in error with the detection system.Ubuntu system as a development platform used to develop an intrusion detection based on protocol analysis system, which mainly captured packets for protocol analysi
7、s, extract valid data, with particular attack matching rules to identify suspicious or aggressive behavior, do the response and the results recorded.Thesis work is as follows:1, The paper firstly analyzes the existing intrusion detection products the problems. To solve these problems, proposed optio
8、nal protocol analysis and genetic neural network technology to build intrusion detection system rules and behavior detector detector design ideas.2, The use of high regularity protocol, the protocol tree, protocol decoding and protocol analysis process design, protocol analysis detector gives the ba
9、sic steps; combines the idea of genetic neural network algorithm designed behavior detector, and a detailed analysis of the adaptation fitness function, crossover operator, mutation operator and other control parameters, gives the kernel parameter determination method.3, Intrusion detection model ba
10、sed on this design approach, combined with the realization of the principle of each module to complete the rule-based intrusion detection model and behavioral development. Among them, the data acquisition module using Winpcap function defines the data capture mechanism the core data structure and fu
11、nctions.KEY WORDS: Intrusion Detection, Protocol Analysis Technology, Genetic Algorithm, Neural Network, Genetic Neural NetworkDissertation Type:目录第 1 章绪论 11.1 本文研究背景11.2 国内外研究现状11.2.1 入侵检测系统的发展历史11.2.2 公共入侵检测系统21.2.3 入侵检测的分类41.2.4 入侵检测方法51.2.5 现有的入侵检测产品71.2.6 入侵检测面临的问题及其发展趋势71.3 本文研究内容9第 2 章协议分析技术1
12、02.1 网络协议简介102.2 协议分析简介102.2.1 协议分析概念102.2.2 协议分析原理112.2.3 协议分析核心技术112.3 协议分析入侵检测方法介绍122.3.1 简单协议分析检测方法122.3.2 协议状态分析检测方法152.4 本章小结16第 3 章神经网络和遗传算法173.1 神经网络173.1.1 神经网络的概念173.1.2 BP 算法173.1.3 BP 网络183.1.4 BP 网络在入侵检测中的应用203.2 遗传算法213.2.1 遗传算法的基本概念213.2.2 遗传算法的实现213.3 利用遗传算法训练神经网络223.4 遗传神经网络在入侵检测中的应
13、用233.5 本章小结23第 4 章基于协议分析的入侵检测系统设计244.1 基于协议分析的网络入侵模型的基本框架244.2 数据采集模块的设计254.2.1 Winpcap 的概念 264.2.2 Winpcap 的功能及优缺点 264.2.3 Winpcap 的组成 274.3 基于规则检测器的设计274.3.1 设计原则274.3.2 规则检测器的工作流程设计274.4 基于行为检测器的设计304.4.1 行为检测器的设计思想314.4.2 行为检测器的实现步骤314.4.3 遗传神经网络算法设计324.4.4 两种检测技术的结合344.5 数据存储模块的设计344.6 控制台模块的设计
14、354.7 本章小结36第 5 章基于协议分析的入侵检测系统实现375.1 开发工具简介375.2 数据采集模块385.2.1 数据包格式385.2.2 数据包的读取395.3 数据分析模块的实现415.3.1 预处理器检测415.3.2 规则库检测过程425.4 系统运行结果与分析54第 6 章总结与展望576.1 总结576.2 展望57参考文献59致谢62攻读硕士学位期间的研究成果63第 1 章绪论1.1 本文研究背景计算机网络技术的广泛应用和互联网的快速发展使得计算机信息网络作为现代信息社会的基础设施,广泛深入到人们的工作和生活当中,我们畅游网络,进行信息传递,开展各种社会活动,它给我
15、们的工作和生活带来了翻天覆地的变化,已经无法想象没有网络的世界会是什么样。当然,计算机网络在带给我们极大便利的同时,计算机安全问题也随之而来,并且日益突出,计算机病毒的感染与传播、网络黑客的攻击与破坏、计算机网络犯罪等违法事件的数量迅速增长,给我们的网络生活蒙上了一层阴影,网络安全问题成为人们普遍关注并且日益重视的问题。近些年来,协议分析技术凭借着其诸多优势迅速发展起来,广泛应用在网络安全领域,比如网络诊断和故障排除、防火墙、移动通信以及入侵检测等方向都得到大量使用。由于其具备解析数据包、探测分散的多个数据包中的网络攻击、减少误报和漏报率、真正的高性能等多项技术优势,常常被用来和模式匹配算法结
16、合起来,在误用检测系统中使用。协议分析技术作为入侵检测技术的一个分支,是近年来网络入侵检测研究领域中的一大热点。1.2 国内外研究现状1.2.1 入侵检测系统的发展历史入侵检测系统 IDS(Intrusion Detection System)1是一项新的网络安全技术,它是对静态防御技术的一个有效补充,是一种主动防御黑客攻击的网络安全技术。入侵检测是检测计算机网络和系统以发现违反安全策略事件的过程。入侵检测技术自 20 世纪 80 年代提出以来经过 20 多年的不断发展,从最初的一种有价值的研究想法和单纯的理论模式,迅速发展出种类繁多的实际原型系统,并且在近 10 年内涌现出许多商用入侵检测系
17、统产品,成为计算机安全防护领域内不可缺少的一种重要的安全防护技术。期间的发展经历了许多阶段。1980 年,Aderson2 提出了改进安全审计系统的建议,以便用于检测计算机用户的非授权活动,同时,提出了基本的检测思路。1984-1986 年,Denning 和 Neumann 设计和实现了著名的 IDES3。IDES 系统采纳了 Anderson提出的若干建议。IDES 系统包括了统计分析组件和专家系统组件,同时实现了基于统计分析的异常检测技术和基于规则的滥用检测技术。1987 年,Dorothy Denning 发表了经典的论文“An Intrusion Detection Modal”,提
18、出入侵检测的基本模型4,并提出了几种可用于入侵检测的统计分析模型。1989-1991 年,Stephen Smaha 设计开发了 Haystack 入侵检测系统。Haystack 同时采用了两种不同的统计分析检测技术,来发现异常的用户活动。1990 年,加州大学 Davis 分校 Todd Heberlien 发表“A Network Security Monitor”NSM5,标志着入侵检测将网络数据包作为实际输入的信息源。1991 年,在 NSM 系统和 Haystack 系统的基础上,Stepen Smaha 主持开发了分布式入侵检测技术 DIDS(Distribute Intrusio
19、n Detection System)6。DIDS 是首次将主机入侵检测和网络入侵检测技术进行集成的一次尝试,它具备在目标网络环境下跟踪特户异常活动的能力7。1992 年,加州大学圣巴巴拉分校的 Porras 和 Ilgun 提出了状态转移分析的入侵检测技术,并实现了原型系统 USTAT,之后发展出 NSTAT,NetSTAT 等系统。同时期, Kathleen Jackson 在 Los Alamos 国家实验室设计开发了 NADIR(Network Anomaly Detection and Intrusion Reporter)8入侵检测系统,该系统用于监控 Los Alamos 的内部
20、计算网络环境。1994 年,Porras 在 SRI 开发出 NIDES(Next-Generation Intrusion Detection System)9系统,在系统整体结构设计和统计分析算法中有较大的改进。进一步,SRI 开发了用于分布式环境的 EMERALD10系统。1995 年,普渡大学的 S.Kumar 在 STAT 的思想基础上,提出了基于有色 Petri 网的模式匹配计算模型,并实现了 IDIOT11原型系统。1997 年,Cisco 公司开始将入侵检测技术嵌入到路由器,同时,ISS 公司发布了基于 Windows 平台的 RealSecure12入侵检测系统。1998 年
21、,Ross Anderson 和 Abida Khattak13将信息检索技术引进了入侵检测系统。2000 年,普渡大学的 Diego Zamboni 和 E.Spafford 提出了入侵检测的自治代理结构,并实现了原型系统 AAFID14系统。1.2.2 公共入侵检测系统CIDF(Common Intrusion Detection Framework)是一个开放组织,早期由美国国防部高级研究计划局赞助研究,现在由 CIDF 工作组负责。 CIDF 已经形成了一套比较完整的规范,它定义了 IDS 的框架结构、IDS 描述检测信息的标准语言以及 IDS 各组件之间的通信协议。凡是符合 CIDF
22、 规范的 IDS 都可以共享检测信息,可以相互通信,协同工作,以及和其它系统配合实施统一的配置响应和恢复策略。CIDF的主要作用在于集成各种 IDS,使之协同工作,实现各 IDS 之间的组件重用 15。北京启明星辰公司的天闻入侵检测系统。天闻网络入侵检测系统采用了新一代的入侵检测技术,包括基于状态的协议分析技术、规范的入侵特征描述语言、准确的特征分析和提取、标准的安全信息知识库等。它将网络入侵检测和主机入侵检测集成在一个管理控制中心进行集中管理,在一个管理控制中心既可以管理网络的探测引擎又可以管理主机的探测代理,针对不同的引擎或代理制定不同的策略。上海金诺网安入侵检测系统 KIDS。它采用了智
23、能检测技术,综合了特征匹配、协议分析、流量异常监测等技术的特点。在保证检测到已知的最新攻击行为的前提下,通过协议状态分析的方法,对一些未知的非法入侵行为进行分析、判断,为发现新型入侵提供了帮助。CIDF 将入侵检测系统分为四个基本部分:事件产生器、事件分析器、事件数据库和响应单元。其模型如图 1-1 所示:图 1-1 CIDF 模型Fig.1-1 CIDF Model1.事件产生器事件产生器从网络数据源中收集事件,并将这些事件转换成相应的格式用以传送给其它组件。2.事件分析器事件分析器既是一个特征检测工具,用于在一个事件序列中检查是否有已知的攻击特征;也是一个统计分析工具,检查现在的事件是否与
24、以前某个事件来自同一个事件序列,将有关联的事件放到一起,以利于以后的进一步分析。3.事件数据库事件数据库用来存储事件产生器和事件分析器产生的临时事件,以备系统分析的时候使用。4.响应单元响应单元针对事件产生器和事件分析器分析到的入侵行为采取相应的响应措施。在检测到入侵攻击后,基于网络的入侵检测系统的响应单元主要有两类响应方式:被动响应方式和主动响应方式。被动响应方式是系统在检测出入侵攻击后只是用报警和日志的方式通知管理员,具体处理工作由管理员完成;主动响应方式是系统在检测出入侵攻击后可以自动对攻击的目标系统或者相应网络设备做出修改,制止入侵行为。1.2.3 入侵检测的分类对于目前常用的入侵检测
25、系统,我们可以从以下三个方面进行分类。1.按照数据来源分类根据入侵检测的数据来源和系统结构,入侵检测系统可以分为三类:(1)基于主机的入侵检测系统(HIDS)16基于主机的入侵检测系统主要是针对系统的审计日志进行分析,一般只能检测该主机上发生的入侵行为。(2)基于网络的入侵检测系统(NIDS)17基于网络的入侵检测系统的输入数据来源于网络数据包,该类系统一般监听整个网段上传输的信息流,通过捕获网络数据包,进行分析,检测该网段上是否有网络入侵事件发生。(3)分布式入侵检测系统分布式入侵检测系统一般由多个部件组成。分布式网络入侵检测系统是通过中心控制分布在网络中的部件进行数据采集、数据分析,然后进
26、行数据汇总;若发现入侵行为,则发出警报。分布式入侵检测系统既可以检测到针对主机的入侵事件,也可以检测到针对整个网络上的主机的入侵行为。2.按照工作方式分类按照入侵检测的工作方式,入侵检测系统可分为两类:(1)离线检测系统离线检测系统是非实时工作的系统,它是在事后对审计事件进行分析,从中检查是否有入侵活动。(2)在线检测系统在线检测系统是一种实时联机的检测系统,它包含对实时网络数据包分析以及实时主机的审计分析。3.按照所采用的技术分类按照入侵检测所采用的技术,入侵检测系统可分为两类:(1)基于规则的入侵检测系统基于规则的入侵检测系统的核心就是误用检测技术(又称特征检测)。它假定所有入侵行为和手段
27、(及其变种)都可以用一种模式来表示,系统的目标是检测主体活动是否符合这些模式。特征检测的关键在于如何表达入侵的模式,把真正的入侵和正常的行为区分开来。这种检测技术也被称为基于知识(模型推理) 的入侵检测。(2)基于行为的入侵检测系统18基于行为的入侵检测系统又叫异常检测系统。都有一个阀值,超过阀值的活动被定义为入侵,反之被视为合法的活动。1.2.4 入侵检测方法1.误用检测19误用检测需要预先建立一个入侵模式库,然后将收集到的数据与预先确定的入侵模式库的各种攻击模式进行比较,如果发现模式库里的特征相符的行为,则认为是攻击。入侵模式库是将已知的攻击方法和技术的特征提取出来,来建立的一个知识库。当
28、入侵发生时,入侵的已知模式(入侵标志) 被用来确认入侵。当符合条件的线索被发现后,它就会触发一个警告,即任何不符合特定特征的活动将会被认为是合法和可以接受的,尽管其中可能包含有隐蔽的入侵行为。常用的误用检测技术大体上可以分为以下几种20:(1)专家系统专家系统是早期基于知识的检测中运用较多的一种方法。专家系统是将有关入侵的知识转化成 if-then 结构的规则,即将用来判断入侵事件的规则构成转化为 if 部分,将发现入侵事件后采取的相应措施转化成 then 部分。当其中某个 if 条件满足时,系统就判断为入侵行为发生。专家系统技术除了基于知识方法的缺点外,还有以下局限性:对攻击知识的提取很困难(属于知识工程问题) ;所需处理的数据量过大,效率不高。(2)模式匹配系统模式匹配检测系统是将已知的入侵特征编码成与审计记录相符合的模式,能够在审计记录中直接寻找相匹配的入侵事件。它的优点是检测准确率和效率相当高,但是该方法存在的弱点是需要不断升级以对付不断出现的黑客攻击手法,缺乏对从未出现过的黑客攻击的检测能力。简单模式匹配的特点是原理简单