第10章 入侵检测技术原理与应用
10.1 入侵检测概述
10.1.1 入侵检测概念
我们认为,入侵应与受害目标相关联,该受害目标可以是一个大的系统或单个对象。判断与目标相关的操作是否为入侵的依据是:对目标的操作是否超出了目标的安全策略范围。因此,入侵是指违背访问目标的安全策略的行为。入侵检测通过收集操作系统、系统程序、应用程序、网络包等信息,发现系统中违背安全策略或危及系统安全的行为。具有入侵检测功能的系统称为入侵检测系统,简称为IDS。
10.1.2 入侵检测模型
最早的入侵检测由Denning给出的,该模型主要根据主机系统的审计记录数据,生成有关系统的若干轮廓,并监测轮廓的变化差异,发现系统的入侵行为。
随着入侵行为的种类不断增多,许多攻击是经过长期准备的。面对这种情况,入侵检测系统的不同功能组件之间、不同IDS之间共享这类攻击信息是十分重要的。于是,一种通用的入侵检测框架模型被提出,简称为 CIDF。该模型认为入侵检测系统由事件产生器(event generators)、事件分析器(event analyzers)、响应单元(response units)和事件数据库(event databases)组成。CIDF将入侵检测系统需要分析的数据统称为事件,它可以是网络中的数据包,也可以是从系统日志等其他途径得到的信息。事件产生器从整个计算环境中获得事件,并向系统的其他部分提供事件。事件分析器分析所得到的数据,并产生分析结果。响应单元对分析结果做出反应,如切断网络连接、改变文件属性、简单报警等应急响应。事件数据库存放各种中间和最终数据,数据存放的形式既可以是复杂的数据库,也可以是简单的文本文件。CIDF模型具有很强的扩展性,目前已经得到广泛认同。
10.1.3 入侵检测作用
入侵检测系统在网络安全保障过程中扮演类似“预警机”或“安全巡逻人员”的角色,入侵检测系统的直接目的不是阻止入侵事件的发生,而是通过检测技术来发现系统中企图或已经违背安全策略的行为,其作用表现为以下几个方面:
(1)发现受保护系统的入侵行为或异常行为;
(2)检验安全保护措施的有效性;
(3)分析受保护系统所面临的威胁;
(4)有利于阻止安全事件扩大,及时报警触发网络安全应急响应;
(5)可以为网络安全策略的制定提供重要指导;
(6)报警信息可用作网络犯罪取证。
除此之外,入侵检测技术还常用于网络安全态势感知,以获取网络信息系统的安全状况。网络安全态势感知平台通常汇聚入侵检测系统的报警数据,特别是分布在不同安全区域的报警,然后对其采取数据关联分析、时间序列分析等综合技术手段,给出网络安全状况判断及攻击发展演变趋势。
10.2 入侵检测技术
本节介绍入侵检测实现技术,主要包括基于误用的入侵检测技术、基于异常的入侵检测技术和其他技术(包括基于规范的检测方法、基于生物免疫的检测方法、基于攻击诈骗的检测方法、基于入侵报警的关联检测方法、基于沙箱动态分析的检测方法、基于大数据分析的检测方法)。
10.2.1 基于误用的入侵检测技术
误用入侵检测通常称为基于特征的入侵检测方法,是根据已知的入侵模式检测入侵行为。攻击者常常利用系统和应用软件中的漏洞技术进行攻击,而这些基于漏洞的攻击方法具有某种特征模式。如果入侵者的攻击方法恰好匹配上检测系统中的特征模式,则入侵行为立即被检测到。
显然误用入侵检测依赖于攻击模式库。因此,这种采用误用入侵检测技术的IDS产品的检测能力就取决于攻击模式库的大小以及攻击方法的覆盖面。如果攻击模式库太小,则IDS的有效性就大打折扣。而如果攻击模式库过大,则IDS的性能会受到影响。
基于上述分析,误用入侵检测的前提条件,入侵行为能够按某种方式进行特征编码,而入侵检测的过程实际上就是模式匹配的过程。根据入侵特征描述的方式或构造技术,误用检测方法可以进一步细分。下面介绍几种常见的误用检测方法。
1. 基于条件概率的误用检测方法
基于条件的误用检测方法,是将入侵方式对应一个事件序列,然后观测事件发生序列,应用叶贝斯定理进行推理,推测入侵行为。
2. 基于状态迁移的误用检测方法
状态迁移方法利用状态图表表示攻击特征,不同状态刻画了系统某一时刻的特征。初始状态对应于入侵开始前的系统状态,危害状态对应于已成功入侵时的系统状态。初始状态与危害状态之间的迁移可能有一个或多个中间状态。攻击者的操作将导致状态发生迁移,使系统从初始状态迁移到危害状态。基于状态迁移的误用检测方法通过检查系统的状态变化发现系统中的入侵行为。采用该方法的IDS有STAT(State Transition Analysis Technique)和USTAT(State Transition Analysis Tool for UNIX)。
3. 基于键盘监控的误用检测方法
基于键盘监控的误用检测方法,是假设入侵行为对应特定的击键序列模式,然后监测用户的击键模式,并将这一模式与入侵模式匹配,从而发现入侵行为。
4. 基于规则的误用检测方法是将攻击行为或入侵模式表示成一种规则,只要符合规则就认定它是一种入侵行为。
10.2.2 基于异常的入侵检测技术
异常检测方法是指通过计算机或网络资源统计分析,建立系统正常行为的“轨迹”,定义一组系统正常情况的数值,然后将系统运行时的数值与所定义的“正常”情况相比较,得出是否有被攻击的迹象。
但是,异常检测的前提是异常行为包括入侵行为。理想情况下,异常行为集合等同于入侵行为集合,此时,如果IDS能够检测到所有的异常行为,则表明能够检测到所有的入侵行为。但是在现实中,入侵行为集合不等同于异常行为集合。事实上,具体的行为有4种状况:(1)行为是入侵行为,但不表现异常;(2)行为不是入侵行为,却表现异常;(3)行为既不是入侵行为,也不表现异常;(4)行为是入侵行为,且表现异常。异常检测的基本思路是构造异常行为集合,从中发现入侵行为。异常检测依赖于异常模型的建立,不再模型构成不同的检测方法。下面介绍几种常见的异常检测方法。
1. 基于统计的异常检测方法
基于统计的异常检测方法就是利用数学统计理论技术,通过构建用户或系统正常行为的特征轮廓。其中统计性特征轮廓通常由主体特征变量的频度、均值、方差、被监控行为的属性变量的统计概率分布以及偏差等统计量来描述。典型的系统主体特征有:系统的登录与注销时间,资源被占用的时间及处理机、内存和外设的使用情况等。至于统计的抽样周期可以从短到几分钟到长达几个月甚至更长。基于统计性特征轮廓的异常性检测器,对收集到数据进行统计处理,并与描述主体正常行为的统计性特征轮廓进行比较,然后根据二者的偏差是否超过指定的门限来进一步判断、处理。许多入侵检测系统或系统原型都采用了这种统计模型。
2. 基于模式预测的异常检测方法
基于模式预测的异常检测方法的前提条件是:事件序列不是随机发生的而是服从某种可辨别的模式,其特点是考虑了事件序列之间的相互联系。安全专家Teng和Chen给出了一种基于时间的推理方法,利用时间规则识别用户正常行为模式的特征。通过归纳学习这些规则集,并能动态地修改系统中的这些规则,使之具有较高的预测性、准确性和可信度。如果规则大部分时间都是正确的,并能够成功地用于预测所观察到的数据,那么规则就具有较高的可信度。
3. 基于文本分类的异常检测方法
基于文本分类的异常检测方法的基本原理是将程序的系统调用视为某个文档中的“字”,而进程运行所产生的系统调用集合就产生一个“文档”。对于每个进程所产生的“文档”,利用K-最近邻聚类(K-Nearest Neighbor)文本分类算法,分析文档的相似性,发现异常的系统调用,从而检测入侵行为。
4. 基于叶贝斯推理的异常检测方法
基于叶贝斯推理的异常检测方法,是指在任意给定的时刻,测量A1,A2,…An变量值,推理判断系统是否发生入侵行为。其中,每个变量Ai表示系统某一方面的特征,例如磁盘I/O的活动数量、系统中页面出错的数目等。
10.2.3 其他
1. 基于规范的入侵检测方法
基于规范的入侵检测方法(specification-based intrusion detection)介于异常检测和误用检测之间,其基本原理是,用一种策略描述语言PE-grammars事先定义系统特权程序有关安全的操作执行序列,每个特权程序都有一组安全操作序列,这些操作序列构成特权程序的安全跟踪策略(trace policy)。若特权程序的操作序列不符合已定义的操作序列,就进行入侵报警。这种方法的优点是,不仅能够自己发现已知的攻击,而且也能发现未知的攻击。
2. 基于生物免疫的检测方法
基于生物免疫的检测方法,是指模仿生物有机体的免疫系统工作机制,使受保护的系统能够将“非自我(non-self)”的攻击行为与“自我(self)”的合法行为区分开来。该方法综合了异常检测和误用检测两种方法,其关键技术在于构造系统“自我”标志以及标志演变方法。
3. 基于攻击诱骗的检测方法
基于攻击诱骗的检测方法,是指将一些虚假的系统漏洞信息提供给入侵者,如果入侵者应用这些信息攻击系统,就可以推断系统正在遭受入侵,并且安全管理员还可以诱惑入侵者,进一步跟踪攻击来源。
4. 基于入侵报警的关联检测方法
基于入侵报警的关联检测方法是通过对原始的IDS报警事件的分类及相关性分析来发现复杂攻击行为。其方法可以分为三类:第一类基于报警数据的相似性进行报警关联分析;第二类通过人为设置参数或通过机器学习的方法进行报警关联分析;第三类根据某种攻击的前提条件与结果(preconditions and consequences)进行报警的关联检测方法,有助于在大量报警数据中挖掘出潜在的关联安全事件,消除冗余安全事件,找出报警事件的相关度及关联关系,从而提高入侵判定的准确性。
5. 基于沙箱动态分析的检测方法
基于沙箱动态分析的检测方法是指通过构建程序运行的受控安全环境,形成程序运行安全沙箱,然后监测可疑恶意文件或程序在安全沙箱的运行状况,获取可疑恶意文件或可疑程序的动态信息,最后检测相关信息是否异常,从而发现入侵行为。
6. 基于大数据分析的检测方法
基于大数据分析的检测方法是指通过汇聚系统日志、IDS报警日志、防火墙日志、DNS日志、网络威胁情报、全网流量等多种数据资源,形成网络安全大数据资源池,然后利用人工智能技术,基于网络安全大数据进行机器学习,以发现入侵行为。常见的大数据分析检查技术有数据挖掘、深度学习、数据关联、数据可视化等。
10.3 入侵检测系统组成与分类
10.3.1 入侵检测系统组成
一个入侵检测系统主要由以下功能模块组成:数据采集模块、入侵分析引擎模块、应急处理模块、管理配置模块和相关的辅助模块。数据采集模块的功能是为入侵引擎模块提供分析用的数据,包括操作系统的审计日志、应用程序的运行日志和网络数据包等。入侵分析引擎模块的功能是依据辅助模块提供的信息(如攻击模式),根据一定的算法对收集到的数据进行分析,从中判断是否有入侵行为出现,并产生入侵报警。该模块是入侵检测系统的核心模块。管理配置模块的功能是为其他模块提供配置服务,是IDS系统中模块与用户的接口。应急处理模块的功能是发生入侵后,提供紧急响应服务,例如关闭网络服务、中断网络连接、启动备份系统等。辅助模块的功能是协助入侵分析引擎模块工作,为它提供相应的信息,例如攻击特征库、漏洞信息等。
根据入侵检测系统的检测数据来源和它的安全作用范围,可将IDS分为三大类:第一类是基于主机的入侵检测系统(简称 HIDS),即通过分析主机的信息来检测入侵行为;第二类是基于网络的入侵检测系统(简称 NIDS),即通过获取网络通信中的数据包,对这些数据包进行攻击特征扫描或异常建模来发现入侵行为;第三类是分布式入侵检测系统(简称 DIDS),从多台主机、多个网段采集检测数据,或者收集单个IDS的报警信息,根据收集到的信息进行综合分析,以发现入侵行为。
10.3.2 基于主机的入侵检测系统
基于主机的入侵检测系统,简称为 HIDS。HIDS通过收集主机系统的日志文件、系统调用以及应用程序的使用、系统资源、网络通信和用户使用等信息,分析这些信息是否包含攻击特征或异常情况,并依此来判断主机是否受到入侵。由于入侵行为会引起主机系统的变化,因此在实际的HIDS产品中,CPU利用率、内存利用率、磁盘空间大小、网络端口使用情况、注册表、文件的完整性、进程信息、系统调用等常作为识别入侵事件的依据。HIDS一般适合检测以下入侵行为:
- 针对主机的端口或漏洞扫描;
- 重复失败的登入尝试;
- 远程口令破解;
- 主机系统的用户帐号添加;
- 服务启动或停止;
- 系统重启动;
- 文件的完整性或许可权变化;
- 注册表修改;
- 重要系统启动文件变更;
- 程序的异常调用;
- 拒绝服务攻击。
HIDS中的软件有许多,下面列举几个例子来说明。
1. SWATCH
SWATCH(The Simple WATCHer and filer)是Todd Atkins开发的用于实时监视日志的PERL程序。SWATCH利用指定的触发器监视日志记录,当日志记录符合触发条件时,SWATCH会按预先定义好的方式通知系统管理员。
2. Tripwire
Tripwire是一个文件和目录完整性检测工具软件包,用于协助管理员和用户监测特定文件的变化。Tripwire根据系统文件的规则设置,将已破坏或被篡改的文件通知系统管理员,因而常作为损害控制测量工具。
3. 网页防篡改系统
网页防篡改系统的基本作用是防止网页文件被入侵者非法修改,即在页面文件被篡改后,能够及时发现、产生报警、通知管理员、自动恢复。其工作原理是将所要监测的网页文件生成完整性标记,一旦发现网页文件的完整性受到破坏,则启动网页备份系统,恢复正常的网页。
基于主机的入侵检测系统的优点:
- 可以检测基于网络的入侵系统不能检测的攻击;
- 基于主机的入侵检测系统可以运行在应用加密系统的网络上,只要加密信息在到达被监控的主机时或到达前解密;
- 基于主机的入侵检测系统可以运行在交换网络中。
基于主机的入侵检测系统的缺点:
- 必须在每个被监控的主机上都安装和维护信息收集模块;
- 由于HIDS的一部分安装在被攻击的主机上,HIDS可能受到攻击并被攻击者破坏;
- HIDS占用受到 保护的主机系统的系统资源,降低了主机系统的性能;
- 不能有效地检测针对网络中所有主机的网络扫描;
- 不能有效地检测和处理拒绝服务攻击;
- 只能使用它所监控的主机的计算资源。
10.3.3 基于网络的入侵检测系统
基于网络的入侵检测系统,简称为 NIDS,捕获网络数据包,并依据网络包是否包含攻击特征,或者网络通信流是否异常来识别入侵行为。NIDS通常由一组用途单一的计算机组成,其构成多分为两部分:探测器和管理控制器。探测器分布在网络中的不同区域,通过侦听(嗅探)方式获取网络包,探测器将检测到的攻击行为形成报警事件,向管理控制器发送报警信息,报告发生入侵行为。管理控制器可监控不同网络区域的探测器,接收来自探测器的报警信息。一般来说,NIDS能够检测到以下入侵行为:
- 同步风暴(SYN Flood);
- 分布式拒绝服务攻击(DDoS);
- 网络扫描;
- 缓冲区溢出;
- 协议攻击;
- 流量异常;
- 非法网络访问;
当前,NIDS的软件产品有许多,国外产品有Session Wall、ISS RealSecure、Cisco Secure IDS等,国内的IDS产品公司有东软集团、北京天融信网络安全技术有限公司、绿盟科技集团股份有限公司、华为技术有限公司等。此外,因特网上有公开源代码的网络入侵检测系统 Snort。Snort是轻量型的 NIDS,它首先通过libpcap软件包监听(sniffer/logger)获得网络数据包,然后进行入侵检测分析。其主要方法是基于规则的审计分析,进行包的数据内容搜索/匹配。目前,Snort能检测缓冲区溢出、端口扫描、CGI攻击、SMB探测等多种攻击,还具有实时报警功能。
基于网络的入侵检测系统的优点:
- 适当的配置可以监控一个大型网络的安全状况;
- 基于网络的入侵检测系统的安装对已有的网络影响很小,通常属于被动型的设备,它们只监听网络而不干扰网络的正常动作;
- 基于网络的入侵检测系统可以很好地避免攻击,对于攻击者甚至是不可见的。
基于网络的入侵检测系统的缺点:
- 在高速网络中,NIDS很难处理所有的网络包,因此有可能出现漏检现象;
- 交换机可以将网络分为许多小单元VLAN,而多数交换机不提供统一的监测端口,这就减少了基于网络的入侵检测系统的监测范围;
- 如果网络流量被加密,NIDS中的探测器无法对数据包中的协议进行有效的分析;
- NIDS仅依靠网络流量无法推知命令的执行结果,从而无法判断攻击是否成功。
10.3.4 分布式入侵检测系统
分布式入侵检测系统可以跨越多个子网检测攻击行为,特别是大型网络,分布式入侵检测系统可以分为两种类型,即基于主机检测的分布式入侵检测系统和基于网络的分布式入侵检测系统。
1. 基于主机检测的分布式入侵检测系统
基于主机检测的分布式入侵检测系统,简称为HDIDS,其结构分为两个部分:主机探测器和入侵管理控制器。HDIDS将主机探测器按层次、分区域地配置、管理,把它们集成化一个可用于监控、保护分布在网络区域中的主机系统。
2. 基于网络的分布式入侵检测系统
基于网络的分布式入侵检测系统,简称为 NDIDS。NDIDS的结构分为两部分:网络探测器和管理控制器。网络探测器部署在重要的网络区域,如服务器所在的网段,用于收集网络通信数据和业务数据流,通过采用异常和误用两种方法对收集到的信息进行分析,若出现攻击或异常网络行为,就向管理控制器发送报警信息。
NDIDS 一般适用于大规模网络或者是地理位置区域分散的网络,采用这种结构有利于实现网络的分布式安全管理。现在市场上的网络入侵系统一般支持分布式结构。
综上所述,分布式IDS的系统结构能够将基于主机和网络的系统结构结合起来,检测所用到的数据源丰富,可以克服前两者的弱点。但是,由于是分布式的结构,所以也带来了新的弱点。例如,传输安全事件的过程中增加了通信的安全问题处理,安全管理配置复杂度增加等。
10.4 入侵检测系统主要产品与技术指标
入侵检测系统是常见的网络安全产品,产品类型有主机入侵检测系统、网络入侵检测系统以及统一威胁管理、高级持续威胁检测。下面将介绍入侵检测相关产品类型的特点、主要技术指标。
10.4.1 入侵检测相关产品
- 主机入侵检测系统
- 网络入侵检测系统
- 统一威胁管理
- 高级持续威胁检测
- 其他
10.4.2 入侵检测相关指标
入侵检测系统的主要指标有可靠性、可用性、可扩展性、时效性、准确性和安全性。
10.5 入侵检测系统应用
10.5.1 入侵检测系统应用场景类型
- 上网保护
- 网站入侵检测与保护
- 网络攻击阻断
- 主机/终端恶意代码检测
- 网络安全监测预警与应急处置
- 网络安全等级保护
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,基于,检测,系统,网络,主机,入侵 From: https://www.cnblogs.com/evan-whc/p/17091618.html