论文部分内容阅读
摘要:入侵检测系统作为一种安全辅助系统,是PPDR模型的有机部分之一。目前的入侵检测技术仍然处于发展阶段,只能针对某些特定的或已知的入侵行为进行检测,误报率高,性能一般。本文对基于协同性的网络入侵检测系统进行了分析,设计了一个高效的入侵检测系统,对其理论框架核检测体系模型进行了构建。
关键词:协同性;入侵检测系统;网络安全
中图分类号:TP393文献标识码:A文章编号:1007-9599 (2010) 14-0000-02
Synergy-based Network Intrusion Detection System Analysis and Design
Qu Xiaoning
(Hunan Changsha Trade&Tourism Vocational College,Changsha410004,China)
Abstract:Intrusion detection system as a safety support system,is an organic part of the PPDR model.Current intrusion detection technology is still in development stage,only for some specific or known intrusion detection,false alarm rate,performance in general.In this paper,based on interoperability of network intrusion detection system is analyzed,designed a highly efficient intrusion detection system,its theoretical framework of the nuclear detection system model was constructed.
Keywords:Synergy;Intrusion detection system;Network security
一、引言
入侵检测是网络安全系统中常常使用的一种技术,能够对来自网络内、外部的攻击和误操作进行防护,对入侵行为进行实时拦截和响应,保护网络系统。目前的入侵检测技术仍然处于发展阶段,尤其是国内产品,大多数属于基于SNORT的单包模式匹配检测方法开发,没能在分析检测技术上获得突破。这种方法的缺点是只能针对某些特定的或已知的入侵行为进行检测,误报率高,性能一般。本文拟基于协同性,并兼顾集成性、选择性,对现有的入侵检测技术进行优化,设计一个高效的入侵检测系统,从而提升网络的安全性能。
二、基于协同性的网络入侵检测系统功能分析
入侵检测系统能够实时保护内部攻击、外部攻击和误操作,能够提前对网络攻击进行拦截和入侵响应,属于主动的安全防护技术。
网络信息安全环境是复杂的,有效的入侵检测系统设计必须符合的原则包括:(1)内嵌式:这种工作模式可以保证系统真正直线实时响应,防御攻击;(2)可靠性:入侵检测系统需要极低的故障率,并在系统故障时能够提供失效开放功能;(3)低延时:内嵌式设备应尽快处理数据包,力求不影响系统整体延迟;(4)高性能:数据包的处理和入侵行为监测的次数不应对设备整体性能造成明显影响;(5)高准确率:入侵特征集必须有较高的质量,避免误报;(6)细粒度:应该能够区分各类恶意通信,并迅速确定阻断的级别;(7)告警和取证能力。
三、系统框架设计
网络入侵检测系统的结构如下图所示,框架分为两大部分:训练阶段和检测阶段。在训练阶段,将经由训练数据分析而得到的模式规则存储在数据库中,检测阶段则通过数据库的规则来分析网络上捕获的数据,并将结果传输至响应模块。
四、入侵检测系统具体模块设计
(一)系统分析模块
系统分析模块的功能包括三部分:协议解码、协议分析以及数据预处理。
协议解码的功能是将TCP/IP协议转换为与入侵检测系统相匹配的编码形式,从而增加检测入侵攻击行为的准确率。
协议分析模块结合网络攻击行为的特征进行分析,通过数据包捕获、协议分析与命令解析几个流程来判断网络上可能存在的攻击。本文所设计的基于协同性的网络入侵检测系统的协议分析技术与传统的模式匹配技术相比,利用己知结构的通信协议,使系统性能得到提升,减少了误警和漏警。下图为系统的协议分析流程以及协议栈进行封装的流程:
数据预处理模块的主要功能是对捕获的初始数据进行预操作,去除冗余属性,进行数据格式转换等。本文所设计的系统采取与Snort兼容的检测规则来对入侵行为进行描述。将已有的规则知识库与网络攻击特征进行对比,从而辨认攻击行为。在对知识库进行设计时,把多种分析方法同时运用到系统中,达到充分增强现有方法检测能力的目的。
(二)系统响应模块
系统响应模块的功能是对检测到的网络攻击入侵行为进行反应,具体可以分为主动响应和被动相应两种模式。在主动响应模式中,系统在探测到攻击行为时,会自动阻断攻击过程,阻止进一步攻击;被动响应则仅为用户提供探测到攻击的报警信息,由系统管理员来决定怎样进一步阻止攻击的产生,其特点是实时性稍差,单数据维护难度低。本文所设计的系统结合了主动响应和被动相应两种模式,以主动响应去处理模式库中较常见的攻击类型,以被动响应去处理模式库中没有的通过异常算法检测到攻击。
(三)模块间的通信
本文选取多线程技术和进程间的套接字通信机制进行模块间的通信,如图所示:
图中,日志服务程序的功能是代理转发,入侵检测模块与日志服务程序采用域套接字进行本地通信。考虑到日志服务程序与入侵检测模块分属两个不同的进程,因此可以忽略通信加密。数据中心与日志服务程序间属于远程通信,因此,采取面向连接的TCP套接字以保证数据的可靠性。从图中还可看出:服务程序的功能涉及到接收来自入侵检测模块的报警,同时还向远程的数据中心发送报警信息,因此,必须保证两者间的通信同步。而系统内涉及到的域套接字和TCP套接字速率并不相同,所以,本系统采取报警队列的方法,将接收到的报警信息和待发送的数据进行排队,采用线程互斥锁来达到同步。
(四)系统的工作流程
本系统可以工作于WindowsXP平台,并方便系统管理员的维护。系统可以由用户通过设置参数来确定具体的工作模式,在实际创作中,通过消息映射机制,完成对库函数的调用。数据包捕获模块既能够从网络捕获实时的数据,也能够分析存于文件中的数据。在处理数据包时,系统先对网络协议解析函数进行调用,分析所调用的数据包中的分层协议格式字段,并把所得结果存到数据结构Packet。接着,分别调用预处理模块与检测引擎,将当前所捕获的数据包与给定的各种规则进行模式的匹配操作,然后将分析结果综合判定,以确定是否产生了网络入侵。假设所捕获到的某个数据包经过匹配之后符合检测规则,则系统即可结合此规则所关联的具体响应方式,结合输出模块的初始化定义,进行日志记录操作,具体流程如图:
五、系统需要解决的关键技术
(一)系统各个模块间的协作
入侵检测系统各个模块间的协作包括检测模块之间的功能互补或增强,以及数据的共享等等,通过模块间的协作,能够达到各模块单独工作时难以实现的目标和功能。由于采取了分布式结构框架,检测系统间的模块存在异构性,探测器和网络数据在网络中也具有分布的特征,因此,系统应该着重关注模块之间的数据共享和协作方式,通过支持数据的分布式采集以及通用数据接口来达到不同探测器之间能够互操作的目的,同时,综合考虑分布式探测器的组织方式和检测结果的融合技术。此外,由于需要再个模块间共享分布式数据,系统必须支持数据格式的转换。
(二)建立规则知识库
只有建立了适用的规则知识库,才能适应入侵行为不断变化的特点。全面的规则知识库能够适应检测技术发展需要,使检测的能力和效果得到提升。入侵检测系统是通过分类学习程序自动生成规则的,这一模式可以避免手工编码和专家经验的非客观性。应该注意的是,分类学习有两个前提,一是需要有足够多的数据进行训练;二是分析处理中需要的数据特征属性已经得到了确定。这样才能满足入侵训练数据足以表达出所有的网络攻击模式。上述条件如果不满足,就难以对网络攻击中的一些“新鲜”的行为进行辨认和响应。因此,必须对分类学习程序的训练数据进行评估,并随时对训练数据进行优化和更新,直至训练数据的测度达到稳定状态时,再停止新数据的收集。
六、结束语
在网络安全中,入侵检测系统作为一种安全辅助系统,发挥着重要的作用,是PPDR模型的有机部分之一。本文对基于协同性的网络入侵检测系统进行了分析与设计,对其理论框架核检测体系模型进行了构建。在日后的进一步研究和开发中,应着重关注系统设计的细化和完整的实施方案,尤其是建立入侵行为规则库和相应的模式匹配算法,这些问题均有待于进一步完善和解决。
参考文献:
[1]唐谦.基于特征的入侵检测引擎分析与研究.湖南大学,2005
[2]Jack Koziol.Snort入侵检测实用解决方案[M].吴副蜂,孙默,许诚.北京:机械工业出版社,2009
[3]牛少彰.信息安全概论[M].北京:北京邮电大学出版社,2009
作者简介:瞿小宁(1969-),女,籍贯:湖南长沙市,学历:硕士,职称:讲师,单位:长沙商贸旅游职业技术学院,研究方向:计算机网络和数据挖掘。
关键词:协同性;入侵检测系统;网络安全
中图分类号:TP393文献标识码:A文章编号:1007-9599 (2010) 14-0000-02
Synergy-based Network Intrusion Detection System Analysis and Design
Qu Xiaoning
(Hunan Changsha Trade&Tourism Vocational College,Changsha410004,China)
Abstract:Intrusion detection system as a safety support system,is an organic part of the PPDR model.Current intrusion detection technology is still in development stage,only for some specific or known intrusion detection,false alarm rate,performance in general.In this paper,based on interoperability of network intrusion detection system is analyzed,designed a highly efficient intrusion detection system,its theoretical framework of the nuclear detection system model was constructed.
Keywords:Synergy;Intrusion detection system;Network security
一、引言
入侵检测是网络安全系统中常常使用的一种技术,能够对来自网络内、外部的攻击和误操作进行防护,对入侵行为进行实时拦截和响应,保护网络系统。目前的入侵检测技术仍然处于发展阶段,尤其是国内产品,大多数属于基于SNORT的单包模式匹配检测方法开发,没能在分析检测技术上获得突破。这种方法的缺点是只能针对某些特定的或已知的入侵行为进行检测,误报率高,性能一般。本文拟基于协同性,并兼顾集成性、选择性,对现有的入侵检测技术进行优化,设计一个高效的入侵检测系统,从而提升网络的安全性能。
二、基于协同性的网络入侵检测系统功能分析
入侵检测系统能够实时保护内部攻击、外部攻击和误操作,能够提前对网络攻击进行拦截和入侵响应,属于主动的安全防护技术。
网络信息安全环境是复杂的,有效的入侵检测系统设计必须符合的原则包括:(1)内嵌式:这种工作模式可以保证系统真正直线实时响应,防御攻击;(2)可靠性:入侵检测系统需要极低的故障率,并在系统故障时能够提供失效开放功能;(3)低延时:内嵌式设备应尽快处理数据包,力求不影响系统整体延迟;(4)高性能:数据包的处理和入侵行为监测的次数不应对设备整体性能造成明显影响;(5)高准确率:入侵特征集必须有较高的质量,避免误报;(6)细粒度:应该能够区分各类恶意通信,并迅速确定阻断的级别;(7)告警和取证能力。
三、系统框架设计
网络入侵检测系统的结构如下图所示,框架分为两大部分:训练阶段和检测阶段。在训练阶段,将经由训练数据分析而得到的模式规则存储在数据库中,检测阶段则通过数据库的规则来分析网络上捕获的数据,并将结果传输至响应模块。
四、入侵检测系统具体模块设计
(一)系统分析模块
系统分析模块的功能包括三部分:协议解码、协议分析以及数据预处理。
协议解码的功能是将TCP/IP协议转换为与入侵检测系统相匹配的编码形式,从而增加检测入侵攻击行为的准确率。
协议分析模块结合网络攻击行为的特征进行分析,通过数据包捕获、协议分析与命令解析几个流程来判断网络上可能存在的攻击。本文所设计的基于协同性的网络入侵检测系统的协议分析技术与传统的模式匹配技术相比,利用己知结构的通信协议,使系统性能得到提升,减少了误警和漏警。下图为系统的协议分析流程以及协议栈进行封装的流程:
数据预处理模块的主要功能是对捕获的初始数据进行预操作,去除冗余属性,进行数据格式转换等。本文所设计的系统采取与Snort兼容的检测规则来对入侵行为进行描述。将已有的规则知识库与网络攻击特征进行对比,从而辨认攻击行为。在对知识库进行设计时,把多种分析方法同时运用到系统中,达到充分增强现有方法检测能力的目的。
(二)系统响应模块
系统响应模块的功能是对检测到的网络攻击入侵行为进行反应,具体可以分为主动响应和被动相应两种模式。在主动响应模式中,系统在探测到攻击行为时,会自动阻断攻击过程,阻止进一步攻击;被动响应则仅为用户提供探测到攻击的报警信息,由系统管理员来决定怎样进一步阻止攻击的产生,其特点是实时性稍差,单数据维护难度低。本文所设计的系统结合了主动响应和被动相应两种模式,以主动响应去处理模式库中较常见的攻击类型,以被动响应去处理模式库中没有的通过异常算法检测到攻击。
(三)模块间的通信
本文选取多线程技术和进程间的套接字通信机制进行模块间的通信,如图所示:
图中,日志服务程序的功能是代理转发,入侵检测模块与日志服务程序采用域套接字进行本地通信。考虑到日志服务程序与入侵检测模块分属两个不同的进程,因此可以忽略通信加密。数据中心与日志服务程序间属于远程通信,因此,采取面向连接的TCP套接字以保证数据的可靠性。从图中还可看出:服务程序的功能涉及到接收来自入侵检测模块的报警,同时还向远程的数据中心发送报警信息,因此,必须保证两者间的通信同步。而系统内涉及到的域套接字和TCP套接字速率并不相同,所以,本系统采取报警队列的方法,将接收到的报警信息和待发送的数据进行排队,采用线程互斥锁来达到同步。
(四)系统的工作流程
本系统可以工作于WindowsXP平台,并方便系统管理员的维护。系统可以由用户通过设置参数来确定具体的工作模式,在实际创作中,通过消息映射机制,完成对库函数的调用。数据包捕获模块既能够从网络捕获实时的数据,也能够分析存于文件中的数据。在处理数据包时,系统先对网络协议解析函数进行调用,分析所调用的数据包中的分层协议格式字段,并把所得结果存到数据结构Packet。接着,分别调用预处理模块与检测引擎,将当前所捕获的数据包与给定的各种规则进行模式的匹配操作,然后将分析结果综合判定,以确定是否产生了网络入侵。假设所捕获到的某个数据包经过匹配之后符合检测规则,则系统即可结合此规则所关联的具体响应方式,结合输出模块的初始化定义,进行日志记录操作,具体流程如图:
五、系统需要解决的关键技术
(一)系统各个模块间的协作
入侵检测系统各个模块间的协作包括检测模块之间的功能互补或增强,以及数据的共享等等,通过模块间的协作,能够达到各模块单独工作时难以实现的目标和功能。由于采取了分布式结构框架,检测系统间的模块存在异构性,探测器和网络数据在网络中也具有分布的特征,因此,系统应该着重关注模块之间的数据共享和协作方式,通过支持数据的分布式采集以及通用数据接口来达到不同探测器之间能够互操作的目的,同时,综合考虑分布式探测器的组织方式和检测结果的融合技术。此外,由于需要再个模块间共享分布式数据,系统必须支持数据格式的转换。
(二)建立规则知识库
只有建立了适用的规则知识库,才能适应入侵行为不断变化的特点。全面的规则知识库能够适应检测技术发展需要,使检测的能力和效果得到提升。入侵检测系统是通过分类学习程序自动生成规则的,这一模式可以避免手工编码和专家经验的非客观性。应该注意的是,分类学习有两个前提,一是需要有足够多的数据进行训练;二是分析处理中需要的数据特征属性已经得到了确定。这样才能满足入侵训练数据足以表达出所有的网络攻击模式。上述条件如果不满足,就难以对网络攻击中的一些“新鲜”的行为进行辨认和响应。因此,必须对分类学习程序的训练数据进行评估,并随时对训练数据进行优化和更新,直至训练数据的测度达到稳定状态时,再停止新数据的收集。
六、结束语
在网络安全中,入侵检测系统作为一种安全辅助系统,发挥着重要的作用,是PPDR模型的有机部分之一。本文对基于协同性的网络入侵检测系统进行了分析与设计,对其理论框架核检测体系模型进行了构建。在日后的进一步研究和开发中,应着重关注系统设计的细化和完整的实施方案,尤其是建立入侵行为规则库和相应的模式匹配算法,这些问题均有待于进一步完善和解决。
参考文献:
[1]唐谦.基于特征的入侵检测引擎分析与研究.湖南大学,2005
[2]Jack Koziol.Snort入侵检测实用解决方案[M].吴副蜂,孙默,许诚.北京:机械工业出版社,2009
[3]牛少彰.信息安全概论[M].北京:北京邮电大学出版社,2009
作者简介:瞿小宁(1969-),女,籍贯:湖南长沙市,学历:硕士,职称:讲师,单位:长沙商贸旅游职业技术学院,研究方向:计算机网络和数据挖掘。