退出
网络安全技术
?学习目的,
? 了解入侵检测概念
? 初步掌握入侵检测系统( IDS)的分析方法
? 了解入侵检测系统( IDS)结构
? 初步掌握入侵检测工具
? 了解安全审计技术
?学习重点,
? 入侵检测系统( IDS)的分析方法
? 入侵检测工具
? 安全审计技术
4.1
入侵检测系
统概述
当我们无法完全防止入侵时,那么只能希
望系统在受到攻击时,能尽快检测出入侵,而
且最好是实时的,以便可以采取相应的措施来
对付入侵,这就是入侵检测系统要做的,它从
计算机网络中的若干关键点收集信息,并分析
这些信息,检查网络中是否有违反安全策略的
行为和遭到袭击的迹象。入侵检测被认为是防
火墙之后的第二道安全闸门。
4.1.1 入侵检测定义
1,定义
可以看到入侵检测的作用就在于及时地发现各
种攻击以及攻击企图并作出反应。我们可以给入侵
检测做一个简单的定义,入侵检测就是对(网络)
系统的运行状态进行监视,发现各种攻击企图、攻
击行为或者攻击结果,以保证系统资源的机密性、
完整性与可用性。
2、基本特性
?经济性
?时效性
?安全性
?可扩展性
2,入侵检测技术 主要的发展方向
? 体系结构方向进一步研究分布式入侵检测与通
用的入侵检测架构 。
? 应用层入侵检测
? 智能的入侵检测
? 提供高层统计与决策
? 响应策略与恢复研究
? 入侵检测的评测方法
? 和其它网络安全部件的协作、与其他安全技术
的结合
4.1.3 入侵检测系统的功能及分类
1、入侵检测系统的功能
? 监测并分析用户和系统的活动, 查找非法用户
和合法用户的越权操作 。
? 检查系统配置和漏洞, 并提示管理员修补漏洞
( 现在通常由安全扫描系统完成 ) 。
? 评估系统关键资源和数据文件的完整性 。
? 识别已知的攻击行为 。
? 统计分析异常行为 。
? 操作系统日志管理, 并识别违反安全策略的用
户活动等 。
2.入侵检测的分类
对入侵检测技术的分类方法很多,根据着眼
点的不同,主要有下列几种分法:按数据来源和
系统结构分类,入侵检测系统分为 3类:基于主机
的入侵检测系统,基于网络的入侵检测系统,分
布式入侵检测系统(混合型)。根据数据分析方
法(也就是检测方法)的不同,可以将入侵检测
系统分为 2类:异常检测和误用检测。按数据分析
发生的时间不同,入侵检测系统可以分为 2类:离
线检测系统与在线检测系统。按照系统各个模块
运行的分布方式不同,可以分为 2类:集中式检测
系统和分布式检测系统。
4.1.4 入侵响应( Intrusion Response)
入侵响应就是当检测到入侵或攻击时,采取适当
的措施阻止入侵和攻击的进行。入侵响应系统分类也有
几种分类方式,按响应类型可分为:报警型响应系统、
人工响应系统、自动响应系统;按响应方式可分为:基
于主机的响应、基于网络的响应;按响应范围可分为:
本地响应系统、协同入侵响应系统。当我们检测到入侵
攻击时,采用的技术很多,又大致可分为被动入侵响应
技术和主动入侵响应技术。被动入侵响应包括:记录安
全事件、产生报警信息、记录附加日志、激活附加入侵
检测工具等。主动入侵响应包括隔离入侵者 IP、禁止被
攻击对象的特定端口和服务、隔离被攻击对象、警告攻
击者、跟踪攻击者、断开危险连接、攻击攻击者等。
Garfinkel和 Spafford于 1996年推荐了两个重要
的响应方案:第一个是保持冷静,不要惊慌。第二个是对每件事情都进行记录。 Chapman与
Zwicky也针对入侵攻击提出了如下七步建议,
第一步:估计形势并决定需要做出那些响应
第二步:如果有必要就断开连接或关闭资源
第三步:事故分析和响应
第四步:根据响应策略向其他人报警
第五步:保存系统状态
第六步:恢复遭到攻击的系统工程
第七步:记录所发生的一切
4.1.5 入侵跟踪技术
1,基础
?互联网的各种协议的了解
?在不同的网络层,主要的不同网络地址
2、跟踪电子邮件
?简单邮件传输协议 SMTP
?跟踪发信者最好的办法就是对邮件中附加的头信
息中出现的整个路径作彻底的调查。
? SMTP邮件服务器保存的日志记录信息审计
3、跟踪 Usenet的信息传递
对消息中附加的头信息中出现的整个路径作
彻底的调查和审计日志信息。
4.第三方跟踪工具 ( Netscan Pro )
5.蜜罐技术
4.2
入侵检测系统
( IDS)的分析
方法
入侵分析的任务就是在提取到的庞大数据
中找到入侵的痕迹。入侵分析过程需要将提取到
的事件与入侵检测规则等进行比较,从而发现入
侵行为。一方面入侵检测系统需要尽可能多地提
取数据以获得足够的入侵证据,而另一方面由于
入侵行为的千变万化而导致判定入侵的规则等越
来越复杂,为了保证入侵检测的效率和满足实时
性的要求,入侵分析必须在系统的性能和检测能
力之间进行权衡,合理地设计分析策略,并且可
能要牺牲一部分检测能力来保证系统可靠、稳定
地运行,并具有较快的响应速度。入侵检测分析
技术主要分为两类:异常检测和误用检测。
4.2.1 基于异常的入侵检测方法
本节重点讨论这种方法的原理和基本流程 。 需要
注意的是这个领域基本上是一个边缘学科, 它的理
论基础包括人工智能, 神经网络以及统计学等, 由
于能力和篇幅的限制, 我们无法一一介绍相关的理
论, 基于异常的入侵检测方法主要来源于这样的思
想:任何人的正常行为都是有一定的规律的, 并且
可以通过分析这些行为产生的日志信息 ( 假定日志
信息足够完全 ) 总结出这些规律, 而入侵和滥用行
为则通常和正常的行为存在严重的差异, 通过检查
出这些差异就可以检测出入侵 。 这样, 我们就可以
检测出非法的入侵行为甚至是通过未知方法进行的
入侵行为 。 此外不属于入侵的异常用户行为 ( 滥用
自己的权限 ) 也能被检测到 。
1.基于统计学方法的异常检测系统
这种系统使用统计学的方法来学习和检测用户
的行为。鉴于人工智能领域的发展缓慢,统计学方
法可以说是一种比较现实的方法,一个典型的系统
SRI International的 NIDES( Next-generation
Intrusion Detection Expert System)。
2,预测模式生成法
使用该方法进行入侵检测的系统,利用动态的规
则集来检测入侵,这些规则是由系统的归纳引擎,根
据已发生的事件的情况来预测将来发生的事件的概率
来产生的,归纳引擎为每一种事件设置可能发生的概
率 。
3,神经网络方法
利用神经网络检测入侵的基本思想是用一系列
信息单元(命令)训练神经单元,这样在给定一组
输入后,就可能预测出输出。与统计理论相比,神
经网络更好地表达了变量间的非线性关系,并且能
自动学习和更新。
4,基于数据挖掘技术的异常检测系统
数据挖掘,也称为知识发现技术。对象行为日志
信息的数据量通常都非常大,如何从大量的数据中
,浓缩, 出一个值或一组值来表示对象行为的概貌,
并以此进行对象行为的异常分析和检测,就可以借用
数据挖掘的方法。其中有一种方式就是记录一定量的
格式化后的数据,来进行分析和入侵检测。
5.总结
理论上这种入侵检测方法具有一定入侵检测的能力,
并且相对于基于误用的入侵检测有一个非常强的优势,
就是能够检测出未知的攻击;但在实际中, 理论本身
也存在一定的缺陷, 比如,
? 基于异常的入侵监测系统首先学习对象的正常行为,
并形成一个或一组值表示对象行为概貌, 而表示概貌
的这些数据不容易进行正确性和准确性的验证 。
? 通常比较长期行为的概貌和短期行为的概貌检测出
异常后, 只能模糊地报告存在异常, 不能准确地报告
攻击类型和方式, 因此也不能有效地阻止入侵行为 。
? 通常基于异常的入侵监测系统首先要有一个学习过
程, 这个过程是否能够正确反映对象的正常行为? 因
为这个过程很可能会被入侵者利用 。
这些问题使大多数此类的系统仍然停留在研究领
域 。
4,2.2 基于误用的入侵检测方法
在介绍基于误用( misuse)的入侵检测的
概念之前,先看看误用( misuse)的含义,在
这里它指, 可以用某种规则、方式或模型表示
的攻击或其它安全相关行为, 。那么基于误用
的入侵检测技术的含义是:通过某种方式预先
定义入侵行为,然后监视系统的运行,并从中
找出符合预先定义规则的入侵行为。
1.专家系统
专家系统是基于知识的检测中早期运用较多的方法。
将有关入侵的知识转化成 if-then结构的规则,即把构成入
侵所需要的条件转化为 if部分,把发现入侵后采取的相应
措施转化为 then部分。当其中某个或某部分条件满足时,
系统就判断为入侵行为发生。其中的 if-then结构构成了描
述具体攻击的规则库,状态行为及其语义环境可根据审计
事件得到,推理机根据规则和行为完成判断工作 。
2.模式匹配
基于模式匹配的入侵检测方式也像专家系统一样,也需
要知道攻击行为的具体知识。但是攻击方法的语义描述不
是被转化抽象的检测规则,而是将已知的入侵特征编码成
与审计记录相符合的模式,因而能够在审计记录中直接寻
找相匹配的已知入侵模式。这样就不像专家系统一样需要
处理大量数据,从而大大提高了检测效率
3.按键监视( Keystroke Monitor )
按键监视是一种很简单的入侵检测方法,
用来监视攻击模式的按键。
4,Petric网状态转换
Petric网用于入侵行为分析是一种类似于状
态转换图分析的方法。利用 Petric网的有利之处
在于它能一般化、图形化地表达状态,并且简洁
明了。虽然很复杂的入侵特征能用 Petric网表达
得很简单,但是对原始数据匹配时的计算量却会
很大。
5.误用检测与异常检测的比较
前面介绍了基于异常和基于误用两种不同的检测方法,
下面简单地评述一下两者之间的差异,
? 异常检测系统试图发现一些未知的入侵行为, 而误用
检测系统则是标识一些已知的入侵行为 。
? 异常检测指根据使用者的行为或资源使用状况来判断
是否入侵, 而不依赖于具体行为是否出现来检测;而误
用检测系统则大多数是通过对一些具体的行为的判断和
推理, 从而检测出入侵 。
? 异常检测的主要缺陷在于误检率很高, 尤其在用户数
目众多或工作行为经常改变的环境中;而误用检测系统
由于依据具体特征库进行判断, 准确度要高很多 。
? 异常检测对具体系统的依赖性相对较小;而误用检测
系统对具体的系统依赖性太强, 移植性不好 。
4.3
入侵检测系
统
( IDS)结构
响应单元
事件分析器 事件数据库
事件产生器
CDIF的模型
为了提高 IDS产品、组件及与其它安全产品
之间的互操作性,美国国防高级研究计划署
( DARPA)和互联网工程任务组( IETF)的入侵
检测工作组( IDWG)提出的建议是公共入侵检测
框架( CDIF) 。
1、事件产生器
CDIF将 IDS需要分析的数据统称为事件,它可以是网
络中的数据包,也可以是从系统日志或其它途径得到的信
息。事件产生器的任务是从入侵检测系统之外的计算环境
中收集事件,并将这些事件转换成 CDIF的 GIDO(统一入
侵检测对象)格式传送给其它组件。
2,事件分析器
事件分析器分析从其它组件收到的 GIDO,并将产生的新
GIDO在传送给其它组件。分析器可以是一个轮廓
( profile)描述工具,统计性地检测现在的事件是否可
能与以前某个时间来自同一个时间序列;也可以是一个
特征检测工具,用于在一个事件序列中检测是否有已知
的误用攻击特性;此外,事件分析器还可以是一个相关
器,观察事件之间的关系,将有联系的事件放在一起,
以利于以后的进一步分析。
3,事件数据库
用来存储 GIDO,以备系统需要的时候使用 。
4,响应单元
响应单元处理收到的 GIDO,并据此采取相应的
措施, 如 kill相关进程, 将连接复位, 修改文件权限
等 。
以上 4个组件只是逻辑实体, 一个组件可能是某台
计算机上的一个进程甚至线程, 也可能是多台计算机
上的多个进程, 它们以 GIDO格式进行数据交换 。
GIDO是对事件进行编码的标准通用格式 ( 由 CDIF描
述语言 CISL定义 ), GIDO数据流在图中已标出, 它
可以是发生在系统中的审计事件, 也可以是对审计事
件的分析结果 。
4,3,3 基于智能代理技术的分布
式入侵检测系统
分布式入侵检测系统是与简单的基于主机的入
侵检测系统不同的,它一般由多个部件组成分布在
网络的各个部分,完成相应的功能,如进行数据采
集、分析等。通过中心的控制部件进行数据汇总、
分析、产生入侵报警等。一个简单的分布式入侵检
测系统( DIDS)如下页图 所示 。
用户接口
专家系统
通信管理器
网络监视器
通信代理
主机监视器
通信代理
主机监视器
通信代理
主机监视器
通信代理
DIDS Director
DIDS的体系结构
共享网段
4.3.2 简单的分布式入侵检测系统
人工智能领域的智能代理 ( Agent) 技术越来
越热, 也提出了不少基于智能代理技术的分布式入
侵检测系统, 如基于自治代理 ( Autonomous Agents)
技术的 AAFID,还有基于移动代理的分布式入侵检
测系统等等, 下面主要介绍基于自治代理技术的
AAFID。 AAFID的系统结构可以从下页图的实例中
看出, AAFID系统结构有 3个重要的部件:代理
( Agents), 收发器 ( Transceivers) 和监视器
( Monitors) 组成 。 三者都被称为实体 。
D
B
C
E A 用户接口
遵循 AAFID系统结构的 IDS的物理表示
控制流
数据流
收发器
监视器
主机
代理
三者都被称为实体 。 三种实体之间
的关系如下,
? 一个 AAFID系统可以分布在任意多台主机上,
每台主机上可以有任意多个代理 。
? 在同一台主机上的所有代理向该主机上的收发
器传递信息 。
? 每台主机只能有一个收发器, 负责监督和控制
该主机上的代理, 可以向代理发送控制命令, 也
可以对代理所发送来的数据进行数据精简 。
? 收发器可以向一个或多个监视器报告结果 。 每
个收发器可向多个监视器发送信息, 这样可以避
免由于一个监视器故障而造成的单点故障问题
? 每个监视器监督和控制多个发送器;
?监视器可以访问广域网,从而可以进行高层控制
协调,检测涉及多个主机的入侵;
?监视器之间也可以构成分层的结构,底层的监视
器向高层汇报;
?监视器负责同用户进行交互,从用户界面获取控
制命令、向用户报告检测结果等;
?所有部件都为其他部件及用户提供 API,实现相
互之间的调用。
其逻辑结构如下图所示,
用户接口 A
B
C
D
E
遵循 AAFI系统结构的 IDS的逻辑表示
4,3.4 自适应入侵检测系统
由于入侵方法和入侵特征的不断变化,
入侵检测系统必须不断自学习,以便更新检
测模型。为了适应这种需要,提出了一种具
有自适应模型生成特性的入侵检测系统。该
系统的体系结构中包含三个组件:代理
( Agent)、探测器( Detector)以及自适
应模型生成器( Adaptive Model
Generator)。该体系结构如下页图所示。
代理 向探测器提供收集到的各种数据,而探测器则
用来分析和响应已经发生的入侵。代理同时还向自适
应模型生成器( AMG)发送数据,供其学习新的检
测模型。自适应模型生成器在学习新的检测模型的同
时,将学到的模型提供给探测器。
自适应模型生成器系统 ( 如下图所示 ) 由四
部分组成:数据接收, 数据仓库, 模型生成器和
模型分配器 。
模型生成器构架
自适应模型生成器系统各部分具有
的功能,
? 数据接收:从传感器接收数据并将其转换为
一个表单, 准备加入列数据仓库 。
? 数据仓库:向数据库中存取数据 。
? 模型生成器:利用数据仓库中的数据可以生
成学习机制, 利用该学习机制可以建立一定的
模型 。
? 模型分配器:将生成的模型通过模型分配器
分布到各探测器 。
4.3.5 智能卡式入侵检测系统实现
本节从一个新的角度来设计入侵检测系统 —— 智能
卡系统,它可以将预防和检测模块集成在一起。在预防模
块内,系统安全的有关数据存储在智能卡中,用户只需将
其智能卡插入到读卡器中就可以完成登录认证 。资源分配
的有关信息业存储在智能卡内。当用户登录成功,就可以
根据预先的设置进行权限范围内的网络访问,并分配相应
的资源。采用这种方案就可以有效地阻止非法入侵者,同
时也可以防止合法用户访问权限范围以外的网络资源,在
检测模块内,在入侵检测引擎中加入智能卡用户特征信息
的读取模块,并将不同用户的特征信息写入其各自的智能
卡中。系统在注册时将卡内信息读出并加以比较,如果能
够匹配则为合法用户,否则就为非法用户。
1.智能卡基础
在本系统中,智能卡是核心部分。通过它可以
安全登录网络系统、保存用户环境配置文件和安全
配置文件。但该设备没有得到广泛使用的主要原因
有,
? 缺乏统一的标准, 尽管已通过 ISO7816对其进行
了标准化的约定, 但是标准允许供应商在其读卡机
上使用自己的通信代码 。 因此, 智能卡的读卡程序
是由供应商自己定制的 。
? 缺乏足够的应用, 因为智能卡目前主要用于存储
信息, 因此软硬件供应商都没有兴趣提供其他方面
的应用 。
2.设计智能卡系统
智能卡系统是基于统计的不规则检测系统
(系统也加入了误用检测方法)的改进版。因此,
在智能卡式入侵检测系统时,通常都采用了常用
入侵检测系统的几个标准模块,
( 1) 审计日志生成模块
主要用于收集用户信息和系统活动。这些特性是
基于信息是否可用来选择的。任何用户和系统的活动,
只要能代表用户行为的特性都能进行使用。
( 2) 智能卡控制模块
主要处理一些内部关联的操作 。 它包括以下三方
面的内容:从统计信息中进行归纳分类;将归纳的分类
信息存储到用户的智能卡中或从智能卡中将信息转储回
来;重新生成分类信息 。
智能卡除了用于登录认证之外,还可以用于处
理静态和动态的用户数据。
?静态数据包括用户的个人信息和企业信息,也可以
保存用于建立网络连接以及建立路由表等的网络信息。
另外,还要输入用于区分合法或不合法网络活动的边
界值。
?用户动态配置文件则用于处理某些选定特性的统计
汇总信息。
在处理完上述用户特性之后,审计日志生成模块
将收集用户和系统活动的统计数据,最后将这些信息
送到智能卡中进行计算和保存。
( 3) 特性抽取模块
主要用于对选定审计特性的用户特性进行汇总 。
由于智能卡存储空间的限制, 因此审计事件日志不
能全部保存在智能卡中, 智能卡中只保存进行分析
和统计比较等审计特性 。
在特性抽取的过程中, 将选定的用户和系统活
动分类成组 。 每个特性都将被分别抽取 。 抽取的特
性将和新收集的审计事件信息进行比较, 以生成新
的特性数据 。
( 4) 入侵检测模块
抽取出来的平均值, 偏差值以及新收集的用户
合法的系统活动特性等, 都将和全面特性统计数据
进行比较 。 如果用户标准行为位于标准偏差内, 则
属于正常;如果超出标准偏差, 则被认为是异常行
为, 从而产生报警信息 。
3.智能卡系统性能分析
智能卡系统性的优点,
? 同一张卡就即可用于认证也可用于检测过程。
? 通过使用智能卡还可以防止一些基本的入侵行为,
如多重登录, 尝试不同密码等 。
? 在企业内部网络环境下, 通过智能卡系统还可以建
立分布式入侵检测系统 。
? 用户的信息就不必在网络上同步进行更新了 。
智能卡系统性的缺点,
?( 智能卡系统是基于统计的不规则检测系统的修改
版, 因此它和传统的基于统计的不规则检测系统具有
同样的优点 。 ) 一方面, 由于基于非规则的机制, 因
此就不需要基于规则的专家系统的大量资源和数据库;
但另一方面, 在这个系统中不能像基于专家系统的方
法那样进行快速检测 。
?由于用户的所有信息都必须保存在智能卡中, 所以
就受到智能卡的存储容量的限制 。 而智能卡不能附加
额外的内存, 除非重新设计和生产, 因此一些相关的
数据不得不进行舍弃 。 由于只能抽取关键数据, 而大
量数据将被舍弃, 这样, 一些用户的行为信息就可能
会与原始数据有所偏差 。
4.3.6 典型入侵检测系统简介
目前 IDS产品有很多,免费的产品有 Snort,shadow
等。商品化的产品,国外的有 ISS公司的 RealSecure(分
布式 IDS),Cisco的 NetRanger( NIDS),CyberSafe公
司的 Cebtrax(分布式 IDS),CA的 eTrust IDS、
Symantee的 Intruder( HIDS)和 NetProwler( NIDS)、
NAI的 Cyber Monitor,Network Security Wizards公司的
Dragon IDS系统( NIDS),国内的有金诺网安的 KIDS、
北方计算中心的 NISDetector、启明星辰的天阗黑客入侵
检测与预警系统、中科网威“天眼”网络入侵侦测系统、
复旦光华 S_Audit入侵检测与安全审计系统等。
1,免费的 IDS---Snort
Snort是基于 libpcap的数据包嗅探器并可以作
为一个轻量级的网络入侵检测系统( NIDS)。可以
运行在各种操作系统平台,如 UNIX系列和 Wondows系
列(需要 libpcap for win32的支持),与很多商业
产品相比,它对操作系统的依赖性比较低。其次用
户可以根据自己的需要及时在短时间内调整检测策
略。
Snort作为一个 NIDS,其 工作原理 为在基于共
享网络上检测原始的网络传输数据,通过分析捕获
的数据包,匹配入侵行为的特征或者从网络活动的
角度检测异常行为,进而采取入侵的预警或记录。
从检测模式而言,Snort属于误用检测,是基于规则
的入侵检测工具。
Snort的结构主要分为三个部分,
l 数 据 包 捕 获 和 解 析 子 系 统 ( Capture Packet
Mechanism from Link Layer and the Packet
Decoder),该子系统的功能为捕获网络的传输数据并
按照 TCP/IP协议的不同层次将数据包进行解析 。
Snort利用 libpcap库函数进行数据采集, 该库函数可以
为应用程序提供直接从链路层捕获数据包的接口函数
并可以设置数据包的过滤器以来捕获指定的数据 。 对
于解析机制来说, 能够处理数据包的类型的多样性也
同样非常重要, 目前, Snort可以处理以太网, 令牌环
及 SLIP等多种链路类型的包 。
l检测引擎 ( The Detect Engine),检测引擎是一个
NIDS实现的核心, 准确性和快速性是衡量其性能的重
要指标, 前者主要取决于对入侵行为特征码提炼的精确
性和规则撰写的简洁实用性, 由于 网络入侵检测系统本
身角色的被动性 —— 只能被动的检测流经 本网络的数据,
而不能主动发送数据包去探测, 所以只有将入侵行为的
特征码归结为协议的不同字段的特征值, 通过检测该特
征值来决定入侵行为是否发生 。 后者主要取决于引擎的
组织结构, 是否能够快速地进行规则匹配 。 Snort采用
了灵活的插件形式来组织规则库 。
l日志及报警子系统( Logging/Alerting Subsystem):入侵
检测系统的输出结果系统的重要特征是实时性和多样性,前
者指能够在检测到入侵行为的同时及时记录和报警,后者是
指能够根据需要选择多种方式进行记录和报警。一个好的
NIDS,更应该提供友好的输出界面或发声报警等。
工作流程,
Snort程序通过
libpcap 接口从网
络中抓取一个数
据包, 调用数据
包解析函数, 根
据数据包的类型
和所处的网络层
次, 对数据包进
行协议分析, 包
括数据链路层,
网络层和传输层 。
解析后的结果存
放在一个 Packet
结构中, 用于以
后的分析 。 Snort
的工作流程如右
图所示 。
解析命令行
初始化
解析规则库
打开 libpcap接口
获取数据包
解析数据包
响应(报警、日志)
与二维链表某
节点匹配?
生成二维链表
是
否
Snort的工作流程
数据包解析过程完成以后,如果命令行中制
定了根据规则库对数据包进行分析,就会启动检
测引擎,将存放在 Packet结构中的数据包的数据
和规则库所生成的二维链表进行逐一的比较,如
果找到匹配的规则条目,则根据其规定的响应方
式进行响应( Pass,Log,Alert),然后结束一
个数据包的处理过程,在抓下一个数据包;如果
没有匹配的规则条目,则直接返回,然后再抓取
下一个数据包进行处理。
2,商业 IDS的代表 —— ISS的 RealSecure
ISS公司的 RealSecure是一个计算机网络上自动
实时的入侵检测和响应系统 。 RealSecure提供实时的
网络监视, 并允许用户在系统受到危害之前截取和
响应安全入侵和内部网络误用 。 RealSecure无妨碍地
监控网络传输并自动检测和响应可疑的行为, 从而
最大程度地为企业提供安全 。
RealSecure 6.0之前的版本有三大组件:网络感
应器 ( 又称为 RealSecure Engine), 主机感应器
( 又称为 RealSecure Agent) 和管理器 。
在 6.0版的架构中, 包括了两个主要的组件, 第
一个主要的组件是 Workgroup Manager,其中又包含
四个小组件,Console,Event Collector,Enterprise
Database 和 Asset Database ;第二个主要组件是
Sensor,而 Sensor有 Network Sensor和 Server Sensor
两种 。
Workgroup Manager Console的功能有,
( 1)控制和设定
? 策略修改:可以通过 Console对所有的 Sensor进行策
略管理,设定适合的策略给不同的 Sensor。
? 配置修改:在 Sensor上有很多可以被更改的配置,
例如,Network Sensor要监视哪个网卡等等,都可以
通过进行设定。
( 2) 及时资料分析
Console可以连接到 Event Collector,及时地由
Event Collector接收事件的信息 。
? 取得关于事件的详细资料, 例如:源地址等 。
? 可以取得关于某个事件的详细说明 。
? 可以及时对画面上的事件显示进行管理 。
( 3) 报表
可以由指定 IP地址, 事件名称, 时间间隔等
来产生指定的报表格式 。
整个架构如下页图所示 。 在整个 RealSecure运行
过程中, 各组件功能大致如下,
? Console:对 Event Collector,Sensor进行管理, 及
时显示发生事件, 产生报表 。
? Event Collector:接收 Sensor传送来的事件, 将事
件记录到 Enterprise Database中, 将事件传送给
Console。
? Sensor:进行侦测, 并且将侦测到的事件传送到
Event Collector。
? Database:记录由 Event Collector传送过来的事件 。
Console
事件收集器 EC
Sensor
Database
产生报表
显示事件
管理 EC
管理 Sensor
传送事件 记录事件
ISS RealSecure 6.0的体系结构
4.4
入侵检测工具
简介
4.4.1 日志审查 Swatch
Swatch工具的目的是为了补充 UNIX系统的日志能力,
它提供一种实时监控, 审计日志和报告的能力;另外,
Swatch是使用 Perl语言编写的, 因而它的可便携性和可扩
展性比较好 。 Swatch通过一个使用方便的安装脚本来进
行安装, 将所有的库文件, 手册页和 Perl文件复制到相应
目录下在进行安装即可 。 安装完成后, 只要创建一个配置
文件, 就可以运行程序了 。 Swatch具有以下特性,
?具有一个, backfinger”,可以捕获攻击主机的 finger信
息 。
?支持实时呼叫 ( 因而可以接收到各种报告 ) 。
?支持命令的有条件执行 ( 如果日志文件中有这样的条件,
就可以使用该特性 ) 。
Swatchrc是 Swatch的配置文件,它对于 Swatch来说非
常重要。这个文本文件用来告诉 Swatch需要监视什么日
志、寻找什么触发器和当触发时所要执行的动作。
Swatchrc文件的内容格式包括四个用制表符分隔的字
段。其中,前两个字段是必须的,而后两个字段是可选的。
第一个字段的格式是,/pattern/pattern/,其中的
,pattern”是 Swatch将要进行搜索匹配的正则表达式,也
就是我们的触发器。第二个字段的格式是,Action,
action,.....,其中的,action”是当表达式匹配时所要执行
的动作。 Swatch允许指定包括 E-mail、呼叫或任何指定的
执行文件。第三个字段的格式是,HH,MM,SS,其中
的 HH是小时数,MM是分钟数,SS是秒数。这个时间间
隔是设置 Swatch忽略同一匹配表达式而只报告一次,即
使该表达式已经匹配了 20次。第四个字段(如果使用了第
三个字段,则此字段就是必须的)是一个时间标签,格式
为,start,length。它定义了通知消息中的时间标签的位
置和长度。
4.3.2 访问控制 Tcp wrapper
Tcp wrapper是由 Wietse Venema编写的著名的安全
防护工具。 Internet上很多 Unix,Linux主机都使用它来
进行访问控制和日志记录。这款软件对于提高基础安全
性来说非常重要,而且它还是完全免费的,下面就介绍
一下其安装、配置以及使用方法。
1,安装,修改 Makefile
2,编译, make <sys-type>
然后修改 inetd.conf
3,控制文件的设置
Tcp wrapper的控制文件有两个,/etc/hosts.allow和
/etc/hosts.deny。前者是处理允许连接的主机,而后者则
是要拒绝的主机。
4.4.3 Watcher
Watcher是一个典型的网络入侵检测工具, 它
是由 Kenneth Ingham在新墨西哥大学计算中心工
作时开发的, 它能够检测所有通过网络的信息包,
并将它当成恶意的攻击行为记录在 syslog中, 网络
管理员根据记录下来的日志就可以分析判断系统
是否在遭受恶意攻击 。 Watcher运行在 UNIX/linux
系统上, 并且需要使用 C编译器 。 它是一个完全免
费的版本, 而且只有一个 C语言程序, 因此安装起
来也非常简单 。
Watcher的最新版本可以检测到端口扫描行为
和一些常见的拒绝服务攻击行为, 具体如下,
l TCP端口扫描
l UDP端口扫描
l Synflood攻击
l Teardrop攻击
l Land攻击
l Smurf攻击
l Ping of death攻击
使用格式为,Watcher [参数 ]。具体作用
如下表所示,
参数
作 用
-d device
将 device设定为当前的网卡,默认为第一个 non_loopback的网络设备
-f flood
设定接收到多少不完全的连接后才认为是 flood攻击
-h
帮助信息
-i icomlinit
设定接收到多少 icmp echo replies就认为是 smurf攻击
-m level
可以设定监控的机器,比如 subnet为子域中的机器,而 all为所有
-p portlimit
在 timeout的限制时间内有多少端口接收到信息包算是一次端口扫描
-r reporttype
如果 reporttype设为 DoS,那么只有拒绝服务攻击才会被记录;如果
是 scand的话,那么只有扫描行为会记录。默认设置是记录所有东西
-t timeout
每隔 timeout的时间就记录信息包并打印出潜在的攻击行为
-w webcount
设定我们从 80端口接收到多少信息包才算是一次端口扫描( CGI)
4.5
现代安全审
计技术
安全审计是一个安全的网络必须支持的功能特
性,它记录用户使用计算机网络系统进行所有活动的
过程,是提高安全性的重要工具。它不仅能够识别谁
访问了系统,还能指出系统正被怎样使用。对于确定
是否有网络攻击的情况,审计信息对于确定问题和攻
击源很重要。同时,系统事件的记录能够更迅速和系
统地识别问题,并且它是后面阶段事故处理的重要依
据,为网络犯罪行为及泄密行为提供取证基础。另外,
通过对安全事件的不断收集与积累并且加以分析,有
选择地对其中的某些站点或用户进行审计跟踪,以便
对发现或可能产生的破坏性行为提供有力的证据。
4.5.1 安全审计现状
TCSEC( Trusted Computer System Evalution Criteria)
准则,俗称橙皮书,是美国国防部发布的一个准则,用于评
估自动信息数据处理系统产品的安全措施的有效性。
1998年,国际标准化组织( ISO)和国际电工委员会
( IEC)发表了, 信息技术安全性评估通用规则 2.0版,
( ISO/IEC15408),简称 CC准则或 CC标准。 CC准则是信
息技术安全性通用评估准则,用来评估信息系统或信息产品
的安全性。
但是大部分的用户和专家对安全审计这个概念的理解
都认为是, 日志记录, 的功能。另一部分的集成商则认为安
全审计只需在原来各个产品的日志功能上进行一些改进即可。
还有一部分厂商将安全审计和入侵检测产品等同起来。因此
目前对于安全审计这个概念的理解还不统一,安全领域对于
怎么样的产品才属于安全审计产品还没有一个普遍接受的认
识。因此在市场上虽然有不同的厂商打出安全审计产品,但
是无论是功能和性能都有很大的差别。
目前的安全审计类产品情况,
1.网络设备及防火墙日志
目前的网络设备和防火墙中有些具备一定的日
志功能,但一般情况下只能记录自身运转状况和一
些简单违规的信息。
2.操作系统日志
目前服务器操作系统都有日志,但是这些日志
往往只是记录一些零碎的信息(如用户登录的时
间),从这些日志中无法看到用户到底做了些什么
操作,整个入侵的步骤是如何发生的。而且分散在
各个操作系统中的日志需要用户管理员分别查看,
进行人工的综合、分析、判断,实际上是很难奏效
的。
3,Sniff,Snoop类的工具
这些工具从一定意义上使得网络上传输的数据
变得可见, 能够观察到一些网络用户正在进行的操
作和传输的数据, 所以这些工具对正在发生的违规
操作能够起到一定的检测作用, 但是仅仅是这些工
具还不能承担日常的安全审计工作, 因为这些工具
只是对单包进行解码, 缺乏分析能力, 无法判断是
否是重要的信息和违规的信息;此外它们不具备上
下文相关的网络操作性为判断的能力, 也缺乏报警
响应的能力 。 目前网络的实际流量是非常大的, 如
果不加分析全部记录的话, 任何的磁盘也会在很短
时间内充满 。 所以这些只是些辅助判断网络故障的
工具, 目前还没有哪个系统真正将这些工具收集的
数据长时间完全记录下来 。
4.5.3 安全审计标准 CC中的网络信息
安全审计功能定义
该标准目前已被广发地用于评估一个系统的安全性。
在这个标准中完整的安全审计包括安全审计自动响应、安
全审计数据生成、安全审计分析、安全审计浏览、安全审
计事件存储、安全审计事件选择等功能 。
1,安全审计自动响应 ( AU_APR)
安全审计自动响应定义在被测事件指示在一个潜在的
安全攻击时做出的响应, 它是管理审计事件的需要, 这些
需要包括报警或行动, 例如包括实时报警的生成, 违规进
程的终止, 中断服务, 用户帐号的失效等 。 根据审计事件
的不同系统将做出不同的响应 。 其响应方式可做增加, 删
除, 修改等操作 。
2,安全审计数据生成 ( AU_GEN)
该功能要求记录与安全相关的事件的出现, 包括
鉴别审计层次, 列举可被审计的事件类型, 以及鉴别有
各种审计记录类型提供的相关审计信息的最小集合 。 系
统可定义可审计事件清单, 每个可审计事件对应于某个
事件级别 。
3,安全审计分析( AU_SAA)
此部分功能定义了分析系统活动和审计数据来寻求
可能的或真正的安全违规操作。它可以用于入侵检测或
对违规的自动响应。当一个审计事件集出现或累计出现
一定次数时可以确定一个违规的发生,并执行审计分析。
事件的集合能够由经授权的用户进行增加、修改或删除
等操作。审计分析分为潜在攻击分析、基于模板的异常
检测、简单攻击试探和复杂攻击试探等几种类型。
4,安全审计浏览( AU_SAR)
该功能要求审计系统能够使授权的用户有效地浏览
审计数据, 它包括审计浏览, 有限审计浏览, 可选审计
浏览 。
5,安全审计事件存储( AU_SEL)
系统能够维护、检查或修改审计事件的集合,能够
学则对那些安全属性进行审计
6,安全审计事件选择( AU_STG)
系统将提供控制措施以防止由于资源的不可用而丢
失审计数据, 能够创建, 维护, 访问它所保护的对象的
审计踪迹, 并保护其不被修改, 非授权访问或破坏 。
4.5.1 一个分布式入侵检测和安全
审计系统 S_Audit简介
S_Audit网络安全审计系统在设计上采用了分布式
审计和多层次审计相结合的方案。 网络安全审计系
统是对网络系统多个层次上的全面审计。多层次审
计是指整个审计系统不仅能对网络数据通信操作进
行底层审计(如网络上的各种 Internet协议),还能
对系统和平台(包括操作系统和应用平台)进行中
层审计,以及为应用软件服务提供高层审计,这使
它区别传统的审计产品和 IDS系统,如下页图所示。
TCP/IP
审
计
总
控
UNIX, NT
Application
网络安全审计层次结构图
系统层审计
网络层审计
应用层审计
网络安全审计系统除了是一个多层次审计
系统之外,还是一个分布式、多 Agent结构的
审计系统,它在结构上具备可伸缩,易扩展
的特点 。 系统由审计中心、审计控制台和审
计 Agent组成,网络安全审计系统结构见下页
图所示。
审计控制台 审计控制台
审计中心 审计数据库
网络监听型审计 Agent
专用硬件(网探)
入侵检测 Agent
HP
Solaris
NT
典型应用 Agent
流量检测 Agent
用户自定义数据审计 Agent
文件共享 Agent
主机服务审计 Agent
系统嵌入型 Agent 主动信息获取型 Agent
配置,查询,管理
审计 API
应用程序
被审计网络
数据上报
网络安全审计系统结构图
审计 Agent主要可以分为网络监听型 Agent,系
统嵌入型 Agent,主动信息获取型 Agent等 。
1,网络监听型 Agent
对于网络监听型的审计 Agent,需要运行在一个网
络监听专用平台上, 在系统中, 该硬件被称为网探 。
目前实现的网络监听型审计 Agent有以下类型,
? 入侵检测 Agent:主要实现对已知入侵手段的检测功
能 。
? 典型应用 Agent:实现在 Telnet,HTTP,FTP,SMTP、
POP3上的应用审计功能
? 流量检测 Agent:主要实现对实时和历史流量的检测
功能 。
? 文件共享 Agent:主要实现对 Windows环境中的基于
Netbios Over TCP/IP的文件共享审计功能 。
? 用户自定义数据审计 Agent:实现对用户自定义服务
的审计功能 。
? 主机服务审计 Agent:实现对网络上的主机所开放
的服务端口进行审计的功能 。
2,系统嵌入型 Agent
系统嵌入型 Agent是安装在各个受保护的主
机上的安全保护软件, 这些软件实现基于主机的
安全审计和监管 。 主要实现以下功能,
?收集系统日志信息, 并根据规则判断异常事件
的发生 。
?对系统内部产生的重要事件 ( 并不一定产生系
统日志 ) 进行收集 。
?对主机的资源和性能 ( 包括 CPU,内存占用,
硬盘占用等 ) 进行例行的监视和记录, 发现主机
异常运转, 并适时杀死异常进程 。
?发现主机中存在的异常代码 ( 例如特洛伊木马
程序, 后门程序, DDOS程序, Proxy程序等 )
?对电子邮件进行审查 ( 针对邮件服务器 ), 发
现垃圾邮件中转情况, 并终止垃圾邮件的发送
( 针对垃圾邮件源头主机 ), 发现含有非法内容
的邮件 。
?Web浏览和发送内容过滤 ( 例如对于 Web方式的
BBS), 自动删除含有不良内容的张贴文章 。
?实现系统强制性的审计 ( 无法通过设置参数系
统参数而绕过审计 ) 。
3,主动信息获取型 Agent
主动信息获取型 Agent主要实现针对一些非主
机类别的设备的日志收集, 如防火墙, 交换机, 路
由器等 。 这些设备一般以硬件和固化型的软件提供
应用, 不支持在其操作系统上进行软件开发和嵌入
软件模块, 所以针对这些设备的日志收集需要采用
主动信息采集的方法 。 主动信息获取型的审计
Agent以软件形式运行在相应的主机上, 通过网络,
console等方式同被审计设备进行交互, 收集设备产
生的日志或者定时轮询一些参数, 自己根据需求生
成日志信息 。 主动信息获取型 Agent主要采用以下
的手段进行信息获取,
?通过 SNMP的 TRAP方式 。
?通过定时的 MIB轮询, 获取关键参数 。
?通过定时的 Telnet script获取数值 。
?通过 Console口定时运行操作终端 script来获取参数 。
?通过管理接口, 如 HTTP方式的管理来获取参数 。
?通过一些联动接口, 如 OPSEC接口获取参数 。
?通过 syslog server的方式获取日志信息 。
4.6
本章小结
入侵检测作为一种积极主动的安全防护技术,
提供了对内部攻击, 外部攻击和误操作的实时保护,
在网络系统受到危害之前拦截和响应入侵 。 从网络
安全立体纵深, 多层次防御的角度出发, 入侵检测
应受到人们的高度重视 。
安全审计功能其实在 CC标准中有较完备的定义,
但经常被人所忽视, 对安全审计的概念也往往认识
得不够全面, 我们希望通过本章相关内容的介绍后
读者能对现代安全审计技术有所了解 。
网络安全技术
?学习目的,
? 了解入侵检测概念
? 初步掌握入侵检测系统( IDS)的分析方法
? 了解入侵检测系统( IDS)结构
? 初步掌握入侵检测工具
? 了解安全审计技术
?学习重点,
? 入侵检测系统( IDS)的分析方法
? 入侵检测工具
? 安全审计技术
4.1
入侵检测系
统概述
当我们无法完全防止入侵时,那么只能希
望系统在受到攻击时,能尽快检测出入侵,而
且最好是实时的,以便可以采取相应的措施来
对付入侵,这就是入侵检测系统要做的,它从
计算机网络中的若干关键点收集信息,并分析
这些信息,检查网络中是否有违反安全策略的
行为和遭到袭击的迹象。入侵检测被认为是防
火墙之后的第二道安全闸门。
4.1.1 入侵检测定义
1,定义
可以看到入侵检测的作用就在于及时地发现各
种攻击以及攻击企图并作出反应。我们可以给入侵
检测做一个简单的定义,入侵检测就是对(网络)
系统的运行状态进行监视,发现各种攻击企图、攻
击行为或者攻击结果,以保证系统资源的机密性、
完整性与可用性。
2、基本特性
?经济性
?时效性
?安全性
?可扩展性
2,入侵检测技术 主要的发展方向
? 体系结构方向进一步研究分布式入侵检测与通
用的入侵检测架构 。
? 应用层入侵检测
? 智能的入侵检测
? 提供高层统计与决策
? 响应策略与恢复研究
? 入侵检测的评测方法
? 和其它网络安全部件的协作、与其他安全技术
的结合
4.1.3 入侵检测系统的功能及分类
1、入侵检测系统的功能
? 监测并分析用户和系统的活动, 查找非法用户
和合法用户的越权操作 。
? 检查系统配置和漏洞, 并提示管理员修补漏洞
( 现在通常由安全扫描系统完成 ) 。
? 评估系统关键资源和数据文件的完整性 。
? 识别已知的攻击行为 。
? 统计分析异常行为 。
? 操作系统日志管理, 并识别违反安全策略的用
户活动等 。
2.入侵检测的分类
对入侵检测技术的分类方法很多,根据着眼
点的不同,主要有下列几种分法:按数据来源和
系统结构分类,入侵检测系统分为 3类:基于主机
的入侵检测系统,基于网络的入侵检测系统,分
布式入侵检测系统(混合型)。根据数据分析方
法(也就是检测方法)的不同,可以将入侵检测
系统分为 2类:异常检测和误用检测。按数据分析
发生的时间不同,入侵检测系统可以分为 2类:离
线检测系统与在线检测系统。按照系统各个模块
运行的分布方式不同,可以分为 2类:集中式检测
系统和分布式检测系统。
4.1.4 入侵响应( Intrusion Response)
入侵响应就是当检测到入侵或攻击时,采取适当
的措施阻止入侵和攻击的进行。入侵响应系统分类也有
几种分类方式,按响应类型可分为:报警型响应系统、
人工响应系统、自动响应系统;按响应方式可分为:基
于主机的响应、基于网络的响应;按响应范围可分为:
本地响应系统、协同入侵响应系统。当我们检测到入侵
攻击时,采用的技术很多,又大致可分为被动入侵响应
技术和主动入侵响应技术。被动入侵响应包括:记录安
全事件、产生报警信息、记录附加日志、激活附加入侵
检测工具等。主动入侵响应包括隔离入侵者 IP、禁止被
攻击对象的特定端口和服务、隔离被攻击对象、警告攻
击者、跟踪攻击者、断开危险连接、攻击攻击者等。
Garfinkel和 Spafford于 1996年推荐了两个重要
的响应方案:第一个是保持冷静,不要惊慌。第二个是对每件事情都进行记录。 Chapman与
Zwicky也针对入侵攻击提出了如下七步建议,
第一步:估计形势并决定需要做出那些响应
第二步:如果有必要就断开连接或关闭资源
第三步:事故分析和响应
第四步:根据响应策略向其他人报警
第五步:保存系统状态
第六步:恢复遭到攻击的系统工程
第七步:记录所发生的一切
4.1.5 入侵跟踪技术
1,基础
?互联网的各种协议的了解
?在不同的网络层,主要的不同网络地址
2、跟踪电子邮件
?简单邮件传输协议 SMTP
?跟踪发信者最好的办法就是对邮件中附加的头信
息中出现的整个路径作彻底的调查。
? SMTP邮件服务器保存的日志记录信息审计
3、跟踪 Usenet的信息传递
对消息中附加的头信息中出现的整个路径作
彻底的调查和审计日志信息。
4.第三方跟踪工具 ( Netscan Pro )
5.蜜罐技术
4.2
入侵检测系统
( IDS)的分析
方法
入侵分析的任务就是在提取到的庞大数据
中找到入侵的痕迹。入侵分析过程需要将提取到
的事件与入侵检测规则等进行比较,从而发现入
侵行为。一方面入侵检测系统需要尽可能多地提
取数据以获得足够的入侵证据,而另一方面由于
入侵行为的千变万化而导致判定入侵的规则等越
来越复杂,为了保证入侵检测的效率和满足实时
性的要求,入侵分析必须在系统的性能和检测能
力之间进行权衡,合理地设计分析策略,并且可
能要牺牲一部分检测能力来保证系统可靠、稳定
地运行,并具有较快的响应速度。入侵检测分析
技术主要分为两类:异常检测和误用检测。
4.2.1 基于异常的入侵检测方法
本节重点讨论这种方法的原理和基本流程 。 需要
注意的是这个领域基本上是一个边缘学科, 它的理
论基础包括人工智能, 神经网络以及统计学等, 由
于能力和篇幅的限制, 我们无法一一介绍相关的理
论, 基于异常的入侵检测方法主要来源于这样的思
想:任何人的正常行为都是有一定的规律的, 并且
可以通过分析这些行为产生的日志信息 ( 假定日志
信息足够完全 ) 总结出这些规律, 而入侵和滥用行
为则通常和正常的行为存在严重的差异, 通过检查
出这些差异就可以检测出入侵 。 这样, 我们就可以
检测出非法的入侵行为甚至是通过未知方法进行的
入侵行为 。 此外不属于入侵的异常用户行为 ( 滥用
自己的权限 ) 也能被检测到 。
1.基于统计学方法的异常检测系统
这种系统使用统计学的方法来学习和检测用户
的行为。鉴于人工智能领域的发展缓慢,统计学方
法可以说是一种比较现实的方法,一个典型的系统
SRI International的 NIDES( Next-generation
Intrusion Detection Expert System)。
2,预测模式生成法
使用该方法进行入侵检测的系统,利用动态的规
则集来检测入侵,这些规则是由系统的归纳引擎,根
据已发生的事件的情况来预测将来发生的事件的概率
来产生的,归纳引擎为每一种事件设置可能发生的概
率 。
3,神经网络方法
利用神经网络检测入侵的基本思想是用一系列
信息单元(命令)训练神经单元,这样在给定一组
输入后,就可能预测出输出。与统计理论相比,神
经网络更好地表达了变量间的非线性关系,并且能
自动学习和更新。
4,基于数据挖掘技术的异常检测系统
数据挖掘,也称为知识发现技术。对象行为日志
信息的数据量通常都非常大,如何从大量的数据中
,浓缩, 出一个值或一组值来表示对象行为的概貌,
并以此进行对象行为的异常分析和检测,就可以借用
数据挖掘的方法。其中有一种方式就是记录一定量的
格式化后的数据,来进行分析和入侵检测。
5.总结
理论上这种入侵检测方法具有一定入侵检测的能力,
并且相对于基于误用的入侵检测有一个非常强的优势,
就是能够检测出未知的攻击;但在实际中, 理论本身
也存在一定的缺陷, 比如,
? 基于异常的入侵监测系统首先学习对象的正常行为,
并形成一个或一组值表示对象行为概貌, 而表示概貌
的这些数据不容易进行正确性和准确性的验证 。
? 通常比较长期行为的概貌和短期行为的概貌检测出
异常后, 只能模糊地报告存在异常, 不能准确地报告
攻击类型和方式, 因此也不能有效地阻止入侵行为 。
? 通常基于异常的入侵监测系统首先要有一个学习过
程, 这个过程是否能够正确反映对象的正常行为? 因
为这个过程很可能会被入侵者利用 。
这些问题使大多数此类的系统仍然停留在研究领
域 。
4,2.2 基于误用的入侵检测方法
在介绍基于误用( misuse)的入侵检测的
概念之前,先看看误用( misuse)的含义,在
这里它指, 可以用某种规则、方式或模型表示
的攻击或其它安全相关行为, 。那么基于误用
的入侵检测技术的含义是:通过某种方式预先
定义入侵行为,然后监视系统的运行,并从中
找出符合预先定义规则的入侵行为。
1.专家系统
专家系统是基于知识的检测中早期运用较多的方法。
将有关入侵的知识转化成 if-then结构的规则,即把构成入
侵所需要的条件转化为 if部分,把发现入侵后采取的相应
措施转化为 then部分。当其中某个或某部分条件满足时,
系统就判断为入侵行为发生。其中的 if-then结构构成了描
述具体攻击的规则库,状态行为及其语义环境可根据审计
事件得到,推理机根据规则和行为完成判断工作 。
2.模式匹配
基于模式匹配的入侵检测方式也像专家系统一样,也需
要知道攻击行为的具体知识。但是攻击方法的语义描述不
是被转化抽象的检测规则,而是将已知的入侵特征编码成
与审计记录相符合的模式,因而能够在审计记录中直接寻
找相匹配的已知入侵模式。这样就不像专家系统一样需要
处理大量数据,从而大大提高了检测效率
3.按键监视( Keystroke Monitor )
按键监视是一种很简单的入侵检测方法,
用来监视攻击模式的按键。
4,Petric网状态转换
Petric网用于入侵行为分析是一种类似于状
态转换图分析的方法。利用 Petric网的有利之处
在于它能一般化、图形化地表达状态,并且简洁
明了。虽然很复杂的入侵特征能用 Petric网表达
得很简单,但是对原始数据匹配时的计算量却会
很大。
5.误用检测与异常检测的比较
前面介绍了基于异常和基于误用两种不同的检测方法,
下面简单地评述一下两者之间的差异,
? 异常检测系统试图发现一些未知的入侵行为, 而误用
检测系统则是标识一些已知的入侵行为 。
? 异常检测指根据使用者的行为或资源使用状况来判断
是否入侵, 而不依赖于具体行为是否出现来检测;而误
用检测系统则大多数是通过对一些具体的行为的判断和
推理, 从而检测出入侵 。
? 异常检测的主要缺陷在于误检率很高, 尤其在用户数
目众多或工作行为经常改变的环境中;而误用检测系统
由于依据具体特征库进行判断, 准确度要高很多 。
? 异常检测对具体系统的依赖性相对较小;而误用检测
系统对具体的系统依赖性太强, 移植性不好 。
4.3
入侵检测系
统
( IDS)结构
响应单元
事件分析器 事件数据库
事件产生器
CDIF的模型
为了提高 IDS产品、组件及与其它安全产品
之间的互操作性,美国国防高级研究计划署
( DARPA)和互联网工程任务组( IETF)的入侵
检测工作组( IDWG)提出的建议是公共入侵检测
框架( CDIF) 。
1、事件产生器
CDIF将 IDS需要分析的数据统称为事件,它可以是网
络中的数据包,也可以是从系统日志或其它途径得到的信
息。事件产生器的任务是从入侵检测系统之外的计算环境
中收集事件,并将这些事件转换成 CDIF的 GIDO(统一入
侵检测对象)格式传送给其它组件。
2,事件分析器
事件分析器分析从其它组件收到的 GIDO,并将产生的新
GIDO在传送给其它组件。分析器可以是一个轮廓
( profile)描述工具,统计性地检测现在的事件是否可
能与以前某个时间来自同一个时间序列;也可以是一个
特征检测工具,用于在一个事件序列中检测是否有已知
的误用攻击特性;此外,事件分析器还可以是一个相关
器,观察事件之间的关系,将有联系的事件放在一起,
以利于以后的进一步分析。
3,事件数据库
用来存储 GIDO,以备系统需要的时候使用 。
4,响应单元
响应单元处理收到的 GIDO,并据此采取相应的
措施, 如 kill相关进程, 将连接复位, 修改文件权限
等 。
以上 4个组件只是逻辑实体, 一个组件可能是某台
计算机上的一个进程甚至线程, 也可能是多台计算机
上的多个进程, 它们以 GIDO格式进行数据交换 。
GIDO是对事件进行编码的标准通用格式 ( 由 CDIF描
述语言 CISL定义 ), GIDO数据流在图中已标出, 它
可以是发生在系统中的审计事件, 也可以是对审计事
件的分析结果 。
4,3,3 基于智能代理技术的分布
式入侵检测系统
分布式入侵检测系统是与简单的基于主机的入
侵检测系统不同的,它一般由多个部件组成分布在
网络的各个部分,完成相应的功能,如进行数据采
集、分析等。通过中心的控制部件进行数据汇总、
分析、产生入侵报警等。一个简单的分布式入侵检
测系统( DIDS)如下页图 所示 。
用户接口
专家系统
通信管理器
网络监视器
通信代理
主机监视器
通信代理
主机监视器
通信代理
主机监视器
通信代理
DIDS Director
DIDS的体系结构
共享网段
4.3.2 简单的分布式入侵检测系统
人工智能领域的智能代理 ( Agent) 技术越来
越热, 也提出了不少基于智能代理技术的分布式入
侵检测系统, 如基于自治代理 ( Autonomous Agents)
技术的 AAFID,还有基于移动代理的分布式入侵检
测系统等等, 下面主要介绍基于自治代理技术的
AAFID。 AAFID的系统结构可以从下页图的实例中
看出, AAFID系统结构有 3个重要的部件:代理
( Agents), 收发器 ( Transceivers) 和监视器
( Monitors) 组成 。 三者都被称为实体 。
D
B
C
E A 用户接口
遵循 AAFID系统结构的 IDS的物理表示
控制流
数据流
收发器
监视器
主机
代理
三者都被称为实体 。 三种实体之间
的关系如下,
? 一个 AAFID系统可以分布在任意多台主机上,
每台主机上可以有任意多个代理 。
? 在同一台主机上的所有代理向该主机上的收发
器传递信息 。
? 每台主机只能有一个收发器, 负责监督和控制
该主机上的代理, 可以向代理发送控制命令, 也
可以对代理所发送来的数据进行数据精简 。
? 收发器可以向一个或多个监视器报告结果 。 每
个收发器可向多个监视器发送信息, 这样可以避
免由于一个监视器故障而造成的单点故障问题
? 每个监视器监督和控制多个发送器;
?监视器可以访问广域网,从而可以进行高层控制
协调,检测涉及多个主机的入侵;
?监视器之间也可以构成分层的结构,底层的监视
器向高层汇报;
?监视器负责同用户进行交互,从用户界面获取控
制命令、向用户报告检测结果等;
?所有部件都为其他部件及用户提供 API,实现相
互之间的调用。
其逻辑结构如下图所示,
用户接口 A
B
C
D
E
遵循 AAFI系统结构的 IDS的逻辑表示
4,3.4 自适应入侵检测系统
由于入侵方法和入侵特征的不断变化,
入侵检测系统必须不断自学习,以便更新检
测模型。为了适应这种需要,提出了一种具
有自适应模型生成特性的入侵检测系统。该
系统的体系结构中包含三个组件:代理
( Agent)、探测器( Detector)以及自适
应模型生成器( Adaptive Model
Generator)。该体系结构如下页图所示。
代理 向探测器提供收集到的各种数据,而探测器则
用来分析和响应已经发生的入侵。代理同时还向自适
应模型生成器( AMG)发送数据,供其学习新的检
测模型。自适应模型生成器在学习新的检测模型的同
时,将学到的模型提供给探测器。
自适应模型生成器系统 ( 如下图所示 ) 由四
部分组成:数据接收, 数据仓库, 模型生成器和
模型分配器 。
模型生成器构架
自适应模型生成器系统各部分具有
的功能,
? 数据接收:从传感器接收数据并将其转换为
一个表单, 准备加入列数据仓库 。
? 数据仓库:向数据库中存取数据 。
? 模型生成器:利用数据仓库中的数据可以生
成学习机制, 利用该学习机制可以建立一定的
模型 。
? 模型分配器:将生成的模型通过模型分配器
分布到各探测器 。
4.3.5 智能卡式入侵检测系统实现
本节从一个新的角度来设计入侵检测系统 —— 智能
卡系统,它可以将预防和检测模块集成在一起。在预防模
块内,系统安全的有关数据存储在智能卡中,用户只需将
其智能卡插入到读卡器中就可以完成登录认证 。资源分配
的有关信息业存储在智能卡内。当用户登录成功,就可以
根据预先的设置进行权限范围内的网络访问,并分配相应
的资源。采用这种方案就可以有效地阻止非法入侵者,同
时也可以防止合法用户访问权限范围以外的网络资源,在
检测模块内,在入侵检测引擎中加入智能卡用户特征信息
的读取模块,并将不同用户的特征信息写入其各自的智能
卡中。系统在注册时将卡内信息读出并加以比较,如果能
够匹配则为合法用户,否则就为非法用户。
1.智能卡基础
在本系统中,智能卡是核心部分。通过它可以
安全登录网络系统、保存用户环境配置文件和安全
配置文件。但该设备没有得到广泛使用的主要原因
有,
? 缺乏统一的标准, 尽管已通过 ISO7816对其进行
了标准化的约定, 但是标准允许供应商在其读卡机
上使用自己的通信代码 。 因此, 智能卡的读卡程序
是由供应商自己定制的 。
? 缺乏足够的应用, 因为智能卡目前主要用于存储
信息, 因此软硬件供应商都没有兴趣提供其他方面
的应用 。
2.设计智能卡系统
智能卡系统是基于统计的不规则检测系统
(系统也加入了误用检测方法)的改进版。因此,
在智能卡式入侵检测系统时,通常都采用了常用
入侵检测系统的几个标准模块,
( 1) 审计日志生成模块
主要用于收集用户信息和系统活动。这些特性是
基于信息是否可用来选择的。任何用户和系统的活动,
只要能代表用户行为的特性都能进行使用。
( 2) 智能卡控制模块
主要处理一些内部关联的操作 。 它包括以下三方
面的内容:从统计信息中进行归纳分类;将归纳的分类
信息存储到用户的智能卡中或从智能卡中将信息转储回
来;重新生成分类信息 。
智能卡除了用于登录认证之外,还可以用于处
理静态和动态的用户数据。
?静态数据包括用户的个人信息和企业信息,也可以
保存用于建立网络连接以及建立路由表等的网络信息。
另外,还要输入用于区分合法或不合法网络活动的边
界值。
?用户动态配置文件则用于处理某些选定特性的统计
汇总信息。
在处理完上述用户特性之后,审计日志生成模块
将收集用户和系统活动的统计数据,最后将这些信息
送到智能卡中进行计算和保存。
( 3) 特性抽取模块
主要用于对选定审计特性的用户特性进行汇总 。
由于智能卡存储空间的限制, 因此审计事件日志不
能全部保存在智能卡中, 智能卡中只保存进行分析
和统计比较等审计特性 。
在特性抽取的过程中, 将选定的用户和系统活
动分类成组 。 每个特性都将被分别抽取 。 抽取的特
性将和新收集的审计事件信息进行比较, 以生成新
的特性数据 。
( 4) 入侵检测模块
抽取出来的平均值, 偏差值以及新收集的用户
合法的系统活动特性等, 都将和全面特性统计数据
进行比较 。 如果用户标准行为位于标准偏差内, 则
属于正常;如果超出标准偏差, 则被认为是异常行
为, 从而产生报警信息 。
3.智能卡系统性能分析
智能卡系统性的优点,
? 同一张卡就即可用于认证也可用于检测过程。
? 通过使用智能卡还可以防止一些基本的入侵行为,
如多重登录, 尝试不同密码等 。
? 在企业内部网络环境下, 通过智能卡系统还可以建
立分布式入侵检测系统 。
? 用户的信息就不必在网络上同步进行更新了 。
智能卡系统性的缺点,
?( 智能卡系统是基于统计的不规则检测系统的修改
版, 因此它和传统的基于统计的不规则检测系统具有
同样的优点 。 ) 一方面, 由于基于非规则的机制, 因
此就不需要基于规则的专家系统的大量资源和数据库;
但另一方面, 在这个系统中不能像基于专家系统的方
法那样进行快速检测 。
?由于用户的所有信息都必须保存在智能卡中, 所以
就受到智能卡的存储容量的限制 。 而智能卡不能附加
额外的内存, 除非重新设计和生产, 因此一些相关的
数据不得不进行舍弃 。 由于只能抽取关键数据, 而大
量数据将被舍弃, 这样, 一些用户的行为信息就可能
会与原始数据有所偏差 。
4.3.6 典型入侵检测系统简介
目前 IDS产品有很多,免费的产品有 Snort,shadow
等。商品化的产品,国外的有 ISS公司的 RealSecure(分
布式 IDS),Cisco的 NetRanger( NIDS),CyberSafe公
司的 Cebtrax(分布式 IDS),CA的 eTrust IDS、
Symantee的 Intruder( HIDS)和 NetProwler( NIDS)、
NAI的 Cyber Monitor,Network Security Wizards公司的
Dragon IDS系统( NIDS),国内的有金诺网安的 KIDS、
北方计算中心的 NISDetector、启明星辰的天阗黑客入侵
检测与预警系统、中科网威“天眼”网络入侵侦测系统、
复旦光华 S_Audit入侵检测与安全审计系统等。
1,免费的 IDS---Snort
Snort是基于 libpcap的数据包嗅探器并可以作
为一个轻量级的网络入侵检测系统( NIDS)。可以
运行在各种操作系统平台,如 UNIX系列和 Wondows系
列(需要 libpcap for win32的支持),与很多商业
产品相比,它对操作系统的依赖性比较低。其次用
户可以根据自己的需要及时在短时间内调整检测策
略。
Snort作为一个 NIDS,其 工作原理 为在基于共
享网络上检测原始的网络传输数据,通过分析捕获
的数据包,匹配入侵行为的特征或者从网络活动的
角度检测异常行为,进而采取入侵的预警或记录。
从检测模式而言,Snort属于误用检测,是基于规则
的入侵检测工具。
Snort的结构主要分为三个部分,
l 数 据 包 捕 获 和 解 析 子 系 统 ( Capture Packet
Mechanism from Link Layer and the Packet
Decoder),该子系统的功能为捕获网络的传输数据并
按照 TCP/IP协议的不同层次将数据包进行解析 。
Snort利用 libpcap库函数进行数据采集, 该库函数可以
为应用程序提供直接从链路层捕获数据包的接口函数
并可以设置数据包的过滤器以来捕获指定的数据 。 对
于解析机制来说, 能够处理数据包的类型的多样性也
同样非常重要, 目前, Snort可以处理以太网, 令牌环
及 SLIP等多种链路类型的包 。
l检测引擎 ( The Detect Engine),检测引擎是一个
NIDS实现的核心, 准确性和快速性是衡量其性能的重
要指标, 前者主要取决于对入侵行为特征码提炼的精确
性和规则撰写的简洁实用性, 由于 网络入侵检测系统本
身角色的被动性 —— 只能被动的检测流经 本网络的数据,
而不能主动发送数据包去探测, 所以只有将入侵行为的
特征码归结为协议的不同字段的特征值, 通过检测该特
征值来决定入侵行为是否发生 。 后者主要取决于引擎的
组织结构, 是否能够快速地进行规则匹配 。 Snort采用
了灵活的插件形式来组织规则库 。
l日志及报警子系统( Logging/Alerting Subsystem):入侵
检测系统的输出结果系统的重要特征是实时性和多样性,前
者指能够在检测到入侵行为的同时及时记录和报警,后者是
指能够根据需要选择多种方式进行记录和报警。一个好的
NIDS,更应该提供友好的输出界面或发声报警等。
工作流程,
Snort程序通过
libpcap 接口从网
络中抓取一个数
据包, 调用数据
包解析函数, 根
据数据包的类型
和所处的网络层
次, 对数据包进
行协议分析, 包
括数据链路层,
网络层和传输层 。
解析后的结果存
放在一个 Packet
结构中, 用于以
后的分析 。 Snort
的工作流程如右
图所示 。
解析命令行
初始化
解析规则库
打开 libpcap接口
获取数据包
解析数据包
响应(报警、日志)
与二维链表某
节点匹配?
生成二维链表
是
否
Snort的工作流程
数据包解析过程完成以后,如果命令行中制
定了根据规则库对数据包进行分析,就会启动检
测引擎,将存放在 Packet结构中的数据包的数据
和规则库所生成的二维链表进行逐一的比较,如
果找到匹配的规则条目,则根据其规定的响应方
式进行响应( Pass,Log,Alert),然后结束一
个数据包的处理过程,在抓下一个数据包;如果
没有匹配的规则条目,则直接返回,然后再抓取
下一个数据包进行处理。
2,商业 IDS的代表 —— ISS的 RealSecure
ISS公司的 RealSecure是一个计算机网络上自动
实时的入侵检测和响应系统 。 RealSecure提供实时的
网络监视, 并允许用户在系统受到危害之前截取和
响应安全入侵和内部网络误用 。 RealSecure无妨碍地
监控网络传输并自动检测和响应可疑的行为, 从而
最大程度地为企业提供安全 。
RealSecure 6.0之前的版本有三大组件:网络感
应器 ( 又称为 RealSecure Engine), 主机感应器
( 又称为 RealSecure Agent) 和管理器 。
在 6.0版的架构中, 包括了两个主要的组件, 第
一个主要的组件是 Workgroup Manager,其中又包含
四个小组件,Console,Event Collector,Enterprise
Database 和 Asset Database ;第二个主要组件是
Sensor,而 Sensor有 Network Sensor和 Server Sensor
两种 。
Workgroup Manager Console的功能有,
( 1)控制和设定
? 策略修改:可以通过 Console对所有的 Sensor进行策
略管理,设定适合的策略给不同的 Sensor。
? 配置修改:在 Sensor上有很多可以被更改的配置,
例如,Network Sensor要监视哪个网卡等等,都可以
通过进行设定。
( 2) 及时资料分析
Console可以连接到 Event Collector,及时地由
Event Collector接收事件的信息 。
? 取得关于事件的详细资料, 例如:源地址等 。
? 可以取得关于某个事件的详细说明 。
? 可以及时对画面上的事件显示进行管理 。
( 3) 报表
可以由指定 IP地址, 事件名称, 时间间隔等
来产生指定的报表格式 。
整个架构如下页图所示 。 在整个 RealSecure运行
过程中, 各组件功能大致如下,
? Console:对 Event Collector,Sensor进行管理, 及
时显示发生事件, 产生报表 。
? Event Collector:接收 Sensor传送来的事件, 将事
件记录到 Enterprise Database中, 将事件传送给
Console。
? Sensor:进行侦测, 并且将侦测到的事件传送到
Event Collector。
? Database:记录由 Event Collector传送过来的事件 。
Console
事件收集器 EC
Sensor
Database
产生报表
显示事件
管理 EC
管理 Sensor
传送事件 记录事件
ISS RealSecure 6.0的体系结构
4.4
入侵检测工具
简介
4.4.1 日志审查 Swatch
Swatch工具的目的是为了补充 UNIX系统的日志能力,
它提供一种实时监控, 审计日志和报告的能力;另外,
Swatch是使用 Perl语言编写的, 因而它的可便携性和可扩
展性比较好 。 Swatch通过一个使用方便的安装脚本来进
行安装, 将所有的库文件, 手册页和 Perl文件复制到相应
目录下在进行安装即可 。 安装完成后, 只要创建一个配置
文件, 就可以运行程序了 。 Swatch具有以下特性,
?具有一个, backfinger”,可以捕获攻击主机的 finger信
息 。
?支持实时呼叫 ( 因而可以接收到各种报告 ) 。
?支持命令的有条件执行 ( 如果日志文件中有这样的条件,
就可以使用该特性 ) 。
Swatchrc是 Swatch的配置文件,它对于 Swatch来说非
常重要。这个文本文件用来告诉 Swatch需要监视什么日
志、寻找什么触发器和当触发时所要执行的动作。
Swatchrc文件的内容格式包括四个用制表符分隔的字
段。其中,前两个字段是必须的,而后两个字段是可选的。
第一个字段的格式是,/pattern/pattern/,其中的
,pattern”是 Swatch将要进行搜索匹配的正则表达式,也
就是我们的触发器。第二个字段的格式是,Action,
action,.....,其中的,action”是当表达式匹配时所要执行
的动作。 Swatch允许指定包括 E-mail、呼叫或任何指定的
执行文件。第三个字段的格式是,HH,MM,SS,其中
的 HH是小时数,MM是分钟数,SS是秒数。这个时间间
隔是设置 Swatch忽略同一匹配表达式而只报告一次,即
使该表达式已经匹配了 20次。第四个字段(如果使用了第
三个字段,则此字段就是必须的)是一个时间标签,格式
为,start,length。它定义了通知消息中的时间标签的位
置和长度。
4.3.2 访问控制 Tcp wrapper
Tcp wrapper是由 Wietse Venema编写的著名的安全
防护工具。 Internet上很多 Unix,Linux主机都使用它来
进行访问控制和日志记录。这款软件对于提高基础安全
性来说非常重要,而且它还是完全免费的,下面就介绍
一下其安装、配置以及使用方法。
1,安装,修改 Makefile
2,编译, make <sys-type>
然后修改 inetd.conf
3,控制文件的设置
Tcp wrapper的控制文件有两个,/etc/hosts.allow和
/etc/hosts.deny。前者是处理允许连接的主机,而后者则
是要拒绝的主机。
4.4.3 Watcher
Watcher是一个典型的网络入侵检测工具, 它
是由 Kenneth Ingham在新墨西哥大学计算中心工
作时开发的, 它能够检测所有通过网络的信息包,
并将它当成恶意的攻击行为记录在 syslog中, 网络
管理员根据记录下来的日志就可以分析判断系统
是否在遭受恶意攻击 。 Watcher运行在 UNIX/linux
系统上, 并且需要使用 C编译器 。 它是一个完全免
费的版本, 而且只有一个 C语言程序, 因此安装起
来也非常简单 。
Watcher的最新版本可以检测到端口扫描行为
和一些常见的拒绝服务攻击行为, 具体如下,
l TCP端口扫描
l UDP端口扫描
l Synflood攻击
l Teardrop攻击
l Land攻击
l Smurf攻击
l Ping of death攻击
使用格式为,Watcher [参数 ]。具体作用
如下表所示,
参数
作 用
-d device
将 device设定为当前的网卡,默认为第一个 non_loopback的网络设备
-f flood
设定接收到多少不完全的连接后才认为是 flood攻击
-h
帮助信息
-i icomlinit
设定接收到多少 icmp echo replies就认为是 smurf攻击
-m level
可以设定监控的机器,比如 subnet为子域中的机器,而 all为所有
-p portlimit
在 timeout的限制时间内有多少端口接收到信息包算是一次端口扫描
-r reporttype
如果 reporttype设为 DoS,那么只有拒绝服务攻击才会被记录;如果
是 scand的话,那么只有扫描行为会记录。默认设置是记录所有东西
-t timeout
每隔 timeout的时间就记录信息包并打印出潜在的攻击行为
-w webcount
设定我们从 80端口接收到多少信息包才算是一次端口扫描( CGI)
4.5
现代安全审
计技术
安全审计是一个安全的网络必须支持的功能特
性,它记录用户使用计算机网络系统进行所有活动的
过程,是提高安全性的重要工具。它不仅能够识别谁
访问了系统,还能指出系统正被怎样使用。对于确定
是否有网络攻击的情况,审计信息对于确定问题和攻
击源很重要。同时,系统事件的记录能够更迅速和系
统地识别问题,并且它是后面阶段事故处理的重要依
据,为网络犯罪行为及泄密行为提供取证基础。另外,
通过对安全事件的不断收集与积累并且加以分析,有
选择地对其中的某些站点或用户进行审计跟踪,以便
对发现或可能产生的破坏性行为提供有力的证据。
4.5.1 安全审计现状
TCSEC( Trusted Computer System Evalution Criteria)
准则,俗称橙皮书,是美国国防部发布的一个准则,用于评
估自动信息数据处理系统产品的安全措施的有效性。
1998年,国际标准化组织( ISO)和国际电工委员会
( IEC)发表了, 信息技术安全性评估通用规则 2.0版,
( ISO/IEC15408),简称 CC准则或 CC标准。 CC准则是信
息技术安全性通用评估准则,用来评估信息系统或信息产品
的安全性。
但是大部分的用户和专家对安全审计这个概念的理解
都认为是, 日志记录, 的功能。另一部分的集成商则认为安
全审计只需在原来各个产品的日志功能上进行一些改进即可。
还有一部分厂商将安全审计和入侵检测产品等同起来。因此
目前对于安全审计这个概念的理解还不统一,安全领域对于
怎么样的产品才属于安全审计产品还没有一个普遍接受的认
识。因此在市场上虽然有不同的厂商打出安全审计产品,但
是无论是功能和性能都有很大的差别。
目前的安全审计类产品情况,
1.网络设备及防火墙日志
目前的网络设备和防火墙中有些具备一定的日
志功能,但一般情况下只能记录自身运转状况和一
些简单违规的信息。
2.操作系统日志
目前服务器操作系统都有日志,但是这些日志
往往只是记录一些零碎的信息(如用户登录的时
间),从这些日志中无法看到用户到底做了些什么
操作,整个入侵的步骤是如何发生的。而且分散在
各个操作系统中的日志需要用户管理员分别查看,
进行人工的综合、分析、判断,实际上是很难奏效
的。
3,Sniff,Snoop类的工具
这些工具从一定意义上使得网络上传输的数据
变得可见, 能够观察到一些网络用户正在进行的操
作和传输的数据, 所以这些工具对正在发生的违规
操作能够起到一定的检测作用, 但是仅仅是这些工
具还不能承担日常的安全审计工作, 因为这些工具
只是对单包进行解码, 缺乏分析能力, 无法判断是
否是重要的信息和违规的信息;此外它们不具备上
下文相关的网络操作性为判断的能力, 也缺乏报警
响应的能力 。 目前网络的实际流量是非常大的, 如
果不加分析全部记录的话, 任何的磁盘也会在很短
时间内充满 。 所以这些只是些辅助判断网络故障的
工具, 目前还没有哪个系统真正将这些工具收集的
数据长时间完全记录下来 。
4.5.3 安全审计标准 CC中的网络信息
安全审计功能定义
该标准目前已被广发地用于评估一个系统的安全性。
在这个标准中完整的安全审计包括安全审计自动响应、安
全审计数据生成、安全审计分析、安全审计浏览、安全审
计事件存储、安全审计事件选择等功能 。
1,安全审计自动响应 ( AU_APR)
安全审计自动响应定义在被测事件指示在一个潜在的
安全攻击时做出的响应, 它是管理审计事件的需要, 这些
需要包括报警或行动, 例如包括实时报警的生成, 违规进
程的终止, 中断服务, 用户帐号的失效等 。 根据审计事件
的不同系统将做出不同的响应 。 其响应方式可做增加, 删
除, 修改等操作 。
2,安全审计数据生成 ( AU_GEN)
该功能要求记录与安全相关的事件的出现, 包括
鉴别审计层次, 列举可被审计的事件类型, 以及鉴别有
各种审计记录类型提供的相关审计信息的最小集合 。 系
统可定义可审计事件清单, 每个可审计事件对应于某个
事件级别 。
3,安全审计分析( AU_SAA)
此部分功能定义了分析系统活动和审计数据来寻求
可能的或真正的安全违规操作。它可以用于入侵检测或
对违规的自动响应。当一个审计事件集出现或累计出现
一定次数时可以确定一个违规的发生,并执行审计分析。
事件的集合能够由经授权的用户进行增加、修改或删除
等操作。审计分析分为潜在攻击分析、基于模板的异常
检测、简单攻击试探和复杂攻击试探等几种类型。
4,安全审计浏览( AU_SAR)
该功能要求审计系统能够使授权的用户有效地浏览
审计数据, 它包括审计浏览, 有限审计浏览, 可选审计
浏览 。
5,安全审计事件存储( AU_SEL)
系统能够维护、检查或修改审计事件的集合,能够
学则对那些安全属性进行审计
6,安全审计事件选择( AU_STG)
系统将提供控制措施以防止由于资源的不可用而丢
失审计数据, 能够创建, 维护, 访问它所保护的对象的
审计踪迹, 并保护其不被修改, 非授权访问或破坏 。
4.5.1 一个分布式入侵检测和安全
审计系统 S_Audit简介
S_Audit网络安全审计系统在设计上采用了分布式
审计和多层次审计相结合的方案。 网络安全审计系
统是对网络系统多个层次上的全面审计。多层次审
计是指整个审计系统不仅能对网络数据通信操作进
行底层审计(如网络上的各种 Internet协议),还能
对系统和平台(包括操作系统和应用平台)进行中
层审计,以及为应用软件服务提供高层审计,这使
它区别传统的审计产品和 IDS系统,如下页图所示。
TCP/IP
审
计
总
控
UNIX, NT
Application
网络安全审计层次结构图
系统层审计
网络层审计
应用层审计
网络安全审计系统除了是一个多层次审计
系统之外,还是一个分布式、多 Agent结构的
审计系统,它在结构上具备可伸缩,易扩展
的特点 。 系统由审计中心、审计控制台和审
计 Agent组成,网络安全审计系统结构见下页
图所示。
审计控制台 审计控制台
审计中心 审计数据库
网络监听型审计 Agent
专用硬件(网探)
入侵检测 Agent
HP
Solaris
NT
典型应用 Agent
流量检测 Agent
用户自定义数据审计 Agent
文件共享 Agent
主机服务审计 Agent
系统嵌入型 Agent 主动信息获取型 Agent
配置,查询,管理
审计 API
应用程序
被审计网络
数据上报
网络安全审计系统结构图
审计 Agent主要可以分为网络监听型 Agent,系
统嵌入型 Agent,主动信息获取型 Agent等 。
1,网络监听型 Agent
对于网络监听型的审计 Agent,需要运行在一个网
络监听专用平台上, 在系统中, 该硬件被称为网探 。
目前实现的网络监听型审计 Agent有以下类型,
? 入侵检测 Agent:主要实现对已知入侵手段的检测功
能 。
? 典型应用 Agent:实现在 Telnet,HTTP,FTP,SMTP、
POP3上的应用审计功能
? 流量检测 Agent:主要实现对实时和历史流量的检测
功能 。
? 文件共享 Agent:主要实现对 Windows环境中的基于
Netbios Over TCP/IP的文件共享审计功能 。
? 用户自定义数据审计 Agent:实现对用户自定义服务
的审计功能 。
? 主机服务审计 Agent:实现对网络上的主机所开放
的服务端口进行审计的功能 。
2,系统嵌入型 Agent
系统嵌入型 Agent是安装在各个受保护的主
机上的安全保护软件, 这些软件实现基于主机的
安全审计和监管 。 主要实现以下功能,
?收集系统日志信息, 并根据规则判断异常事件
的发生 。
?对系统内部产生的重要事件 ( 并不一定产生系
统日志 ) 进行收集 。
?对主机的资源和性能 ( 包括 CPU,内存占用,
硬盘占用等 ) 进行例行的监视和记录, 发现主机
异常运转, 并适时杀死异常进程 。
?发现主机中存在的异常代码 ( 例如特洛伊木马
程序, 后门程序, DDOS程序, Proxy程序等 )
?对电子邮件进行审查 ( 针对邮件服务器 ), 发
现垃圾邮件中转情况, 并终止垃圾邮件的发送
( 针对垃圾邮件源头主机 ), 发现含有非法内容
的邮件 。
?Web浏览和发送内容过滤 ( 例如对于 Web方式的
BBS), 自动删除含有不良内容的张贴文章 。
?实现系统强制性的审计 ( 无法通过设置参数系
统参数而绕过审计 ) 。
3,主动信息获取型 Agent
主动信息获取型 Agent主要实现针对一些非主
机类别的设备的日志收集, 如防火墙, 交换机, 路
由器等 。 这些设备一般以硬件和固化型的软件提供
应用, 不支持在其操作系统上进行软件开发和嵌入
软件模块, 所以针对这些设备的日志收集需要采用
主动信息采集的方法 。 主动信息获取型的审计
Agent以软件形式运行在相应的主机上, 通过网络,
console等方式同被审计设备进行交互, 收集设备产
生的日志或者定时轮询一些参数, 自己根据需求生
成日志信息 。 主动信息获取型 Agent主要采用以下
的手段进行信息获取,
?通过 SNMP的 TRAP方式 。
?通过定时的 MIB轮询, 获取关键参数 。
?通过定时的 Telnet script获取数值 。
?通过 Console口定时运行操作终端 script来获取参数 。
?通过管理接口, 如 HTTP方式的管理来获取参数 。
?通过一些联动接口, 如 OPSEC接口获取参数 。
?通过 syslog server的方式获取日志信息 。
4.6
本章小结
入侵检测作为一种积极主动的安全防护技术,
提供了对内部攻击, 外部攻击和误操作的实时保护,
在网络系统受到危害之前拦截和响应入侵 。 从网络
安全立体纵深, 多层次防御的角度出发, 入侵检测
应受到人们的高度重视 。
安全审计功能其实在 CC标准中有较完备的定义,
但经常被人所忽视, 对安全审计的概念也往往认识
得不够全面, 我们希望通过本章相关内容的介绍后
读者能对现代安全审计技术有所了解 。