论文部分内容阅读
摘 要:针对目前入侵检测系统不能适应异构网络环境、缺乏协同响应的不足,给出了一种分布式入侵检测与响应协作模型,基于此模型分析了分布式网络病毒检测系统Snort,并详细讨论了系统的相关特性和功能架构。所设计的系统能够对大型分布异构网络进行有效的入侵检测。对网络入侵检测系统的设计有一定参考价值,对分布式网络安全问题是一个有益的探索。
关键词:病毒检测分布式分布式网络机制分析系统实现
中图分类号:TP3 文献标识码:A 文章编号:1674-098X(2011)02(b)-0029-02
1 引言
随着信息技术的发展,计算机成为社会活动中的必不可少的工具,大量重要的信息存储在系统中,同时,计算机病毒形式及传播途径日趋多样化,网络防病毒工作已不再是简单的单台计算机病毒的检测及清除,需要建立多层次的、立体的病毒防护体系,这些都使得信息安全问题日益严重。究其原因,主要是网络攻击技术不断发展变化,并呈现出一些新的特点,而原有的安全解决方案不能迅速地适应这些新特点,导致网络的安全保障技术相对落后于网络攻击技术,从而出现防不胜防的尴尬局面。所以有必要引入新的技术和思想,来改进原有的安全解决方案。因为,在网络中防止病毒的攻击并不是保护某一台服务器或客户端计算机,而是从客户端计算机到服务器到网关以至于每台不同业务应用服务器的全面保护,保证整个网络不受计算机病毒的侵害。
2 网络病毒概念及特点
病毒指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。网络病毒指:在网络上传播的病毒,在网络环境下,网络病毒除了具有可传播性、可执行性、破坏性等计算机病毒的共性外,还具有一些新的特点:(1)感染速度快。在单机环境下,病毒只能通过软盘从一台计算机带到另一台,而在网络中则可以通过网络通讯机制进行迅速扩散。根据测定,针对一台典型的PC网络在正常使用情况,只要有一台工作站有病毒,就可在几十分钟内将网上的数百台计算机全部感染。(2)扩散面广。由于病毒在网络中扩散非常快,扩散范围很大,不但能迅速传染局域网内所有计算机,还能通过远程工作站将病毒在一瞬间传播到千里之外。(3)传播的形式复杂多样。计算机病毒在网络上一般是通过“工作站 服务器 工作站”的途径进行传播的,但传播的形式复杂多样。(4)难于彻底清除。单机上的计算机病毒有时可通过删除带毒文件。低级格式化硬盘等措施将病毒彻底清除,而网络中只要有一台工作站未能消毒干净就可使整个网络重新被病毒感染,甚至刚刚完成清除工作的一台工作站就有可能被网上另一台带毒工作站所感染。因此,仅对工作站进行病毒杀除,并不能解决病毒对网络的危害。(5)破坏性大。网络上病毒将直接影响网络的工作,轻则降低速度,影响工作效率,重则使网络崩溃,破坏服务器信息,使多年工作毁于一旦。(6)可激发性:网络病毒激发的条件多样化,可以是内部时钟、系统的日期和用户名,也可以是网络的一次通信等。一个病毒程序可以按照病毒设计者的要求,在某个工作站上激发并发出攻击。(7)潜在性;网络一旦感染了病毒,即使病毒已被清除,其潜在的危险也是巨大的。根据统计,病毒在网络上被清除后,85%的网络在30天内会再次感染。了解网络病毒特点后,我们就可以根据这些特点采取相应的措施做好网络病毒的预防工作,减少病毒对网络造成的危害。
3 分布式网络病毒检测机制
网络病毒入侵检测的定义为:发现非授权使用计算机的个体(如“黑客”)或计算机系统的合法用户滥用其访问系统的权利以及企图实施非法行为的个体。分布式网络病毒检测执行的主要任务包括:监视、分析用户及系统活动;审计系统构造和弱点;识别、反映已知进攻的活动模式,向相关人士报警;统计分析异常行为模式;评估重要系统和数据文件的完整性;审计、跟踪管理操作系统,识别用户违反安全策略的行为。入侵检测一般分为三个步骤:信息收集、数据分析、响应。分布式网络病毒检测目的:(1)识别入侵者;(2)识别入侵行为;(3)检测和监视以实施的入侵行为;(4)为对抗入侵提供信息,阻止入侵的发生和事态的扩大; 在分布式入侵检测中,各部件间有时需要互相协作来完成较复杂的检测任务,因此需要一种通用且高效的入侵检测协作机制。本文提出了一个分布式入侵检测与响应协作模型(图1)。
分布式入侵检测的通用模型有四个组件:事件产生器、事件分析器、响应单元、事件数据库。
(1)事件产生器负责原始数据采集,对数据流和日志文件进行追踪,将搜集到的原始数据转换为事件,提供给系统其他部分。(2)事件分析器接收事件并进行分析,判断为入侵行为或异常现象后转换为警告信息。(3)事件数据库存放各种中间和最终数据,响应单元根据警告信息作出反应,是入侵检测系统中的主动武器。
4 分布式网络病毒检测系统Snort
Snort是一个免费的、开放源代码的基于网络的轻量级网络入侵检测系统,具有很好的配置型和可移植性。另外,它也可以用来截获网络中的数据包并记录数据包日志。Snort多适用于小网络段使用,最初设计用于Linux/Unix操作系统,且其设计得易于插入和扩充进新的规则以对付各种新出现的威胁。
4.1 Snort的相关特性
1)Snort具有实时数据流量分析和检测IP网络数据包的能力,能够进行Protocol分析,对内容进行搜索/匹配。2)Snort的报警机制很丰富,如syslog、用户指定的文件、一个Unix套接字,以及使用SAMBAProtocol向客户程序发出警告消息。3)Snort能够进行Protocol分析,内容的搜索和匹配,目前Snort可以对多种Protocol进行解析能检测多种方式的攻击和探测,如缓冲区溢出、端口扫描CGI攻击、SMB探测、探测操作系统指纹特征的企图等。4)Snort的日志格式可以是tcp dump式的二进制格式,也可以解码成ASCⅡ字符形式,便于用户尤其是新手检查。5)Snort有很好的扩展性,由于其规则描述语言简单,能够快速对新的网络攻击作出反应。6)Snort支持插件,可以使用具有特定功能的报告、检测子系统插件对其功能进行扩展。7)Snort的可移植性好,它有极佳的跨平台性,支持Linux,Solaris,BSD,IRIX,HP-UX,Windows系列,ScoOpenserver,Unixware等。8)Snort遵循公共通用许可证GPL。Snort遵循GPL,所以任何企业、个人、组织都可以免费使用它作为自己的NIDS。
4.2 Snort的功能架构
Snort可提供Protocol分析、内容查找和匹配,可以用来检测各种攻击和探测,如缓冲区溢出、隐蔽端口扫描、CGI攻击、SMB探测、操作系统指纹识别尝试等。其中的包嗅探、数据包记录和入侵检测是其重要功能。Snort的架构决定了它的各种功能,构架图见图2所示。而Snort架构由以下4个基本模块构成:(1)嗅探器;(2)预处理器;(3)检测引擎;(4)输出模块。Snort的最简单形式就是包嗅探器,但当Snort获取到数据包后会将数据包传送到与处理模块,然后通过检测引擎判断这些数据包是否违反了某些预定义规则(图2)。
Snort的预处理器、检测引擎和报警模块都以插件形式存在。插件就是符合Snort接口定义的程序,这些程序曾经是Snort内核代码的一部分,现在独立出来使内核部分的修改变得简单可靠。包嗅探器用来监听数据网络,可以是硬件也可以是软件。一个网络嗅探器使应用程序或者硬件设备能够监听网络上的数据流。互联网多是IP数据流,在本地局域网或传统网络中多是IPX或AppleTalk数据流。具体来说,包嗅探器不仅可以进行网络分析及错误处理、性能分析及基准测量、监听明文密码及其他感兴趣的数据。预处理器得到原始数据包,使用不同的插件检测数据包,这些插件检测数据包的某些特定行为。一旦数据包被确认具有某些特定行为,就会被送到检测模块。插件可以根据需要在与处理层被启用或停用,从而更具网络优化级被分配计算资源并生成报警,插件是入侵检测系统的一个非常有用的功能。检测引擎接收预处理器及其插件穿送来的数据,然后根据一系列的规则对数据进行检测。如果这些规则和数据包中的数据相匹配,就将数据包传送给报警处理器。当数据通过检测引擎后,Snort会对其数据进行不同的处理。如果数据和检测引擎的规则相匹配,Snort就会触发报警。报警可以通过网络连接、UNIX的套接字或Windows Popup(SMB),甚至SNMP陷阱机制发送到日志文件。也可以使用Snort的一些附加工具来通过Web接口显示日志内容,包括一些perl、PHP和Web服务器的插件等。日志可以存储在文本文件中。报警和日志都可以记录到数据库中,如MySQL或Postgree等。另外,Snort报警可以通过系统日志工具如SWATCH发送电子邮件及时通知系统管理员,是系统不需要由专人24小时监控。
5 结语
本文针对目前入侵检测系统不能适应异构网络环境、缺乏协同响应的不足,给出了一种分布式入侵检测与响应协作模型,基于此模型分析了分布式网络病毒检测系统Snort,并详细讨论了系统的相关特性和功能架构。所设计的系统能够对大型分布异构网络进行有效的入侵检测。对网络入侵检测系统的设计有一定参考价值,对分布式网络安全问题是一个有益的探索。
参考文献
[1] SPAFFORD E.Crisis and After Math[J].Communications of the ACM,1989,32(6):678-786.
[2] STEFAN A.Intrusion Detection Systems:A Survey and Taxonomy[OL]. http://www.cs.chalmers.se/~sax/pub/,2004-6-9.
[3] 段海新,吴建平.分布式协同入侵检测—系统结构设计与实现问题[J].小型微型计算机系统,2001,22(6):646-560.
[4] 汪芸.CORBA技术及其应用[M].南京:东南大学出版社,1999.
[5] 吴晓南.基于智能的分布式网络入侵监测系统[D].西安:西北大学计算机科学系,2003.
[6] 龚俭,董庆,陆晟.面向入侵检测的网络安全检测实现模型[J].小型微型计算机系统,2001,22(2):145-148.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
关键词:病毒检测分布式分布式网络机制分析系统实现
中图分类号:TP3 文献标识码:A 文章编号:1674-098X(2011)02(b)-0029-02
1 引言
随着信息技术的发展,计算机成为社会活动中的必不可少的工具,大量重要的信息存储在系统中,同时,计算机病毒形式及传播途径日趋多样化,网络防病毒工作已不再是简单的单台计算机病毒的检测及清除,需要建立多层次的、立体的病毒防护体系,这些都使得信息安全问题日益严重。究其原因,主要是网络攻击技术不断发展变化,并呈现出一些新的特点,而原有的安全解决方案不能迅速地适应这些新特点,导致网络的安全保障技术相对落后于网络攻击技术,从而出现防不胜防的尴尬局面。所以有必要引入新的技术和思想,来改进原有的安全解决方案。因为,在网络中防止病毒的攻击并不是保护某一台服务器或客户端计算机,而是从客户端计算机到服务器到网关以至于每台不同业务应用服务器的全面保护,保证整个网络不受计算机病毒的侵害。
2 网络病毒概念及特点
病毒指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。网络病毒指:在网络上传播的病毒,在网络环境下,网络病毒除了具有可传播性、可执行性、破坏性等计算机病毒的共性外,还具有一些新的特点:(1)感染速度快。在单机环境下,病毒只能通过软盘从一台计算机带到另一台,而在网络中则可以通过网络通讯机制进行迅速扩散。根据测定,针对一台典型的PC网络在正常使用情况,只要有一台工作站有病毒,就可在几十分钟内将网上的数百台计算机全部感染。(2)扩散面广。由于病毒在网络中扩散非常快,扩散范围很大,不但能迅速传染局域网内所有计算机,还能通过远程工作站将病毒在一瞬间传播到千里之外。(3)传播的形式复杂多样。计算机病毒在网络上一般是通过“工作站 服务器 工作站”的途径进行传播的,但传播的形式复杂多样。(4)难于彻底清除。单机上的计算机病毒有时可通过删除带毒文件。低级格式化硬盘等措施将病毒彻底清除,而网络中只要有一台工作站未能消毒干净就可使整个网络重新被病毒感染,甚至刚刚完成清除工作的一台工作站就有可能被网上另一台带毒工作站所感染。因此,仅对工作站进行病毒杀除,并不能解决病毒对网络的危害。(5)破坏性大。网络上病毒将直接影响网络的工作,轻则降低速度,影响工作效率,重则使网络崩溃,破坏服务器信息,使多年工作毁于一旦。(6)可激发性:网络病毒激发的条件多样化,可以是内部时钟、系统的日期和用户名,也可以是网络的一次通信等。一个病毒程序可以按照病毒设计者的要求,在某个工作站上激发并发出攻击。(7)潜在性;网络一旦感染了病毒,即使病毒已被清除,其潜在的危险也是巨大的。根据统计,病毒在网络上被清除后,85%的网络在30天内会再次感染。了解网络病毒特点后,我们就可以根据这些特点采取相应的措施做好网络病毒的预防工作,减少病毒对网络造成的危害。
3 分布式网络病毒检测机制
网络病毒入侵检测的定义为:发现非授权使用计算机的个体(如“黑客”)或计算机系统的合法用户滥用其访问系统的权利以及企图实施非法行为的个体。分布式网络病毒检测执行的主要任务包括:监视、分析用户及系统活动;审计系统构造和弱点;识别、反映已知进攻的活动模式,向相关人士报警;统计分析异常行为模式;评估重要系统和数据文件的完整性;审计、跟踪管理操作系统,识别用户违反安全策略的行为。入侵检测一般分为三个步骤:信息收集、数据分析、响应。分布式网络病毒检测目的:(1)识别入侵者;(2)识别入侵行为;(3)检测和监视以实施的入侵行为;(4)为对抗入侵提供信息,阻止入侵的发生和事态的扩大; 在分布式入侵检测中,各部件间有时需要互相协作来完成较复杂的检测任务,因此需要一种通用且高效的入侵检测协作机制。本文提出了一个分布式入侵检测与响应协作模型(图1)。
分布式入侵检测的通用模型有四个组件:事件产生器、事件分析器、响应单元、事件数据库。
(1)事件产生器负责原始数据采集,对数据流和日志文件进行追踪,将搜集到的原始数据转换为事件,提供给系统其他部分。(2)事件分析器接收事件并进行分析,判断为入侵行为或异常现象后转换为警告信息。(3)事件数据库存放各种中间和最终数据,响应单元根据警告信息作出反应,是入侵检测系统中的主动武器。
4 分布式网络病毒检测系统Snort
Snort是一个免费的、开放源代码的基于网络的轻量级网络入侵检测系统,具有很好的配置型和可移植性。另外,它也可以用来截获网络中的数据包并记录数据包日志。Snort多适用于小网络段使用,最初设计用于Linux/Unix操作系统,且其设计得易于插入和扩充进新的规则以对付各种新出现的威胁。
4.1 Snort的相关特性
1)Snort具有实时数据流量分析和检测IP网络数据包的能力,能够进行Protocol分析,对内容进行搜索/匹配。2)Snort的报警机制很丰富,如syslog、用户指定的文件、一个Unix套接字,以及使用SAMBAProtocol向客户程序发出警告消息。3)Snort能够进行Protocol分析,内容的搜索和匹配,目前Snort可以对多种Protocol进行解析能检测多种方式的攻击和探测,如缓冲区溢出、端口扫描CGI攻击、SMB探测、探测操作系统指纹特征的企图等。4)Snort的日志格式可以是tcp dump式的二进制格式,也可以解码成ASCⅡ字符形式,便于用户尤其是新手检查。5)Snort有很好的扩展性,由于其规则描述语言简单,能够快速对新的网络攻击作出反应。6)Snort支持插件,可以使用具有特定功能的报告、检测子系统插件对其功能进行扩展。7)Snort的可移植性好,它有极佳的跨平台性,支持Linux,Solaris,BSD,IRIX,HP-UX,Windows系列,ScoOpenserver,Unixware等。8)Snort遵循公共通用许可证GPL。Snort遵循GPL,所以任何企业、个人、组织都可以免费使用它作为自己的NIDS。
4.2 Snort的功能架构
Snort可提供Protocol分析、内容查找和匹配,可以用来检测各种攻击和探测,如缓冲区溢出、隐蔽端口扫描、CGI攻击、SMB探测、操作系统指纹识别尝试等。其中的包嗅探、数据包记录和入侵检测是其重要功能。Snort的架构决定了它的各种功能,构架图见图2所示。而Snort架构由以下4个基本模块构成:(1)嗅探器;(2)预处理器;(3)检测引擎;(4)输出模块。Snort的最简单形式就是包嗅探器,但当Snort获取到数据包后会将数据包传送到与处理模块,然后通过检测引擎判断这些数据包是否违反了某些预定义规则(图2)。
Snort的预处理器、检测引擎和报警模块都以插件形式存在。插件就是符合Snort接口定义的程序,这些程序曾经是Snort内核代码的一部分,现在独立出来使内核部分的修改变得简单可靠。包嗅探器用来监听数据网络,可以是硬件也可以是软件。一个网络嗅探器使应用程序或者硬件设备能够监听网络上的数据流。互联网多是IP数据流,在本地局域网或传统网络中多是IPX或AppleTalk数据流。具体来说,包嗅探器不仅可以进行网络分析及错误处理、性能分析及基准测量、监听明文密码及其他感兴趣的数据。预处理器得到原始数据包,使用不同的插件检测数据包,这些插件检测数据包的某些特定行为。一旦数据包被确认具有某些特定行为,就会被送到检测模块。插件可以根据需要在与处理层被启用或停用,从而更具网络优化级被分配计算资源并生成报警,插件是入侵检测系统的一个非常有用的功能。检测引擎接收预处理器及其插件穿送来的数据,然后根据一系列的规则对数据进行检测。如果这些规则和数据包中的数据相匹配,就将数据包传送给报警处理器。当数据通过检测引擎后,Snort会对其数据进行不同的处理。如果数据和检测引擎的规则相匹配,Snort就会触发报警。报警可以通过网络连接、UNIX的套接字或Windows Popup(SMB),甚至SNMP陷阱机制发送到日志文件。也可以使用Snort的一些附加工具来通过Web接口显示日志内容,包括一些perl、PHP和Web服务器的插件等。日志可以存储在文本文件中。报警和日志都可以记录到数据库中,如MySQL或Postgree等。另外,Snort报警可以通过系统日志工具如SWATCH发送电子邮件及时通知系统管理员,是系统不需要由专人24小时监控。
5 结语
本文针对目前入侵检测系统不能适应异构网络环境、缺乏协同响应的不足,给出了一种分布式入侵检测与响应协作模型,基于此模型分析了分布式网络病毒检测系统Snort,并详细讨论了系统的相关特性和功能架构。所设计的系统能够对大型分布异构网络进行有效的入侵检测。对网络入侵检测系统的设计有一定参考价值,对分布式网络安全问题是一个有益的探索。
参考文献
[1] SPAFFORD E.Crisis and After Math[J].Communications of the ACM,1989,32(6):678-786.
[2] STEFAN A.Intrusion Detection Systems:A Survey and Taxonomy[OL]. http://www.cs.chalmers.se/~sax/pub/,2004-6-9.
[3] 段海新,吴建平.分布式协同入侵检测—系统结构设计与实现问题[J].小型微型计算机系统,2001,22(6):646-560.
[4] 汪芸.CORBA技术及其应用[M].南京:东南大学出版社,1999.
[5] 吴晓南.基于智能的分布式网络入侵监测系统[D].西安:西北大学计算机科学系,2003.
[6] 龚俭,董庆,陆晟.面向入侵检测的网络安全检测实现模型[J].小型微型计算机系统,2001,22(2):145-148.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文