入侵检测系统(IDS)被构思为一种专家系统,他能够在入侵检测行为被发现时通知系统管理员。这个观点由Anderson在1980年第一次提出[1],但是一直没有被关注,直到1987年Denning发表了她的第一个入侵检测模型[9]。早期的入侵检测系统由单一主机收集并处理关键节点或几个邻近节点收集来的数据[21,27,28]。由于单一主机的监测不能检测到复杂的攻击行为,入侵检测系统的设计者后来开发了基于网络的入侵检测系统。这种系统从网络传输的数据包的滥用或者误用来检测入侵[13]。基于网络的入侵检测系统被认为是以主机为中心到以网络为中心的跳跃性发展。以网络为中心的方法解决了许多性能提高和完整性问题,也解决了关联问题[25]。
IDSs(入侵检测系统)的特点在于发现入侵行为。入侵行为可根据一种行为是否反常于系统或者用户正常行为来判断。计算机行为可以按输入击键、命令行描绘或者日常应用时间分类。当某个系统极限门槛之外的行为发生时,将产生告警。入侵行为还可以通过与已知入侵行为特征库对比匹配来发现。这是典型地基于规则差别的比较方法,规则词典即是入侵行为特征库。一个事件或事件序列对应于一个特征。
第一代IDSs采用两层的体系结构。收集进程从日志文件、主机内部接口、或者截获的网络数据包中收集信息。这些数据被传输到中央分析器,使用一种或者多种检测技术集中处理。虽然这种体系能够有效使用小型监测主机收集数据,但是集中分析却限制了处理大量数据的能力。随后的IDSs主要引入了预处理部分,收集进程收集到的信息经过预处理后再传送到中央分析器[6]。
现在几乎所有的商业IDSs都采用分级体系结构,就如图1所示。信息收集由基于主机或者基于网络的叶节点进行。事件数据通过多个叶节点内部聚集并传递。更进一步的数据集合、抽象化和融合在较高一级的节点进行。数据处理按照这种层层递进方式,直到到达根节点。根节点是一个指令和控制系统,负责判断攻击情况和相应响应。根节点需要把入侵事件报告给控制台操作员。这里,管理员可以手动判断情况并做出响应。