一、问题的提出
信息安全产品从老三样:防火墙、防病毒、入侵检测IDS,发展到目前的信息加密、边界防护、入侵监控、行为审计(认证、授权、审计)等多维安全体系的建设,可谓技术众多、方案林立,有人俗称为新三样:UTM、IDS、审计。新老三样都离不开IDS,说明了一个问题,安全是入侵与防护的对抗,不仅是技术上的对抗,而且是人与人的对抗,攻击者与防护者的对抗,所以没有一种技术可以一劳永逸,对于未知的攻击进行防范,最好的方式就是实时的监控,随时了解你网络上发生了什么,波及到哪里了,是争取最小损失的不二法则,所以IDS是所有安全体系中不可缺少的,广义地说:是网络监控平台的建设。
然而最近一些时间,人们对IDS有些看法,有下面几个方面的问题:
1、“海量事件”的不可处理性
安全的最大特点百密一疏,所以“宁可冤枉一千,不使一人漏网”,不仅是IDS的安全事件多,很多系统的安全日志都是海量的,若没有自动的处理技术与机制,靠人来处理是不现实的。既然只有到发现问题后,才去分析那些告警信息,从“海洋”中寻找有价值的蛛丝马迹,这种方式对于用户来说的确不是值得推荐的。
并且大多数厂家产品的安全事件描述都很“专业”,非专业人员不容易理解,IDS的易用性一直是困扰IDS的老大难问题。IDS厂家用“产品+服务”的方式弥补易用性问题,虽然把客户绑得更紧了,却极大地影响了IDS的推广。既然IDS是安全厂商的“专用”工具,客户对它的感觉更加是“敬而远之”。
2、工作原理上的危机
IDS检测攻击行为主要有三种技术:一是行为的模式匹配;二是对异常的分析,有的说法,异常分析也属于模式匹配,因为正常模式生成后,识别的方式也是模式的匹配或门限的突破比较;三是特征识别,通过攻击者的特征识别攻击,比如SQL注入的“1=1”的条件,Shellcode中特殊代码等等。
特征识别技术,需要对攻击者的特征进行检测,有些象人的指纹特征一样,但有意思的是人的指纹一般不会改变,而攻击的“指纹”有很大的“变异性“。这种特点也是软件的一种“属性”,是通讯协议的一些标识或编程人员的“偏好”,若攻击者要躲避你的检测,特征就很容易改变,不仅每个软件的特征不同,而且同一个软件的不同版本的特征也不一定相同。更为麻烦的是:每个新的软件出现、新的攻击技术出现,其特征都需要安全公司的专家们进行专业的探测,而不同的安全公司给出的特征也不一样,所以对该攻击的识别的成功率是有很大差异的。
因此,在软件呈几何级数增长的今天,对于庞大的攻击特征库维护,本身就是巨大的负担。这一点与盛行了多年的防病毒技术是一样,对计算机病毒的识别大多采用特征识别方式,而目前的病毒库升级已经从周缩短到天,甚至是小时级别。所以计算机界有一种说法:防病毒的厂家很快要退出市场,让位于高可靠的操作系统或主动防御方式的安全厂家,防病毒软件就要消亡了,大家熟悉的防病毒产品好象该退休了。
这种危机同样影响到了IDS,目前的攻击软件都是自动生成的,每分钟有上万种组合,你的攻击特征库升级得过来吗,很多人开始怀疑IDS产品的未来前途,IDS产品是都也该到了退休的年龄了?
3、IPS设备带来的IDS理解误区
IDS设备的作用是监测与告警,由于是并联设备,所以不直接“动作”。IPS(入侵防护系统)把检测入侵的技术用在网关上,发现攻击“就地正法”,所以很多人误认为,IPS可以替代IDS。
其实IPS是串联设备,为了不影响网络的效率,不可能检测大量的特征,也就是说,IPS识别的攻击只能是目前“流行的”部分攻击;至于行为匹配,需要大量的缓存来分析数据,千兆的流量对于网关设备要实时处理是有一定性能要求的,产品价格就自然高起来了。因此IPS主要采用特征类匹配,这样速度快,并且是选择一些常见攻击的特征库,减少特征库是适应硬件的限制。若特征识别技术的黄昏将要到来,那么其对IDS的影响,应该远不如对IPS的影响。目前IPS正在“热推”,好象不是黄昏前的辉煌吧。
从威胁程度角度讲,造成破坏大的并不一定是“流行”的攻击方式,既然是攻击,往往选择大家意想不到的地方入侵,就象是选择工具,最新的不一定就是能得手的。所以不遍历整个攻击库的检测,肯定是不能说就安全的。
二、什么是海因里希安全法则
1941年美国的安全工程师海因里西对55万件机械事故进行统计,其中死亡、重伤事故1666件,轻伤48334件,其余则为无伤害事故。从而得出一个重要结论,即在机械事故中,死亡或重伤、轻伤和无伤害事故的比例为1:29:300,国际上把这一法则叫事故法则。把这一法则推广到安全管理领域中就是:每发生330个事件告警中,有300件为疑似,29件就可能是真实的攻击,而就会有1次攻击给你的系统带来真正的威胁或者造成破坏。
这个法则是对于不同的行业,比例关系不一定完全相同,但这个统计规律说明了海量安全事件中,偶然性与必然性的关系。而要防止重大事故的发生必须减少和消除无伤害事故,重视事故的苗头和未遂事故,否则终会酿成大祸。其中有一个实例:某机械师企图用手把皮带挂到正在旋的皮带轮上,因未使用拨皮带的杆,且站在摇晃的梯板上,又穿了一件宽大长袖的工作服,结果被皮带轮绞入碾死。事故调查结果表明,他这种上皮带的方法使用已有数年之久。查阅四年病志(急救上药记录),发现他有33次手臂擦伤后治疗处理记录,他手下工人均佩服他手段高明,结果还是导致死亡。这一事例说明,重恶性事故有一定的偶然性,但不安全因素在事故发生之前已暴露过许多次,如果在事故发生之前,抓住时机,及时消除不安全因素,许多重大伤亡事故是完全可以避免的。
海因里西法则的另一个名字是 “1:29:300法则”;也可以是“300:29:1法则。
这个法则是对于不同的行业,比例关系不一定完全相同,但这个统计规律说明了海量安全事件中,偶然性与必然性的关系。而要防止重大事故的发生必须减少和消除无伤害事故,重视事故的苗头和未遂事故,否则终会酿成大祸。其中有一个实例:某机械师企图用手把皮带挂到正在旋的皮带轮上,因未使用拨皮带的杆,且站在摇晃的梯板上,又穿了一件宽大长袖的工作服,结果被皮带轮绞入碾死。事故调查结果表明,他这种上皮带的方法使用已有数年之久。查阅四年病志(急救上药记录),发现他有33次手臂擦伤后治疗处理记录,他手下工人均佩服他手段高明,结果还是导致死亡。这一事例说明,重恶性事故有一定的偶然性,但不安全因素在事故发生之前已暴露过许多次,如果在事故发生之前,抓住时机,及时消除不安全因素,许多重大伤亡事故是完全可以避免的。
海因里西法则的另一个名字是 “1:29:300法则”;也可以是“300:29:1法则。
三、从海因里西法则看待IDS技术危机
海因里西法则不并说明IDS的海量事件一定是这个比值,但他说明了海量预警与灾难事件的关系。从这个角度说,IDS的海量事件是有一定依据的,我们的任务不是不报海量事件,而是找到一种方法,根据事件的威胁程度驱动不同的“动作”,也就是说真正抓住“330”个告警中的那个具有重大威胁的事件。
如何表达用户网络受到的威胁?如何把“专业”安全人员处理海量事件的技术,变成“红绿灯”一样的简单告警(红绿灯给人的动作要求是确定的,红灯停止、绿灯行使),并明确传递给用户?IDS产品的易用性是其生命周期中是否有转机的关键。
海因里西法则给了我们一个启示,就是很多非确定性的报告多到一定的数量,量变有可能就引起质变,可能是攻击的事件。如短时间内大量地建立连接,可能是业务的突发,也可能是DOS攻击;Ping命令的大量出现,可能是攻击性的扫描,也可能网络管理员的测试…
所以,海量事件的产生恰恰是网络威胁的存在,是网络管理者应该注意的,改变一下预警的条件与方式就可以把海量事件带来的“烦恼”转变为安全事件的真正分析。另外,随着IDS的大规模部署,收集的信息多了,多点的判断相互印证,海量事件的数量也可以大幅度缩减。
至于特征识别的困惑,应该是IDS发展中应该关注的。IDS是旁路设备,有充足的时间与空间做模式匹配与状态跟踪,若对用户的行为都能深度匹配、通讯的状态都能完全跟踪,判定攻击行为的准确性将大大提高,确定攻击者来源的方便多了。特征识别的使用也可以大大减少,甚至完全留给IPS去使用,因为特征识别技术适合在快速封堵中使用。
特征识别实际上是在边界上查验身份证,而入侵攻击是一个过程,仅靠大门处的第一印象是不容易判断好坏人的。目前大量使用特征识别的原因是因为很多行为做不到深度匹配与跟踪,才用识别来者身份的方法,初步给一个好坏的分类。因为即使你发现了是Shellcode在传输,是学习者相互交流,而不是向你的系统中注入,都不应判定为是安全事件。
同样是致命武器,在好人手里是安全的保障,在坏人手里,是危险的武器!
本文转自 zhaisj 51CTO博客,原文链接:http://blog.51cto.com/zhaisj/88305,如需转载请自行联系原作者