第五章 入侵检测技术第 5章 入侵检测技术内容提要:
入侵检测概述
入侵检测的技术实现
分布式入侵检测
入侵检测系统的标准
入侵检测系统示例
本章小结第五章 入侵检测技术
5.1 入侵检测概述入侵检测技术研究最早可追溯到 1980年
James P.Aderson所写的一份技术报告,他首先提出了入侵检测的概念 。 1987年 Dorothy
Denning提出了入侵检测系统 ( IDS,Intrusion
Detection System) 的抽象模型 ( 如图 5-1所示 ),
首次提出了入侵检测可作为一种计算机系统安全防御措施的概念,与传统的加密和访问控制技术相比,IDS是全新的计算机安全措施 。
返回本章首页第五章 入侵检测技术学 习审 计 记 录主 体 活 动规 则 集处 理 引 擎时 钟 规 则 设 计 与 修 改常 录异 记创 建提 取 规 则动 档活 简更 新更 新 历 史 活 动创 建 活 动 状 况图 5 - 1 D e n n i n g 入 侵 检 测 抽 象 模 型返回本章首页第五章 入侵检测技术入侵检测技术研究最早可追溯到 1980年
James P.Aderson所写的一份技术报告,他首先提出了入侵检测的概念 。 1987年 Dorothy
Denning提出了入侵检测系统 ( IDS,Intrusion
Detection System) 的抽象模型 ( 如图 5-1所示 ),
首次提出了入侵检测可作为一种计算机系统安全防御措施的概念,与传统的加密和访问控制技术相比,IDS是全新的计算机安全措施 。
返回本章首页第五章 入侵检测技术
1988年 Teresa Lunt 等人进一步改进了
Denning提出的入侵检测模型,并创建了 IDES
( Intrusion Detection Expert System),该系统用于检测单一主机的入侵尝试,提出了与系统平台无关的实时检测思想,1995年开发的 NIDES
( Next-Generation Intrusion Detection Expert
System) 作为 IDES完善后的版本可以检测出多个主机上的入侵 。
返回本章首页第五章 入侵检测技术
1990年,Heberlein等人提出了一个具有里程碑意义的新型概念:基于网络的入侵检测 ——
网 络 安 全 监 视 器 NSM( Network Security
Monitor) 。 1991年,NADIR( Network Anomaly
Detection and Intrusion Reporter) 与 DIDS
( Distribute Intrusion Detection System) 提出了通过收集和合并处理来自多个主机的审计信息可以检测出一系列针对主机的协同攻击 。
返回本章首页第五章 入侵检测技术
1994年,Mark Crosbie和 Gene Spafford建议使用自治代理 ( autonomous agents) 以提高
IDS的可伸缩性,可维护性,效率和容错性,该理念非常符合计算机科学其他领域 ( 如软件代理,
software agent) 正在进行的相关研究 。 另一个致力于解决当代绝大多数入侵检测系统伸缩性不足的方法于 1996年提出,这就是 GrIDS( Graph-
based Intrusion Detection System) 的设计和实现,该系统可以方便地检测大规模自动或协同方式的网络攻击 。
返回本章首页第五章 入侵检测技术近年来,入侵检测技术研究的主要创新有:
Forrest等将免疫学原理运用于分布式入侵检测领域; 1998年 Ross Anderson和 Abida Khattak将信息检索技术引进入侵检测;以及采用状态转换分析,数据挖掘和遗传算法等进行误用和异常检测 。
返回本章首页第五章 入侵检测技术
5.1.1 入侵检测原理图 5-2给出了入侵检测的基本原理图 。 入侵检测是用于检测任何损害或企图损害系统的保密性,完整性或可用性的一种网络安全技术 。 它通过监视受保护系统的状态和活动,采用误用检测
( Misuse Detection) 或异常检测 ( Anomaly
Detection) 的方式,发现非授权的或恶意的系统及网络行为,为防范入侵行为提供有效的手段 。
返回本章首页第五章 入侵检测技术入 侵 检 测分 析 引 擎历 史 行 为特 定 行 为 模 式数 据 提 取入 侵? 否记 录 证 据响 应 处 理是安 全 策 略当 前 系 统
/ 用 户 行 为知 识 库其 它图 5-2 入侵检测原理框图 返回本章首页第五章 入侵检测技术入侵检测系统 ( Intrusion Detection System,
IDS) 就是执行入侵检测任务的硬件或软件产品 。
IDS通过实时的分析,检查特定的攻击模式,系统配置,系统漏洞,存在缺陷的程序版本以及系统或用户的行为模式,监控与安全有关的活动 。
一个基本的入侵检测系统需要解决两个问题:一是如何充分并可靠地提取描述行为特征的数据;二是如何根据特征数据,高效并准确地判定行为的性质 。
返回本章首页第五章 入侵检测技术
5.1.2 系统结构由于网络环境和系统安全策略的差异,入侵检测系统在具体实现上也有所不同 。 从系统构成上看,入侵检测系统应包括事件提取,入侵分析,
入侵响应和远程管理四大部分,另外还可能结合安全知识库,数据存储等功能模块,提供更为完善的安全检测及数据分析功能 ( 如图 5-3所示 ) 。
返回本章首页第五章 入侵检测技术数据提取入侵分析 数据存储响应处理原始数据流知识库图 5-3 入侵检测系统结构返回本章首页第五章 入侵检测技术入侵检测的思想源于传统的系统审计,但拓宽了传统审计的概念,它以近乎不间断的方式进行安全检测,从而可形成一个连续的检测过程 。
这通常是通过执行下列任务来实现的:
监视,分析用户及系统活动;
系统构造和弱点的审计;
识别分析知名攻击的行为特征并告警;
异常行为特征的统计分析;
评估重要系统和数据文件的完整性;
操作系统的审计跟踪管理,并识别用户违反安全策略的行为 。 返回本章首页第五章 入侵检测技术
5.1.3 系统分类由于功能和体系结构的复杂性,入侵检测按照不同的标准有多种分类方法 。 可分别从数据源,
检测理论,检测时效三个方面来描述入侵检测系统的类型 。
1,基于数据源的分类通常可以把入侵检测系统分为五类,即基于主机,基于网络,混合入侵检测,基于网关的入侵检测系统以及文件完整性检查系统 。
返回本章首页第五章 入侵检测技术
2,基于检测理论的分类从具体的检测理论上来说,入侵检测又可分为异常检测和误用检测 。
异常检测 ( Anomaly Detection) 指根据使用者的行为或资源使用状况的正常程度来判断是否入侵,而不依赖于具体行为是否出现来检测 。
误用检测 ( Misuse Detection) 指运用已知攻击方法,根据已定义好的入侵模式,通过判断这些入侵模式是否出现来检测 。
返回本章首页第五章 入侵检测技术
3,基于检测时效的分类
IDS在处理数据的时候可以采用实时在线检测方式,也可以采用批处理方式,定时对处理原始数据进行离线检测,这两种方法各有特点 ( 如图 5-5所示 ) 。
离线检测方式将一段时间内的数据存储起来,
然后定时发给数据处理单元进行分析,如果在这段时间内有攻击发生就报警 。 在线检测方式的实时处理是大多数 IDS所采用的办法,由于计算机硬件速度的提高,使得对攻击的实时检测和响应成为可能 。 返回本章首页第五章 入侵检测技术入 侵检 测入 侵?
用 户 的 当 前 操 作监 测断 开 连 接记 录 证 据数 据 恢 复
Y
N
断 开 连 接记 录 证 据数 据 恢 复用 户 历 史 行 为专 家 经 验神 经 网 络 模 型入 侵检 测专 家 经 验用 户 的 历 史 记 录图 5 - 5 ( a ) 实 时 入 侵 检 测 的 功 能 原 理 图 ( b ) 事 后 入 侵 检 测 的 功 能 原 理 图返回本章首页第五章 入侵检测技术
5.2 入侵检测的技术实现对于入侵检测的研究,从早期的审计跟踪数据分析,到实时入侵检测系统,到目前应用于大型网络的分布式检测系统,基本上已发展成为具有一定规模和相应理论的研究领域 。 入侵检测的核心问题在于如何对安全审计数据进行分析,以检测其中是否包含入侵或异常行为的迹象 。 这里,
我们先从误用检测和异常检测两个方面介绍当前关于入侵检测技术的主流技术实现,然后对其它类型的检测技术作简要介绍 。
返回本章首页第五章 入侵检测技术
5.2.1 入侵检测分析模型分析是入侵检测的核心功能,它既能简单到像一个已熟悉日志情况的管理员去建立决策表,
也能复杂得像一个集成了几百万个处理的非参数系统 。 入侵检测的分析处理过程可分为三个阶段:
构建分析器,对实际现场数据进行分析,反馈和提炼过程 。 其中,前两个阶段都包含三个功能:
数据处理,数据分类 ( 数据可分为入侵指示,非入侵指示或不确定 ) 和后处理 。
返回本章首页第五章 入侵检测技术
5.2.2 误用检测( Misuse Detection)
误用检测是按照预定模式搜寻事件数据的,
最适用于对已知模式的可靠检测 。 执行误用检测,
主要依赖于可靠的用户活动记录和分析事件的方法 。
1,条件概率预测法条件概率预测法是基于统计理论来量化全部外部网络事件序列中存在入侵事件的可能程度 。
返回本章首页第五章 入侵检测技术
2,产生式 /专家系统用专家系统对入侵进行检测,主要是检测基于特征的入侵行为 。 所谓规则,即是知识,专家系统的建立依赖于知识库的完备性,而知识库的完备性又取决于审计记录的完备性与实时性 。
产生式 /专家系统是误用检测早期的方案之一,
在 MIDAS,IDES,NIDES,DIDS和 CMDS中都使用了这种方法 。
返回本章首页第五章 入侵检测技术
3,状态转换方法状态转换方法使用系统状态和状态转换表达式来描述和检测入侵,采用最优模式匹配技巧来结构化误用检测,增强了检测的速度和灵活性 。
目前,主要有三种实现方法:状态转换分析,有色 Petri-Net和语言 /应用编程接口 ( API) 。
返回本章首页第五章 入侵检测技术
4,用于批模式分析的信息检索技术当前大多数入侵检测都是通过对事件数据的实时收集和分析来发现入侵的,然而在攻击被证实之后,要从大量的审计数据中寻找证据信息,
就 必 须 借 助 于 信 息 检 索 ( IR,Information
Retrieval) 技术,IR技术当前广泛应用于 WWW
的搜索引擎上 。
IR系统使用反向文件作为索引,允许高效地搜寻关键字或关键字组合,并使用 Bayesian理论帮助提炼搜索 。
返回本章首页第五章 入侵检测技术
5,Keystroke Monitor和基于模型的方法
Keystroke Monitor是一种简单的入侵检测方法,它通过分析用户击键序列的模式来检测入侵行为,常用于对主机的入侵检测 。 该方法具有明显的缺点,首先,批处理或 Shell程序可以不通过击键而直接调用系统攻击命令序列;其次,
操作系统通常不提供统一的击键检测接口,需通过额外的钩子函数 ( Hook) 来监测击键 。
返回本章首页第五章 入侵检测技术
5.2.3 异常检测( Anomaly Detection)
异常检测基于一个假定:用户的行为是可预测的,遵循一致性模式的,且随着用户事件的增加异常检测会适应用户行为的变化 。 用户行为的特征轮廓在异常检测中是由度量 ( measure) 集来描述,度量是特定网络行为的定量表示,通常与某个检测阀值或某个域相联系 。
异常检测可发现未知的攻击方法,体现了强健的保护机制,但对于给定的度量集能否完备到表示所有的异常行为仍需要深入研究 。
返回本章首页第五章 入侵检测技术
1,Denning的原始模型
Dorothy Denning于 1986年给出了入侵检测的 IDES模型,她认为在一个系统中可以包括四个统计模型,每个模型适合于一个特定类型的系统度量 。
( 1) 可操作模型
( 2) 平均和标准偏差模型
( 3) 多变量模型
( 4) Markov处理模型返回本章首页第五章 入侵检测技术
2,量化分析异常检测最常用的方法就是将检验规则和属性以数值形式表示的量化分析,这种度量方法在
Denning的可操作模型中有所涉及 。 量化分析通过采用从简单的加法到比较复杂的密码学计算得到的结果作为误用检测和异常检测统计模型的基础 。
( 1) 阀值检验
( 2) 基于目标的集成检查
( 3) 量化分析和数据精简 返回本章首页第五章 入侵检测技术
3,统计度量统计度量方法是产品化的入侵检测系统中常用的方法,常见于异常检测 。 运用统计方法,有效地解决了四个问题,( 1) 选取有效的统计数据测量点,生成能够反映主体特征的会话向量;
( 2) 根据主体活动产生的审计记录,不断更新当前主体活动的会话向量; ( 3) 采用统计方法分析数据,判断当前活动是否符合主体的历史行为特征; ( 4) 随着时间推移,学习主体的行为特征,更新历史记录 。
返回本章首页第五章 入侵检测技术
4,非参数统计度量非参数统计方法通过使用非数据区分技术,
尤其是群集分析技术来分析参数方法无法考虑的系统度量 。 群集分析的基本思想是,根据评估标准 ( 也称为特性 ) 将收集到的大量历史数据 ( 一个样本集 ) 组织成群,通过预处理过程,将与具体事件流 ( 经常映射为一个具体用户 ) 相关的特性转化为向量表示,再采用群集算法将彼此比较相近的向量成员组织成一个行为类,这样使用该分析技术的实验结果将会表明用何种方式构成的群可以可靠地对用户的行为进行分组并识别 。返回本章首页第五章 入侵检测技术
5,基于规则的方法上面讨论的异常检测主要基于统计方法,异常检测的另一个变种就是基于规则的方法 。 与统计方法不同的是基于规则的检测使用规则集来表示和存储使用模式 。
( 1) Wisdom&Sense方法
( 2) 基于时间的引导机 ( TIM)
返回本章首页第五章 入侵检测技术
5.2.4 其它检测技术这些技术不能简单地归类为误用检测或是异常检测,而是提供了一种有别于传统入侵检测视角的技术层次,例如免疫系统,基因算法,数据挖掘,基于代理 ( Agent) 的检测等,它们或者提供了更具普遍意义的分析技术,或者提出了新的检测系统架构,因此无论对于误用检测还是异常检测来说,都可以得到很好的应用 。
返回本章首页第五章 入侵检测技术
1,神经网络 ( Neural Network)
作为人工智能 ( AI) 的一个重要分支,神经网络 ( Neural Network) 在入侵检测领域得到了很好的应用,它使用自适应学习技术来提取异常行为的特征,需要对训练数据集进行学习以得出正常的行为模式 。 这种方法要求保证用于学习正常模式的训练数据的纯洁性,即不包含任何入侵或异常的用户行为 。
返回本章首页第五章 入侵检测技术
2,免疫学方法
New Mexico大学的 Stephanie Forrest提出了将生物免疫机制引入计算机系统的安全保护框架中 。 免疫系统中最基本也是最重要的能力是识别,自我 /非自我,( self/nonself),换句话讲,
它能够识别哪些组织是属于正常机体的,不属于正常的就认为是异常,这个概念和入侵检测中异常检测的概念非常相似 。
返回本章首页第五章 入侵检测技术
3,数据挖掘方法
Columbia大学的 Wenke Lee在其博士论文中,
提出了将数据挖掘 ( Data Mining,DM) 技术应用到入侵检测中,通过对网络数据和主机系统调用数据的分析挖掘,发现误用检测规则或异常检测模型 。 具体的工作包括利用数据挖掘中的关联算法和序列挖掘算法提取用户的行为模式,利用分类算法对用户行为和特权程序的系统调用进行分类预测 。 实验结果表明,这种方法在入侵检测领域有很好的应用前景 。
返回本章首页第五章 入侵检测技术
4,基因算法基 因 算 法 是 进 化 算 法 ( evolutionary
algorithms) 的一种,引入了达尔文在进化论中提出的自然选择的概念 ( 优胜劣汰,适者生存 )
对系统进行优化 。 该算法对于处理多维系统的优化是非常有效的 。 在基因算法的研究人员看来,
入侵检测的过程可以抽象为:为审计事件记录定义一种向量表示形式,这种向量或者对应于攻击行为,或者代表正常行为 。
返回本章首页第五章 入侵检测技术
5,基于代理的检测近年来,一种基于 Agent 的 检 测 技 术
( Agent-Based Detection) 逐渐引起研究者的重视 。 所谓 Agent,实际上可以看作是在执行某项特定监视任务的软件实体 。 基于 Agent的入侵检测系统的灵活性保证它可以为保障系统的安全提供混合式的架构,综合运用误用检测和异常检测,
从而弥补两者各自的缺陷 。
返回本章首页第五章 入侵检测技术
5.3 分布式入侵检测分布式入侵检测 ( Distributed Intrusion
Detection) 是目前入侵检测乃至整个网络安全领域的热点之一 。 到目前为止,还没有严格意义上的分布式入侵检测的商业化产品,但研究人员已经提出并完成了多个原型系统 。 通常采用的方法中,一种是对现有的 IDS进行规模上的扩展,
另一种则通过 IDS之间的信息共享来实现 。 具体的处理方法上也分为两种:分布式信息收集,集中式处理;分布式信息收集,分布式处理 。
返回本章首页第五章 入侵检测技术
5.3.1 分布式入侵检测的优势分布式入侵检测由于采用了非集中的系统结构和处理方式,相对于传统的单机 IDS具有一些明显的优势:
( 1) 检测大范围的攻击行为
( 2) 提高检测的准确度
( 3) 提高检测效率
( 4) 协调响应措施返回本章首页第五章 入侵检测技术
5.3.2 分布式入侵检测的技术难点与传统的单机 IDS相比较,分布式入侵检测系统具有明显的优势 。 然而,在实现分布检测组件的信息共享和协作上,却存在着一些技术难点 。
Stanford Research Institute( SRI) 在对
EMERALD系统的研究中,列举了分布式入侵检测必须关注的关键问题:事件产生及存储,状态空间管理及规则复杂度,知识库管理,推理技术 。
返回本章首页第五章 入侵检测技术
5.3.3 分布式入侵检测现状尽管分布式入侵检测存在技术和其它层面的难点,但由于其相对于传统的单机 IDS所具有的优势,目前已经成为这一领域的研究热点 。
1,Snortnet
它通过对传统的单机 IDS进行规模上的扩展,
使系统具备分布式检测的能力,是基于模式匹配的分布式入侵检测系统的一个具体实现 。 主要包括三个组件:网络感应器,代理守护程序和监视控制台 。
返回本章首页第五章 入侵检测技术
2,Agent-Based
基于 Agent的 IDS由于其良好的灵活性和扩展性,是分布式入侵检测的一个重要研究方向 。
国外一些研究机构在这方面已经做了大量工作,
其中 Purdue大学的入侵检测自治代理 ( AAFID)
和 SRI的 EMERALD最具代表性 。
AAFID的体系结构如图 5-10所示,其特点是形成了一个基于代理的分层顺序控制和报告结构 。
返回本章首页第五章 入侵检测技术用 户 接 口监 视 器收 发 器 收 发 器代理代理代理代理代理代理主 机图 5 - 1 0 A A F I D 体 系 结 构 图返回本章首页第五章 入侵检测技术
3,DIDS
DIDS( Distributed Intrusion Detection
System) 是由 UC Davis的 Security Lab完成的,
它集成了两种已有的入侵检测系统,Haystack和
NSM。 前 者 由 Tracor Applied Sciences and
Haystack实验室针对多用户主机的检测任务而开发,数据源来自主机的系统日志 。 NSM则是由
UC Davis开发的网络安全监视器,通过对数据包,连接记录,应用层会话的分析,结合入侵特征库和正常的网络流或会话记录的模式库,判断当前的网络行为是否包含入侵或异常 。 返回本章首页第五章 入侵检测技术
4,GrIDS
GrIDS( Graph-based Intrusion Detection
System) 同样由 UC Davis提出并实现,该系统实现了一种在大规模网络中使用图形化表示的方法来描述网络行为的途径,其设计目标主要针对大范围的网络攻击,例如扫描,协同攻击,网络蠕虫等 。 GrIDS的缺陷在于只是给出了网络连接的图形化表示,具体的入侵判断仍然需要人工完成,而且系统的有效性和效率都有待验证和提高 。
返回本章首页第五章 入侵检测技术
5,Intrusion Strategy
Boeing公司的 Ming-Yuh Huang从另一个角度对入侵检测系统进行了研究,针对分布式入侵检测所存在的问题,他认为可以从入侵者的目的
( Intrusion Intention),或者是入侵策略
( Intrusion Strategy) 入手,帮助我们确定如何在不同的 IDS组件之间进行协作检测 。 对入侵策略的分析可以帮助我们调整审计策略和参数,构成自适应的审计检测系统 。
返回本章首页第五章 入侵检测技术
6,数据融合 ( Data Fusion)
Timm Bass提出将数据融合 ( Data Fusion)
的概念应用到入侵检测中,从而将分布式入侵检测任务理解为在层次化模型下对多个感应器的数据综合问题 。 在这个层次化模型中,入侵检测的数 据 源 经 历 了 从 数 据 ( Data) 到 信 息
( Information) 再到知识 ( Knowledge) 三个逻辑抽象层次 。
返回本章首页第五章 入侵检测技术
7,基于抽象 ( Abstraction-based) 的方法
GMU的 Peng Ning在其博士论文中提出了一种基于抽象 ( Abstraction-based) 的分布式入侵检测系统,基本思想是设立中间层 ( system view),提供与具体系统无关的抽象信息,用于分布式检测系统中的信息共享,抽象信息的内容包括事件信息
( event) 以及系统实体间的断言 ( dynamic
predicate) 。 中间层用于表示 IDS间的共享信息时使用的对应关系为,IDS检测到的攻击或者 IDS无法处理的事件信息作为 event,IDS或受 IDS监控的系统的状态则作为 dynamic predicates。
返回本章首页第五章 入侵检测技术
5.4 入侵检测系统的标准从 20世纪 90年代到现在,入侵检测系统的研发呈现出百家争鸣的繁荣局面,并在智能化和分布式两个方向取得了长足的进展 。 为了提高 IDS
产品,组件及与其他安全产品之间的互操作性,
DARPA和 IETF的入侵检测工作组 ( IDWG) 发起制订了一系列建议草案,从体系结构,API、
通信机制,语言格式等方面来规范 IDS的标准 。
返回本章首页第五章 入侵检测技术
5.4.1 IETF/IDWG
IDWG定义了用于入侵检测与响应 ( IDR)
系统之间或与需要交互的管理系统之间的信息共享所需要的数据格式和交换规程 。
IDWG提出了三项建议草案:入侵检测消息交换格式 ( IDMEF),入侵检测交换协议
( IDXP) 以及隧道轮廓 ( Tunnel Profile) 。
返回本章首页第五章 入侵检测技术
5.4.2 CIDF
CIDF的工作集中体现在四个方面,IDS的体系结构,通信机制,描述语言和应用编程接口
API。
CIDF在 IDES和 NIDES的基础上提出了一个通用模型,将入侵检测系统分为四个基本组件:
事件产生器,事件分析器,响应单元和事件数据库 。 其结构如图 5-15所示 。
返回本章首页第五章 入侵检测技术事 件 产 生 器事 件 数 据 库事 件 分 析 器响 应 单 元输 入,原 始 事 件 源图 5 - 1 5 C I D F 体 系 结 构 图输 出,事 件 的 存 储 信 息输 出,高 级中 断 事 件输 出,原 始 或低 级 事 件输 出,对 事 件 的 响 应返回本章首页第五章 入侵检测技术
5.5 入侵检测系统示例为了直观地理解入侵检测的使用,配置等情况,
这里我们以 Snort为例,对构建以 Snort为基础的入侵检测系统做概要介绍 。
Snort 是一个开放源代码的免费软件,它基于
libpcap 的数据包嗅探器,并可以作为一个轻量级的网络入侵检测系统 ( NIDS) 。
通过在中小型网络上部署 Snort系统,可以在分析捕获的数据包基础上,进行入侵行为特征匹配工作,或从网络活动的角度检测异常行为,并完成入侵的预警或记录 。 返回本章首页第五章 入侵检测技术
5.5.1 Snort的体系结构
Snort在结构上可分为数据包捕获和解码子系统,检测引擎,以及日志及报警子系统三个部分 。
1,数据包捕获和解码子系统该子系统的功能是捕获共享网络的传输数据,
并按照 TCP/ IP协议的不同层次将数据包解 析 。
2,检测引擎检测引擎是 NIDS实现的核心,准确性和快速性是衡量其性能的重要指 标 。 返回本章首页第五章 入侵检测技术为了能够快速准确地进行检测和处理,Snort在检测规则方面做了较为成熟的设计 。
Snort 将所有已知的攻击方法以规则的形式存放在规则库中,每一条规则由规则头和规则选项两部分组成 。 规则头对应于规则树结点 RTN( Rule
Tree Node),包含动作,协议,源 ( 目的 ) 地址和端口以及数据流向,这是所有规则共有的部分 。 规则选项对应于规则选项结点 OTN( Optional Tree
Node),包含报警信息 ( msg),匹配内容
( content) 等选项,这些内容需要根据具体规则的性质确定 。
返回本章首页第五章 入侵检测技术检测规则除了包括上述的关于,要检测什么,,还应该定义,检测到了该做什么,。
Snort 定义了三种处理方式,alert ( 发送报警信息 ),log( 记录该数据包 ) 和 pass( 忽略该数据包 ),并定义为规则的第一个匹配关键字 。
这样设计的目的是为了在程序中可以组织整个规则库,即将所有的规则按照处理方式组织成三个链表,以用于更快速准确地进行匹配 。 如图 5-17所示 。
返回本章首页第五章 入侵检测技术规 则 链 表 头
S r c / D e s I P
S r c / D e s P o r t
规 则 链 表 头
S r c / D e s I P
S r c / D e s P o r t
规 则 链 表 头
…,,,
R T N R T N R T N
规 则 链 表 选 项
C o n t e n t
T C P F l a g s
I C M P C o d e s / T y p e
P a y l o a d S i z e
e t c
O T N
规 则 链 表 选 项
C o n t e n t
T C P F l a g s
I C M P C o d e s / T y p e
P a y l o a d S i z e
e t c
O T N
规 则 链 表 选 项
C o n t e n t
…,,,
O T N
图 5 - 1 7 S n o r t 规 则 链 逻 辑 结 构 图返回本章首页第五章 入侵检测技术当 Snort 捕获一个数据包时,首先分析该数据包使用哪个 IP协议以决定将与某个规则树进行匹配 。 然后与 RTN 结点依次进行匹配,当与一个头结点相匹配时,向下与 OTN 结点进行匹配 。
每个 OTN 结点包含一条规则所对应的全部选项,
同时包含一组函数指针,用来实现对这些选项的匹配操作 。 当数据包与某个 OTN 结点相匹配时,
即判断此数据包为攻击数据包 。
具体流程见图 5-18所示 。
返回本章首页第五章 入侵检测技术
N
Y
图 5 - 1 8 S n o r t 规 则 匹 配 流 程 图开 始开 始 R u l e L i s t N o d e 下一 个 节 点获 取 R u l e L i s t s 头
N
Y
链 表 中 有记 录根 据 协 议 类 型 选择 规 则 链 表 头顺 序 查 找 规 则 链 表 头直 至 找 到 匹 配 的 项找 到 匹 配 项查 找 规 则 链 表 选 项 直至 找 到 相 匹 配 的 项找 到 匹 配 项
Y
调 用 相 应 函 数 处 理根 据 T a g 信 息 进 行 记 录结 束
N
匹 配 剩 余规 则 头返回本章首页第五章 入侵检测技术
3,日志及报警子系统一个好的 NIDS,更应该提供友好的输出界面或发声报警等 。 Snort是一个轻量级的 NIDS,
它的另外一个重要功能就是数据包记录器,它主要采取用 TCPDUMP的格式记录信息,向 syslog
发送报警信息和以明文形式记录报警信息三种方式 。
值得提出的是,Snort 在网络数据流量非常大时,可以将数据包信息压缩从而实现快速报警 。
返回本章首页第五章 入侵检测技术
5.5.2 安装使用 Snort
以 snort 1.8.6为例,可执行下列命令安装:
若从 snort.org的
/dl/signatures/下载最新的规则库,则右侧命令可将规则库安装到适当位置:
返回本章首页第五章 入侵检测技术
5.5.3 Snort与 TCPDump的比较从表面上看,Snort与 TCPDump是非常相似的,
Snort与它的最大共同之处在于都是基于 libpcap库,
且都支持 BPF过滤机制,但 Snort的目的不仅仅在于记录网络数据包,而是从安全的角度出发来解析分析它 。 TCPDump通过分析第二层或第三层的报文进行网络故障诊断,而 Snort则针对应用层的数据进行分析从而实现检测入侵行为 。
此外,由于 TCPDump旨在快速完整地记录流量,所以它制定了特殊的输出格式,速度快,但不易阅读 。 而 Snort提供了更为友好的输出格式,有利于系统管理员直接分析 。 返回本章首页第五章 入侵检测技术
5.5.4 部署 IDS面临的问题由于系统本身存在的若干问题,使得实际部署 IDS存在着一些不可避免的困难,这就需要我们在实际工作中权衡利弊,扬长避短 。
( 1) 突破检测速度瓶颈制约,适应网络通信需求 。
( 2) 降低漏报和误报,提高其安全性和准确度 。
( 3) 提高系统互动性能,增强全系统的安全性能 。 返回本章首页第五章 入侵检测技术
5.6 本章小结入侵检测 ( Intrusion Detection) 是保障网络系统安全的关键部件,它通过监视受保护系统的状态和活动,采用误用检测 ( Misuse Detection) 或异常检测 ( Anomaly Detection) 的方式,发现非授权的或恶意的系统及网络行为,为防范入侵行为提供有效的手段 。
入侵检测按照不同的标准有多种分类方法 。 分布式入侵检测 ( Distributed Intrusion Detection) 对信息的处理方法分为两种,即分布式信息收集,集中式处理和分布式信息收集,分布式处理 。 返回本章首页第五章 入侵检测技术为了提高 IDS产品,组件及与其他安全产品之间的互操作性,DARPA和 IETF的入侵检测工作组
( IDWG) 发起制订了一系列建议草案,从体系结构,API,通信机制,语言格式等方面来规范 IDS的标准,但草案或建议目前都处于逐步完善之中,尚无被广泛接受的国际标准 。
在安全实践中,部署入侵检测是一项繁琐的工作,需要从三个方面对入侵检测进行改进,即突破检测速度瓶颈制约,适应网络通信需求;降低漏报和误报,提高其安全性和准确度;提高系统互动性能,增强全系统的安全性能 。
返回本章首页第五章 入侵检测技术本章到此结束,谢谢!