入侵检测基于虚拟化终端部署的方案
51cto 发表于:12年11月27日 14:53 [转载] DOIT.com.cn
二、入侵检测
(一)、入侵检测概述
入侵检测(Intrusi0n Detection),顾名思义,就是对入侵行为的发觉。他通过对计算机网络或计算机系统中若干关键点收集信息并对其进行分析。从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。
入侵检测可以作为防火墙后的第二道防护措施,通过对网络状况的实时监听,从而能够与对于内部攻击,误操作,外部攻击等进行防护,从而大大提高网络的安全性。具有监视分析用户和系统的行为、审计系统配置和漏洞、评估敏感系统和数据的完整性、识别攻击行为、对异常行为进行统计、自动地收集和系统相关的补丁、进行审计跟踪识别违反安全法规的行为、使用诱骗服务器记录黑客行为等功能,在不影响网络性能的前提下,使系统管理员可以较有效地监视、审计、评估自己的系统。
入侵检测的实现方法有如下几种:
1.基于日志和审计数据的入侵检测
针对单一的主机,可以使用对于主机的审计数据和系统的运行日志来发现攻击的发生。检测系统一般建立于待检测的主机上,这种检测方式必须保证审计数据和运行日志是安全并且可靠的。并且更加攻击方式和审计数据和日志的组织方式定义规则。
由于日志是系统运行时自动产生以纪录系统运行状态的文档,因此系统管理员往往可以通过分析日志得出系统发生了什么。然而在系统的高速运行下,日志的纪录数目属于高速增长中,海量的日志纪录使得管理员无法有效的分析日志,而标准的日志功能并不能自动检查过滤日志以提供给管理员需要的信息。而基于审计数据和日志的入侵检测系统则可以自动分析即时增长的数据并提供给管理员分析的结果,通过系统自动处理或者管理员手动处理以阻止非法攻击。
这种方式的弱点也是显而易见的。
1)攻击者可以试图获取到更高的权限来控制改变审计数据和运行日志
2)不能通过检测审计数据和运行日志得出网络欺骗攻击。
因此我们认为基于日志的入侵检测不是一个安全系数高的自动防御方案,其适用于一般的服务器安全防护以及作为服务器管理员分析服务器运行情况的补充。
2.基于网络数据流监听的入侵检测
这种人侵检测是指分布于网络线路上,被动的无声息的接受其所需要的报文,对所收集来的报文,入侵检测系统根据提取的特征值和对应的规则库,根据智能匹配方法判断报文是否反映了某种入侵行为,然后决定是否进行报警或者适当的防卫或者反击。
由于入侵检测系统需要分布在网络环境中进行监听,因此可以有两种方式接入到被保护的网络中。
1)将入侵检测系统分布配置在网络中的每一个单机节点中,通过检测每个单机进出的网络数据流。并进行汇总判断以检测整个网络上的异常现象。
2)以分布式检测网络的形式将各入侵检测系统分布式布设在受保护网络的各被保护网段的网关处,通过对网关数据报的分析得出整个网络的状况。用于检测整个单一网络上的异常现象。
通过对网络流数据进行监听以检测攻击,这种方式的核心就在于数据包的截获和分析。入侵检测系统通过截取网络流中的数据包,得到网络中系统的运行信息,用户信息,和操作信息等等。然后根据设定好的规则进行分析。但是基于网络数据流监听的入侵检测都面临着一个问题。由于数据包需要经过入侵检测系统的过滤,因此入侵检测系统的效率直接对网络产生影响 特别是随着网络技术的发展,现在网络中的通行流量已经越来越大。入侵检测系统必须有效率的处理1000M 甚至更大的数据流并且不会对网络通信造成明显影响。
(二)、基于大流量网络的入侵检测方案
经过调查。在网络运行中网络数据流往往是波动的,在一个较长的时间段内,数据量的大小是变化的,网络中不会时时刻刻都存在大数据量的流动。而由于网络通信往往是基于交互的,通信的双方一般都要经历一次的发送接收的过程,因此本文基于以上现状提出一种延迟异步的数据量处理方案以缓解大数据流对于入侵检测系统的压力。
1.对于第一次通过数据检查系统的数据包,入侵检测系统为这个数据包标记上ID并记录,然后无论这个数据包是否经过分析都直接转发至目标计算机上。
2.入侵检测系统按照记录中的顺序分析处理数据包后将数据包的分析结果根据其ID记录至查询系统。
3.目标计算机接收到并准备处理带有标记ID的数据包时,根据其ID向查询系统询问其安全性。如果查询系统返回安全的提示则执行这个数据包,如果查询系统返回攻击信息则将数据包提交给处理系统,在得不到查询系统答复未处理时挂起这个数据包操作这种方案的优点如下:
1.不会在网络繁忙时由于入侵检测系统的分析处理而导致网络延迟甚至堵塞
2.由于网络的流量处于波动中,入侵检测系统可以在流量小的时候处理大流量时为处理完的信息。而不会造成大流量时不堪重负。小流量时空闲的情况。提高了系统的效率。
3.由于网络通信的延迟和每个节点对于数据处理顺序存在调度机制。数据不一定会在节点接收到的时候就被马上处理,因此当节点提交查询的时候,这个数据包往往是已经分析完毕的,因此这种方式对于节点的数据处理影响是比较小的。
结合虚拟化技术的入侵检测系统
由于虚拟化技术模拟了程序的运行环境,因此完全可以把每个虚拟环境看成网络中的一个节点。
(三)、结合虚拟化的入侵检测方案
结合虚拟化可以改进之前提出的延迟异步方案如下:
其1.2步相同
3.虚拟环境中的程序向查询系统提交查询,如果查询系统返回安全的提示则执行这个数据包,如果查询系统返回攻击信息则将数据包提交给处理系统,如果查询系统答复未处理则不等待直接执行这个数据包,并回馈给入侵检测系统这个ID数据包执行时间。
4.数据包的执行结果如果有反馈信息则标上和执行数据包同样的ID发给入侵检测系统,若入侵检测系统已分析完毕这个ID的数据包是合法的则通过,否则则截留这个数据包。如果还未分析则挂起这个数据包等待分析。
5.若检测系统检测出某个非法攻击数据包。并且这个数据包在X时已经被K虚拟环境执行,则通知虚拟环境K回退到X时。并提交警告给管理人员。
结合虚拟环境后,虚拟环境中的程序可以在不等待入侵检测系统的数据包分析反馈的时候就预先执行数据包。如果执行的是非法数据包则进行系统回退。在日常运行中,提高了大流量期间的运行效率。
综上所述,我们可以使用虚拟化技术封闭程序的运行环境,消除程序间的相互影响。并且把外部攻击也局限在某一个封闭虚拟环境中。通过入侵检测,我们可以及时的发现并且解决网络中的异常,并且通过延迟异步方案和与虚拟化结合的的异步方案可以一定程度上提高入侵检测在大流量网络中的效率。