基于windows入侵检测系统的研究与设计—免费计算机毕业设计论文内容摘要:

常现象,最后把判断的结果转换为警告信息。 ( 3)事件数据库 ( Response units ) 事件数据库是存放各种中间和最终数据的地方。 ( 4)响应单元 ( Response units ) 响应单元根据警告信息做出反应,如切断连接、改变文本属性等强烈的反 应,也可能是简单地报警。 它是入侵检测系统中的主动武器。 输出:事件的有关信息 输出:原始或低级事件 响应单元 事件分析器 事件数据库 事件产生器 输出:高级中级事件 输出:反应或 事件 入侵检测的分类 根据原始数据的来源分类: ( 1)基于主机( hostbased)的入侵检测系统 该系统获取的数据来源于运行该系统所在的主机。 它通过监视和分析主机的审计记录和日志文件来检测入侵。 基于主机的入侵检测系统主要用于保护运行关键应用的服务器。 由于需要在主机上安装软件,针对不同的系统、不同的版本需安装不同的主机引擎,安装配置较为复杂,同时对系统的运行和稳定性都会造成影响。 ( 2)基于网络( workbased)的入侵检测系统 该系统获取的数据 来源是网络上传输的数据包。 它通过监听网络上的所有分组来采集数据,分析可疑现象。 基于网络的入侵检测系统主要用于实时监控网络上的关键路径(某一共享网段)。 只需把它安装在网络的监听端口上,对网络的运行影响较小。 ( 3)混合型入侵检测系统 毋庸质疑,混合型就是既基于主机又基于网络。 基于主机的和基于网络的IDS 具有互补性,基于网络的入侵检测能够客观地反映网络活动,特别是能够监视到系统审计的盲区;而基于主机的入侵检测能够更加准确地监视系统中的各种活动。 由于近些年来,混合式病毒攻击的活动更为猖獗,单一的基于主机或者单一的 基于网络的 IDS 无法抵御混合式攻击,因此,采用混合型的入侵检测系统可以更好的保护系统。 根据分析方法分类 ( 1)误用检测(特征检测 signaturebased) 误用检测是基于已知的系统缺陷和入侵模式,所以又称为特征检测。 误用检测是对不正常的行为建模,这些不正常的行为是被记录下来的确认的误用和攻击。 通过对系统活动的分析,发现与被定义好的攻击特征相匹配的事件或事件集合。 该检测方法可以有效地检测到已知攻击,检测精度高,误报少。 但需要不断更新攻击的特征库,系统灵活性和自适应性较差,漏报较多。 商用 IDS 多采用该种检测方法。 ( 2)异常检测( anomalybased) 异常检测是指能根据异常行为和使用计算机资源的情况检测出入侵的方法。 它试图用定量的方式描述可以接受的行为特征,以区分非正常的、潜在的入侵行为。 也就是,异常检测是对用户的正常行为建模,通过正常行为与用户的行为进行比较,如果二者的偏差超过了规定阈值则认为该用户的行为是异常的。 异常检测的误报较多。 目前,大多数的异常检测技术还处于研究阶段,基本没有用于商 业 IDS 中。 根据体系结构分类 ( 1)集中式入侵检测系统 集中式 IDS 有多个分布在不同主机上的审计程序,仅 有一个中央入侵检测服务器。 审计程序将当地收集到的数据踪迹发送给中央服务器进行分析处理。 随着服务器所承载的主机数量的增多,中央服务器进行分析处理的数量就会猛增,而且一旦服务器遭受攻击,整个系统就会崩溃。 ( 2)等级式(部分分布式)入侵检测系统 等级式 IDS 中定义了若干个等级的监控区域,每个 IDS 负责一个区域,每一级 IDS 只负责所监控区的分析,然后将当地的分析结果传送给上一级 IDS。 等级式 IDS 也存在一些问题:首先,当网络拓扑结构改变时,区域分析结果的汇总机制也需要做相应的调整;其次,这种结构的 IDS 最后还是要 将各地收集的结果传送到最高级的检测服务器进行全局分析,所以系统的安全性并没有实质性的改进。 ( 3)分布式(协作式)入侵检测系统 分布式 IDS是将中央检测服务器的任务分配给多个基于主机的 IDS,这些 IDS不分等级,各司其职,负责监控当地主机的某些活动。 所以,其可伸缩性、安全性都等到了显著的提高,并且与集中式 IDS 相比,分布式 IDS 对基于网络的共享数据量的要求较低。 但维护成本却提高了很多,并且增加了所监控主机的工作负荷,如通信机制、审计开销、踪迹分析等。 分布式 IDS 是本文研究一个重点。 根据时效性分类 ( 1) 脱 机分析:就是在行为发生后,对产生的数据进行分析,而不是在行为发生时进行分析。 如对日志的审核、对系统文件的完整性检查等。 ( 2)联机分析:就是在数据产生或者发生改变的同时对其进行检查,以发现攻击行为,这种方式一般用于对网络数据的实时分析,并且对系统资源要求比较高。 不同的分类方法体现的是对入侵检测系统不同侧面的理解。 入侵检测的核心在于对事件的分析,所以分析分类方法是较重要的。 入侵检测方法 模式匹配 模式匹配是传统的、最简单的入侵检测方法。 该方法需要建立一个攻击特征库,检查接收到的数据中是否包含特征库中的 攻击特征,从而判断是否受到攻击。 它的算法简单、准确率高,但是只能检测到已知攻击,对已知攻击稍加修改就可以躲过检测,漏报现象严重,模式库需要不断更新。 对于高速大规模的网络来说, 由于要分析处理大量的数据包,该方法的速度就成为了问题。 协议分析 协议分析是对模式匹配的智能扩展,它利用网络协议的高度规则性快速探测攻击的存在。 它的提出弥补了模式匹配技术的一些不足,如计算量大、探测准确率低等。 另外,协议分析还可以探测碎片攻击。 例如:假设袭击执行的基础协议是虚构的 BGS 协议,攻击要求非法变量 foo 必须传递到 BGS 型字 段中。 如果 BGS协议允许隔字节为空,那么模式匹配将无法发现 fx00ox00ox00,相反,协议分析则能够跳过空字节,如期发出警报。 专家系统 专家系统使用基于规则的语言为已知攻击建模,它把审计事件表述成语义的事实,推理引擎根据这些规则和事实进行判定。 专家系统的建立依赖于知识库的完备性,知识库的完备性取决于审计记录的完备性和实时性。 统计分析 统计分析是通过设置极限阈值等方法,将检测数据与已有的正常行为加以比较,如果超出极限值,则认为是入侵行为。 常用的入侵检测统计分析模型有:操作模型,方差,多元模型, 马尔可夫过程模型,时间序列分析。 数据挖掘 数据挖掘是数据库中的一项技术,它的作用是从大型数据库中抽取知识。 对于入侵检测系统来说,也需要从大量的数据中提取出入侵的特征。 因此,将数据挖掘技术引入入侵检测系统中,通过数据挖掘程序处理收集到的审计数据,为各种入侵行为和正常操作建立精确的行为模式,这是一个自动的过程。 数据挖掘的关键点在于算法的选取和一个正确的体系结构的建立。 神经网络 神经网络具有自适应、自组织和自学习的能力,可以处理一些环境信息复杂、背景知识不清楚的问题。 将神经网络技术应用于入侵检测系统, 以检测未知攻击。 来自审计日志或正常网络访问行为的信息,经数据信息预处理模块的处理后即产生输入向量。 使用神经网络对输入向量进行处理,从中提取用户正常行为的模式特征,并以此创建用户的行为特征轮廓。 这要求系统事先对大量实例进行训练,具有每一个用户行为模式特征的知识,从而可以找出偏离这些轮廓的用户行为。 模糊系统 模糊理论在知识和规则获取中具有重要的作用。 人类思维、语言具有模糊性,模糊思维形式和语言表达具有广泛性、完美和高效的特征。 人们的许多知识是模糊的,模糊知识在控制和决策中具有巨大的作用。 由于计算机网络中的 正常行为和异常行为难以很好界定,使用模糊逻辑推理方法,入侵检测系统的误报率则会 降低。 免疫系统 免疫系统是一个复杂的多代理系统。 将免疫系统应用到入侵检测当中,本质上是设计和实现一个分布式智能多代理系统。 免疫的基本原理是分辨本体(正常)和异体(异常)。 在入侵检测领域,本体是被监控网络的正常行为,异体是网络的异常行为。 遗传算法 遗传算法是基于自然选择 ,在计算机上模拟生物进化机制的寻优搜索法 .在自然界的演化过程中 ,生物体通过遗传、变异来适应外界环境,一代又一代地优胜劣汰,发展进化。 遗传则模拟了上述进化现 象。 它把搜索空间映射为遗传空间,即把每个可能的解编码为一个向量,称为一个染色体,向量的每个元素称为基因。 所有染色体组成群体,并按预定的目标函数对每个染色体进行评价,根据结果给出一个适应度的值。 算法开始时先随机地产生一些染色体,计算其适应度,根据适应度对各染色体进行选择复制、交叉、变异等遗传操作,剔除适应度低的染色体,留下适应度高的染色体,从而得到新的群体。 由于新群体的成员是上一代群体的优秀者,继承了上一代的优良形态,因而明显优于上一代。 遗传算法就这样反复迭代,向着更优解的方向进化,直至满足某种预定的优化指标。 数据融合 数据融合是针对一个系统中使用多个和(或)多类传感器这一特定问题展开的一种新的数据处理方法,因此数据融合又称多传感器信息融合或信息融合。 多传感器信息融合的基本原理就像人脑综合处理信息的过程一样,它充分利用多个传感器资源,通过对各个传感器及其观测信息的合理支配和使用,将各种传感器在空间和时间上的互补与冗余信息根据某种优化准则组合起来,产生对观测环境的一致性解释和描述。 它的最终目的是利用多个传感器共同或者联合操作的优势,来提高整个系统的性能。 把数据融合引入入侵检测领域,可以从不同角度、不同位置 收集反映网络状态的数据信息,如网络数据包、系统日志、系统操作者发出的口令等。 对这些信息进行分析和结果融合,给出检测系统的判断结果和响应措施。 在实际的应用和研究中,通常不采用单一的检测方法而是采用多种检测方法相结合的方式来检测攻击。 以上所介绍的方法有些还处于研究阶段,不能达到一定的检测精度,漏报、误报现象较为严重,还有待进一步的研究。 BM 算法 BoyerMoore( BM) 算法 ,又叫做快速 字符串 搜索算法 , 它是一种非常有效的字符串匹配算法。 主要应用于一些程序的字符串处理,比如:搜索,替代等。 这种算法的时间复 杂度低于线性,所以是现在用的最多的一种方法。 BM 算法从匹配串(模式串: pattern) 的最右端的第一个字符开始从右至左扫描,匹配字符串( text),一旦发生不匹配就用两种规则向右移动模式串,直到匹配。 这两种规则分别叫做:好后缀规则 ( goodsuffix shift) 、坏字符规则 ( badcharacter shift)。 好后缀规则 ( goodsuffix shift) 假设在模式串的字符 x[i]=a,字符串的字符 y[i+j]=b处不匹配,即 x[i+1 .. m1]=y[i+j+1 .. j+m1]=u, and x[i]。 = y[i+j]。 有两种情况发生 : 如果在 x 后面的其他位置还包括好后缀 u,且与 u 相邻左端的字符x[in]=c 不等于 x[i]=a,这时把 在 x 后面的其他位置出现的 u与 y中的 u 对齐,并比较 x[in]与 y[i+j]。 依次类推,示意图如下 : 图 , u 出现的位置前的字符 c!=a 如果没有出现与 u相同的字符串 则找到与 u 的后缀相同的 x的最长前缀u,向右移动 x,使 v与 y中 u的后缀相对应。 示意图如下 : 图 好后缀规则 , 只有 u的一部分前缀出现在 x中  坏字 符规则 ( badcharacter shift) 从右到左的扫描过程中,发现 x[i]与 y[j]不同,如果 x中存在一个字符x[k]与 y[i]相同,且 ki 那么就将直接将 x向右移使 x[k]与 y[i]对齐,然后再从右到左进行匹配。 图 , a与 b不匹配, b出现在 x中 如果 x中不存在任何与 y[i]相同的字符,则直接将 x的第一个字符与y[i]的下一个字符对齐,再从右到左进行比较。 图 , a与 b不匹配, b没有出现在 x中 移动规则: 当文本字符 串 与模式字符不匹配时,根据函数 badcharacter shift 和goodsuffix shift 计算出的偏移值,取两者中的大者。 存放 badcharacter shift 的数组为 BadChar[],则 BadChar[c]= min{ i| 1 ≤ i≤m 1 and x[m1i]=c} ,如果 c 未在模式字符中出现则 BadChar[c]= m( m为 x 的长度)。 存放 goodsuffix shift 的数组为 GoodSuffix[],则 suff[i]=max{k | y[ik+1 .. i]=x[mk .. m1], 1≤ i m }。 即 suff 是 P[0..i]和 T 的最长一般后缀。 计算 suff 数组使得计算 GoodSuffix 函数变得简洁 GoodSuffix[m 1 suff[i]] = m 1– i。 最后取 BadChar[c]和 GoodSuffix[c]的最大值。 3 系统总体设计 系统概述 系统构建基于 windows 操作系统,并且兼容各种 windows 版本,系统的整体目标是实现一个 windows 平台下基于规则(基于误用)的网络入侵检测系统,实现基于规则的网络入侵检测,在现有已知的入侵特征下建立规则库,实 现数据包地捕获和分析,完。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。