网络蠕虫的检测机制研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:chunhuaqiuyue
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着网络蠕虫传播时所采用的扫描策略的发展,网络蠕虫的检测、防御和阻断技术也在不断的发展。对几种较为常用的网络蠕虫检测防御技术进行了比较,分析了他们的优点与不足。同时对四种不常用但有创新意义的检测技术进行了简要介绍。最后,重点对Billy Goat检测机制进行了详细的论述,通过对Billy Goat系统的分析,为网络蠕虫检测技术的准确性和高效性提供了思路。
  关键词:蠕虫检测;扫描策略;检测机制
  中图分类号:TP309文献标识码:A 文章编号:1009-3044(2007)06-11551-02
  
  1 引言
  网络蠕虫的危害与日俱增,Nimda蠕虫的出现,其破坏造成的损失已达到了不可估量的地步,这引起了人们高度的关注。如何减小蠕虫传播造成的破坏已经是一个十分紧迫而又困难的课题。在蠕虫传播并造成破坏以前如果能发现并得到蠕虫传播的一些特征或是信息,对于防止蠕虫继续蔓延并进行破坏是极为关键的。因此,针对蠕虫的检测已成为一个必须进行研究的课题摆在了人们面前。事实上这一课题目前已经有了许多的研究成果,但是随着蠕虫病毒在传播过程中采用的扫描策略不断的发展和完善,对于蠕虫的检测来说必须适应这种新情况。
  本文在总结了几种传统蠕虫检测的方法及其优缺点后,提出了一种Billy Goat系统的检测机制,经理论分析和验证,该机制检测精度高、效果好。
  
  2 网络蠕虫的检测机制
  网络蠕虫的检测技术与网络蠕虫编写技术永远是相辅相成,相互促进的。随着蠕虫技术的不断发展,安全研究人员也在对蠕虫编写与特征的研究基础上不断完善和丰富着现有的网络蠕虫检测技术。下面,将主要讨论近几年的网络蠕虫检测防御技术。
  2.1 常用网络蠕虫检测机制
  (1)基于CCDC的蠕虫检测、防御和阻断
  针对网络蠕虫具有生物病毒特征这一特点,美国安全专家建议建立CCDC(cyber centers for disease control)来对抗网络蠕虫攻击。该CCDC体系实现以下功能:①蠕虫样本特征分析;②鉴别蠕虫的爆发期;③ 蠕虫传播对抗;④ 蠕虫新的传染途径预测;⑤对抗未来蠕虫的威胁;⑥前瞻性蠕虫对抗工具研究。
  CCDC虽然能够实现对大规模网络蠕虫入侵的预警、防御和阻断。但是CCDC自身也存在诸多的不足,具体表现为:① CCDC体系是一个开放性的系统,CCDC自身的安全问题不容忽视;② CCDC是一个规模庞大的防范体系,其运转的代价较高;③ 在CCDC防范体系中,攻击者能够监测蠕虫攻击的全过程,深入分析和理解CCDC防范蠕虫的工作机制,因此,可能导致突破CCDC防范体系的蠕虫出现。
  (2)基于GrIDS的网络蠕虫检测
  针对大规模网络攻击和自动化入侵而设计的GrIDS[1]收集计算机和网络活动的数据以及它们之间的连接,在预先定义的模式库的驱动下,将这些数据构建成网络活动行为来表征网络活动结构上的因果关系。GrIDS通过建立和分析节点间的行为图(activity graph),与预定义的行为模式图进行匹配,判定网络蠕虫是否存在,是目前检测分布式网络蠕虫入侵的有效工具之一。但是经过对该系统的分析,GrIDS检测网络蠕虫还存在以下不足:①GrIDS不对TCP连接中的目标地址和目标服务作有效性分析,但上述分析是判断未知网络蠕虫入侵网络的重要依据;②GrIDS的探测点对网络中传输的包信息只作简单的基于事件的关联分析,而不进行基于上下文的相关性分析,没有充分利用更多的、有效的数据;③GrIDS检测到网络蠕虫以后,由于没有建立任何响应机制,不能提供与内部探测点和外部防火墙的互动,因此不能形成有效的预警和防范机制。
  (3)基于HoneyPot的蠕虫检测和防御
  HoneyPot是为了[2]防范网络黑客攻击而设计的。Spitzner[3]首次运用HoneyPot防御恶意代码攻击。文献[4]提出了采用虚拟HoneyPot检测和阻断网络蠕虫攻击的防范框架。其主要实现是在边界网关或易受到蠕虫攻击的地方置放多个的虚拟HoneyPot,HoneyPot之间可以相互共享捕获的数据信息,采用NIDS的规则生成器产生网络蠕虫的匹配规则,当网络蠕虫根据一定的扫描策略扫描存在漏洞主机的地址空间时,HoneyPots可以捕获网络蠕虫扫描攻击的数据,然后采用特征匹配来判断是否有网络蠕虫攻击,具体实现情况请参见文献[5]。此外,HoneyPot能够阻断网络蠕虫的攻击。Oudot采用HoneyPot实现对W32.Blaster的检测与防御[6]。
   HoneyPot主要具有以下优点:① HoneyPot为网络安全人员研究蠕虫的工作机制、追踪蠕虫攻击源、预测蠕虫的攻击目标等提供了大量有效的数据;②HoneyPot可以转移蠕虫的攻击目标,降低蠕虫的攻击效果;③ 由于网络蠕虫缺乏判断目标系统用途的能力,所以HoneyPot具有良好的隐蔽性。HoneyPot在具有许多优点的同时也存在诸多不足:① HoneyPot很少能在蠕虫传播的初期发挥作用;② HoneyPot可以发现存在大量扫描行为(随机性扫描、顺序扫描等)的网络蠕虫,但针对路由扫描和DNS扫描蠕虫时,效果欠佳;③HoneyPot能否诱骗网络蠕虫依赖于大量的因素,包括HoneyPot命名、HoneyPot置放在网络中的位置、HoneyPot本身的可靠性等。
  (4)基于PLD硬件的检测和防御
  PLD(programmable logic devices)系统是用一种效果较好的网络蠕虫的防范系统。它是由华盛顿大学应用研究室的John W. Lockwood,James Moscola1等人提出的,该系统主要是采用了一种采用可编程逻辑设备对抗网络蠕虫[7]。PLD系统由三个相互内联部组成,分别是DED(data enabling device)、CMS(content matching server)和RTP(regional transaction processor)。DED负责捕获流经网络出入口的所有数据包,根据CMS提供的特征串或规则表达式对数据包进行扫描匹配,并把结果传递给RTP;CMS负责从后台的MYSQL数据库中读取已经存在的蠕虫特征,编译综合成DED设备可以利用的特征串或规则表达式;RTP根据匹配结果决定DED采取何种操作。网络蠕虫大规模入侵时,系统管理员首先把该蠕虫的特征添加到CMS的特征数据库中,DED扫描到相应特征才会请求RTP做出允许或是阻断等响应。
  通过以上分析,该系统具有以下优点:① DED采用高速硬件FPX(field-programmable port extender)来实现其核心功能,对数据包的扫描速率可以达到2.4Gbps,因此该系统能够实现大规模高速网络环境对网络蠕虫的检测;② 与软件技术相比较并行技术更易在高速硬件FPX系统中实现。系统存在的不足:①采用特征匹配技术,存在一定的误警率;②不能检测和防御未知蠕虫,只能进行事后处理。
  (5)基于签名的检测技术
  基于签名的蠕虫检测技术的核心是模型匹配。每当新的蠕虫出现时,研究人员通过对蠕虫的研究提取出能充分识别该蠕虫的特征字符串,形成对该蠕虫的签名,加到相应的签名库中,这些签名可能是恶意的网络负载,也可能是蠕虫可执行代码中的部分样本代码等。有了该蠕虫的签名之后,当有此类蠕虫爆发或者此类蠕虫在其它地方爆发时就可以通过该签名进行识别,以采取进一步的防范措施加以阻止。对于基于签名的蠕虫检测软件来说,签名库是这类软件设计中非常重要的部件,因为签名库的质量高低直接影响软件的准确性和有效性。
  目前基于签名的蠕虫检测技术主要有三种类型:①基于日志分析的签名匹配。由于蠕虫本身的攻击性,导致遭受蠕虫访问过的计算机会在操作系统或应用程序的日志中记下有关蠕虫的行为,这些痕迹包括未授权访问或者由蠕虫异常操作而引起的程序异常等;②基于网络负载的签名匹配。这种技术广泛应用于NIDS(Network Intrusion Detection System)[8]软件中,通过被动监听网络中传输的数据包并将它们与签名库中的签名加以匹配来检测蠕虫是否存在;③基于文件内容的签名匹配。这是普遍采用的一种基于签名的蠕虫检测技术,大多数的蠕虫在攻击成功后,会向被攻击的计算机上传送自身的可执行文件,通过为这些文件建立签名,可以及时的发现计算机中是否存在相应的蠕虫主体。
  基于签名的蠕虫检测技术具有高效准确的优点,但它也有致命的弱点:就是只要蠕虫的个体稍有变异,这种方法就往往失去效力。这也是为什么一个新的蠕虫出现后会有许多的变种紧随出现的原因。另外,由于在检测过程中要用到蠕虫的特征签名,所以这种技术是一种后发制人的对抗方式。
  (6)良性蠕虫抑制恶意蠕虫
  最早网络蠕虫引入计算机领域就是为了进行科学辅助计算和大规模网络的性能测试[9],蠕虫本身也体现了分布式计算的特点,他能自动完成一些独立的任务,良性蠕虫可以有效地消除恶意蠕虫,修补系统漏洞,从而减少网络中易感主机的数量。因此可以利用良性蠕虫来抑制恶意蠕虫。事实上这一思想已有一些实践。如:Cheese蠕虫利用Lion蠕虫留下的后门控制被感染的主机,清理掉主机上的Lion蠕虫留下的后门,修补系统的漏洞。针对CodeRed的对抗蠕虫CRClean的代码也曾经被公布过,但最后它们没有实际地被释放到网络中。W32.Nachi.Worm利用W32.Blaster所使用系统的漏洞对抗W32.Blaster.上述例子都是蠕虫对抗蠕虫的经典实例。Cheese和W32.Nachi.Worm都不是良性蠕虫,因为它们会对网络负载造成严重影响。良性蠕虫首先应具有高度的可控性和非破坏性,其次应尽量避免增加网络负载。良性蠕虫在传播时可以采用以下几种方式:①利用恶意蠕虫攻击的漏洞;②利用恶意蠕虫留下的后门;③利用被攻击主机的授权;④利用其他未公开的系统漏洞。用良性蠕虫来抑制蠕虫具有以下优势:①采用分时、分段慢速传播,只传播蠕虫主体等策略尽量不占用网络带宽和主机资源;②良性蠕虫对用户透明,不需要隐蔽模块,可以充分利用集中控制的优势,主体程序、数据和传播目标都从控制中心获得;③ 同一个良性蠕虫可以执行不同的任务,只需从控制中心下载不同的任务模块,包括进行分布式计算或者采集网络数据等等,然后将结果汇总到控制中心。良性蠕虫是未来蠕虫研究的方向,其设计的关键在于可控性设计,因此设计良性蠕虫要考虑更多的不可确定性因素,尚需进一步深入研究。
  2.2 Billy Goat检测机制
  在IBM苏黎世研究院,研究者正在试图开发一种与对抗蠕虫的系统—Billy Goat系统,这种系统与其他系统不同的是,它专门用来对付蠕虫,而不是试图消除所有计算机安全的漏洞。Billy Goat注重准确性而不是通用性。它是一个专门的蠕虫检测系统,运行在网络上一台专门的计算机上,检测网络中任何一台被感染了蠕虫的计算机。Billy Goat包含两类系统,一是主动入侵响应系统,它自动隔离被感染的计算机;二是预警(early warning)系统。
  Billy Goat设计时利用了蠕虫的传播特性。研究者发现连接在网络上的计算机经常会收到其他计算机发来的自动的请求——例如感染Sapphire蠕虫计算机会自动发送SQL服务请求,但是这些计算机并没有提供相应的服务。通过对这些请求的调查和分析,我们可以发现主要是蠕虫导致这些请求。原因是蠕虫通常会随机的搜索(随机扫描策略)因特网地址以发现新的感染计算机。
  Billy Goat的主要功能是对接受的请求发送响应,从而给蠕虫造成这里有一个包含大量的计算机和服务网络的假象,以制造了一个蠕虫的虚拟环境。通过提供虚假的服务,并记录连接请求,Billy Goat能够欺骗蠕虫暴露它们的身份,从而可以帮助系统可靠的定位网络中被感染的计算机。例如,在被蠕虫感染的计算机看来,Billy Goat就是一个真实的Microsoft SQL Server,但是实际上它只是发送虚假的回应。一旦蠕虫想要感染Billy Goat,它立即会被识别出来,并进行记录,然后会通知网络管理员。
  Billy Goat系统具有以下优点:①Billy Goat提供虚假服务,这一功能可以通过不断跟踪安全更新和安全漏洞得以扩展。而且这一扩展只花费很少的代价;②Billy Goat系统能够拥有网络中的很多个地址,它可以快捷地利用通用的编程工具和接口开发新的虚假的服务;③Billy Goat系统的分布式结构可以保证在高强度的Worm攻击下仍然能够正常工作;④Billy Goat对于检测网络中被感染的计算机有极高的准确性,在大型企业的网络中,它能够在计算机被感染之后几秒钟之内就检测到它并能准确定位。但是该系统也存在一定的不足:①阈值不易确定,这会导致误警和漏警现象的发生;②提供虚拟的服务存在潜在的危害和法律争议。
  
  3 其它检测技术
  3.1 网络黑洞检测技术
  网络黑洞是指网络中未分配的IP地址空间。由于蠕虫作者在编写蠕虫时出于减小蠕虫个体的大小(对携带有效IP空间块的蠕虫而言)或者扩大蠕虫影响范围的考虑,往往会采用对全部IP地址进行扫描探测的方法,但是,在正常的网络通信中一般不会涉及这些并不使用的IP地址。根据这一情况,可以通过对与网络黑洞相关的数据包的监控来实现对恶意行为的检测,通过对所监测到的数据进行分析,就可以及时发现网络中出现的蠕虫攻击行为。
  网络黑洞检测技术的优点是对所有扫描全网的蠕虫都适用,包括已知蠕虫和未知蠕虫,但对于基于目标列表的扫描、采用队列扫描和预先生成列表扫描的蠕虫来说却不适用。
  3.2 基于流量的检测方法
  基于流量的检测方法是充分利用网络中没有蠕虫与存在蠕虫时流量的差异性来实现蠕虫的检测,是一种非常有效的蠕虫检测办法。通常情况下,一台主机或者一个局域网在正常运转的情况下,其每天的平均流量保持稳定,即使有所变化也是在很小的范围内波动,总体上是趋于稳定的。蠕虫入侵后网络流量则会出现较大幅度的变化,由蠕虫扩散策略可知,所有的蠕虫在展开攻击前都要先通过扫描探测模块来发现其要攻击的目标,且在攻击成功后往往还要完成其负载的传播,由于整个过程是蠕虫自主发起的,探测频率一般非常高,所以通常会在短期内产生大量的扫描探测包,使网络的流量迅速增加,甚至会造成网络的拥塞。
  基于流量的检测方法的难点在于各种参数阈值的确定,这关系着检测结果的准确性,阈值制定得太低容易使误警率过高,若制定得太高,则又容易造成漏报而起不到应有的检测作用。解决这个问题的通常的办法是在基于流量的蠕虫检测软件中引入自学习功能,先让该软件在正常运转的网络或者系统中自学习一段时间,通过这段时间的自学习使其为所监控的对象对立一个比较合理的阈值,此后就可以根据建立好的阈值来进行蠕虫的检测。为了使阈值能适应网络或者系统正常的流量变化,还可以引入其它的措施来保障阈值的定期更改。
  基于流量的蠕虫检测技术不仅对已知的蠕虫有效,而且能及时地检测未知的蠕虫。
  除了上述技术以外,网络蠕虫防范技术还有很多。目前比较流行的抑制网络蠕虫传播的方法就是在路由节点屏蔽和过滤含有某个网络蠕虫特征的报文。此外,邹长春等人在文献[10]中通过对一定地址空间的流量监控来预测网络蠕虫的传播,从而采取更有效的措施来对抗网络蠕虫的大规模攻击。由Liston设计的LaBrea工具,[11]能够通过长时间阻断与被感染机器的TCP连接来降低网络蠕虫的传播速度。
  
  4 结束语
  网络蠕虫的编写技术与检测技术的相辅相成和相互促进使得这两种技术程现出“道尺,魔丈”的局面。网络蠕虫技术已经从传播策略及手段方面同黑客技术相结合,这就使得网络蠕虫的检测、防御和阻断技术必须适应这一新情况。安全研究人员在对蠕虫检测技术进行研究时,应更关注其准确性和高效性。文章对近几年较为成熟的网络蠕虫检测技术进行了分析和比较,对比了他们的适应环境和优劣。提出了检测网络蠕虫的一种新方法,该方法经理论分析具有准确和高效的特点。
  本文讨论的Billy Goat系统对网络蠕虫的检测具有一定的普适性,对于研究网络蠕虫的检测具有一定的理论指导意义和启发性。
  参考文献:
  [1]Cheung S,Hoagland J, Levitt K, Rowe J, Staniford C, Yip R,Zerkle D. The design of GrIDS:A graph-based intrusion detection system. Technical Report,CSE-99-2, Computer Science Department, U.C. Davis,1999.
  [2]Morrison.Honeypot technology.2001http://www.xfocus.net/articles/200103/121.html
  [3]Spitzner L.Honeypots:Tracking Hackers.Boston:Addison-Wesley,2002.
  [4]Provos N.A virtual honeypot framework. Technical Report,03-1.Center of Information Technology Integration, University of Michigan,2003.
  [5]Provos N.A virtual honeypot framework. Technical Report,03-1.Center of Information Technology Integration, University of Michigan,2003.
  [6]Oudot L.Fighting worms with honeypots:Honeyd vs Msblast.ext.2003.
  [7]Lockwood JW, Moscola J,Kulig M, Reddick D, Brooks T. Internet worm and virus protection in dynamically reconfigurable hardware. In:Proc. Of the ACM CCS Workshop on repid malcode (WORM 2003).Washington;military and Aerospace Programmable Logic Device(MAPLD),2003.
  [8]Bace, R. and P.Mell, Intrusion Detection Systems, http://csrc.nist.gov/publications/nistpubs/800-31/sp800-31.pdf, 2001.
  [9]Shoch,John F,Jon AH. The worm programs early experience with a distributed computation. Communications of the ACM,1982,25.
  [10]Zou CC, Gao L, Gong W, Towsley D. Monitoring and early warning for Internet worms. Technical Repor, TR-CSE-03-01, Electrical and Computer Engineering Department, University of Massachusetts, 2003.
  [11]Liston T. Welcome to my tarpit-The tarcical and strategic use of Labrea. 2001. http://www.labreatechnologies.com/LaBrea_Tactics_And_Strategy.pdf.
  本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
越来越多的研究表明,全球变暖和气候变化是气候周期性波动和人类活动引起温室效应共同作用的结果,并对人类的可持续发展造成了日益严峻的威胁。在此背景下,温室气体的全球减排行
Linux是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用unux系统的用户,也给黑客提供了入侵的便利.本文首先介绍了文件目录、文件权限及用户和组标识等
汇率和价格水平作为一个国家货币对外和对内价值的表现,相互之间有着密切的联系。自20世纪80年代开始,汇率传递问题成为了国际宏观经济学研究领域的热点问题之一。从理论的角度
期刊
摘要:网络安全越来越受到人们的重视,本文结合笔者在校园网络管理的一些经验体会,从目前校园网络中普遍存在的安全问题和校园网络安全解决方案两大方面,对校园网的安全谈了自己的看法和策略,供大家参考。  关键词:校园网;网络安全;网络管理  中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)06-11545-02    1 引言  随着“校校通”工程、教育城域网的深入开展,许多
由于内部人交易有可能损害证券市场赖以生存的“公平、公正、公开”制度基础,因此内部人交易问题一直以来都是市场内外人士关注的焦点。2006年版《证券法》和《公司法》实施
摘要:本文主要介绍了网络负载平衡的三种实现方法,重点叙述了各种方法的系统要求和设计配置过程,并从实际网络架设的角度分析了三种方法的优点及缺点。服务器架设过程中选择负载平衡技术可以以本文为参考。  关键词:计算机;网络;网络负载平衡;网络地址转换;域名解析;Windows 2003 Server  中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)06-11548-01 
石油作为现代社会最重要的初级能源和重要的工业原料之一,在经济社会中发挥着重要的保障作用。近年来,我国石油对外依存度逐步升高,作为是世界第二大石油消费国和进口国,国际原油