入侵检测系统(IDS,Intrusion Detection System)是为保证计算机网络系统的安全而设计的一种用于检测违反安全策略行为的技术,它能够及时发现并报告网络中未授权的访问或异常现象。违反安全策略的行为,主要是指入侵和滥用——通常将非法用户的违规访问行为称为入侵,将合法用户的违规访问行为称为滥用。
入侵检测使用两种基本的检测技术:特征检测与异常检测。前者常常是对网上流动的数据内容进行分析,找出“黑客”攻击的表征。后者往往是对网络上的数据流量进行分析,找出表现异常的网络通信。功能简单的入侵检测系统可能只使用这两种技术中的一种。
特征检测(Signature-based detection)又称为Misuse detection,它假设入侵者的活动可以用一种模式来表示,系统的目标是检测所发现的活动是否符合这些模式。常用的特征检测是在网上传递的信息内容中寻找特定的字符序列,这些字符序列是在已知的入侵实例中使用过的。例如,通信特征检测判读的是进入系统的数据包的“信封”,但是不读信件内容。数据包的“信封”上除地址之外还包括其他一些内容。通过对信封上信息的判读,可以发现与入侵行为相关的某些特征。然而在这些特征当中,只有很小一部分可以通过分析立即得出确定的结论,其他则需要对大量数据进行相关分析。特别是对网络中不同时间点,不同空间点上的数据进行相关分析。在实现上有相当的难度。另外,Internet上信息的传输是通过将大段的信息分割为尺寸很小的数据“碎片”打包实现的,一个文件往往被分割在许多数据包中发送到网上,而每个数据包独立在网上传送,不考虑它与其他数据包的时间次序或其他关系。仅当到达了目的地之后,这些数据包中的“碎片”才被重新装配起来。出于对处理效率和开销的考虑,许多入侵检测产品都不进行“碎片装配”工作,这不能不使这些产品寻找攻击特征的能力受到一些限制。特征检测能够将已有的入侵方法检查出来,但对新的入侵方法往往无能为力,其难点在于如何设计一种有效的模式:既能够表达“入侵”现象义不会将正常的活动包含进来。
异常检测(Anomaly detection)的假设是入侵者活动异常于正常用户的活动。根据这个假设建立用户正常活动的“规律简档”。系统将当前检测到的用户活动状况与“规律简档”相比较,当违反其统计规律时,认为该活动可能是“入侵”行为。异常检测的难题在于如何建立“规律简档”,以及如何设计统计算法,从而不把正常的操作作为“入侵”或忽略真正的“入侵”行为。