第10章 入侵检测技术原理与应用
10.1 入侵检测概述
入侵检测是网络安全态势感知的关键核心技术,支撑构建网络信息安全保障体系。
10.1.1 入侵检测概念
入侵是指未经授权蓄意尝试访问信息、篡改信息,使系统不可用的行为。
我们认为,入侵应与受害目标相关联,该受害目标可以是一个大的系统或单个对象。判断与目标相关的操作是否为入侵的依据是:对目标的操作是否超出了目标的安全策略范围。因此,入侵是指违背访问目标的安全策略的行为。入侵检测通过收集操作系统、系统程序、应用程序、网络包等信息,发现系统中违背安全策略或危及系统安全的行为。具有入侵检测功能的系统称为入侵检测系统,简称为 IDS 。
10.1.2 入侵检测模型
该模型主要根据主机系统的审计记录数据,生成有关系统的若干轮廓,并监测轮廓的变化差异,发现系统的入侵行为。如图:
主机 --> 安全监控器 --> 客体
↓
审计数据
↓
系统轮廓
随着入侵行为的种类不断增多,许多攻击是经过长时期准备的。面对这种情况,入侵检测系统的不同功能组件之间、不同 IDS 之间共享这类攻击信息是十分重要的。于是,一种通用的入侵检测框架模型被提出,简称为CIDF 。该模型认为入侵检测系统由事件产生器(event generators) 、事件分析器(event analyzers) 、响应单元(response units) 和事件数据库(event databases) 组成。
CIDF 将入侵检测系统需要分析的数据统称为事件,事件产生器从整个计算环境中获得事件,并向系统的其他部分提供事件。事件分析器分析所得到的数据,并产生分析结果。响应单元对分析结果做出反应,如切断网络连接、改变文件属性、简单报警等应急响应。事件数据库存放各种中间和最终数据。
10.1.3 入侵检测作用
入侵检测系统在网络安全保障过程中扮演类似“预警机”或“安全巡逻人员”的角色,入侵检测系统的直接目的不是阻止入侵事件的发生,而是通过检测技术来发现系统中企图或已经违背安全策略的行为,其作用表现为以下几个方面:
(1) 发现受保护系统中的入侵行为或异常行为;
(2) 检验安全保护措施的有效性;
(3) 分析受保护系统所面临的威胁;
(4) 有利于阻止安全事件扩大,及时报警触发网络安全应急响应;
(5) 可以为网络安全策略的制定提供重要指导;
(6) 报警信息可用作网络犯罪取证。
------------
10.2 入侵检测技术
10.2.1 基于误用的入侵检测技术
误用入侵检测又称为基于特征的入侵检测方法,是指根据已知的入侵模式检测入侵行为。攻击者常常利用系统和应用软件中的漏洞技术进行攻击,而这些基于漏洞的攻击方法具有某种特征模式。如果入侵者的攻击方法恰好匹配上检测系统中的特征模式,则入侵行为立即被检测到。
显然,误用入侵检测依赖于攻击模式库。因此,这种采用误用入侵检测技术的 IDS 产品的检测能力就取决于攻击模式库的大小以及攻击方法的覆盖面。
误用入侵检测的前提条件是,入侵行为能够按某种方式进行特征编码,而入侵检测的过程实际上就是模式匹配的过程。根据入侵特征描述的方式或构造技术,误用检测方法可以进一步细分。下面介绍几种常见的误用检测方法。
1. 基于条件概率的误用检测方法
2.基于状态迁移的误用检测方法
3. 基于键盘监控的误用检测方法
4. 基于规则的误用检测方法
10.2.2 基于异常的入侵检测技术
异常检测方法是指通过计算机或网络资源统计分析,建立系统正常行为的轨迹”,定义一组系统正常情况的数值,然后将系统运行时的数值与所定义的'正常情况相比较,得出是否有被攻击的迹象。
但是,异常检测的前提是异常行为包括入侵行为。理想情况下,异常行为集合等同于入侵行为集合,此时,如果 IDS 能够检测到所有的异常行为,则表明能够检测到所有的入侵行为。但是在现实中,入侵行为集合通常不等同于异常行为集合。事实上,具体的行为有 4 种状况:
1.行为是入侵行为,但不表现异常;
2.行为不是入侵行为,却表现异常;
3.行为既不是入侵行为,也不表现异常;
4.行为是入侵行为,且表现异常。
异常检测方法的基本思路是构造异常行为集合,从中发现入侵行为。异常检测依赖于异常模型的建立,不同模型构成不同的检测方法。下面介绍几种常见的异常检测方法。
1.基于统计的异常检测方法
基于统计的异常检测方法就是利用数学统计理论技术,通过构建用户或系统正常行为的特征轮廓。典型的系统主体特征有:系统的登录与注销时间,资源被占用的时间以及处理机、内存和外设的使用情况等。至于统计的抽样周期可以从短到几分钟到长达几个月甚至更长。基于统计性特征轮廓的异常性检测器,对收集到的数据进行统计处理,并与描述主体正常行为的统计性特征轮廓进行比较,然后根据 二者的偏差是否超过指定的门限来进一步判断、处理。
2. 基于模式预测的异常检测方法
基于模式预测的异常检测方法的前提条件是:事件序列不是随机发生的而是服从某种可辨别的模式,其特点是考虑了事件序列之间的相互联系。
是一种基于时间的推理方法,利用时间规则识别用户正常行为模式的特征。通过归纳学习产生这些规则集,并能动态地修改系统中的这些规则,使之具有较高的预测性、准确性和可信度。如果规则大部分时间是正确的,并能够成功地用于预测所观察到的数据,那么规则就具有较高的可信度。
这种方法的主要优点有:
a.能较好地处理变化多样的用户行为,并具有很强的时序模式;
b.能够集中考察少数几个相关的安全事件,而不是关注可疑的整个登录会话过程;
c.容易发现针对检测系统的攻击。
3. 基于文本分类的异常检测方法
基于文本分类的异常检测方法的基本原理是将程序的系统调用视为某个文档中的”字”,而进程运行所产生的系统调用栠合就产生一个“文档”。对于每个进程所产生的“文档”,利用 K-最近邻聚类 CK-Nearest Neighbor) 文本分类算法,分析文档的相似性,发现异常的系统调用,从而检测入侵行为。
4. 基于贝叶斯推理的异常检测方法
是指在任意给定的时刻,测量A1,A2,… An 变量值,推理判断系统是否发生入侵行为。其中,每个变量 Ai 表示系统某一方面的特征.
10.2.3 其他
1.基于规范的检测方法
2. 基于生物免疫的检测方法
3.基于攻击诱骗的检测方法
4.基于入侵报警的关联检测方法
5.基于沙箱动态分析的检测方法
6.基于大数据分析的检测方法
------------
10.3 入侵检测系统组成与分类
10.3.1 入侵检测系统组成
一个入侵检测系统主要由以下功能模块组成:数据采集模块、入侵分析引擎模块、应急处理模块、管理配置模块和相关的辅助模块。
根据 IDS 的检测数据来源和它的安全作用范围,可将 IDS 分为三大类:第一类是基于主机的入侵检测系统(简称 HIDS) ,即通过分析主机的信息来检测入侵行为;第二类是基于网络的入侵检测系统(简称NIDS) ,即通过获取网络通信中的数据包,对这些数据包进行攻击特征扫描或异常建模来发现入侵行为;第三类是分布式入侵检测系统(简称 DIDS),从多台主机、多个网段采集检测数据,或者收集单个 IDS 的报警信息,根据收集到的信息进行综合分析,以发现入侵行为。
10.3.2 基于主机的入侵检测系统 HIDS
HIDS 通过收集主机系统的日志文件、系统调用以及应用程序的使用、系统资源、网络通信和用户使用等信息,分析这些信息是否包含攻击特征或异常情况,并依此来判断该主机是否受到入侵 。由于入侵行为会引起主机系统的变化,因此在实际的 HIDS 产品中,CPU 利用率、内存利用率、磁盘空间大小、网络端口使用情况、注册表、文件的完整性、进程信息、系统调用等常作为识别入侵事件的依据 。
HIDS 一般适合检测以下入侵行为:
a,针对主机的端口或漏洞扫描;
b,重复失败的登入尝试;
c,远程口令破解;
d,主机系统的用户账号添加;
e,服务启动或停止;
f,系统重启动;
g,文件的完整性或许可权变化;
h,注册表修改;
i,重要系统启动文件变更;
j,程序的异常调用;
k,拒绝服务攻击。
10.3.3 基于网络的入侵检测系统 NIDS
NIDS 通过侦听网络系统,捕获网络数据包,并
依据网络包是否包含攻击特征,或者网络通信流是否异常来识别入侵行为。
NIDS 通常由一组用途单一的计算机组成,其构成多分为两部分:探测器和管理控制器。探测器分布在网络中的不同区域,通过侦听(嗅探)方式获取网络包,探测器将检测到攻击行为形成报警事件,向管理控制器发送报警信息,报告发生入侵行为。管理控制器可监控不同网络区域的探测器,接收来自探测器的报警信息。
一般说来,NIDS 能够检测到以下入侵行为:
a,同步风暴(SYN Flood) ;
b,分布式拒绝服务攻击(DDoS) ;
c,网络扫描;
d,缓冲区溢出;
e,协议攻击;
f,流最异常;
g,非法网络访问。
10.3.4 分布式入侵检测系统
基于主机检测的分布式入侵检测系统,简称为 HDIDS
(HDIDS的结构分成两个部门:主机探测器和入侵管理控制器)
(HDIDS 用于保护网络的关键服务器或其他具有敏感信息的系统,利用主机的系统资源、系统调用、审计日志等信息,判断主机系统的运行是否遵循安全规则。)
基于网络的分布式入侵检测系统 NDIDS
(NDIDS 的结构分为两部分:网络探测器和管理控制器。)
------------
10.4 入侵检测系统主要产品与技术指标
10.4.1 入侵检测相关产品
1. 主机入侵检测系统
2. 网络入侵检测系统
3. 统一威胁管理(UTM)
4. 高级持续威胁检测(APT)
5. 其他(常见的产品类型有 Web IDS 、数据库 IDS 、工控 IDS 等。)
10.4.2 入侵检测相关指标
入侵检测系统的主要指标有:可靠性、可用性、可扩展性、时效性、准确性和安全性。
------------
10.5 入侵检测系统应用
10.5.1 入侵检测应用场景类型
1. 上网保护
2. 网站入侵检测与保护
3. 网络攻击阻断
4. 主机/终端恶意代码检测
5. 网络安全监测预警与应急处置
6. 网络安全等级保护
10.5.2 入侵检测系统部署方法
IDS 部署是指将 IDS 安装在网络系统区域中,使之能够检测到网络中的攻击行为。
IDS 部署的基本过程包含以下几个步骤:
第一步,根据组织或公司的安全策略要求,确定 IDS 要监测的对象或保护网段;
第二步,在监测对象或保护网段,安装 IDS探测器,采集网络入侵检测所需要的信息;
第三步,针对监测对象或保护网段的安全需求,制定相应的检测策略;
第四步,依据检测策略,选用合适的 IDS 结构类型;
第五步,在 IDS 上,配置入侵检测规则;
第六步,测试验证 IDS 的安全策略是否正常执行;
第七步,运行和维护 IDS 。
10.5.3 基于HIDS 的主机威胁检测
HIDS 一般用于检测针对单台主机的入侵行为,其主要应用方式如下:
(1) 单机应用 。 在这种应用方式下,把 HIDS 系统直接安装在受监测的主机上即可。
(2) 分布式应用 。 这种应用方式需要安装管理器和多个主机探测器(Sensor)。管理器控制多个主机探测器(Sensor) ,从而可以远程监控多台主机的安全状况
10.5.4 基于NIDS 的内网威胁检测
将网络IDS的探测器接在内部网的广播式 Hub 或交换机的 Probe 端口,探测器通过采集内部网络流量数据,然后基于网络流量分析监测内部网的网络活动,从而可以发现内部网络的入侵行为。
10.5.5 基于NIDS 的网络边界威胁检测
将 NIDS 的探测器接在网络边界处,采集与内部网进行通信的数据包,然后分析来自外部的入侵行为
10.5.6 网络安全态势感知应用参考
网络安全态势感知通过汇聚 IDS 报警信息、系统日志,然后利用大数据分析技术对网络系统的安全状况进行分析,监测网络安全态势。
10.5.7 开源网络入侵检测系统
常见的开源网络入侵检测系统有:Snort 、Suricata 、Bro 、Zeek 、OpenDLP 、Sagan
10.5.8 华为 CIS 网络安全智能系统应用
华为 CIS (Cybersecurity Intelligence System,网络安全智能系统)采用最新的大数据分析和机器学习技术,用于抵御 APT 攻击。