10.1 入侵检测概述
1)概念
20世纪 80年代初期,安全专家认为: “入侵是指未经授权蓄意尝试访问信息、篡改信息,使系统不可用的行为。”
美国大学安全专家将入侵定义为 “非法进入信息系统,包括违反信息系统的安全策略或法律保护条例的动作”。
我们认为,入侵应与受害目标相关联,该受害目标可以是一个大的系统或单个对象。判断与目标相关的操作是否为入侵的依据是:对目标的操作是否超出了目标的安全策略范围。因此,入侵是指违背访问目标的安全策略的行为。
入侵检测通过收集操作系统、系统程序、应用程序、网络包等信息,发现系统中违背安全策略或危及系统安全的行为。
具有入侵检测功能的系统称为入侵检测系统,简称为IDS。
2)模型
根据主机系统中的审计记录数据,生成有关系统的若干轮廓,并监测轮廓的变化差异,发现系统的入侵行为。
随着入侵行为的种类不断增多,许多攻击是经过长时期准备的。面对这种情况,入侵检测系统的不同功能组件之间、不同IDS之间共享这类攻击信息是十分重要的。于是,一种通用的入侵检测框架模型被提出,简称为CIDF。该模型认为入侵检测系统由事件产生器(event generators)、事件分析器(event analyzers)、响应单元(response units)和事件数据库(event database)组成。
CIDF 将入侵检测系统需要分析的数据统称为事件,它可以是网络中的数据包,也可以是从系统日志等其他途径得到的信息。事件产生器从整个计算环境中获得事件,并向系统的其他部分提供事件。事件分析器分析所得到的数据,并产生分析结果。响应单元对分析结果做出反应,如切断网络连接、改变文件属性、简单报警等应急响应。事件数据库存放各种中间和最终数据,数据存放的形式既可以是复杂的数据库,也可以是简单的文本文件。CIDF 模型具有很强的扩展性,目前已经得到广泛认同。
3)作用
- 发现受保护系统中的入侵行为或异常行为
- 检验安全保护措施的有效性
- 分析受保护系统所面临的威胁
- 有利于组织安全事件扩大, 及时报警触发网络安全应急响应
- 可以为网络安全策略的制定提供重要指导
- 报警信息可用作网络犯罪取证
除此之外,入侵检测技术还常用于网络安全态势感知,以获取网络信息系统的安全状况。网络安全态势感知平台通常汇聚入侵检测系统的报警数据,特别是分布在不同安全区域的报警,然后对其采取数据关联分析、时间序列分析等综合技术手段,给出网络安全状况判断及攻击发展演变趋势。
10.2 入侵检测技术
1)基于误用
也叫基于特征,指根据已知的入侵模式检测入侵行为
- 基于条件概率的误用检测方法
- 基于状态迁移的误用检测方法
- 基于键盘监控的误用检测方法
- 基于规则的误用检测方法
2)基于异常
指通过计算机或网络资源统计分析,建立系统正常行为的"轨迹",定义一组系统正常情况的数值,然后将系统运行时的数值与所定义的"正常"情况相比较,得出是否有被攻击的迹象。
- 基于统计
- 基于模式预测
- 基于文本分类
- 基于贝叶斯推理
3)其他
- 基于规范
- 基于生物免疫(模仿生物有机体的免疫系统工作机制)
- 基于攻击诱骗
- 基于入侵报警
- 报警数据的相似性
- 人为设置参数或通过机器学习的方法
- 根据某种攻击的前提条件与结果
- 基于沙箱动态分析
- 基于大数据分析
10.3 入侵检测系统组成与分类
1)组成
:数据采集、入侵分析引擎、应急处理、管理配置、辅助模块
数据采集模块的功能是为入侵分析引擎模块提供分析用的数据,包括操作系统的审计日志、应用程序的运行日志和网络数据包等。
入侵分析引擎模块的功能是依据辅助模块提供的信息(如攻击模式),根据一定的算法对收集到的数据进行分析,从中判断是否有入侵行为出现,并产生入侵报警。该模块是入侵检测系统的核心模块。
管理配置模块的功能是为其他模块提供配置服务,是IDS系统中的模块与用户的接口。应急处理模块的功能是发生入侵后,提供紧急响应服务,例如关闭网络服务、中断网络连接、启动备份系统等。
辅助模块的功能是协助入侵分析引擎模块工作,为它提供相应的信息,例如攻击特征库、漏洞信息等。
2)基于主机
通过收集主机系统的日志文件、系统调用以及应用程序的使用、系统资源、网络通信和用户使用等信息,分析这些信息是否包含攻击特征或异常情况,并依此来判断主机是否受到入侵。
- 针对主机的端口或漏洞扫描
- 重复失败的登入常识
- 远程口令破解
- 主机系统的用户账号添加
- 服务启动或停止
- 系统重启动
- 文件的完整性或许可权变化
- 注册表修改
- 重要系统启动文件变更
- 程序的异常调用
- 拒绝服务攻击
3)基于网络
基于网络的入侵检测系统,简称为NIDS。NIDS通过侦听网络系统,捕获网络数据包,并依据网络包是否包含攻击特征,或者网络通信流是否异常来识别入侵行为。NIDS通常由一组用途单一的计算机组成,其构成多分为两部分:探测器和管理控制器。
探测器分布在网络中的不同区域,通过侦听(嗅探)方式获取网络包,探测器将检测到攻击行为形成报警事件,向管理控制器发送报警信息,报告发生入侵行为。
管理控制器可监控不同网络区域的探测器,接收来自探测器的报警信息。
一般说来,NIDS能够检测到以下入侵行为:
- 同步风暴
- 分布式拒绝服务攻击
- 网络扫描
- 缓冲区溢出
- 协议攻击
- 流量异常
- 非法网络访问
4)分布式入侵
网络系统结构的复杂化和大型化,带来许多新的入侵检测问题。
(1)系统的漏洞分散在网络中的各个主机上,这些弱点有可能被攻击者一起用来攻击网络,仅依靠基于主机或网络的 IDS 不会发现入侵行为。
(2)入侵行为不再是单一的行为,而是相互协作的入侵行为。
(3)入侵检测所依靠的数据来源分散化,收集原始的检测数据变得困难。如交换型网络使监听网络数据包受到限制。
(4)网络传输速度加快,网络的流量增大,集中处理原始数据的方式往往造成检测瓶颈,
从而导致漏检。面对这些新的入侵检测问题,分布式入侵检测系统应运而生,它可以跨越多个子网检测攻击行为,特别是大型网络。分布式入侵检测系统可以分成两种类型,即基于主机检测的分布式入侵检测系统和基于网络的分布式入侵检测系统。
10.4 入侵检测系统主要产品与技术指标
1)产品
主机入侵检测系统
网络入侵检测系统
统一威胁管理
高级持续威胁检测
2)技术指标
可靠性、可用性、可扩展性、时效性、准确性、安全性
10.5 入侵检测系统应用
1)场景类型
上网保护、网站入侵检测与保护、网络攻击阻断、主机/终断恶意代码检测、网络安全监测预警与应急处置、网络安全等级保护
2)部署方法
IDS部署是指将IDS安装在网络系统区域中,使之能够检测到网络中的攻击行为。IDS部署的基本过程包含以下几个步骤:
第一步,根据组织或公司的安全策略要求,确定IDS要监测的对象或保护网段
第二步,在监测对象或保护网段,安装IDS探测器,采集网络入侵检测所需要的信息
第三步,针对监测对象或保护网段的安全需求,制定相应的检测策略
第四步,依据检测策略,选用合适的JS结构类型
第五步,在 IDS上,配置入侵检测规则
第六步,测试验证 IDS的安全策略是否正常执行
第七步,运行和维护 IDS