特征检测又称误用检测,主要有以下五种方法:
(1)基于
专家系统的误用入侵检测
专家系统是基于知识的检测中运用最多的一种方法。该方法将有关入侵的知识转化成if-then结构的规则,即将构成入侵所要求的条件转化为if部分,将发现入侵后采取的相应措
施转化成then部分。当其中某个或某部分条件满足时,系统就判断为入侵行为发生。其中的if-then结构构成了描述具体攻击的规则库。条件部分,即if后的规则化描述,可根据审计事件得到,然后根据规则和行为进行判断,执行then后的动作。
在具体实现中,专家系统需要从各种入侵手段中抽象出全面的规则化知识,需处理大量数据,在大型系统上尤为明显。因此,大多运用与专家系统类似的特征分析法。特征分析不是将攻击方法的语义描述转化为检测规则,而是在审计记录中能直接找到的信息形式。这样大大提高了检测效率。这种方法的缺陷也和所有基于知识的检测方法一样,即需要经常为新发现的系统漏洞更新
知识库,而且由于对不同操作系统平台的具体攻击方法和审计方式可能不同,特征分析检测系统必须能适应这些不同。
(2)基于模型推理的误用入侵检测
模型推理是指结合攻击脚本来推断入侵行为是否出现。其中有关攻击者行为的知识被描述为:攻击目的,攻击者为达到此目的可能的行为步骤,以及对系统的特殊使用等。基于模
型推理的误用检测方法工作过程如下:
①根据攻击知识建立攻击脚本库,每一脚本都由一系列攻击行为组成;
②用这些攻击脚本的子集来匹配当前行为模式,发现系统正面临的可能攻击;
③将当前行为模式输入预测器模块,产生下一个需要验证的攻击脚本子集,并将它传给决策器;
④决策器根据这些假设的攻击行为在审讨记录中的可能出现方式,将它们转换成与特定系统匹配的审计记录格式,然后在审计记录中寻找相应信息来判断这些行为模式是否为攻击行为。
假设的初始攻击脚本子集应易于在审计记录中识别,并且出现频率很高。随着一些脚本被确认的次数增多,另一些脚本被确认的次数减少,从而攻击脚本不断地得到更新。
模型推理方法对不确定性的推理有合理的数学理论基础,同时决策器使得攻击脚本可以与审计记录的上下文无关。另外,这种检测方法减少了需要处理的数据量。但其创建入侵检
测模型的工作量比较大,并且决策器转换攻击脚本比较复杂。
(3)基于状态转换分析的误用入侵检测
状态转换分析是将状态转换图应用于入侵行为分析,它最早由R.Kemmerer提出。状态转换法将入侵过程看作一个行为序列,这个行为序列导致系统从初始状态转到被入侵状态。
分析时首先针对每一种入侵方法确定系统的初始状态和被入侵状态,以及导致状态转换的转换条件,即导致系统进人被入侵状态必须执行的操作(特征事件);然后用状态转换图来表示每一个状态和特征事件,这些事件被集成于模型中,所以检测时不需要一个个地查找审计记录。但是,状态转换是针对事件序列分析,所以不宜于分析十分复杂的事件,而且不能检测与系统状态无关的入侵。
(4)基于
条件概率的误用入侵检测
基于条件概率的误用入侵检测方法将入侵方式对应于一个事件序列,然后通过观测事件发生的情况来推测入侵的出现。这种方法的依据是外部事件序列,根据
贝叶斯定理进行推理。
令ES表示某个事件序列,发生入侵的
先验概率为P(Intrusion),发生入侵时该事件序列ES出现的
后验概率为P(ES Intrusion),该事件序列出现的概率为e(ES),则有
由于通常情况下网络安全专家可以给出先验概率P(intrusion),由入侵报告及审计数据可得P(ESㄧintrusion)和于是有
故可以通过事件序列的观测,推算出P(IntrusionㄧES)。
基于条件概率的误用入侵检测方法是在概率理论基础上的一个普遍方法。它是对贝叶斯方法的改进,其缺点是先验概率难以给出,而且事件的独立性难以满足。
(5)基于键盘监控的误用入侵检测
该方法假设入侵对应特定的击键序列模式,然后监测用户击键模式,并将这一模式与入侵模式匹配,即能检测入侵。这种方法在没有操作系统支持的情况下,缺少捕获用户击键的
可靠方法,而且同一种攻击存在无数击键方式表示。另外,假如没有击键语义分析,用户使用别名命令很容易欺骗这种检测技术。例如,用户注册的SHELL提供了简写命令序列工具,可以产生所谓的别名,类似
宏定义。因为这种技术仅仅分析击键,所以不能够检测到恶意程序执行结果的自动攻击。但该方法相对容易实现。