分类: 安全 |
1.
最早的入侵检测模型由Dorothy Denning在1986年提出。这个模型与具体系统和具体输入无关,对此后的大部分实用系统都有很有借鉴价值。图1表示了这个通用模型的体系结构。
入侵检测专家系统IDES(ion Detection Expert System)与它的后继版本NIDES(Next-Generation Intrusion Detection Expert System)均完全基于Denning的模型。该模型的最大缺点是它没有包含已知系统漏洞或攻击方法的知识,而这些知识在许多情况下是非常有用的信息。
该模型由以下6个主要部分构成。
①
②
③
<Subject,Action,Object,Exception-Condition,Resource-Usage,Time-Stamp>构成的六元组,活动(Action)是主体对目标的操作,对操作系统而言,这些操作包括读、写、登录、退出等;异常条件(Exception-Condition)是指系统对主体的该活动的异常报告,如违反系统读写权限;资源使用状况(Resource-Usage)是系统的资源消耗情况,如CPU、内存使用率等;时标(Time-Stamp)是活动发生时间。
④ 活动简档(Activity Profile):用以保存主体正常活动的有关信息,具体实现依赖于检测方法,在统计方法中从事件数量、频度、资源消耗等方面度量,可以使用方差、马尔可夫模型等方法实现。
⑤ 异常记录(Anomaly Record):由<Event,Time-stamp,Profile>组成。用以表示异常事件的发生情况。
⑥ 活动规则:规则集是检查入侵是否发生的处理引擎,结合活动简档用专家系统或统计方法等分析接收到的审计记录,调整内部规则或统计信息,在判断有入侵发生时采取相应的措施。
2.
CIDF是一个通用的入侵检测系统模型。如图2所示。
CIDF主要由四个部分组成:IDS的体系结构、通信机制、描述语言和应用编程接口API。
① CIDF的体系结构
CIDF在IDES和NIDES的基础上提出了一个通用模型,将入侵检测系统分为四个基本组件:事件产生器、事件分析器、响应单元和事件数据库。
事件(event):入侵检测系统需要分析的数据统称为事件。可以是基于网络的入侵检测系统中网络中的数据,也可以是从系统日志或其它途径得到的信息。
四个组件只是逻辑实体,一个组件可能是某台计算机上的一个线程或进程,也可能是多个计算机上的多个进程,它们以统一入侵检测对象GIDO(generalized intrusion detection objects)格式进行数据交换。GIDO是对事件进行编码的标准通用格式。此格式是由CIDF描述语言CISL定义的。GIDO数据流可以是发生在系统中的审计事件,也可以是对审计事件的分析结果。
a.事件产生器(Event generators)
事件产生器的任务是从入侵检测系统之外的计算环境中收集事件,并将这些事件转换成CIDF的GIDO格式传送给其他组件。
b.事件分析器(Event analyzers)
事件分析器分析从其它组件收到的GIDO,并将产生的新GIDO再传送给其它组件。
c.事件数据库(Event databases)
用于存储GIDO。
d.响应单元(Response units)
处理收到的GIDO,并据此采取相应的措施。
② CIDF的通信机制
为了保证各个组件之间安全高效地通信,CIDF将通信机制构造成一个三层模型:GIDO层、消息层和协商传输层。
GIDO层定义事件表示方法,保证各组件能正确理解相互之间传输的各种数据的语义。
消息层负责将数据从发送方传递到接收方,不携带任何语义信息。
协商传输层定义各个组件间的传输机制。
③ CIDF语言
为了描述IDR(入侵检测响应)组件之间传送的信息,以及对这些信息进行编码的协议,CIDF定义了公共入侵规范语言CISL(Common Intrusion Specification Language),CISL可以表示CIDF中的各种信息,如原始事件信息、分析结果、响应提示等。
CISL使用了一种被称为S表示式的通用语言构建方法,S表达式可以标记和数据进行简单的递归编组,即对标记加上数据,然后封装在括号内完成编组。S表达式以语义标识符SID开头,用于表示编组列表的语义,如(HostName,
CISL可对各种事件和分析结果进行编码,封装后即得到了GIDO。
④ CIDF的API接口
CIDF的API负责GIDO的编码、解码和传递,便利程序员以一种简单的方式构建和传递GIDO。