第20卷第lO期2008年5月系统仿真学报@JoumalofSystemSimuIation、,01.20№.10May,2008基于OPNET的拒绝服务攻击建模与仿真张明清1,谢杰1,张敏2,张星磊3(1.信息工程大学电子技术学院,河南郑州450004;2.河南伟瑞科技实业有限公司,河南郑州450000;3.海南省军区,海南570105)摘要t分析讨论了网络仿真技术在仿真网络攻击方面存在的不足,给出了0PNET平台下可以实现仿真的网络攻击类型。针对所要建立的网络攻击模型对0PM玎中所涉及到的关冀进程模块进行了深入分析,在此基础上设计并实现了sYNn00d网络攻击模型,最后在特定的仿真网络环境中运行了攻击模型,并通过对仿真结果进行分析得到了sYNf100d攻击效果与TCP关键参数之间的定量关系,达到了预期的仿真目标。关键词:网络仿真;拒绝服务攻击;协议分析;攻击模型中图分类号lTP391文献标识码:A文章编号l’1004.731x(2008)1m2736.04ModelingandSimulationofDDosAttacl【sUsingOPNETzHANGModelerMing.qin0,XIEJiel,zHANGMt铲。zHANGx饥g.1efSci锄ce如d1khnologyIndustryLiInitedCoⅢpaIly,Zhengzhou450000,C撕衄;3.Hain觚Pr;0VincialMilital.yCo锄肌d,Ha血衄570105,C蛐姐)(1.InstitutcofElectroIlic做hn010鲂11lePLAIIlfb皿adonUIliVeTsity.Zhengzhou450004,Chi衄;2.}蛔mWEmUIAbstract:Witll0PNETnetworksimulationaplatfb皿,meliIIIitationofnetworl【simulationtechniqueatsimulatingnetworkp厂Dc已船优删H膪玎D懈口脚mD出把dS删’加od口ff口础were粕alyzed.TheattackbehaviOrwasana】Vzed,andconclusionwastar2etdmwnthatwhatl(indsofnetworkaItackcouldbesimulated.7A已pivDf口Zattackmodclw躯executedagainstaspecialp咖etcl?s,锄d引言net、】Irorkmodcl,卸dexpectcdttlequ卸tificationreIationshipsweregotbetweenSYNf100danacke侬虻tiveness姐dTCPobjectiVeofsimulationw硒achieVed.1【eywords:networksimulation:DoSatcack;protocalanalysis:attackmodel是基于0PM玎开发的。1.1OPNET中可实现的攻击类型目前关于攻击的建模与仿真研究还比较少,其主要原因计算机通信网络存在的各种安全隐患,可能被攻击者利用,从而对网络安全造成严重威胁。分析攻击行为对分析网络造成的危害及制定相应的安全策略有着极其重要的意义【l】。随着仿真技术的发展,利用仿真技术分析网络攻击行为成为可能。利用仿真技术分析网络攻击有许多优点【2】:一是节省大量的时间和金钱,避免对实际网络造成危害;二是方便对网络系统的关键参数进行修改,使攻击行为在不同的网络条件下被检验;三是攻击模型可重用性强,可以灵活地应用于不同的网络仿真环境中。本文选取了典型的TCP洪泛攻击进行了分析与仿真实验,并总结得到了对攻击建模与仿真的一般方法。是没有专门针对网络攻击研究而设计的仿真平台,现有的研究都是基于网络仿真平台的,而所有的网络仿真平台都有着共同的弱点,如:缺少攻击模型、应用层没有对攻击的响应、没有通用的可接受的指标来衡量攻击效果等【5】。0PNET中基本上实现了各种通用网络协议的精确仿真【2,31,如TcMP协议、路由协议等,其中TcMP协议栈完全符合0SI标准,从上到下分别为应用层专适配层(TPAI,)专TCP层专IP封装层专IP层÷ARP层÷MAC层专物理层,用户可以方便地对已有协议进行修改或加入新的协议模根据攻击所针对的漏洞不同,网络攻击行为可以分为【6】:操作系统漏洞的攻击、应用程序漏洞的攻击、网络协议漏洞的攻击。操作系统或者应用程序漏洞攻击是指针对操作系统、可执行l相关研究0PNET是美国OPⅫ玎1khnolog),公司的网络仿真产品,是目前世界上最先进的网络仿真开发和应用平台,为开发人员提供了建模、仿真以及分析的集成环境,大大减轻了编程和数据分析的工作量171,本文所研究的网络攻击模型就程序运行所涉及的数据、计数器、堆栈和寄存器等中间过程进行攻击。如缓冲区溢出、恶意代码、竞争状态和蠕虫等,而这一中间过程在OPNET中是无法仿真实现的。因此,oPM玎仿真实现的网络攻击行为必须是基于网络协议缺陷展开的【引。1.2收稿日期·2007-01—31修回日期I20cr7—03—29基金项目·“十五”国防建设基金作者简介t张明清(1961.),男,湖北孝感人,副教授,硕导,研究方向为系统建模与仂真:谢杰(1982.),男,江苏泰州人.硕士生,研究方向为计算机安全仿真;张敏(1973一).女,河南郑州人,研究方向为系统工程;张星磊(1982.),男.乌鲁木齐人,研究方向为系统安全。SYNnood攻击SYNF100ding是拒绝服务攻击的一种,它针对TCP,m协议的三次握手机制进行攻击。其原理为【6】:当用户收到一·2736·万方数据 第20卷第10期、,b1.20No.102008年5月张明清,等:基于0PNET的拒绝服务攻击建模与仿真May.2008个TC朋P请求时,首先为本次连接分配一定的内存空间,接和释放、数据的发送和接收等。然后发送一个确认信息,等待源主机的回复。由于P协议2.2TPAL层模块分析不对数据包的源地址进行检查,攻击者可以在数据包中加入1斟儿层,即传输适配层,其主要功能是作为应用层和精心选择的虚假源疋地址,目标主机因为收不到源主机的传输层之间的通信接口,为应用程序选择不同的传输层协确认信息而处于等待状态,这种等待状态称为半连接状态,议。图2给出了TPAI,模块内部进程结构,首先由应用层模定时器的最长等待时间为半连接超时阈值。攻击者同时请求块相应客户端进程向TPAL模块发送初始化会话请求,激活大量的TCP连接,导致目标主机需要为TcP半连接分配大TPAL模块根进程tpal—v3,然后由根进程调用相应子进程完量内存,并最终导致内存资源完全耗尽。通过注册表可以设成传输层连接,其中每一个子进程对应于一种传输层协议置最大半连接数,当半连接数量到达最大值时,TCP将拒绝(如调用印aljn正』cp-v3子进程,将向传输层模块发出指所有新到达的连接请求。SYNflood攻击与TCP最大半连接令,传输层模块接收到指令后通过TCP三次握手机制完成数和TCP半连接超时阈值有着密切的关系,通过仿真实验TCP调整这两个参数的取值,可以得到预防sYNflood攻击的最佳参数值。2oPNET中关键进程模块的分析OPNET中对网络应用的仿真都是将它们抽象成对应的网络协议,因此,对于SYNfIood攻击,也可以看成一种协议,根据协议的实现原理建立新的协议模型并将其嵌入到OPM'T标准应用层模块中。然而,在仿真时攻击模型如何发起TCP连接?向服务器的哪个端口发起连接?在应用层图211'AI模块内部进程结构模块哪个进程下嵌入攻击模型?这就要求对OPNET节点模型各模块间的接口和应用层模块的架构以及内部进程间的3攻击模型的实现调用关系有着十分清楚的理解。对于所要建立的攻击模型来说,应用层模块需要完成两2.1应用层模块分析口1个方面的功能,一是作为客户端模拟攻击者以不同的速率发OPNET应用层模块共包含30多个进程,这些进程分别出SYN连接数据包的功能,二是作为服务器端模拟服务器实现不同的功能(见图1)。根据进程之间的调用关系,可打开特定TcP端口进行连接的功能。其进程结构如下:以将其分为:根进程、业务规格管理进程、应用管理进程、根进程gIla-clsvr-m铲作为网络管理进程主要负责攻击应用执行进程。属性的解析以及服务器端监听端口的打开。进程g彻profilc_m乒作为业务规格管理进程需要做两项工作,一是确定在什么时刻开始进行攻击,二是通知攻击管理子进程攻击的目标、攻击的持续时间以及攻击的速率。进程gna--synflood_mgr是进程gna_pfofilc-nlF的子进程,其作为攻击管理进程主要负责控制攻击的持续时间和攻击的速率。进程gna-synflood-cli负责具体执行攻击行为,TcP连接请求数据包都是由该进程发出的。应用管理进程应用执行进程3.1网络管理进程图1应用层进程结构图网络管理进程gna_clsvr_m蓼需要完成的功能是攻击属性的解析和服务器监听端口的打开。攻击属性的解析主要涉下面以f阢为例,说明应用层模块进程之间的调用关系。及到相关数据类型的定义以及解析函数的设计,而服务器端gna^clsvr_m盯:应用层模块的根进程,在仿真开始时被口的打开则不需要对网络管理进程进行修改,因为激活,完成初始化并设置自中断。gna』lsvr-m伊中已经包含了作为服务器端的所有功能,包gna^pmfiltmgr:控制业务规格的反复以及持续时间,括监听端口的打开、数据的发送与接收以及连接的释放等。激活相应的应用管理子进程。gn心p』1矿:初始化与本次应用相关的变量,激活Ftp3.2业务规格管理进程应用执行子进程。根进程gna-clsvrm伊通过分别创建并激活业务规格管gn扯p』li:执行具体的应用行为,包括与服务器的连理进程g彻profile_玎1孕来实现每一项业务规格的仿真。它·2737·万 方数据第20卷第lO期2008年5月V01.20№.10系统仿真学报状态。其状态转移图如图5所示。May.2008主要完成两个方面的工作,一是负责控制业务规格的间隔和持续时间,二是为业务规格中所包含的每一项应用创建并激活相应的应用管理进程,并将一些必要的信息传递给它们。业务规格管理进程gn峭filc-rnF的状态转移图如图3,在图中“clo∞”状态和“end,’状态负责控制业务规格的间隔和持续时间,而“spawn”状态则负责为业务规格中所包含的每一项应用创建并激活相应的应用管理进程。图5进程朗asynfl00d_cli的状态图4仿真实验网络模型如图6所示,在该模型中,服务器server为本地局域网用户L~Nl和远程用户LAN2提供服务,另外还包含一个攻击著试图对服务器server进行sYNf100d攻击。图3进程庐a_pmfilc-mF状态图3.3攻击管理进程攻击管理进程根据业务规格管理进程传来的各种与攻击相关的参数对具体的攻击行为进行管理,其状态转移图如图4所示。图6网络模型包含的网络设备及其具体功能如下:11服务器(Sefver):在0PⅫ’T提供的标准服务器的基础上对其应用层模块进行了替换。除了提供町TP、FrP、D北山a∞三种标准服务外,还提供新的synflood服务,这样在仿真时服务器可以打开105端口进行监听。2)路由器(Routerl、Rouner2):Routerl将来自广域网的m数据包进行转发,Router2将来自局域网LAN2的口图4进程gna-唧Ⅱn00dmF状态图数据包进行转发。3)从图中可以看到攻击管理进程共包含了四个状态和两个转移条件。状态“init'’的作用是初始化变量,状态“ime”的作用是转移条件的判断,状态“a仕ack锄d”的作用是当攻击的持续时间到达时结束攻击并销毁攻击管理进程,状态“startattack,’的作用是在攻击开始后根据攻击的速率激活执行攻击行为的子进程gna-{ynn00d-cli以完成攻击。转移条件S1'ART局域网(UNl、L~N2):U蝌1代表一个拥有30个用户的局域网,用户可以进行的活动包括WEB浏览和数据库访问。LAN2代表一个拥有100个用户的局域网,用户可以进行的活动包括W髓浏览和兀'P文件传输。4)m云(IIltcrnct):代表广域网。5)攻击者(SyIIfl00dA位ack):在OPM玎提供的标准AnAcK和啪一oFAnAcK分别是在头区中定客户端的基础上对其应用层模块和m封装模块进行了替换。在仿真时该节点以不同的速率对服务器Server的105端口进行SYNfl00d攻击。义的宏,STARTA1广rAcK代表中断代码为l,ENI)-0FArrACK代表中断代码为2。3.4攻击执行进程攻击执行进程用于发起TCP连接,由于不会涉及到数据的发送与接收,因此该进程只包含一个状态——j‘cxccuF’5仿真结果分析攻击模型可输出的仿真结果包括拒绝服务攻击成功的概率(PDs)、服务器故障时间以及用户延迟等量度,由于·2738·万方数据 第20卷第10期、,01.20№.102008年5月张明清,等:基于0PNET的拒绝服务攻击建模与仿真May.2008拒绝服务攻击成功概率可以直观地表现攻击的效果,所以将攻击者的攻击速率与PDS之间的关系见图9。它作为仿真结果输出,其公式为:从图9中可以看出,在服务器设置一定的情况下,当攻PDS(拒绝服务攻击成功的概率)=l一(成功服务的击速率为每秒1个或者2个请求时攻击成功的概率为O。每请求数量/_请求总数量)秒lO个请求时成功概率也很小(低于0.2),但是在增加到其中,成功服务的请求数量表示合法用户在整个仿真呻每秒20个请求时可以看到攻击成功的概率有明显的增加。间内TCP连接请求成功的总数量。请求总数量表示合法用l。户在整个仿真时间内TCP连接请求的总数量。针对服务器的半连接超时时间、服务器允许的最大半连接数、攻击者的%8服务请求速率的不同取值,对模型的输出仿真结果PDS进%6行了统计分析,整合得到三组仿真数据。首先给出服务器半连接超时阈值与PDS之间的关系,¨4从图7中可以看出,当服务器超时阈值为30秒时,PDS为吆20。在服务器超时阈值从50秒增加到100秒以及从200秒增加到lOoo秒的过程中PDS没有明显的提升。而在服务器超o)时阈值从100秒增加到200秒的过程中PDS从0.318跃升到图9PDS与攻击速率之间的关系0.834,表示攻击效果有明显的增强。可以得出结论,在上述特定的网络条件下合理的服务器超时时间应该设置在506结论秒到100秒之间。本文分析了OPM’T仿真平台下可仿真实现的攻击类PDS型,并针对典型的洪泛攻击,建立了其攻击仿真模型并通过运行仿真,得到了预期的仿真结果,为其它各种针对协议攻08击的仿真提供了一般性方法。由于目前网络攻击行为仿真还处于起步阶段,仍存在很多急需解决的问题‘蚴,如:对节O6点机中操作系统和应用程序的精确模拟;缺乏丰富的攻击仿4真模型库;另外一些攻击结果不能进行定量描述,应该给出O.定性描述的仿真结果形式。O2参考文献sO【l】宋振锋.sYN攻击原理以及防范技术【EB,oL】.20Q5.脚:价哪w.OO.5l1.522.53yes埘.∞m,324,17“824.shnnI.图7PDs与超时阈值之间的关系【21陈敏.OPM玎网络仿真【M】.北京:清华大学出版社,2004.【3】OPNI玎加U∞docu删mt鲥∞10.0.C冈.USA:OPNET服务器所允许的最大半连接总数与PDs之间的关系:钕hnologi髓,I∞.W越lin鲫DC.2004.从图8可以看出,当最大半连接总数小于100时,PDS【4JMattisaBjorlin.As∞dyofModcIiIlgandsilnuIa吐衄fbrc咖pucer几乎为1,随着最大半连接总数的增加,PDS逐渐下降,达andn咖ork辩cuIi畔田】.Sweden:UIIivc巧ityofStocl【IIolm,R0yal到2000左右时PDS几乎为O。因此,将最大半连接总数设I璐tinltcof.I铳Ilnology’July2005.置在1500以上比较符合实际。【5】alristophLSchuba,Iv蛆VK飓ul,M盯kusGl【uIln。Eug吼eHSpa侬棚.AIlalysisofDeIlialofServi∞Atcack∞TCP【D】,,USA:1D叩anmcntofCo呷uterSciencesPurdueUniVe璐i吼【6】赵志超.网络攻击及效果评估技术研究【D】.长沙:国防科学技术O8大学,2002.【7】沈海红,王进,郑宝玉.基于3种主流网络仿真软件的网络仿真O6探讨fJ】.江苏通信技术,2004,4:25-28.【8】JMDHilI,SconIatllrop,JRSurdu.ModelingN咖ofI【AttacbO4【C】,,12山CorIf打en∞∞Beh聃i盯R印∞∞nta商DninModtmng肌dSi邛哪lalj∞,Scottsdale,Ariz∞a.May2003.USA:2003.O2【9】李笑歌,宇伟,高尚伟.软件的数据网络建模与仿真研究们.系统仿真学报.2006,18(9):47.50.O图8PDS与半连接总数之间的关系·2739·万 方数据基于OPNET的拒绝服务攻击建模与仿真
作者:作者单位:
张明清, XIE Jie, 张敏, ZHANG Xing-lei, ZHANG Ming-qing, XIE Jie, ZHANG Min, ZHANG Xing-lei
张明清,张敏,ZHANG Ming-qing,XIE Jie,ZHANG Min,ZHANG Xing-lei(信息工程大学电子技术学院,河南,郑州,450004), XIE Jie,ZHANG Xing-lei(河南伟瑞科技实业有限公司,河南,郑州,450000)
系统仿真学报
JOURNAL OF SYSTEM SIMULATION2008,20(10)1次
刊名:英文刊名:年,卷(期):被引用次数:
1.李笑歌;宇伟;高尚伟 软件的数据网络建模与仿真研究[期刊论文]-系统仿真学报 2006(09)2.J M D Hill;Scott Lathrop;J R Surdu Modeling Network Attacks 2003
3.沈海红;王进;郑宝玉 基于3种主流网络仿真软件的网络仿真探讨[期刊论文]-江苏通信技术 2004(4)4.赵志超 网络攻击及效果评估技术研究[学位论文] 2002
5.Christoph L Schuba;Ivan V Krsul;Markus G.Kuhn;Eugene H Spafford Analysis of a Denial of ServiceAttack on TCP
6.Mattisa Bjorlin A study of Modeling and Simulation for computer and network security 20057.OPNET online documentation 10.0.C 20048.陈敏 OPNET网络仿真 2004
9.宋振锋 SYN攻击原理以及防范技术 2005
1.蒋丽影.王洪香 OPNET建模机制的研究[期刊论文]-世界科技研究与发展 2009(1)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_xtfzxb200810054.aspx