漫谈IDS的虚拟化发展


一、IDS为什么要虚拟化
入侵检测系统(IDS)是用来检测黑客入侵的分析工具。早期的方法是对系统日志进行监测与分析(主机IDS),后来因为日志容易被黑客“抹去”,而直接对流量镜像监测(网络IDS)。随着攻守双方的博弈,IDS的发展出现了两个技术瓶颈:一是由于黑客躲避技术的发展,发现黑客的“踪迹”越来越难了,最常使用的“特征识别”需要建立攻击者的“指纹库”,随着时间的推移,指纹库越来越庞大,比对一遍的时间自然就长了,在线监测设备往往只能捡最常用的特征比对,而忽略“不常用”的特征,入侵者“漏网”就是很平常的事了;二是检测的准确程度,因为单点取样,不能跨引擎分析,信息不足而产生大量的疑似“安全事件”,需要安全维护人员人工处理,因此,深度分析、多线索智能关联, 减少疑似事件的数量是IDS发展的必然之路。
要解决这两个难点,大幅度增加IDS的处理能力都是必须的。靠多核CPU是一种方式,但面对网络带宽的日益更新,多核带来的增加是有限的。于是,人们想到了虚拟化:人们可以把多台普通的PC服务器虚拟化,成为一个大的逻辑服务器,能力堪比一台巨型计算机,怎么就不能把多台IDS变成一台巨型IDS呢?
当然,敦促IDS变革是另一个冲击波是云计算的兴起,因为云计算服务模式把不同用户的多种业务集中在一起,这个业务的合法者可能是另一个业务的入侵者,IDS需要根据不同用户的需求进行安全监测,业务边界模糊了,用户对IDS的需要,希望是按需使用。
总之,在云计算中,用户的业务“跑”在虚拟机中,不再对应具体的哪台服务器或存储设备,虚拟机之间的流量不再一定要经过网络设备,网络IDS已经找不到自己的监控位置了。
 
二、IDS如何虚拟化
    虚拟化的目标是如同使用“自来水”一样调用IDS,也就是说根据用户的流量动态调整IDS的处理能力。一种方式,是把IDS变成调用程序(纯软件),嵌入到用户的虚拟机中,象防病毒软件一样运行在用户的操作系统上,这种方式占用虚拟机的资源,并且可以被入侵者“穿透”或“卸载”;另一种方式,就是把用户的流量,在处理前导引导给IDS,净化后再继续业务处理,这就是我们说的虚拟IDS资源池。

虚拟IDS资源池方式,虚拟化分为两步走:
1.         多虚一:也称为“硬虚软”,把多台物理的IDS(可以说不同厂家、不同型号的)虚拟为一个IDS资源池(或称为IDS群)。通过IDS群控制器调度池内的IDS资源,群控制器一般是双机热备方式,用来管理IDS资源池,调度并分配用户流量给后台的物理IDS,完成负载均衡的功能;
物理IDS通过高性能交换机连接,这样可以动态增加或卸载物理IDS,由IDS群控制器负责检查其“存活”状态,决定是否分配业务给它处理。
2.         一虚多:IDS虚拟化的门户,根据每个用户流量与安全需求的不同,分配一个虚拟的IDS(若允许直接阻断入侵行为,则称为用户虚拟IPS),并给该用户的流量分配一个用户标签,在虚拟IDS系统中,这个标签就是用户流量的唯一标识;
由于用户的数据包上都包含用户标记,所以IDS群控制器负责分配用户流量后,只检测对应物理IDS的状态,后续数据包直接到达物理IDS,不经过IDS控制器,所以控制器的负载很小,只是控制流,而不是业务流的总和;
一个用户的流量分配给多个物理IDS处理时,建议采用有重复的时间段分割算法,这种可以在IDS缓冲区内完整恢复分段传输的恶意代码。
虚拟IDS检测的结果,同样挂上用户标签送给安全监控平台跟踪处理。
 
行为检测虚拟IDS:
为了适应IDS的行为匹配模式,跟踪黑客的“慢攻击”行为,特建立一个处理能力超强的行为检测虚拟IDS,对符合特定攻击行为规则的用户行为进行长期跟踪。由于慢攻击需要长期记录用户的行为,所以这个超大型的虚拟IDS,需要相当大的缓存空间。
 
三、IDS虚拟化的结构设计

该结构设计中IDS虚拟化管理平台是核心部分,其前部分支持用户虚拟化IDS服务,后部分是实现IDS处理能力的动态调配。
负载均衡管理负责虚拟IDS与物理IDS的对应,根据处理能力的不同,可以一对多,也可以多对一;并可以动态加入或卸载物理IDS,所以整个虚拟IDS池的容量变化不影响用户的应用。当整体处理能力不足时,前台的安全策略可以根据用户的流量与安全等级,优先分配资源,保证重点用户的需求。
虚拟IDS的镜像与迁移管理,保证虚拟IDS动态的运行在不同的物理IDS上,相互冗余备份,保证在某台物理IDS宕机时,虚拟IDS自动迁移到其他物理机上,不影响用户的业务。
 
本文出自 “Jack zhai” 博客

相关内容

    暂无相关文章