基于协议分析的入侵检测系统.docx_第1页
基于协议分析的入侵检测系统.docx_第2页
基于协议分析的入侵检测系统.docx_第3页
基于协议分析的入侵检测系统.docx_第4页
基于协议分析的入侵检测系统.docx_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

摘要由于互联网应用的大规模的快速增长,传统的防火墙已经不能满足互联网对安全的需求,因此网络安全作为一个无法回避的问题被提出。入侵检测系统IDS,Intrusion Detection System,作为一种新的安全防御措施,是传统防火墙的补充策略,对网络安全的发展以及应用具有十分重要的意义。协议分析技术凭借着其诸多优势在网络安全领域迅速发展起来。由于其具备解析数据包、探测分散的多个数据包中的网络攻击、减少误报和漏报率、真正的高性能等多项技术优势,常常被用来和模式匹配算法结合起来,在误用检测系统中使用。用Ubuntu系统作为开发平台,开发一基于协议分析的入侵检测系统, 该系统主要对捕获的数据包进行协议解析,提取有效数据,通过与特定攻击的规则进行匹配,找出可疑或攻击行为,做出响应并记录结果。论文主要工作如下:1、论文首先分析了现有入侵检测产品所存在的问题。针对这些问题,提出了选用协议分析和遗传神经网络技术来构建入侵检测系统中规则检测器和行为检测器的设计思路。2、利用协议的高规则性, 进行协议树、协议解码以及协议分析过程的设计,给出协议分析检测器的基本步骤;结合遗传神经网络算法的思想设计了行为检测器,并详细分析了适应度函数、交叉算子、变异算子以及其他控制参数,给出了核心参数的确定方法。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 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 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, the 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 analysis, 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 optional 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 basic 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 based 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 functions.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章协议分析技术102.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 遗传神经网络在入侵检测中的应用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 控制台模块的设计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 本文研究背景计算机网络技术的广泛应用和互联网的快速发展使得计算机信息网络作为现代信息社会的基础设施,广泛深入到人们的工作和生活当中,我们畅游网络,进行信息传递,开展各种社会活动,它给我们的工作和生活带来了翻天覆地的变化,已经无法想象没有网络的世界会是什么样。当然,计算机网络在带给我们极大便利的同时,计算机安全问题也随之而来,并且日益突出,计算机病毒的感染与传播、网络黑客的攻击与破坏、计算机网络犯罪等违法事件的数量迅速增长,给我们的网络生活蒙上了一层阴影,网络安全问题成为人们普遍关注并且日益重视的问题。近些年来,协议分析技术凭借着其诸多优势迅速发展起来,广泛应用在网络安全领域,比如网络诊断和故障排除、防火墙、移动通信以及入侵检测等方向都得到大量使用。由于其具备解析数据包、探测分散的多个数据包中的网络攻击、减少误报和漏报率、真正的高性能等多项技术优势,常常被用来和模式匹配算法结合起来,在误用检测系统中使用。协议分析技术作为入侵检测技术的一个分支,是近年来网络入侵检测研究领域中的一大热点。1.2 国内外研究现状1.2.1 入侵检测系统的发展历史入侵检测系统IDS(Intrusion Detection System)1是一项新的网络安全技术,它是对静态防御技术的一个有效补充,是一种主动防御黑客攻击的网络安全技术。入侵检测是检测计算机网络和系统以发现违反安全策略事件的过程。入侵检测技术自20世纪80年代提出以来经过20多年的不断发展,从最初的一种有价值的研究想法和单纯的理论模式,迅速发展出种类繁多的实际原型系统,并且在近10年内涌现出许多商用入侵检测系统产品,成为计算机安全防护领域内不可缺少的一种重要的安全防护技术。期间的发展经历了许多阶段。1980年,Aderson2提出了改进安全审计系统的建议,以便用于检测计算机用户的非授权活动,同时,提出了基本的检测思路。1984-1986年,Denning和Neumann设计和实现了著名的IDES3。IDES系统采纳了Anderson提出的若干建议。IDES系统包括了统计分析组件和专家系统组件,同时实现了基于统计分析的异常检测技术和基于规则的滥用检测技术。1987年,Dorothy Denning发表了经典的论文“An Intrusion Detection Modal”,提出入侵检测的基本模型4,并提出了几种可用于入侵检测的统计分析模型。1989-1991年,Stephen Smaha设计开发了Haystack入侵检测系统。Haystack同时采用了两种不同的统计分析检测技术,来发现异常的用户活动。1990年,加州大学Davis分校Todd Heberlien发表“A Network Security Monitor”NSM5,标志着入侵检测将网络数据包作为实际输入的信息源。1991年,在NSM系统和Haystack系统的基础上,Stepen Smaha主持开发了分布式入侵检测技术DIDS(Distribute Intrusion 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的内部计算网络环境。1994年,Porras在SRI开发出NIDES(Next-Generation Intrusion Detection System)9系统,在系统整体结构设计和统计分析算法中有较大的改进。进一步,SRI开发了用于分布式环境的EMERALD10系统。1995年,普渡大学的S.Kumar在STAT的思想基础上,提出了基于有色Petri网的模式匹配计算模型,并实现了IDIOT11原型系统。1997年,Cisco公司开始将入侵检测技术嵌入到路由器,同时,ISS公司发布了基于Windows平台的RealSecure12入侵检测系统。1998年,Ross Anderson和Abida Khattak13将信息检索技术引进了入侵检测系统。2000年,普渡大学的Diego Zamboni和E.Spafford提出了入侵检测的自治代理结构,并实现了原型系统AAFID14系统。1.2.2 公共入侵检测系统CIDF(Common Intrusion Detection Framework)是一个开放组织,早期由美国国防部高级研究计划局赞助研究,现在由CIDF工作组负责。CIDF已经形成了一套比较完整的规范,它定义了IDS的框架结构、IDS描述检测信息的标准语言以及IDS各组件之间的通信协议。凡是符合CIDF规范的IDS都可以共享检测信息,可以相互通信,协同工作,以及和其它系统配合实施统一的配置响应和恢复策略。CIDF的主要作用在于集成各种IDS,使之协同工作,实现各IDS之间的组件重用15。北京启明星辰公司的天闻入侵检测系统。天闻网络入侵检测系统采用了新一代的入侵检测技术,包括基于状态的协议分析技术、规范的入侵特征描述语言、准确的特征分析和提取、标准的安全信息知识库等。它将网络入侵检测和主机入侵检测集成在一个管理控制中心进行集中管理,在一个管理控制中心既可以管理网络的探测引擎又可以管理主机的探测代理,针对不同的引擎或代理制定不同的策略。上海金诺网安入侵检测系统KIDS。它采用了智能检测技术,综合了特征匹配、协议分析、流量异常监测等技术的特点。在保证检测到已知的最新攻击行为的前提下,通过协议状态分析的方法,对一些未知的非法入侵行为进行分析、判断,为发现新型入侵提供了帮助。CIDF将入侵检测系统分为四个基本部分:事件产生器、事件分析器、事件数据库和响应单元。其模型如图1-1所示:图1-1 CIDF模型Fig.1-1 CIDF Model1.事件产生器事件产生器从网络数据源中收集事件,并将这些事件转换成相应的格式用以传送给其它组件。2.事件分析器事件分析器既是一个特征检测工具,用于在一个事件序列中检查是否有已知的攻击特征;也是一个统计分析工具,检查现在的事件是否与以前某个事件来自同一个事件序列,将有关联的事件放到一起,以利于以后的进一步分析。3.事件数据库事件数据库用来存储事件产生器和事件分析器产生的临时事件,以备系统分析的时候使用。4.响应单元响应单元针对事件产生器和事件分析器分析到的入侵行为采取相应的响应措施。在检测到入侵攻击后,基于网络的入侵检测系统的响应单元主要有两类响应方式:被动响应方式和主动响应方式。被动响应方式是系统在检测出入侵攻击后只是用报警和日志的方式通知管理员,具体处理工作由管理员完成;主动响应方式是系统在检测出入侵攻击后可以自动对攻击的目标系统或者相应网络设备做出修改,制止入侵行为。1.2.3 入侵检测的分类对于目前常用的入侵检测系统,我们可以从以下三个方面进行分类。1.按照数据来源分类根据入侵检测的数据来源和系统结构,入侵检测系统可以分为三类:(1)基于主机的入侵检测系统(HIDS)16基于主机的入侵检测系统主要是针对系统的审计日志进行分析,一般只能检测该主机上发生的入侵行为。(2)基于网络的入侵检测系统(NIDS)17基于网络的入侵检测系统的输入数据来源于网络数据包,该类系统一般监听整个网段上传输的信息流,通过捕获网络数据包,进行分析,检测该网段上是否有网络入侵事件发生。(3)分布式入侵检测系统分布式入侵检测系统一般由多个部件组成。分布式网络入侵检测系统是通过中心控制分布在网络中的部件进行数据采集、数据分析,然后进行数据汇总;若发现入侵行为,则发出警报。分布式入侵检测系统既可以检测到针对主机的入侵事件,也可以检测到针对整个网络上的主机的入侵行为。2.按照工作方式分类按照入侵检测的工作方式,入侵检测系统可分为两类:(1)离线检测系统离线检测系统是非实时工作的系统,它是在事后对审计事件进行分析,从中检查是否有入侵活动。(2)在线检测系统在线检测系统是一种实时联机的检测系统,它包含对实时网络数据包分析以及实时主机的审计分析。3.按照所采用的技术分类按照入侵检测所采用的技术,入侵检测系统可分为两类:(1)基于规则的入侵检测系统基于规则的入侵检测系统的核心就是误用检测技术(又称特征检测)。它假定所有入侵行为和手段(及其变种)都可以用一种模式来表示,系统的目标是检测主体活动是否符合这些模式。特征检测的关键在于如何表达入侵的模式,把真正的入侵和正常的行为区分开来。这种检测技术也被称为基于知识(模型推理)的入侵检测。(2)基于行为的入侵检测系统18基于行为的入侵检测系统又叫异常检测系统。都有一个阀值,超过阀值的活动被定义为入侵,反之被视为合法的活动。1.2.4 入侵检测方法1.误用检测19误用检测需要预先建立一个入侵模式库,然后将收集到的数据与预先确定的入侵模式库的各种攻击模式进行比较,如果发现模式库里的特征相符的行为,则认为是攻击。入侵模式库是将已知的攻击方法和技术的特征提取出来,来建立的一个知识库。当入侵发生时,入侵的已知模式(入侵标志)被用来确认入侵。当符合条件的线索被发现后,它就会触发一个警告,即任何不符合特定特征的活动将会被认为是合法和可以接受的,尽管其中可能包含有隐蔽的入侵行为。常用的误用检测技术大体上可以分为以下几种20:(1)专家系统专家系统是早期基于知识的检测中运用较多的一种方法。专家系统是将有关入侵的知识转化成if-then结构的规则,即将用来判断入侵事件的规则构成转化为if部分,将发现入侵事件后采取的相应措施转化成then部分。当其中某个if条件满足时,系统就判断为入侵行为发生。专家系统技术除了基于知识方法的缺点外,还有以下局限性:对攻击知识的提取很困难(属于知识工程问题);所需处理的数据量过大,效率不高。(2)模式匹配系统模式匹配检测系统是将已知的入侵特征编码成与审计记录相符合的模式,能够在审计记录中直接寻找相匹配的入侵事件。它的优点是检测准确率和效率相当高,但是该方法存在的弱点是需要不断升级以对付不断出现的黑客攻击手法,缺乏对从未出现过的黑客攻击的检测能力。简单模式匹配的特点是原理简单、扩展性好、检测效率高、可以实时检测,但是漏报率高,而且在性能上存在很大问题。著名的Snort就是采用了这种检测手段。(3)协议分析技术协议分析的功能是利用协议的高规则性来辨别数据包的协议类型,以便使用相应的数据分析程序来检测数据包。协议分析技术包含协议解码、数据重组、命令解析等技术。简单来说就是让入侵检测系统能够读懂协议,知道在数据包的不同位置所代表内容,并且准确判断出这些内容的真实含义。协议分析技术提高了性能、提高了准确性、系统资源开销小。(4)状态转换分析技术状态转换分析法使用系统状态和状态转换分析表达式将已知入侵行为转化特定攻击模式的特征行为序列。基于状态的特征检测可以使攻击行为在尚未达到侵入状态之前被检测到,从而及时采取相应措施阻止攻击行为的发生。但是,状态转换分析系统是属于研究性质的原型系统,不善于分析过分复杂的入侵事件,而且不能检测到与系统状态无关的入侵行为,在实际应用时必须与其他检测器协同工作。2.异常检测异常检测技术21是指根据用户的行为和系统资源的使用状况来判断是否存在网络入侵事件的发生。异常检测技术首先假设网络攻击行为是不常见的或者是异常的,区别于所有的正常行为。如果能够为用户和系统的所有正常行为总结活动规律并建立行为模型,那么入侵检测系统就可以将当前捕获到的网络行为与模型相比,若入侵行为偏离了正常的行为轨迹,就可以被检测出来。常见的异常检测技术可以分为如下三种22:(1)概率统计方法统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等);测量属性的平均值和偏差被用来与网络、系统的行为进行比较,任何超过正常值(阀值)范围的观察值都认为有入侵行为发生。(2)神经网络算法基于神经网络入侵检测方法是将检测规则做为训练神经网络连续的信息单元,这样经过一段时间的训练后,神经网络系统就能作为一个入侵检测器输出来。神经网络检测方法是针对统计入侵检测方法的改进,它能更好的处理原始数据的随机特性,并具有很好的抗干扰能力;但由于网络拓扑结构和各元素的权重很难有同一的标准,所以信息单元集的大小也很难有一个确定的值。太大,会浪费网络资源,甚至阻塞;太小,则输出性能不好。(3)基于人工免疫的方法此类系统分两个阶段来对入侵进行分析处理。第一个阶段建立一个正常行为轮廓的知识库,与这个特征轮廓的偏差被定义为异常;在检测的第二阶段,特征轮廓用于监控随后的异常系统行为。1.2.5 现有的入侵检测产品目前IDS产品有很多,下面我们列举几个相对比较成功的产品.其中,免费的产品Snort、shadow等。商品化的产品,国外的有IIS公司的RealSecure(分布式IDS)、Cisco的NetRanger(NIDS)、CyberSafe公司的Centrax(分布式IDS)、CA的eTrustIDS、Symantec的Intruder(HIDS)和NetProwler(NIDS)、NFR公司的NID 、NAI的CyberCop Monitor,Network Security Wizards公司的Dragon IDS系统(NIDS)等,国内的有金诺网安的KIDS、北方计算中心的NISDetector、启明星辰的天阗黑客入侵检测与预警系统、中科网威“天眼”网络入侵侦测系统、复旦光华S_AuditA入侵检测与安全审计系统等。1.2.6 入侵检测面临的问题及其发展趋势1.面临的主要问题(1)误报误报是入侵检测系统将正常或合法操作作为入侵事件进行报警。假警报不但令人讨厌,并且降低了入侵检测系统的效率;而且攻击者往往可以利用包结构伪造无威胁“正常”假警报,以诱使被攻击方把入侵检测系统关掉。由于不同的网络及主机存在不同的安全问题,不同的入侵检测系统有各自的功能;因此没有一个入侵检测系统可以完全避免误报。(2)漏报漏报是指入侵检测系统将本来的入侵事件作为合法操作而放过,从而让受保护的网络和计算机受到攻击。(3)有组织的攻击攻击可以来自四方八面,特别是要检测出攻击者花费很长时间组织策划的高技术攻击是一件很难的事。此外,高速网络技术,尤其是交换技术以及加密信道技术的发展,产生的巨大通信量对数据分析也提出了新的要求。2.发展趋势从总体上讲,目前除了完善常规的、传统的技术外,入侵检测统应重点加强与统计分析相关技术的研究。许多学者也在尝试研究新的检测方法,如采用自动代理主动防御方法,将免疫学原理应用到入侵检测的方法等。其主要发展方向可以概括为23:(1)分布式入侵检测与CIDF。传统的入侵检测系统一般局限于单一的主机或网络架构,对异构系统及大规模网络的检测明显不足,同时不同的入侵检测系统之间不能协同工作。为此需要分布式入侵检测技术与CIDF。(2)应用层入侵检测。许多入侵的语义只有在应用层才能理解,而目前的入侵检测系统仅能检测Web之类的通用协议,不能处理如Lotus Notes数据库系统等其他的应用系统。许多基于客户服务器结构、中间件技术及对象技术的大型应用,需要应用层的入侵检测保护。(3)智能入侵检测。目前,入侵方法越来越多样化与综合化,尽管已经有智能体系、神经网络与遗传算法应用在入侵检测领域,但这些只是一些尝试性的研究工作,需要对智能化的入侵检测系统进一步研究,以解决其自学习与自适应能力。(4)与网络安全技术相结合。结合防火墙、PKIX、安全电子交易(SET)等网络安全与电子商务技术,提供完整的网络安全保障。(5)建立入侵检测系统评价体系。设计通用的入侵检测测试、评估方法和平台,实现对多种入侵检测系统的检测,已成为当前入侵检测系统的另一重要研究与发展领域。评价入侵检测系统可从检测范围、系统资源占用、自身的可靠性等方面进行,评价指标有:能否保证自身的安全、运行与维护系统的开销、报警准确率、负载能力以及可支持的网络类型、支持的入侵特征数、是否支持IP碎片重组、是否支持TCP流重组等。1.3 本文研究内容第一章:绪论介绍了本课题的开发背景及现实意义,重点阐述了本课题的发展及国内外的研究状况,并对本论文的文章结构做了简单介绍。第二章:协议分析技术重点讲述了协议分析技术的概念,对协议分析的原理、模型及过程做了详细阐述,并对协议分析技术的优缺点做了分析。第三章:神经网络和遗传算法介绍了神经网络和遗传算法的原理及其优缺点;并将BP神经网络与遗传算法相结合的,利用遗传算法神经网络算法来解决最优化问题。第四章:基于协议分析的入侵检测系统设计给出了本文入侵检测系统的设计方案,重点介绍了数据分析模块的设计方案。第五章:基于协议分析的入侵检测系统实现结合该系统的设计方案,给出了侵检测系统的各个模块的具体实现过程。第六章:总结与展望全文的总结部分,总结论文的研究成果,并指出下一步研究方向与重点。第2章协议分析技术2.1 网络协议简介目前,互联网上运用的最为广泛的网络体系结构是TCP/IP参考模型。它包含了网络接口层(network interface)、网际层(internet)、运输层(transport)、应用层(application)。其层次结构及各层的主要协议如表2-1所示。表2-1:TCP/IP协议簇Tab.2-1 TCP/IP protocol familyTCP/IP结构描述各层主要协议各层主要功能应用层 httptelnetFTP和E-mail 负责把数据传输到运输层或接收运输层返回的数据运输层 TCP 和 UDP 主要为两台主机上的应用程序提供端到端的通信。网际层 ICMP、IP和IGMP 也称网络层或者互联网层,主要是为数据包选择路由。网络接口层 ARP、RARP和设备驱动程序及接口卡发送时将IP包作为帧发送,接收时把接收到的位组装成帧,提供链路管理和错误检测等。2.2 协议分析简介2.2.1 协议分析概念“协议分析”技术24,是一种用来检测攻击特征是否存在的技术,其特点是充分利用网络协议的高度规则性,对协议进行分析,进而找出违反协议定义的数据包。协议分析技术充分利用不同协议的规则来快速检测某些攻击特征是否存在,从而减少特征搜索的工作量,提高搜索速度。与原始的“模式匹配”相比,协议分析具有快速、精确和高效等特点。协议分析通常只检测网络数据包的特定部分,从而减少了计算量和存储空间。2.2.2 协议分析原理协议分析技术是在模式匹配技术上发展起来的,其基本原理是利用网络协议的高度有序性,通过捕获高速数据包来快速检测某个攻击是否存在。协议分析方法与模式匹配方法在检测原理上存在着本质上的区别,协议分析的主要功能是辨别数据包的协议类型,以便使用相应的数据分析程序来检测数据包。由于协议分析方法能够更加智能的分析网络数据25,所以协议分析方法在分析速度和准确率方面都比模式匹配方法有很大的改进,进而解决了特征模式匹配技术检测速度慢、准确度不高、消耗系统资源等缺陷。2.2.3 协议分析核心技术协议分析的思想是让系统能够读懂协议,知道数据包中某些指定位置的内容,分析这些内容的真实含义,并根据定义的规则,判断是否有入侵事件。协议分析技术主要包括协议解码、数据重组和命令解析等技术。1.协议解码26协议解码就是观察并检测所有网络数据包,如果数据包不符合预期的标准,就发出报警。其过程主要包括:解包、HTTP解码、IP分片重组、TCP流还原等。协议解码过程实质就是一个数据包从协议栈由底向上分析,去掉各层附加的报文首部的过程。一个数据包的协议解码过程如图2-1所示。图2-1 数据包的协议解码过程Fig.2-1 Packet protocol decoding process协议解码能最大程度地减小误报。因此在基于协议解码的入侵检测系统中,系统能够知道每个协议中潜在的攻击串所在的精确位置,并使用解析器来确保某个特征的真实含义被正确理解,从而有效的降低入侵检测的误报率。2.数据重组数据重组是在协议解码的基础上对数据包进行TCP流重组及IP分片重组,重组后进行整体上的协议分析,它充分利用了协议运行信息来检测协议相关的异常、多步骤攻击和分布式攻击等复杂攻击。3.命令解析命令解析可针对各种高层协议,分析出攻击串以及各种可能的变体。命令解析工作在应用层上,运用命令解析器即一个命令解释程序对使用应用层协议(如Telnet,FTP,HTTP,SMTP,SNMP,DNS,TCP,IP)的每一个用户命令做出详细分析,看是否存在攻击串或各种可能的变体27。2.3 协议分析入侵检测方法介绍协议分析检测技术主要包括简单协议分析检测方法和协议状态分析检测方法。在进行检测前,两种方法都需要按照协议首部结构和协议规定数据载荷的数据结构对数据包进行协议解析,再检测解析后的数据。只是简单协议分析检测技术是根据协议中单个数据包内容进行检测,而状态协议分析检测方法则根据多个数据包中反映的协议状态信息进行检测。2.3.1 简单协议分析检测方法简单协议分析检测方法(Simple Protocol Analysis简称SPA)是基于传统模式匹配技术发展起来的。它充分利用了网络协议的高度有序性,结合了高速数据包捕获、协议分析和命令解析,并根据协议标准和己知攻击特征构造检测规则。使用检测规则对解析后的单个数据包中的协议首部和数据载荷进行检测,表2-2介绍了检测规则所包含的内容及其解释:表2-2 检测规则的内容及其解释Tab.2-2 Content of the detection rules and their interpretation字段名解释协议名称数据包的协议名称首部字段名称被检测的协议首部字段名称检测类型指明是误用检测还是异常检测首部检测值要在协议首部中检测的值数据载荷检测值要在数据载荷中检测的值字段名解释预处理函数对检测字段进行检测前处理的函数报警信息检测到攻击或异常后的报警信息其中预处理函数根据攻击特征对数据包域进行检测前处理,可识别变体攻击等采用躲避检测技术的攻击。进一步提高了检测的效率,检测规则也是根据协议类型等信息按树形结构组织起来,根据数据包检测域的信息可以只选择匹配其中部分规则,不必对全部规则进行匹配检测。简单协议分析检测方法大大减少了计算量,即使在高负载的高速网络上,也能逐个分析所有的数据包。简单协议分析检测方法对于每个解析后的数据包,依次使用每条检测规则对其进行检测,直至报警或规则使用完毕,检测过程如下:1.查看数据包是否为协议名称指定的协议数据,如不是则使用下一条规则,否则继续。2.如有预处理函数则对指定的检测域进行预处理。3.使用规则中的检测值对指定的数据包首部和数据载荷进行检测,当进行异常检测时,如果数据包值与检测值不符,则认为有异常行为发生;当进行误用检测时,只有当两者的值匹配时,才认为有攻击行为发生。4.当检测到异常或攻击时,输出规则的报警信息进行报警;否则使用下一条规则继续进行检测。5.当引发了报警或所有规则使用完时,结束对当前数据包的检测,开始检测下一个数据包。其中预处理函数根据攻击特征对数据包域进行检测前处理,可识别变体攻击等采用躲避检测技术的攻击。简单协议分析方法可以根据协议信息精确定位检测域,针对性地使用详细具体的检测手段,提高了检测的全面性、准确性和效率。针对不同的异常和攻击,以灵活地定制不同的处理函数来加强检测能力,识别变体攻击等较难检测的攻击。简单协议分析检测方法可以解决的问题:1.解决模糊路径问题模糊路径方法就是改变路径,使它看起来不同,但是实际上和改变前代表的含义是一样的。这种技术常被黑客用于URL中,发起HTTP攻击。例如:“/”和“”通常是可以转换的。大多数WEB服务器不区分这两种字符。所以在WEB服务器看来scripts/iisadmin和scriptsiisadmin是一样的。但是基于模式匹配的IDS认为两者是不同的,在发现iisadmin时不报错。同样/./也可能加到路径中,通常表示当前路径。WEB服务器会忽略它的存在,但是模式匹配的方法就不能够判断出,会认为/./iisadmin是安全的数据。一种比较复杂一些的情况是/./的使用:/./通常表示父目录,攻击者可以在/./前面加上一个不存在的非法目录,这样相当于什么都没加,还是剩下/iisadmin。上述几种方法还可以组合起来使用,比如/./././././iisadmin,或者./iisadmin。这样的组合是可以无穷多的,而模式匹配方法对于这样伪装的攻击是束手无策的。协议分析方法和WEB服务器使用同样的URL处理方法:当HTTP网络数据被检测到的时候,IDS探测器会把URL的路径提取出来并且加以分析。它能够处理“/./和“/./”的情况,得到标准的URL以后,再进行模式匹配,就能检测出攻击了。2.解决十六进制编码问题十六进制编码是一种很常见的现象,使用十六进制代码代替部分字符,比如%73是S的十六进制表示方法,/iisadmin就改为/ii%73admin。实际上这个简单的路径可以有很多种变种,在这个时候,只有用协议分析的方法,使得分析系统按照WEB服务器的原理工作,先把%73转化成S,再判断是否可疑。3.解决双十六进制编码问题Nimda病毒利用16个不同的URL去探测微软的IIS服务器,查看是否具有漏洞,这些URL中包括双十六进制编码。例如:/.%255c./winnt,%25表示%,也就是变成/.%5c./,%5c表示,变成/./winnt,这就是所熟悉的模糊路径,也就是/././winnt,这实际上是一种root traversal攻击。4.减少误警率假设XYZ协议包括X字段和Y选项字段,检测某种攻击是可以通过查看X字段中是否出现foo这样的字符串。Y字段合法的选项值为:food,moon和tooth。如果使用简单的模式匹配方法,在整个数据包中搜索foo字符串,因为在选项字段有字符串fooh,包含了foo,所以会产生误警。而且,因为字段的长度是可以变化的,这种错误也很难用限定匹配的开始点和结束点来避免。所以唯一的解决办法就是对协议的完全解码,只在X字段中寻找“foo”字符串。5.提高分析速度一种存在于FTP MKD命令中的内存溢出漏洞,会被含有shell代码的长参数利用。典型的模式匹配必须在整个FTP,数据包中搜索shell代码序列。如果采用模式匹配的方法,对于满负载的100Mbps以太网:计算量=(攻击特征字节数)X(数据包字节数) X (每秒的数据包数) X (数据库的攻击特征数)。假设一个攻击特征有5字节,平均数据包大小为200字节,每秒5000个数据包,数据库有1000个攻击特征,每秒就需要有50000000000字节的计算量。协议分析就通过查看MKD命令里的参数是否过长,是否包含二进制代码,判断是否有利用内存溢出漏洞的攻击。假设网络数据中有1%是FTP数据,FTP数据中有1%是MKD命令,计算量减到了模式匹配方法的万分之一。如果再采取一些优化措施,计算量还可以下降。用简单协议分析方法可以准确有效地检测大量异常和攻击,但是仍有很多复杂攻击不能凭借单一的数据包来检测,要联合多个数据包中的信息,根据协议执行过程进行识别。协议状态分析检测方法就是一种充分利用了协议运行的状态信息来检测协议相关的异常和多步骤、分布式等复杂攻击的方法6。2.3.2 协议状态分析检测方法状态协议分析(STAteful Protoco1 Analysis,简称STAPA)是一种改进的更加合理的特征检测方法。它是在协议分析的基础上,加入相关的状态信息,充分利用协议运行的状态信息来检测协议相关的异常和多步骤、分布式等复杂攻击的方法。它不仅仅是检测单一的连接请求或响应,而是将一个会话的所有流量作为一个整体来考虑,更能够进行智能的数据分析30。此方法基于状态协议分析检测模型,建立协议状态序列,将观测到的数据包序列映射为状态序列,使用状态序列上的一元谓词来检测异常和攻击。简单的说就是将状态特征添加到常规的协议分析中。协议状态分析检测方法可以解决的问题:状态协议分析比前两种方法能够发现更多的攻击,但是要付出更多处理时间的代价。IDS可以在多个方面利用状态信息,解决以下问题:1检测猜测密码:攻击状态协议分析系统通过统计在一段时间内失败的登陆请求个数,设定一个合理的阈值准确的检测此种攻击。2进行IP分片重组和TCP流重组,检测边界问题:举个例子说,在简单的模式匹配方法中,如果IDS在端口2222发现字符串“foo”,就引发报警。黑客就可以用第一个数据包发送“fo”,而在第二个数据包的开头写入“o”,这样当数据包发送到系统,系统就不会发出警告。而在状态协议分析中,这种小技巧会被轻松的发现。3检查请求和应答是否匹配:在拒绝服务入侵(SYN Flood)中,攻击者常常通过在短时间内不断发起某种相同的请求,而目标系统来不及发送应答,占用了系统的资源,不能再对新的请求发出应答。当入侵监测系统发现短时间内很多的请求,却没有任何应答的时候,就会发出警报。4记录用户信息:以FTP用户登录为例:一个FTP用户登录,需要四个步骤:(1) 用户发送“USER cqut”到FTP服务器,其中cqut是用户名。(2) FTP服务器用“331 Send password”应答。(3) 用户发送“PASS jsj”到FTP服务器。(4) FTP服务器验证密码正确,应答“230 User Logged in”。IDS从这里能够知道,这次会话的用户是cqut,如果会话中有可疑行为,系统可以对用户cqut进行记录。根据应答结果,IDS系统还能够检测是否有人尝试使用用户root或者是administrator。如果一个攻击者想要得到某个重要文件,就能根据应答所包含的状态码来判断攻击者是否成功。5. 验证命令序列:以FTP为例,典型的客户端与FTP服务器建立会话的过程如下:(1) 连接:FTP客户端与服务器的FTP端口(2l)建立TCP连接;(2) 验证:用户发送用户名和密码或者是匿名用户登陆,如果验证通过,连接建立,否则通话结束;(3) 传输:当一个用户通过验证后,他就可以向服务器发送命令。如果是传输文件的命令,一个短暂单独的TCP连接会被建立;(4) 结束:当FTP服务器和客户端想要结束会话的时候,TCP连接断开。有些攻击是与会话的状态紧密相连的,比如有的攻击是利用验证通过之前的传输阶段的命令发起的。检测这种攻击,必须知道会话的状态,当发现验证还没有完成,就有一个传输阶

温馨提示

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

评论

0/150

提交评论