(计算机应用技术专业论文)基于网络的p2p蠕虫检测系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于网络的p2p蠕虫检测系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于网络的p2p蠕虫检测系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于网络的p2p蠕虫检测系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于网络的p2p蠕虫检测系统的研究与实现.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(计算机应用技术专业论文)基于网络的p2p蠕虫检测系统的研究与实现.pdf.pdf 免费下载

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

文档简介

一 11,jj e s i sf o r t h ed e g r e eo fm a s t e ri nc o m p u t e r a p p l i c a t i o nt e c h n o l o g y s e a r c ha n d i m p l e m e n t a t i o no fn e t w o r k - b a s e dp 2 p w o r md e t e c t i o ns y s t e m b ya is o n g l i n g s u p e r v i s o r :p r o f e s s o rg a of u x i a n g n o r t h e a s t e r nu n i v e r s i t y d e c e mb e r2 0 0 7 0 2l 川_i4舢8iiiii-i唧y , r , l _ _ _ _ - 一 + :、 鼍 、: 曩 娃 5 豫j 罐 。 j # , ;擎jji k,11:ij、t 独创性声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取得的 研究成果除加以标注和致谢的地方外,不包含其他人已经发表或撰写过的 研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示诚挚 的谢意。 学位论文作者签名:蔓私玲 签字日期:励0 1 衫 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师不同意网上交流,请在下方签名:否则视为同意) 学位论文作者签名:导师签名: 签字日期 : 签字日期: - ,噶t;,矗键犍朴诹珏誊乱。彰黧徵恩孵黜黔歉 串有被分到不同的数据块中的可能,本文研究了特征串的重组的方法同样能检测到这样 的蠕虫:研究并设计了未知p 2 p 蠕虫的异常检测法则,通过使用未知蠕虫检测方法及时 更新特征库。 本文首先介绍了研究的背景和意义,以及所采用的相关理论和技术,在此基础之上, 本文重点研究了此系统设计与实现的方法,包括数据包的捕获、p 2 p 数据的过滤、特征 匹配、特征串的重组以及未知蠕虫的检测,最后通过测试证明了此系统的可用性与实时 性,并提出了进一步研究的方向和方法。 关键词:p 2 p 蠕虫;蠕虫检测;后缀数组算法;子串匹配:特征提取 一i i 1 。_l铲 a n ds i g n a t u r em a t c h i n gf o rw o r m si sr e a l i z e d b yc o m p a r i s o no fs e v e r a ls u b s t r i n gm a t c h i n g a l g o r i t h m s ,s u f f i xa r r a ya l g o r i t h ms t a n d so u tf o ri t ss i m p l es t r u c t u r e ,h i g h e f f i c i e n c ya n dl o w t i m ec o m p l e x i t y t h er e c o m b i n a t i o nm e c h a n i s mo fp 2 pd a t am a k e si tp o s s i b l e t h a tt h e s i g n a t u r ei sd i v i d e di n t od i f f e r e n tb l o c k s ,y e tt h em e t h o do fs i g n a t u r er e c o m b i n a t i o ni sa b l et o d e t e c ts u c hw o r m s t h i sp a p e ra l s oi n v o l v e st h ed e s i g no fd e t e c t i o nr u l e sf o ru n k n o w np 2 p w o r m sa n dt h eu p d a t i n go ft h ew o r ms i g n a t u r el i b r a r yf o rf u t u r ed e t e c t i o n f i r s t l y r e s e a r c hb a c k g r o u n da n ds i g n i f i c a n c ea r ei n t r o d u c e d ,a n dt h e nr e l a t e d t h e o r i e s a n dt e c h n o l o g i e sa d o p t e d s e c o n d l y ,t h ed e s i g na n dr e a l i z a t i o no ft h i ss y s t e ma r ed i s c u s s e d , i n c l u d i n gp a c k e tc a p t u r e ,f i l t r a t i o n o fp 2 pd a t a ,s i g n a t u r em a t c h i n g ,r e c o m b i n a t i o na n d d e t e c t i o no fu n k n o w np 2 pw o r m s t h i r d l y ,i t sf e a s i b i l i t ya n dt h ec h a r a c t e ro fb e i n gr e a l - t i m e a r ep r o v e dt h r o u g hs y s t e mt e s t f i n a l l y ,d i r e c t i o na n dm e t h o do fs t u d yf o rt h ef u t u r ew o r ma r e p r e s e n t e d p 2 pw o r m ;w o r md e t e c t i o n ;s u f f i xa r r a y ;s u b s t r i n gm a t c h i n g ;s i g n a t u r ee x t r a c t i o n i i i _ ,l 、 i;4一- ,:每q密一熬擎*二箨 2 2 3i n t e m e t 蠕虫的工作流程7 2 3p 2 p 原理与蠕虫传播关系9 2 3 1p 2 p 技术的特点1 0 2 3 2p 2 p 原理与蠕虫传播关系1 0 2 4 蠕虫的传播模型l1 2 4 1 经典蠕虫传播模型1 2 2 4 2p 2 p 蠕虫传播模型1 4 2 5p 2 p 蠕虫的特点17 2 6 数据包的格式l8 2 7 未知蠕虫检测方法2 l 2 8 应用识别技术2 1 第3 章p 2 p 蠕虫检测方法的研究2 3 3 1p 2 p 蠕虫检测方法的总体分析2 3 3 2 基于l i b p c a p 的包捕获方法2 6 3 2 1l i b p c a p 的工作原理与步骤2 6 3 2 2l i b p c a p 接1 3 函数功能2 6 3 2 3 用l i b p c a p 捕获数据包2 8 3 3p 2 p 数据的过滤方法2 9 3 3 1b t 协议分析2 9 一i v 东北大学硕士学位论文 目录 3 3 2b t 数据包的过滤设计3 l 3 4p 2 p 蠕虫特征匹配方法3 2 3 4 1 朴素匹配算法b f 算法3 2 3 4 2k m p 算法3 3 3 4 3 后缀树算法3 3 3 4 4 后缀数组算法3 5 3 5p 2 p 蠕虫特征重组方法3 8 3 6 未知p 2 p 蠕虫的检测及特征提取方法3 9 3 6 1 蠕虫特征的自动提取4 0 3 6 2 字符串的相似性比较算法4 1 3 6 3 基于l c s e q 的层次式特征提取算法( h s g ) 4 1 第4 章p 2 p 蠕虫检测系统的实现4 5 4 1 总体功能实现4 5 4 2 各功能模块的实现4 5 4 2 1 包捕获模块的实现4 6 4 2 2p 2 p 数据过滤模块的实现4 7 4 2 3p 2 p 蠕虫特征匹配模块的实现5 0 4 2 4 特征串重组模块的实现:5 2 4 2 5 未知p 2 p 蠕虫检测模块的实现5 3 4 3 开发环境5 6 4 3 1 文本编辑器5 6 4 3 2g c c 编译器5 6 第5 章系统测试5 7 5 1 测试环境5 7 5 2 测试结果5 7 第6 章结论6 3 6 1 本文的主要工作总结6 3 6 2 进一步的研究工作6 3 参考文献6 5 致j 射6 9 攻读硕士期间发表的论文7 1 一v 一 。藩i喾嚣。辩毽激溪纂 气 t 卜 擘 东北大学硕士学位论文第1 章绪论 第1 章绪论 随着现代互联网络的飞速发展,网络规模的不断扩大,网络与信息系统的复杂度正 在不断增加,随之暴露出来的漏洞越来越多,由此给互联网络所带来的安全威胁与损失 也越来越大。从1 9 8 8 年c e r t ( 计算机紧急响应小组) 由于m o r r i s 蠕虫事件成立以来, 统计到的i n t e m e t 安全威胁事件每年以指数级增长【l 】( 如图1 1 ) ,这些安全威胁事件给 i n t e m e t 带来了巨大的经济损失,比如美国每年因为网络安全造成的经济损失超过了1 7 0 亿美元,因此网络安全问题得到了世界各国的重视。2 0 0 1 年美国投资2 0 亿美元加强网 络安全建设,同样其他各国也都投入了巨大的人力和物力。解决世界范围内的信息安全 问题已经刻不容缓。 1 1 课题研究的背景和意义 在现有的i n t e m e t 安全问题中,恶意软件( m a l w a r e ) 造成的经济损失占有最大的比 例。恶意软件主要包括计算机病毒( v i r u s ) 、蠕虫( w o r m ) 、木马程序( t r o j a nh o r s e ) 、 后门程序( b a c k d o o r ) 、逻辑炸弹( l o g i cb o m b ) 等等。另外,现实中已经有迹象表明 恶意软件已被作为信息战的攻击手段,所以网络安全问题已经上升到国家安全的高度。 而网络蠕虫是目前危害最大的恶意软件,几乎每次蠕虫发作都会给互联网造成巨大经济 损失:1 9 8 8 年1 1 月2 日,m o r r i s 蠕虫发作,几天之内6 0 0 0 台以上的i n t e m e t 服务器被 感染而瘫痪,损失超过一千万美元:2 0 0 1 年7 月1 9 日,c o d e r e d 蠕虫【2 】爆发,在爆发 后的9 个小时内就攻击了2 5 万台计算机,其中c o d e r e di i 造成的损失估计超过1 2 亿美 元;2 0 0 1 年9 月1 8 日,n i m d a 蠕虫被发现,对n i m d a 造成的损失评估数据从5 亿美元 攀升到2 6 亿美元后,继续攀升,到现在已无法估计。 近几年,p 2 p 技术已经作为一种流行的网络技术越来越多地应用于文件共享、分布 式计算、资源搜索等领域。p 2 p 系统以其资源共享度高、节点独立、自适应等优点吸引 了越来越多的用户,与此同时,也为蠕虫的传播提供了条件。由于p 2 p 网络中每个节点 防御蠕虫的能力不同,只要有一个节点感染蠕虫,就可以通过内部共享和通信机制将蠕 虫病毒扩散到邻近的节点,在短时间内可以造成网络拥塞甚至瘫痪,共享信息丢失,机 密信息失窃,甚至可以完全控制整个网络。在2 0 0 5 年召开的i p t p s 会议上,这种蠕虫 被正式提出( 称为p 2 p 蠕虫) p j ,其严重的危害性引起了高度关注。由于目前互联网上 使用的p 2 p 软件缺乏同一规范,随意性、多样性强,无法保存这些软件和运行这些软件 的系统在程序上和管理上不存在安全漏洞。p 2 p 蠕虫发掘系统应用漏洞,利用对等网的 交互性质自主扩散【3 j ,是广大互联网和p 2 p 用户的重要威胁,有必要在该蠕虫的检测方 东北大学硕士学位论文第1 章绪论 面进行研究和探索。 1 9 8 8 1 9 8 9 1 9 9 0 1 9 9 11 9 9 21 9 9 3 1 9 9 4 1 9 9 5 1 9 9 61 9 9 71 9 9 81 9 9 92 0 0 02 0 0 l2 0 0 2 年 图1 ii n t e m e t 安全威胁事件 f i g 1 1i n t e m e ts e c u r i t yt h r e a ti n c i d e n t s 1 2 目前的研究概况 蠕虫的传播具有传染病的特点,所以目前主要以传染病的传播模型为基础来研究蠕 虫的传播。最经典的蠕虫传播模型是s i 模型,它将节点分为易感染和被感染两类,利 用线形微分方程来描述蠕虫的传播过程。 在p 2 p 蠕虫研究方面也取得了一定的进展,比如g i u s e p p e 等人在文献【4 1 中提出了一 个基于自治域带宽因素的传播模型;文献1 5 】从p 2 p 系统参数和蠕虫参数两个方面来分析 蠕虫的传播,并从随机探测、离线、在线三个状态考虑蠕虫的传染情况;w 西y u t 6 】基于 s e m 思想,建立了对等网中p 2 p 蠕虫传播模型,该模型引入了节点逻辑邻居的个数对 传播造成的影响;z h o u t 2 】等给出了非结构化对等网中蠕虫感染节点数的量级的下限,提 出了自动检测、传递报警等防御思想;夏春和1 6 1 等针对三种结构化对等网中的p 2 p 蠕虫 进行了分析,考虑了覆盖网拓扑对蠕虫传播的影响,并建立了针对结构化对等网络中的 p 2 p 蠕虫传播模型。 可以看出,p 2 p 蠕虫强大的攻击力和破坏力已经逐渐引起学术界的广泛重视,但是 大多数学者都是对p 2 p 蠕虫的传播模型进行研究分析【7 1 ,而目前国内外学者对p 2 p 蠕虫 检测的研究成果还比较有限。 一2 一 一 一 一 一 一 一 一 一 。 籁 t“矾赫哆恬缴瓣镰谖 乓 - , 东北大学硕士学位论文第1 章绪论 1 3 本文的内容及主要工作 本文提出了一种基于网络的p 2 p 蠕虫检测方法,包括对p 2 p 蠕虫的异常检测及滥用 检测。其中详细分析了p 2 p 数据包的捕获及分析技术,未知蠕虫的异常检测技术以及已 知蠕虫的滥用检测方法。 全文共分为七章,下面为各章的简要阐述: 第一章为绪论。首先介绍了当前互联网中的安全威胁、p 2 p 蠕虫检测系统的课题背 景;其次介绍了目前为止对p 2 p 蠕虫的研究概况;最后介绍了本文的结构。 第二章为相关理论及技术介绍。详细介绍了传统蠕虫的定义、p 2 p 蠕虫的特点、数 据包格式、基于l i b p c a p 的包捕获机制以及相关的未知蠕虫检测方法。 第三章介绍了对p 2 p 蠕虫检测方法的研究。包括对未知p 2 p 蠕虫检测以及已知p 2 p 蠕虫检测方法的详细介绍。 第四章介绍了系统实现。根据第三章对检测方法的研究,将本系统的各个功能模块 作了详细的介绍。 第五章介绍了本系统开发过程中进行的各项测试工作。 第六章对本系统做了一个总结,并且结合系统现状提出了为下一步完善本系统所需 要的工作以及未来的研究方向。 一3 一 【一 j10j :i,箨域溪 东北大学硕士学位论文 第2 章相关理论及技术 第2 章相关理论及技术 这一章将介绍相关理论及技术,包括蠕虫的相关定义、p 2 p 蠕虫的特点、数据包格 式、基于l i b p c a p 的包捕获机制以及相关的未知蠕虫检测方法。 2 1 蠕虫的定义 蠕虫这个生物学名词在1 9 8 2 年由x e r o xp a r c 的j o h nfs h o c h 等人最早引入计算 机领域【8 j ,并给出了计算机蠕虫的两个最基本特征:“可以从一台计算机移动到另一台计 算机 和“可以自我复制”。他们编写蠕虫的目的是做分布式计算的模型试验,在他们 的文章中,蠕虫的破坏性和不易控制已经初露端倪。1 9 8 8 年m o r r i s 蠕虫爆发后,e u g e n e h s p a f f o r d 为了区分蠕虫和病毒,给出了蠕虫的技术角度的定义,“计算机蠕虫可以独 立运行,并能把自身的一个包含所有功能的版本传播到另外的计算机上。”( w o r mi sa p r o g r a mt h a tc a nr u nb yi t s e l fa n dc a np r o p a g a t eaf u l l yw o r k i n gv e r s i o no fi t s e l ft oo t h e r m a c h i n e s ) 【9 1 。 k i e n z l e 等人从破坏性、网络传播、主动攻击和独立性4 个方面对网络蠕虫进行了 定义:“网络蠕虫是通过网络传播,无须用户干预能够独立地或者依赖文件共享主动攻 击的恶意代码。”【lo j 根据传播策略,他们把网络蠕虫分为3 类:e m a i l 蠕虫、文件共享蠕 虫和传统蠕虫。郑辉认为蠕虫具有主动攻击、行踪隐蔽、利用漏洞、造成网络拥塞、降 低系统性能、产生安全隐患、反复性和破坏性等特征,并给出相应的定义:“i n t e r n e t 蠕 虫是无须计算机使用者干预即可运行的独立程序,它通过不停地获得网络中存在漏洞的 计算机上的部分或全部控制权来进行传播。,【】该定义包含了k i e n z l e 和e l d e r 定义的后 两类蠕虫,不包括e m a i l 蠕虫。在2 0 0 3 年1 0 月的世界蠕虫会议上,s c h e c h t e r 和m i c h a e l d s m i t h 提出了一类新型网络蠕虫,即a c c e s sf o rs a l e 蠕虫【1 2 1 。这类蠕虫除了上述定义 的特征之外,还具备身份认证的特征。文伟平等人综合分析了上述几个定义,给出蠕虫 的定义为:“蠕虫是一种智能化、自动化,综合网络攻击、密码学和计算机病毒技术, 不需要计算机使用者干预即可运行的攻击程序或代码。它会扫描和攻击网络上存在系统 漏洞的节点主机,通过局域网或者国际互联网从一个节点传播到另一个节点。 该定义 体现了新一代网络蠕虫智能化、自动化和高技术化的特征【1 3 】。 2 2 蠕虫的组成结构及工作流程 i n t e m e t 蠕虫主要由前期探测、传输、蠕虫引擎、辅助负载几个部分组成【1 4 】。如图 2 1 所示,探测部分主要实现蠕虫在发起攻击前找寻存在漏洞的主机;传输部分负责将 5 一 东北大学硕士学位论文第2 章相关理论及技术 蠕虫的副本从一台主机传播到另一台主机,这当然要在与存在漏洞主机间建立数据通信 的基础上,也就是说在探测部分完成之后才能有效进行;蠕虫引擎部分是蠕虫的核心, 一旦完成传输蠕虫引擎,主机将被感染,即对主机进行攻击,同时又会触发探测其他主 机的过程;辅助负载部分主要包括些恶意的指令作一些本地的操作从而增加对被感染 主机的损害程度,当然这些操作的实现也是要由蠕虫引擎触发。 探测 传输 蠕虫引擎 负载 图2 1 蠕虫的组成 f i g 2 1c o m p o n e n t s o faw o r m 以上所提出的蠕虫组成是从蠕虫体本身情况来阐述,若按照蠕虫在传播过程中表现 出的各种特征功能,可将蠕虫分为主体功能模块和辅助功能模块【1 5 1 。其主要的结构框架 如图2 2 所示。 蠕虫功能模块 主体功能模块 信息搜集模块 扫描探测模块 攻击渗透模块 自我推进模块 实体隐蔽模块 宿主破坏模块 自动升级模块 图2 2 蠕虫功能模块 f i g 2 2s t r u c t u r eo fw o r m 8f u n c t i o nm o d u l e s 其中主体功能模块大致由探测部分、传输部分和蠕虫引擎部分实现,辅助功能模块 一6 一 东北大学硕士学位论文第2 章相关理论及技术 由辅助负载部分完成。实现了主体功能模块的蠕虫就能够完成复制传播流程,而包含了 辅助功能模块的蠕虫程序则具有更强的生存能力和破坏能力。 2 2 1 主体功能模块 主功能模块包括4 个部分:信息搜集模块决定采用何种搜索算法对本地或者目标网 络进行信息搜集,内容包括本机系统信息、用户信息、邮件列表、对本机的信任或授权 的主机、本机所处网络的拓扑结构、边界路由信息等等,这些信息可以单独使用或被其 他个体共享。扫描探测模块完成对特定主机的脆弱性检测,决定采用何种攻击渗透方式, 该模块应该充分利用可在本地搜集到的信息来确定攻击目标,例如本机所处的子网信 息,对本机的信任或授权的主机等。攻击渗透模块利用扫描探测模块获得的安全漏洞, 建立传输通道( 传播途径) ,这个传输通道的建立是通过对目标主机上存在的漏洞进行 利用来完成的;把攻击模块独立出来,可以清晰的界定各个模块的功能,有效的减少第 一次传播数据传输量;该模块在攻击方法上是开放的、可扩充的。自我推进模块也可以 称作繁殖模块,其功能是采用各种形式生成各种形态的蠕虫副本( 如n i m d a 会生成多种 文件名称和格式的蠕虫副本) ,在不同主机间完成蠕虫副本传递;在同一台主机要注意 的问题是提高传播效率、尽量避免重复传播。 2 2 2 辅助功能模块 辅助功能模块主要有5 个功能模块组成:实体隐藏模块包括对蠕虫各个实体组成部 分的隐藏、变形、加密以及进程的隐藏,主要提高蠕虫的生存能力。宿主破坏模块用于 摧毁或破坏被感染主机,破坏网络正常运行,在被感染主机上留下后门等。信息通信模 块能使蠕虫间、蠕虫同黑客之间进行交流,这也有可能是未来蠕虫发展的一个侧重点; 利用信息通信模块,蠕虫间可以共享某些信息,使蠕虫的编写者更好的控制蠕虫的行为, 并提供其他模块的更新通道,本文在后面提出的p 2 p s h e l l 就是一种类似于这样的一种模 块。远程控制模块的功能是调整蠕虫行为,控制被感染主机,执行蠕虫编写者下达的指 令。自动升级模块可以使蠕虫编写者随时更新其他模块的功能,从而实现不同的攻击目 的。 2 2 3i n t e m e t 蠕虫的工作流程 蠕虫发起攻击时,首先进行扫描。由蠕虫的扫描模块负责探测存在漏洞的主机。当 程序向某个主机发送探测漏洞的信息并收到成功的反馈信息后,就得到一个可以传播的 对象。然后自动对找到的对象进行攻击,取得该主机的权限( 一般为管理员权限) 。接 着进行复制:这部分利用蠕虫引擎通过源主机和目标主机之间的信息交互,将蠕虫程序 复制到目标主机并启动。 一7 一 东北大学硕士学位论文第2 章相关理论及技术 i n t e m e t 蠕虫的工作机制1 3 】如图2 3 所示。从网络蠕虫主体功能模块实现可以看出, 网络蠕虫的攻击行为分为4 个阶段:信息收集、扫描探测、攻击渗透和自我推进。信息 收集主要完成对本地和目标节点主机的信息汇集;扫描探测主要完成对具体目标主机服 务漏洞的检测,信息搜集和扫描探测通常是整合在一起实现的;攻击渗透是利用已发现 的服务漏洞实施攻击;自我推进完成对目标节点的感染。 图2 3 蠕虫的工作机制 f i g 2 3w o r mp r o p a g a t i n gm e c h a n i s m i n t e m e t 蠕虫的具体工作流程可分为扫描、攻击、现场处理、复制四个部分流程【l , 如图2 4 所示。当扫描到有漏洞的计算机系统后进行攻击,攻击流程部分完成蠕虫主体 的迁移工作;进入被感染的系统后,要做现场处理工作,现场处理流程部分的工作包括 隐藏、信息搜集等;生成多个副本后,重复上述流程。每一个具体的蠕虫在实现这四个 部分时会有不同的侧重,有的部分实现得相当复杂,有的部分实现得相当简略。 图2 4 蠕虫工作流程 f i g 2 4p r o p a g a t i n gf l o wo faw o r m 如果用类c 语言描述蠕虫工作流程如图2 5 所示。 一8 一 东北大学硕士学位论文 第2 章相关理论及技术 图2 5 蠕虫工作流程的算法描述 f i g 2 5d e s c r i p t i o no fw o r m sw o r k i n gf l o w 从上述算法中亦可以看出,蠕虫引擎函数是蠕虫实现攻击的核心,它触发执行探测、 负载指令等操作,而其本身是自动运行的,并不依赖于主机系统。 2 3p 2 p 原理与蠕虫传播关系 近些年,对等计算( p e e r - t o p e e r ,简称p 2 p ) 迅速成为计算机界关注的热门话题之 一,财富杂志更将p 2 p 列为影响i n t e r n e t 未来的四项科技之一,甚至被认为是无线宽带 互联网的未来技术【1 6 】。 p 2 p 是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源( 处理能 力、存储能力、网络连接能力、打印机等) ,这些共享资源需要由网络提供服务和内容, 能被其他对等节点( p e e r ) 直接访问而无需经过中间实体。在此网络中的参与者既是资 源( 服务和内容) 提供者( s e r v e r ) ,又是资源( 服务和内容) 获取者( c l i e n t ) 。 p 2 p 与c l i e n t s e r v e r ( c s ) 模式的对比如图2 6 所示。 图2 6c s 模式与p 2 p 模式对比 f i g 2 6c o m p a r i s o nb e t w e e nc sm o d ea n dp 2 pm o d e p 2 p 打破了传统的c s 模式,在网络中的每个结点的地位都是对等的。每个结点既 充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务1 7 】。 一9 一 东北大学硕士学位论文第2 章相关理论及技术 2 3 1p 2 p 技术的特点 p 2 p 技术不仅为个人用户提供了前所未有的自由和便利,同时也试图有效地整合互 联网的潜在资源,将基于网页的互联网转变成动态存取、自由交互的海量信息网络l l8 1 。 p 2 p 技术的特点主要体现在以下几个方面。 ( 1 ) 非中心化:网络中的资源和服务分散在所有结点上,信息的传输和服务的实 。 现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。p 2 p 的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势; ( 2 ) 可扩展性:在p 2 p 网络中,随着用户的加入,不仅服务的需求增加了,系统 整体的资源和服务能力也在同步地扩充,始终能较容易地满足用户的需要。整个体系是 全分布的,不存在瓶颈。理论上其可扩展性几乎可以认为是无限的; ( 3 ) 健壮性:p 2 p 架构天生具有耐攻击、高容错的优点。由于服务是分散在各个 结点之间进行的,部分结点或网络遭到破坏对其他部分的影响很小。p 2 p 网络一般在部 分结点失效时能够自动调整整体拓扑,保持其他结点的连通性。p 2 p 网络通常都是以自 组织的方式建立起来的,并允许结点自由地加入和离开。p 2 p 网络还能够根据网络带宽、 结点数、负载等变化不断地做自适应式的调整; ( 4 ) 高性能和价格比:性能优势是p 2 p 被广泛关注的一个重要原因。随着硬件技 术的发展,个人计算机的计算和存储能力以及网络带宽等性能依照摩尔定理高速增长。 采用p 2 p 架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分 布到所有结点上。利用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的 目的。通过利用网络中的大量空闲资源,可以用更低的成本提供更高的计算和存储能力: ( 5 ) 隐私保护:在p 2 p 网络中,由于信息的传输分散在各节点之间进行而无需经 过某个集中环节,用户隐私信息被窃听和泄漏的可能性大大缩小。此外,目前解决i n t e r n e t 隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏在众多网络实体之 中。在一些传统的匿名通信系统中,实现这一机制依赖于某些中继服务器节点。而在 p 2 p 中,所有参与者都可以提供中继转发的功能,因而大大提高了匿名通讯的灵活性和 可靠性,能够为用户提供更好的隐私保护;l ( 6 ) 负载均衡:p 2 p 网络环境下由于每个节点既是服务器又是客户机,减少了对、 传统c s 结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好 ; 1 的实现了整个网络的负载均衡。 矿 2 3 2p 2 p 原理与蠕虫传播关系 蠕虫传播的必要条件是主机漏洞的存在,而影响蠕虫传播速率的关键因素是地址扫 描策略。当蠕虫发现某个主机没有漏洞时,就会更换扫描目标,选择新目标的方式就是 一10 一 东北大学硕士学位论文第2 章相关理论及技术 蠕虫扫描策略。目前流行于i n t e m e t 中的蠕虫主要传播方式是随机扫描,这类蠕虫没有 特定区域的易攻击目标信息,“而是随机地来寻找攻击目标,并且它传播的条件必须是在 整个口地址范围内存在一定密度的易攻击节点,同时要求用很高的速度探测不同的主 机【1 1 。而p 2 p 蠕虫就是能够优先利用p 2 p 通信机制传播的蠕虫,目前蠕虫呈现出随机扫 描与利用p 2 p 机制混合传播的趋势。p 2 p 网络的一个主要特点就是资源共享,每个节点 都保存着大量的邻居节点信息。利用p 2 p 的共享机制,蠕虫只需要感染其中的一个节点, 就可以通过节点中邻居节点的信息列表迅速探测新的易攻击节点,这个过程重复迭代, 蠕虫迅速蔓延整个网络。 由此可见,p 2 p 蠕虫快速传播是由于采用了适合于传播的扫描策略,在p 2 p 系统中, 蠕虫的扫描策略主要有三种【1 9 】: ( 1 ) 纯随机扫描策略( p r s ) 在这个策略中,假设已感染主机没有任何预知信息或者没有其他主机的信息,已感 染主机便会从整个i p 地址空间中随机地选择i p 地址,新的主机被感染后,将通过同样 的方法继续攻击系统。 - 一 ( 2 ) 离线p 2 p 攻击列表扫描策略( o p h l s ) 在这个策略中,假设已感染主机收集整个p 2 p 系统中离线主机的i p 地址信息作为 攻击列表,感染主机对列表中的主机发起攻击。在这个攻击阶段,所有的新感染主机将“ 。 连续攻击列表中的主机,直到列表中所有主机被扫描过,然后,所有的已感染主机通过 纯随机扫描策略( p r s ) 来继续进行扫描。 势 ( 3 ) 在线p 2 p 扫描策略( o p s ) 在这个策略中,在系统初始时间,已感染主机在加入p 2 p 系统后,立即用全部攻击 能力来攻击它的邻居节点。另外,如果有额外的攻击力可用,已感染主机也将通过纯随 机扫描策略( p r s ) 攻击系统。为了说明,给出以下例子:a l 是攻击能力为5 的感染主 机( 它能够连续攻击5 台主机) ,并且a l 有三个邻居b 1 ,b 2 和b 3 ,他开始用6 0 的 攻击能力来攻击b i ,b 2 和b 3 ,然后将剩下的攻击能力通过p r s 来攻击系统。假设b 2 , b 3 有漏洞并被感染,这两个新的感染主机将通过重复a 1 的循环攻击,来连续攻击他们 的p 2 p 邻居和系统。之后,a 1 将用它全部的攻击能力,通过p r s 来攻击整个系统。 2 4 蠕虫的传播模型 在恶意代码传播模型的研究中,病毒传播模型较多,针对网络蠕虫的传播模型较少。 而在传统的对计算机病毒的传播机制研究中,常常借用已有的传染病数学模型。但由于 计算机病毒的攻击对象是文件系统,所以传统计算机病毒研究中把计算机作为传播个体 并不合适。同计算机病毒不同,i n t e m e t 蠕虫具有主动攻击特征,不需要计算机使用者 一l l 东北大学硕士学位论文第2 章相关理论及技术 的参与,并且蠕虫的攻击对象是计算机系统,这两个条件正好同传染病模型的假设条件 相符。 2 4 1 经典蠕虫传播模型 一直以来的i n t e m e t 蠕虫大都未考虑p 2 p 的影响,这些非p 2 p 的蠕虫通过攻击主机 漏洞进行自我复制和传播。当某台主机被蠕虫攻击后,会立即从攻击主机下载蠕虫代码, 待下载结束后就会自动攻击其他的网络主机。像这类传统的非基于p 2 p 的蠕虫传播适合 于采用s e m 、k m 模型、t w o f a c t o r s 等进行描述,这罩主要介绍s e m 模型。 在s i m p l ee p i d e m i cm o d e l ( 简称s e m ,即s i 模型) 中,每台主机保持两种状态:易 感染的和被感染的。模型假定一台主机一旦被感染就始终保持被感染的状态,因此状态 转变过程是:易感染( s u s c e p t i b l e ) _ 被感染( i n f e c t e d ) ,如图2 7 所示。 图2 7s e m 状态转换示意图 f i g 2 7s t a t e st r a n s i t i o no fs e m s e m 模型的微分方程表达式为: d i - ( t ) :( f ) 一,( f ) 】 ( 2 1 ) a t 一 其中,( f ) 表示r 时刻被感染节点的数目,是群体中的个体总数,是感染率。 开始时,f = 0 ,i ( o ) 台主机处于被感染状态,其他n x ( o ) 台主机处于易感染状态。 设a ( t ) = l ( t ) n ,口( f ) 表示t 时刻群体中被感染的主机占群体总数的比例。公式( 2 1 ) 两边同时除以2 ,得到: d a _ ( t ) :k a ( f ) 【1 一口( f ) 】 ( 2 2 ) a t 其中k = ,设s ( f ) = n l ( t ) ,s ( r ) 表示t 时刻易感染主机的个数。将公式( 2 1 ) 中的,( f ) 替换成n s ( t ) ,得到: d s _ ( t 一) :一届s o ) 【一s 0 ) 】 ( 2 3 ) a i ; 公式( 2 1 ) f f - d ( 2 3 ) 除了右边的符号,其他都相同。公式( 2 2 ) 表明,起初,当l 一口( f ) 约 等于1 时,被感染主机的数量几乎是指数增长;当大约8 0 的易感染者被感染后,病毒 传播的速率开始降低。 从上述描述中可以看出s e m 模型中是个常量,n 一( f ) 是t 时刻易感染节点的集 合。s e m 模型数学表达的含义是f 时刻每个被感染节点平均会感染所一,( r ) 】个易感染 一1 2 一 东北大学硕士学位论文 第2 章相关理论及技术 节点,因此t 时刻被感染节点数的增量为3 1 ( t ) n 一,( f ) 】,由此推出s e m 模型的公式( 2 1 ) 。 为了更详细的刻画蠕虫传播的过程,本文引入了离散时间的概念( 即是把每经过一 个时间间隔处于各个状态的主机数单独列出来) 【7 】,设五为扫描速率( 单位时间内可扫 描的主机数,这罩的旯在数值上应该与公式( 2 2 ) q h 的k 一致) ,同时考虑蠕虫体的大小, 用形表示,a 代表下载带宽,瑁代表蠕虫体的下载速率,显然q = a w 。设双f ) 代表在f 时刻易感染主机的总数,以f ) 代表在f 时刻被感染主机总数,彳( f ) 代表在第f 步新增加的 被感染的主机数,则 a ( i + 1 ) = r s ( f ) 【l 一( 1 一i 1 ) 办7 。】 ( 2 4 ) 从而s 、i 各状态的变化为: j s ( i + 1 ) = s ( 7 ) 一彳( 7 + 1 ( 2 5 ) 【,( f + 1 ) = i ( i ) + a ( i + 1 ) 在公式( 2 4 ) 中,丁代表扫描空间( 在i p v 4 网络中,t 的值为2 3 2 ) ,则每台易感染主 机被扫描到的概率是i 1 ,即l i 1 是没有被扫描到的概率;则旯州) 是已感染主机能够 上 扫描的主机数,( 1 一言) 川是易感染主机没有被扫描到的概率。所以s ( f ) 【l 一( 1 一彳1 ) 小“d 】 上 上 是被扫描到的易感染主机数,主机被扫描到后开始以叩的速率下载蠕虫体,下载完后就 由易感染状态转换为被感染状态。 在任意时刻t ,网络中主机只能处于两种状态中的一种:s 状态或者i 状态,所以在菇 整个传播过程中总有- 双,) + 足,) 。 结合公式( 2 4 ) 和( 2 5 ) ,进一步可以得到s e m 的微分方程组为: a s ( t ) d a ( t ) 一= = 一一 d td t d l ( t ) :d a ( t ) ( 2 6 ) d td t 警砷鼢【1 _ ( 1 一二) 1 川】 如果选取n = 1 0 0 ,( o ) = 1 ,分别取0 0 2 ,0 0 4 ,0 0 6 。根据式( 2 1 ) 得到一组数据, 绘制出被感染节点数,( f ) 关于时间,的函数图像,如图2 8 所示。需要特别强调的是,本 文按照理论公式所绘制的有关时间的函数图像均采用数值分析中的迭代方法,所以时间 单位均为迭代步数,包括用离散时间推导出的公式进行绘图时,时间单位也为进行迭代 运算的步数。 一1 3 东北大学硕士学位论文第2 章相关理论及技术 l o o 8 0 薹6 0 + h 媒 鸶4 0 籍 2 0 o o1 0 02 0 03 0 04 0 03 0 0 时间 图2 8s e m 数值曲线 f i g 2 8n u m e r i c a lc u r v e so fs e m 本实验考虑了感染率口取不同值的情况,可以看出随着感染率的不断增大,整个网 络被感染的时间也越来越短。但是s e m 模型对蠕虫传播的描述比较简单,考虑的因素 较少,只考虑了易感染和被感染两种状态。这个模型只适合蠕虫传播的早期阶段,在蠕 虫传播的早期,由于人们都不知道有蠕虫在传播,因此蠕虫传播的变化趋势接近于s e m 模型。但到了蠕虫传播的中后期,一些感染主机可能已经恢复,同时一些安全意识好的 用户可能在蠕虫爆发后不久就已经提前给主机打好补丁,这样该用户的主机就会对蠕虫 免疫,不会被感染。 2 4 2p 2 p 蠕虫传播模型 在基于纯p 2 p 原理的蠕虫传播方式下,被扫描到的易感染主机在下载蠕虫体之前, 需要首先下载p 2 p s h e l l 。p 2 p s h e l l 下载结束后,易感染主机可以从网络中任意一台拥有 p 2 p s h e l l 和蠕虫体分片的主机下载所需的蠕虫分片,直到获得全部蠕虫体后,主机才处 于被感染状态。显然,在从易感染转换到被感染状态之间存在一个中间状态,即在下载 蠕虫体分片时所经历的过程,所以需要引入一个新的状态来准确描述整个传播过程。在 此把这个新引入的状态称之为潜伏期状态,由于s e m 和k m 等模型都无法描述潜伏期 这样一个特殊的过程,因此提出使用s e i 模型来描述基于纯p 2 p 原

温馨提示

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

评论

0/150

提交评论