(计算机应用技术专业论文)基于混和支撑向量机的入侵检测方法研究.pdf_第1页
(计算机应用技术专业论文)基于混和支撑向量机的入侵检测方法研究.pdf_第2页
(计算机应用技术专业论文)基于混和支撑向量机的入侵检测方法研究.pdf_第3页
(计算机应用技术专业论文)基于混和支撑向量机的入侵检测方法研究.pdf_第4页
(计算机应用技术专业论文)基于混和支撑向量机的入侵检测方法研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)基于混和支撑向量机的入侵检测方法研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 入侵检测系统作为一种动态防护体系首先从计算机系统和网络中的不同关 键点采集信息,然后通过分析这些信息来确定入侵的迹象,其本质还是一个聚类、 分类的问题。支撑向量机是与样本分布无关泛化性能很好的分类器,针对具体问 题选择一个好的核函数是至关重要的,核函数的参数选择也会影响分类器的性 能,针对以上问题本文给出了相应的解决方法。 1 给出了基于子波核支撑向量机的入侵检测算法。对数据集合k d d c u p 9 9 进行了仿真试验,仿真实验结果表明,该算法是可行和有效的。 2 将免疫克隆选择算法用于核函数参数的优化选择,进而提出了基于免疫 克隆选择策略的支撑向量机入侵检测算法。免疫克隆选择算法克服了遗传算法易 出现早熟的缺陷故由免疫克隆选择算法能更有效地求得核函数的参数,提高支 撑向量机的分类性能,从而降低在入侵检测中的误警率和虚警率。理论分析和仿 真实验表明该算法能提高分类器的性能。 关键词:入侵检测支撑向量机神经网络免疫克隆选择算法 a b s t r a c t a b s t r a c t i n t r u s i o nd e t e c t i o n s y s t e m i sa d y n a m i c a lp r o t e c t i o ns y s t e m i t s e s s e n c ei s c l u s t e r i n ga n dc l a s s i f i c a t i o n ,w h i c hc o l l e c t st h ei n f o r m a t i o nf r o mt h ec o m p u t e rs y s t e m a n dt h en e t w o r ka n da s c e r t a i n st h et r a c eo fi n t r u s i o n b ya n a l y z i n gt h ei n f o r m a t i o n s u p p o r tv e c t o rm a c h i n e ( s v m ) i sac l a s s i f i e rt h a th a st h eg o o dp e r f o r m a n c e t ot h e p r o b l e m ,i ti si m p o r t a n tt os e l e c tag o o dk e r n e lf u n c t i o n s e l e c t i o no fk e r n e lf u n c t i o n p a r a m e t e r s c a na f f e c tt h ep e r f o r m a n c eo f c l a s s i f i e r w ep r e s e n tt h es o l u t i o na b o u tt h e p r o b l e m s a sf o l l o w s : f i r s t ,as v mo fw a v e l e tk e r n e l b a s e di n t r u s i o nd e t e c t i o na l g o r i t h mi sp r e s e n t e d t h ee x p e r i n a e n t sh a v eb e e nd o n ea b o u tt h ed a t ao fk d d c u p 9 9a n d t h es i m u l a t i o n s h o w st h ea l g o r i t h mi se f f i c i e n t s e c o n d ,t oi m p r o v et h ep o r f o r m a c eo fi n t r u s i o nd e t e c t i o n ,a ni n t r u s i o nd e t e c t i o n a l g o r i t h mb a s e d o nt h es v ma n dt h ei m m u n ec l o n es e l e c t i o ni sp r e s e n t e d b e c a u s et h e i m m u n ec l o n es e l e c t i o n a l g o r i t h mo v e r c o m e st h ep r e c o c i t yo fg e n e t i ca l g o r i t h m ,i ti s m o r ee f f i c i e n tt ot u n et h ep a r a m e t e r so fs v m t h a ng e n e t i ca l g o r i t h m i tc a ni m p r o v e t h ep e r f o r m a n c eo fs v ma n dd e c r e a s et h ef a l s ep o s i t i v ea n dt h ef a l s en e g m i v e t h e o r y a n de x p e r i m e n ti n d i c a t et h ea l g o r i t h mc a n i m p r o v e t h ep e r f o r m a c eo fs v m k e y w o r d :i n t r u s i o n d e t e c t i o ns u p p o r tv e c t o rm a c h i n en e u r a ln e t w o r k i m m u n ec l o n es e l e c t i o n 创新性声明 y 5 8 3 3 0 6 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特矧j j j n 以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:! 望旦壁垒垄f | 期2 塑生。12 关于论文使用授权的说明 本人完全了解西安电予科技大学有关保留和使用学位论文的规定,即:研究! l i 在校攻读学位期问论文工作的知识产权单位属西安电子科技大学。本人保证毕、l k 离校后,发表论文或使用论文1 作成果时署名单位仍然为西安电子科技大学。学 校有权保存f 送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文在 解密后遵守此规定) 本人签名 导师签名 r j 明地垂! 呈 f | 期甚! ! 垒! ! : 第一章绪论 第一章绪论 随着计算机网络的迅猛发展,网络安全问题日益受到人们的关注。保护网络 免受攻击,保障信息安全f 成为研究的热点。入侵检测是保障网络安全的重要手 段之一,但随着网络规模的不断扩大,攻击手段的不断增多,入侵检测正面临着 越来越大的挑战。本论文主要讨论了利用混和支撑向量机这一新兴技术构建入侵 检测系统分类器的问题。 1 1 入侵检测的研究现状 入侵检测是一种主动的网络安全防御措施,它不仅可以通过监测网络实现对 内部攻击、外部攻击和误操作的实时保护,有效地弥补防火墙的不足而且还能结 合其它网络安全产品对网络安全进行全方位的保护具有主动性和实时性的特点 是防火墙重要的和有益的补充。 对入侵检测的研究最早可追溯至f j 2 0 世纪8 0 年代但受到重视和快速发展还是 在i m e r n e t 兴匙之后按时间顺序,入侵检测技术的研究和发展历史概况如下: 19 8 0 年j a m e sa d e r s o n 首先提出了入侵检测的概念o “,他将入侵划分为外部闯 入、内部授权用户的越权使用和滥用三种类型,并提出用审计追踪来监视入侵威 胁。 1 9 8 6 年,为检测用户对数据库的异常访问在i b m 主机上用c o b o l 开发的 d i s c o v e r y 系统称为最早的基于主机的i d s 雏形之一。 1 9 8 7 年,d e n n i n g 提出了一个抽象且通用的经典入侵检测模型”3 首次将入侵检 测的概念作为一种计算机系统的安全防御措旅提出。 1 9 8 8 年,t e r e s al u n t 等人改进t d e n n i n g 提出的入侵检测模型“。并创建了 i d e s ( i n t r u s i o nd e t e c t i o ne x p e r ts y s t e m ) ,提出了与平台无关的实时检测思想。 同年美国军方和政府为u n i s y s 大型主机丌发- j h a y s t a c k 系统,为m u l t i c s 主机 丌发了m i d a s 。 1 9 8 9 年,l o sa l a m o s 美国国家实验室开发了w & s ( w i s d o ma n ds e n s e ) ,p l a n n i n g r e s e a r c h 公司丌发了1 d o a ( i n f o r m a t i o ns e c u r i t yo f f i c e r sa s s i s t a n t ) 。 1 9 9 0 年,h e b e r l e i n 等提出新概念:基于网络的入侵检测- - n s m ( n e t w o r ks e c u - r i t ym o n i t o r ) 6 1 。从此入侵检测被分为两个基本类型:基于主机的和基于网绍的。 19 9 1 年n a d i r ( n e t w o r ka n o m a l y d e t e c t i o na n di n t r u s i o nr e p o r t ) 与d i d s ( d i s t r i b u t ei n t r u s i o nd e t e c t i o ns y s t e m ) 提出了收集和合并处理来自多个主机的审 计信息的检测针对一系列主机的协同攻击。 1 9 9 4 年,m a r kc r o s b i e 和g e n es p a f f o r d 建议在中使用自治代理( a u t o n o m o u s 基于混和支撑向量机的入侵检测系统 a g e n t s ) 来提高i d s 的可伸缩性、效率和容错性1 。 1 9 9 5 年,i d e s 的完善版本n 】d e s ( n e x t g e n e r a t i o n i n t r u s i o nd e t e c t i o ns y s t e m ) 实现了可以检测主机上的入侵。 1 9 9 6 年,g r i d s ( g r a p h b a s e d i n t r u s i o nd e t e c t i o ns y s t e m ) 的设计和实现使得 对大规模协同攻击的检测更便利。 同年,f o r r e s t 将免疫原理运用到分布式入侵检测的领域“1 “”1 。此后,在i b s 中还出现了遗传算法、遗传编程的运用。 1 9 9 8 年,r o s sa n d e r s o n $ 1 a b i d ak h a t t a k 将信息检索技术引进到了入侵检测 领域。 同年,w l e e 提出和实现了在c i d f ( c o m m o ni n t r u s i o nd e t e c t i o nf r a m e w o r k ) 上实现多级i d s ,并在1 9 9 9 年探讨了运用数据挖掘技术对审计数据进行处理“”。 1 9 9 9 年,c h e u n g 、s t e v e n 等人再一次提出了入侵容忍( i n t r u s i o n t o l e r a n c e ) 的 概念o “1 。在i d s 中引入容错技术。 2 0 0 0 年o h o s h 。”利用神经网络柬提取特征和分类。 由于上面包括神经网络和数据挖掘方法在内的大多数方法都需要大量或者完 器的审计数掘集才能达到比较理想的检测性能。针对现实中小样本的情况下,有些 学者将支持向量机( s u p p o r tv e c t o rm a c h i n e 简称s v m ) 引入到入侵检测中,如2 0 0 2 年,陆光英。3 等利用s v m 识别异常t c p 连接。2 0 0 3 年,绕鲜“”等将支撑向量机用于检 测系统调用序列。 1 2 入侵检测方法的研究现状 根据数据分析方法的不同,可以将入侵检测可以分为两类:基于入侵知识的 入侵检测和基于行为的入侵检测。基于入侵知识的入侵检测,也称误用检测( m i s u s e d e t e c t i o n ) 主要利用收集到的入侵或攻击的相关知识( 特征、模式) 来检查系统中是 否出现了这些已知的入侵行为或模式,并由此判断系统是否遭到攻击。而基于行为 的入侵检测,则是为被监控的信息系统构造一个有关系统正常行为的参考模型( 有 关用户、系统关键程序的特征轮廓) ,然后检查系统的运行情况,若与给定的参考模 型存在较大的偏差。则认为系统遭受了入侵攻击,这种根据系统行为特征进行检测 的方法也称为异常性检测( a n o m a l yd e t e c t i o n ) 。 1 2 1 基于行为的入侵检测 基于行为的入侵检测是基于这样的一个假设:无论是程序的执行还是用户行 为的执行,在系统特性上都呈现出强烈的相关性。即认为入侵是系统中的异常行 为,和系统的正常行为有很大的差别。基于行为的入侵检测不需要入侵的相关知 第一章绪论 识,但是需要被检测系统、用户乃至应用程序正常行为的知识。它为系统和用户 建立正常的使用模式,这些模式通常使用一组系统的度量来定义。所谓度量,是 指系统和用户行为在特定方面的衡量标准。每一个度量都对应于一个门限值或相 关的变动范围。如果系统和用户的行为超出了正常范围,就认为发生了入侵。 基于行为的入侵检测的一个很大的优点是不需要保存各种攻击特征的数据 库,随着统计数据的增加,检测的准确性会越来越高,可能还会检测到一些未知 的攻击。但由于用户的行为有很大的不确定性,很难对其行为确定正常范围,因 此门限值的确定也比较困难,出错的概率比较大。同时,它只能说明系统发生了 异常的情况,并不能指出系统遭受了什么样的攻击,这给系统管理员采取应对措 施带来了一定困难。 基于行为的入侵检测中常用的方法有:量化分析、统计分析和神经网络等。 l 、量化分析 量化分析是异常检测中使用最为广泛的方案,其特点是使用数字来定义检测 规则和系统属性。量化分析通常涉及到一系列的计算过程,包括从简单的计数到 复杂的加密运算,计算的结果可以作为异常检测统计模型的数据基础。常用的量 化分析方法有门限检测、启发式门限检测和目标完整性检查。 门限检测的基本思想是使用计数器来描述系统和用户行为的某些属性,并设 定可以接受的数值范围,一旦在检测过程中发现系统的实际属性超出了设定的门 限值,就认为系统出现了异常。门限检测最经典的例子是操作系统设定的允许登 录失败的最大次数。其他可以设置门限的系统属性还有:特定类型的网络连接数、 试图访问文件的次数、访问文件或目录的个数及所访问网络系统的个数等。 启发式门限检测是对门限检测的改进,对于包含大量用户和目标环境的系统 来说,可以大幅度地提高检测的准确性。举例来说,传统的门限设检测规则是: 个小时内,如果登录失败的次数大于3 次,就认为出现异常;而启发式门限检 测将这个规则定义为:登录失败的次数大于一个异常数,就会发出警报。这个异 常数可以使用多种方法来设定,例如使用高斯函数计算平均的登录失败次数m ,并 计算出标准的偏移量6 ,在检测过程中将实际登录失败的次数与r p + 6 比较,检查 是否超出门限。 目标完整性检查是对系统中的某些关键对象检查其是否受到无意或恶意的 更改。通常是使用消息摘要函数计算系统对象的密码校验值,并将计算得到的值 存放在安全的区域。系统定时地计算校验值,并与预先存储值比较,如果发现偏 差,就发出警报信息。 2 、统计分析 统计分析方法采用统计分析的方法为每个系统用户和系统主体建立统计行 为模式。所建立的模式被定期的更新,以便及时反映用户行为随时间推移而产生 基丁二泄平支撑向量机的入侵检测系统 的变化。检测系统维护一个由行为模式组成的统计知识库,每个模式采用一系列 系统度量( 如文件的访问、终端的使用、c p u 的时间占用等) 来表示特定用户的正 常行为,当用户的行为偏离其f 常的行为模式时,就认为发生了入侵。 统计分析的方法可以针对那些冒充合法用户的入侵者,通过发现其异常的行 为来发现入侵,并且不需要像误用检测系统那样需要维护规则库。但是统计分析 所采用的度量必须要精心挑选,要能根据用户行为的改变产生一致性变化。同时 统计分析的方法多是以批处理的方式对审计记录进行分析的,因此实时性较差。 统计异常检测方法的有利之处是所应用的技术方法在统计学得到很好的研 究。例如,位于标准方差两侧的数据可认为是异常的。统计入侵检测系统有以下 几点不利。 ( 1 ) 统计测量对事件的发生的次序不敏感,单纯的统计入侵检测系统可能不会 发觉事件当中互相依次相连的入侵行为。 ( 2 ) 单纯的统计入侵检测系统将逐渐地训练成单一点,要么行为是异常的,要 么是正常的。如果入侵者知道自己的入侵行为被这样的异常检测器监视,那么他 就可以诱导这个系统,使得那些大部分依靠行为统计测量的入侵检测方法对监视 的特定的事件模式失效。 ( 3 ) 难以确定异常阀值阀值设置偏低或高均会导致误报警事件。 ( 4 ) 统计异常检测行为类型模型是有限的。运用统计技术对异常作形式化处理 需要假设数据来源稳定和具有相似性,但是这种假设并不总是能够满足。 3 、神经网络 神经网络是人上智能里的一种方法,它是由大量并行的分布式处理单元组成。 每个单元都能存储一定的“知识”,单元之间通过带有权值的连接进行交互。神 经网络所包含的知识体现在网络结构当中,学习过程也就表现为权值的改变和连 接的增加或删除。 利用神经网络检测入侵包括两个阶段。首先是学习阶段,这个阶段使用代表 用户行为的历史数据进行训练,完成神经网络的构建和组装:接着便进入入侵分 析阶段,网络接收输入的事件数据,与参考的历史行为比较判断出两者的相似 度或偏离度。神经网络使用以下方法来标识异常的事件:改变单元的状态、改变 连接的权值、添加或删除连接。同时也具有对所定义的正常模式进行逐步修正的 功能。 神经网络有以下优点: ( 1 ) 大量的并行分布式结构: ( 2 ) 有自学习能力,能从周围的环境中不断学习新的知识: ( 3 ) 能根掘输入产尘合理的输出; ( 4 ) 不依赖于任何有关数据种类的统计假设: 第一章绪论 ( 5 ) 能较好地处理噪声数据: 神经网络上述优点使其能处理特别复杂的问题,例如对用户或系统行为的学 习和分析,这些都符合入侵检测系统不断面临新的情况和新的入侵的现况。但目 前神经网络技术尚不十分成熟,所以还没有较为完善的产品。 这种方法的弱点是:网络的拓扑结构和每个元素分配权重必须经过多次的尝 试与失败的过程才能确定。 4 数据采掘 数据挖掘本身是一项通用的知识发现技术,其目的是要从海量的数据中提取 出我们感兴趣的数据信息( 知识) 。计算机互联网导致大量审计记录,而且审计记 录大多是文件形式存放( 如u n i x 系统s u l o g ) 。若单独依靠手工方法去发现记录中 异常现象是不够的,往往操作不便,不容易找出审计记录闻相互关系。w e n k e s a l v a t o r ejs t o l f o 。”将数据采掘技术应用到入侵检测研究领域中,从审计数据或数 据流中提取感兴趣的知识,这些知识是隐含的、事先未知的潜在有用信息,提取 的知识表示为概念、规则、规律、模式等形式并用这些知识去检测异常入侵和 已知的入侵。基于数据采掘异常检测方法目前已有现成的k d d 算法可以借用,这 种方法的优点在于适应处理大量数据情况。 然m j ,数据挖掘应用于入侵检测还存在如下难点1 : ( 1 ) 如何根掘具体应用的要求,从我们关于安全的先验知识出发,提取出可以 有效地反应系统的特征属性,应用到合适的算法进行数据挖掘。 ( 2 ) 如何将结果自动的应用到入侵检测系统中。 因此,数据挖掘方法运用于入侵检测的研究,总体来说还处于理论探讨阶段, 离实际应用似乎还有一段距离。 j 丛j j 机器。学习方法的入侵检测方法 这种异常检测方法通过机器学习实现入侵检测,其主要的方法有死记硬背式、 监督学习、归纳学习( 示例学习) 、类比学习等。t e r r a n 和c a r l ae b r o d l e y 将异 常检测问题归结为根据离散数据临时序列学习获得个体、系统和网络的行为特征。 并提出一个基于相似度实例学习方法( i b l ) ,该方法通过新的序列相似度计算将原 始数据( 如离散事件流,无序的电求) 转化成可度量的空间。然后,应用i b l 学习 技术和一种新的基于序列的分类方法,从而发现异常类型事件以此检测入侵, 其中阂值的选取由成员分类的概率决定$ 新的序列相似度定义如下: 设l 表示长度,序列= ( ,x s 一。) 和y = ( ,m ,m 一。) w ,c x ,。= fo l + 。,。x ,一,i 矿f i 一 o 3 7 时这个界肯定是松弛的,当v c 维无穷大 时这个界就不j 耳成立) 。而且,这种界只在对同一类学习函数进行比较时有效,可 以指导我们从函数集中选择最优的函数,在不同函数集之间比较却不一定成立。 v a p n i k 指出”,寻找更好地反映学习机器能力的参数和得到更紧的界是学习理论 今后的研究方向之一。 3 2 2 3 结构风险最小化 上面的结论看到,e r m 原则在样本有限时是不合理的,我们需要同时最小 化经验风险和置信范围。其实,在传统方法中,选择学习模型和算法的过程就是 调整置信范围的过程,如果模型比较适合现有的i l l 练样本( 相当于h 值适当) , 则可以取得比较好的效果。但因为缺乏理论指导,这种选择只能依赖先验知识和 经验,造成了如神经网络等方法对使用者技巧的过分依赖统计学习理论提出了 第三章基于子波核支撑向量机入侵检测方法 2 1 一种新的策略,即把函数集构造为一个函数子集序列,使各个子集按照v c 维的大 小( 亦即巾的大小) 排列:在每个子集中寻找最小经验风险,在子集间折衷考虑 经验风险和置信范围,取得实际风险的最小。这种思想称作结构风险最小化 ( s t r u c t u r a lr i s km i n i m i z a t i o n 或译有序风险最小化) 乜趵即s r m 准则。统计学习理 论还给出了合理的函数子集结构应满足的条件及在s r m 准则下实际风险收敛的性 质 4 2 3 。 实现s r m 原则可以有两种思路,一是在每个子集中求最小经验风险,然后选 择使最小经验风险和置信范围之和最小的子集。显然这种方法比较费时,当子集 数目很大甚至是无穷时不可行。因此有第二种思路,即设计函数集的某种结构使 每个子集中都能取得最小的经验风险( 如使训练误差为0 ) ,然后只需选择选择适 当的子集使置信范围最小,则这个子集中使经验风险最小的函数就是最优函数。 支撑向量机方法实际上就是这种思想的具体实现。 3 2 3 支撑向量机分类机理 支撑向量机简称s v m ,是统计学习理论中最年轻的内容,也是最实用的部分。 其核心内容是在1 9 9 2 到1 9 9 5 年间提出的“”_ ”。”,目前仍处在不断发展阶段。 3 2 3 1 广义最优分类面 s v m 足从线性可分情况下的最优分类面发展而来的,基本思想可用图3 1 的两 维情况i 兑明。图中,实心点和空心点代表两类样本,h 为分类线,h l ,h 2 分别为过 各类中离分类线最近的样本且平行于分类线的直线,它们之间的距离叫做分类间 隔( m a r g i n ) 。所谓最优分类线就是要求分类线不但能将两类正确分开( 训练错误 率为0 ) ,而且使分类间隔最大。分类线方程为x w + b = 0 ,我们可以对它进行归 一化,使得对线性可分的样本集( ,m ) ,i = l ,以x r “,y e + 1 ,一l ,满足: 只 ( w 蕾) + 6 】一1 0 ,i = l ,人,n ( 3 - 7 ) 图3 1 线性可分情况下的最优分类线 基于混和支撑向量机的入侵检测系统 此时分类间隔等于2 ,1 1 4 ,使间隔最大等价于使m i 2 最小。满足条件( 3 7 ) 且 使 1 2 2 最小的分类面就叫做最优分类面,h 。,也上的训练样本点就称作支持矢 量。 使分类间隔最大实际上就是对推广能力的控制,这是s v m 的核心思想之一。 统计学习理论指出“,在n 维空间中,设样本分布在一个半径为r 的超球范围内, 则满足条件l a 的j 下则超平面构成的指示函数集f i x ,w b ) = s g n ( w - x ) + 6 ( s g n 为符号函数) 的v c 维满足_ f 面的界 h _ o ,v x , c l a s s l , w t + 6 0 ,屯c l a s s 2 分类的目的是寻求( 孵6 ) ,最佳分离c l a s s l 和c l a s s 2 ,此时假设空间由所有的 l 。= s g n ( w - x + 6 ) 组成。为减少分类平面的重复,对( 以6 ) 进行如下约束: m i n l w x + 叫= 1 j = l 2 ” ( 3 1 3 ) 第三章基于子波核支撑向量机入侵检测方法 满足( 3 - 1 2 1 ) 的超平面称为典型超平面,可以证明典型超平面集合的v c 维 是n + i ,即所有自由参数的数目。如果,x 2 ,矗位于n 维单位球内,集合 f 工。= s g n ( w - j + 6 ) ;1 w 【a 的v c 维 满足: h m i n ( a 2 , | v 】+ 1 ( 3 1 4 ) 当数据点x l ,x 2 砀位于半径为r 的球内时,上式变为: h r a i n ( j r 2 a2 ,) + 1 ( 3 1 5 ) 注意到点到( 6 ) 确定的超平面距离为: m ,垆皆 根据约束条件( 3 - 1 3 ) 可知,典型超平面到最近数据点的距离为1 删w i i ,显然 如果1 1 w l l a ,典型平面到最近数据点的距离必然大于或等于1 i i a i i 实际上此时 典型超平面己将分类的对象由单纯的数据点变为数据点的1 州刎球形领域。 对线性可分的情形( 即经验风险为0 ) ,求最佳( w ,b ) 归结为下列二次规划问题: r a 。i n i 川1 w i l 2 ( 3 1 7 ) j , y ,( w 工,+ 6 ) 1 i = l 2 ,n( 3 - - 1 8 ) 根据( 3 - 1 5 ) 式,问题( 3 - 1 7 ) 的意思是指在经验风险为0 的情形下,使v c 维的界最小化,从而晟小化v c 维,这正是结构风险最小化原理。根据( 3 - 1 6 ) 式, 最小化1 1 w i 2 等价于寻求一种特殊的超平面,它是数据集合c l a s s l 和c l a s s 2 凸包 之间沿垂直于自己方向的距离最大,故s v m 有时也称为最大边缘( m a x i m u m m a r g i n ) 算法。 在线性不可分的情况下,可以在条件( 3 - - 7 ) 中增加一个松弛项鲁0 成为 m 【( w ) + 6 】一l + 专0 ,i = l ,2 - , ( 3 1 9 ) 将目标改为求最小 ( w 毒) = + i i w i 2 + c ( 专) ( 3 2 0 ) 其l jf 为- - i e 常数。上式的第1 项使样本到超平面的距离尽量大,从而提 高泛化能力:第2 项则使误差尽量小。为求解这个优化问题,引入拉格郎日函数 l ( w ,b ,告,口,y ) = 1 2 w - w + c 鲁一q 【m ( w 蕾+ 6 ) 一1 】一一点 ( 3 2 1 ) 其中q m 一0 ,i = i ,2 ,k 函数应对口,和一最大化,且对w 。b 和善最小化。函数的极值应满 足条件 基于混和支撑向量机的入侵检测系统 从而得到 未,杀枷,毒 c s z z , q y ,= 0 ( 3 - 2 3 ) w = q m ( 3 2 4 ) c 一口,一一= 0 ,i = l ,( 3 - 2 5 ) 将以上三式代入式( 3 2 1 ) 可以得到优化问题的对偶形式,最大化函数 位) :一喜圭口a ,m 乃( x ,) + 圭q ( 3 - 2 6 ) 其约束为 a ,m = o0 q - c ,i = l ,女 ( 3 2 7 ) 这是一个典型的二次优化问题,已有高效的算法求解,可由式( 3 2 4 ) 求出。 坎 c 优化理论的k u h n t u c k e r 定理,在鞍点,对偶变量与约束的乘积为0 ,即 q 【只( w + 6 ) 一1 + 专】= 0 y 。 ? = 0 ,= l ,i i = l ,j ( 3 - 2 8 ) ( 3 - 2 9 ) 由式( 3 2 8 ) 可以看出,非0 的q 所对应的样本仅由最靠近超平面的样本组 成,这些样小完全确定了超平面,因此称为支持向量。对于0 口, c ,由式( 3 2 5 ) 可知0 以 n 是与克隆规模有关的设定值。克隆过后,种群变为: a = 翻,a i ,a ;,a :( 4 - 4 ) 其中: 4 = 口m 口m 。d “一1 口d = q,= l ,2 ,。吼一1( 4 - 5 ) 免疫基因操作焉:与一般变异不同的是,免疫基因变异为了保留抗体原始种 群的信息,并不作用到a ar ,即: p c 焉c n ,= 。p = p 9 。i 。:,: ( 。- s ) 克隆选择操作0 :v i = l 一2 - - 若存在变异后抗体6 = m a x f ( a 口) f = 2 。3 q ,一1 , 使得: f ( a ,) t ,( 6 ) q a “一7 ) 则用b 取代原抗体a ,从而更新抗体群,实现信息交换 3 7 , 3 8 】。 基丁混和支撑向量机的入侵检测系统 免疫克隆选择算法工作流程图如下: 图4 1 克隆算法主要步骤 4 2 1 免疫克隆选择算法机理 免疫克隆选择算法和进化算法“”是两种不同的算法但它们之间存在着相同 部分和不同部分。下面简要介绍一下相同点和不同点: 相同点:( 1 ) 、它们都是群体搜索策略,强调群体中个体间的信息交换;( 2 ) 、 它们算法流程相同,即“初始种群的产生斗评价标准计算_ 种群间个体信息交互 一新种群产生”这一循环过程:( 3 ) 、本质上都具有并行性和随机搜索性。 不同点:( 1 ) 、免疫克隆算法来源于免疫系统,而进化算法来源于自然进化过 程,因而免疫克隆算法不是进化算法的改进,而是新的人工免疫系统方法;( 2 ) 、 进化算法只强调全局搜索,而忽视局部搜索,但克隆选择算法二者兼顾;( 3 ) 、进 化算法只强调个体间的竞争,忽视了个体问的协调,克隆选择算法二者兼顾。 4 3 基于免疫克隆选择的支撑向量机入侵检测算法 囚为r b l ? 核在非线性分类问题中具有良好的性能,且使用率比较高,便于同 其他人的算法进行比较。所以我们在下面的试验中采用了r b f 核进行试验。 采用r b f 核函数的支撑向量机具有两个参数:o , 1 编码:编码确定支撑向量机参数的取值范围。如果我们对这两个参数同时 进行编码。那么个体中需要包含r b f 核的参数数o ,f 的对应形式。参数越多时 ;1 第四章基于免疫克隆选抒策略的支撑向量机入侵检测方法 该算法的优越性越发明显“”。考虑到入侵检测的性能要求,我们令c 取经验值1 0 0 0 , 仅仅对0 进行编码。o 的取值范围我们确定在 0 1 ,i 0 0 0 ,则。的长度为1 2 ,见 图4 2 。样本规模定为1 8 。 a 图4 2 编码图 2 产生初始抗体群:设抗体个体为何,= 晶,只。,吃) ,( f = 1 2 ,n ) ,h 为种群 大小,则初始抗体群为g = h ,h :,h o ) 。本章中,一半抗本随机产生,另一半 抗体由已知抗取反得出,目的是使样本较均匀的分布在样本空间。 3 茉台度:亲合度函数为: 厂( h i ) = 啊( 4 - 8 ) 其巾在本章巾,一l 的值为当采用第,个抗体所代表的参数时,支撑向量机能够 i i 确识别的测试样本数h 或者讵确识别的测试样本数目占测试样本总数的百分 比。 4 克隆:原始抗体群为e = 昂,p :,匕) ,( f = 1 ,2 , ) ,每个抗体克隆的数目由 下式决定 吼:j v + 掣,2 ( 4 - 9 ) f ( h ,) i * 1 胗,7 是与克隆规模有关的设定值,即经过克隆后的群体规模,一般为种群规模 的2 3 倍。 克隆就是将群体中的每个个体原样克隆 不: g = g ,g i ,9 2 ,晶) 其中: 口,个。经过克隆得到新的种群如下所 ( 4 1 0 ) g ,2 一- ,q 2 ,一i ) = hj = l ,2 ,q ,- 1 ( 4 1 1 ) 5 免疫基因操作 免疫基因变异与般变异不同的是- 免疫基因交异并不作用原始种群岛g , 它是按抗体的基因位进行变异,对g ,。而言。若g ,中的圾的第,位发生变异时,则 支撑向量机的参数产生新值, 巩变为或, 经变异后 基于混和支撑向量机的入侵检测系统 g ,= ( 耳,j 【,h 。,。,。一 。变异方式为:首先随机地选择要进行变异的抗 体,随机地从抗体中某一基因位。 6 克隆选择:从同一个抗体克隆出来的全部抗体中只有一个被保留,保留规则是: 先求出经过克隆变异后的抗体b = m a x f ( m ,) l - ,= 2 ,3 ,q ,一1 ) ,如果 。厂( 只) 1 厂( 6 )1 4 , g 则用b 取代原抗体t t , 。否则保留抗体成。 7 中止条件:在实际应用中中止条件一般采用在连续n 次迭代中抗体群落的最 好解都无法改善,或限制迭代次数以及两者的混和。这里我们采用综合两种方法的作 为中止条件。 4 4 仿真实验和结果分析 仿真试验所用的数据是k d d c u p 9 9 数据集( 见附录1 ) 。我们在数据集中抽取了1 4 2 0 个样本,然后将数据集分为三份。一份用于学习训练神经网络,一份用于检测得到的 神经网络的分类效果,最后一份用于验证得到的蛀佳神经网络的分类效果,训练样本 为3 0 0 个,测试样本为5 0 0 个,预测样本为6 2 0 个。 我们采用的核函数是高斯核,设定支撑向量机参数c = 1 0 0 0 ,免疫克隆算法的变 异概率为0 0 8 ,遗传算法的变异概率为o 0 2 ,交叉概率为0 7 。 我们的试验结果如下表: 表4 1 试验结果 s v m 基于遗传基于克隆 算法的s v m算法的s v m 检测率8 j 1 8 7 8 7 虚警率6 8 5 5 8 1 5 8 5 我们在相同情况下进行十次试验,把试验中的最佳分类效果用作代表。试验结 果显示:遗传算法有四次能够得到最佳结果,而免疫克隆选择算法可以得到最佳 结果的次数为八次。 从仿真试验的结果可以看出:一,免疫克隆选择算法在寻找更好的解的能力要 远远高于传统的遗传算法,二,将基于免疫克隆选择策略的支撑向量机方法引入入 侵检测获得比人工设定参数更好的效果,尤其在核参数较多的情况下,效果更为 显著。 第四章基于免疫克隆选择策略的支撑向量机入侵检测方法 4 5 小结 本章主要的工作是对入侵检测系统中的分类器所采用的方法进行了探究。提出 了一种基于免疫克隆选择策略的支撑向量机入侵检测算法。算法的基本思想:利用 免疫克隆选择算法的全局搜索能力优化支撑向量机的参数,来提高支撑向量机的 分类能力,进而提高分类器的性能。本文进行的仿真试验标明:这种方法是有效的, 免疫克隆选择算法优化后的支撑向量机在检测率和分类精度上都有提高。不足之 处是:克隆算法扩大了种群的规模,延长了训练的时间。因为训练可以离线进行, 因而我们的方法具备定的使用价值。我们下步的工作:进一步提高基于免疫 克隆选择算法的支撑向量机训练的速度。 ! !苎王塑塑茎苎塑量垫塑垒堡丝型墨堑 第五章基于神经网络的入侵检测方法 5 1引言 由于神经网络在入侵检测领域特有的优势,已先后有很多人将神经网络用于 入侵检测。2 0 0 0 年,g h o s h “7 1 已将神经网络用在了入侵检测领域,他利用神经网 络柬提取特征和分类。本章的主要工作是:首先介绍基于b p 神经网络的入侵检测 方法,然后通过大量的试验来观察b p 网络用于入侵检测的性能和不足之处。本章 的目的是为进一步提高神经网络在入侵检测中的性能做一个准备工作。 5 2 b p 神经网络 5 2 1b p 网络概述 r u m e l h a n ,m c c l e l l a n d 和他们的同事洞察到神经网络信息处理的重要“”。于 1 9 8 2 年成立了一个p d p 小组研究并行分布信息处理方法,探索人类认知的微结 构1 9 8 5 年发展了b p 网络( h a c k - - p r o p a g a t i o nn e t w o r k ,简称b p 网络) 学习算法, 实现丁m i n s y 的多层网络设想。 目前在人t 神经网络的实际应用中,绝大部分的神经网络模型是采用b p 网络 和它的变化形式,它也是前向网络的核心部分,并体现了人2 1 , 经网络最精华的 部分”“1 。b p 网络的主要思想是从后向前( 反向) 逐层传播输出层的误差,以间接 汁算出隐层误差。 r p 网络寸要j 十j 于: 1 ) 函数逼近:用输入矢量和相应的输出欠量训练一个网络逼近一个函数: 2 ) 模式识别:用一个特定的输出矢量将它与输入矢量联系起来; 3 ) 分类:把输入矢量以所定义的合适方式进行分类。 4 ) 数据压缩:减少输出矢量维数以便于传输或存贮。 b | ) 网络的结构如图4 1 。它具有以下特点: 1 ) 它是个含有隐层的多层网络: 2 ) 神经元非线性,神经元函数是一个连续可微( 即几乎处处光滑) 的s i g m o i d 函数 m ) = 专( 4 - 1 ) 第五章基于神经网络的入侵检测方法 3 7 3 ) 采用b p 算法训练权值。 5 2 2b p 网络算法 图5 1b p 网络结构图 b p 网络的算法分为两个阶段“:第一阶段( 正向过程) 输入信息从输入层经 隐层逐层计算各单元的输入值;第二阶段( 反向传播过程) 内输出误差逐层向前 算出隐层各单元的误差,并用次误差修j 下前层权值。 在反向传播算法中通常采用梯度法修正权值,为此要求输出函数可微,通常 采用s i g m o i d 函数作为输出函数。不失普遍性,我们研究处于某一层的第,个计算 单元,脚标i 代表其时层第i 个单元脚标k 代表后层第k 个单元,o i 代表本层输 出,w i 是前层到本层的权值,如图5 2 所示【4 2 j 。 图5 , 2 反向传播算法里的音量约定 当输入某个样本时,从前到后对每层各单元如下计算( 正向算法) n e t ,= 1 q ( 4 2 ) q = f ( n e t ,) ( 4 3 ) 对于输出层而言y = 0 是实际输出值,m 是理想输出值,此样本下的误差 e = 三莓( 一另2 ( 4 - - 4 ) 为使式子简化,定义局部梯度 基于混和支撑向量机的入侵检测系统 占:旦( 4 5 ) o = 一 l q 一) , 。 o n e t j 考虑权值w ,对误差的影响,可得 堕:旦一o n e t i :点0 ,(46)o w , io n e t ,o w , , + 权值修正应使误差最快减小,修正为 = 一呷占,q ( ,+ 1 ) = ( ,) + a w , j ( t ) ( 4 - - 7 ) 如果j 是输出单元蛆0 0 ,= y , 铲罢害= - ( y j - y 。) ( 4 - - 8 ) i 8 ;ja 蚓i 。一。 如果节点的,不是输出单元,由图1 1 6 可知,o ,对后层全部节点都有影响。 占:旦:f 旦a n e t , 旦 o n e t ,午o n e t ko o , o n e t j ( 4 9 ) = 哦厂。( n e t ,) 刈于s i g m o i d 函数 y 2 几) 2 专( 4 - - 1 0 ) ( 加蒜寻= 州训( 4 - - 1 1 ) y = f ( x 1 = ,h 厂( x ) = 1 一t h2x=1一y2(4-12) 在实际计算时,为了加快收敛速度,往往在权值修正中加上前一次的权值修 f 量一般称之为惯性项,即 a w u ( t ) = 一叩t q + 以( ,一1 ) ( 4 - - 1 3 ) 综上所述,反向传播算法步骤如下( 算法流层图可参见图5 3 ) : ( 1 ) 选定系数初始值。 ( 2 ) 重复下述过程直至收敛( 对各样本依次计算) 。 苎墨篓薹王塑垄里垒墼堡堑型塑鲨 从前向后

温馨提示

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

最新文档

评论

0/150

提交评论