入侵检测技术

Download Report

Transcript 入侵检测技术

国家信息化安全教育认证培训课程
入侵检测技术
参加课程需掌握的知识
TCP/IP协议原理
对防火墙有初步认识
对局域网和广域网有初步认识
Unix简单操作
课程内容
入侵知识简介
入侵检测技术
入侵检测系统的选择和使用
课程目标
了解入侵检测的概念、术语
掌握网络入侵技术和黑客惯用的各种手段
掌握入侵检测系统防范入侵原理
了解入侵检测产品部署方案
了解入侵检测产品选型原则
了解入侵检测技术发展方向
§1. 入侵检测系统概述
概要
– 背景介绍
– 入侵检测的提出
– 入侵检测相关术语
– 入侵检测系统分类
– 入侵检测系统构件
– 入侵检测系统部署方式
– 动态安全模型P2DR
§1.1 背景介绍
§ 1.1.1 信息社会出现的新问题
–
–
–
–
–
信息时代到来,电子商务、电子政务,网络改
变人们的生活,人类进入信息化社会
计算机系统与网络的广泛应用,商业和国家机
密信息的保护以及信息时代电子、信息对抗的
需求
存储信息的系统面临的极大的安全威胁
潜在的网络、系统缺陷危及系统的安全
传统的安全保密技术都有各自的局限性,不能
够确保系统的安全
§1.1 背景介绍
§ 1.1.2 信息系统的安全问题
– 操作系统的脆弱性
– 计算机网络的资源开放、信息共享以及
网络复杂性增大了系统的不安全性
– 数据库管理系统等应用系统设计中存在
的安全性缺陷
– 缺乏有效的安全管理
§ 1.1.3 黑客攻击猖獗
特洛伊木马
黑客攻击
后门、隐蔽通道
计算机病毒
网络
拒绝服务攻击
逻辑炸弹
蠕虫
内部、外部泄密
–这就是黑客
§1.1 背景介绍
§1.1.4 我国安全形势非常严峻
–
–
1998年2月25日:黑客入侵中国公众多媒
体通信网广州蓝天BBS系统并得到系统的
最高权限,系统失控长达15小时。为国内
首例网上黑客案件。
1998年9月22日,黑客入侵扬州工商银行
电脑系统,将72万元注入其户头,提出
26万元。为国内首例利用计算机盗窃银行
巨款案件。
§1.1 背景介绍
§1.1.4 我国安全形势非常严峻(续)
–
–
–
1999年4月16日:黑客入侵中亚信托投
资公司上海某证券营业部,造成340万
元损失。
1999年11月14日至17日:新疆乌鲁木
齐市发生首起针对银行自动提款机的黑
客案件,用户的信用卡被盗1.799万元。
1999年11月23日:银行内部人员通过
更改程序,用虚假信息从本溪某银行提
取出86万元。
§1.1 背景介绍
§1.1.4 我国安全形势非常严峻(续)
–
–
–
2000年2月1日:黑客攻击了大连市赛
伯网络服务有限公司,造成经济损失20
多万元。
2000年2月1日至2日:中国公共多媒体
信息网兰州节点 ——“飞天网景信息港”
遭到黑客攻击。
2000年3月2日:黑客攻击世纪龙公司
21CN。
§1.1 背景介绍
§1.1.4 我国安全形势非常严峻(续)
– 2000年3月6日至8日:黑客攻击实华开EC123
网站达16次,同一时期,号称全球最大的中文
网上书店“当当书店”也遭到多次黑客攻击。
– 2000年3月8日:山西日报国际互联网站遭到
黑客数次攻击,被迫关机,这是国内首例黑客
攻击省级党报网站事件。
– 2000年3月8日:黑客攻击国内最大的电子邮
局--拥有200万用户的广州163,系统无法正常
登录。
§1.1 背景介绍
§1.1.4 我国安全形势非常严峻(续)
–
–
–
2001年3月9日: IT163.com-全国网上连
锁商城遭到黑客袭击,网站页面文件全
部被删除,各种数据库遭到不同程度破
坏,网站无法运行,15日才恢复正常,
损失巨大。
2001年3月25日:重庆某银行储户的个
人帐户被非法提走5万余元。
2001年6月11、12日:中国香港特区政
府互联网服务指南主页遭到黑客入侵,
服务被迫暂停。
被黑的WEB页面
DOJ
HOMEPAGE
§1.2 入侵检测的提出
§1.2.1 什么是入侵检测系统
–
入侵检测系统是一套监控计算机系统或
网络系统中发生的事件,根据规则进行
安全审计的软件或硬件系统。
§1.2 入侵检测的提出
§1.2.2 为什么需要IDS?
 入侵很容易
– 入侵教程随处可见
– 各种工具唾手可得
 防火墙不能保证绝对的安全
– 网络边界的设备
– 自身可以被攻破
– 对某些攻击保护很弱
– 不是所有的威胁来自防火墙外部
– 防火墙是锁,入侵检测系统是监视器
§1.2 入侵检测的提出
§1.2.3 入侵检测的任务
检测来自内部的攻击事件和越权访问
– 85%以上的攻击事件来自于内部的攻击
– 防火墙只能防外,难于防内
入侵检测系统作为防火墙系统的一个有效
的补充
– 入侵检测系统可以有效的防范防火墙开
放的服务入侵
§1.2 入侵检测的提出
§1.2.3 入侵检测的任务
– 通过事先发现风险来阻止入侵事件
的发生,提前发现试图攻击或滥用
网络系统的人员。
– 检测其它安全工具没有发现的网络
工具事件。
– 提供有效的审计信息,详细记录黑
客的入侵过程,从而帮助管理员发
现网络的脆弱性。
§1.2 入侵检测的提出
§1.2.3 入侵检测的任务
– 网络中可被入侵者利用的资源
– 在一些大型的网络中,管理员没有时间
跟踪系统漏洞并且安装相应的系统补丁
程序。
– 用户和管理员在配置和使用系统中的失
误。
– 对于一些存在安全漏洞的服务、协议和
软件,用户有时候不得不使用。
§1.2 入侵检测的提出
§1.2.4入侵检测的发展历史
–
–
–
–
–
1980年,James Anderson最早提出入侵检测
概念
1987年,D.E.Denning首次给出了一个入
侵检测的抽象模型,并将入侵检测作为一种新
的安全防御措施提出。
1988年,Morris蠕虫事件直接刺激了IDS的研
究
1988年,创建了基于主机的系统,有IDES,
Haystack等
1989年,提出基于网络的IDS系统,有NSM,
NADIR, DIDS等
§1.2 入侵检测的提出
§1.2.4入侵检测的发展历史(续)
– 90年代,不断有新的思想提出,如将人
工智能、神经网络、模糊理论、证据理
论、分布计算技术等引入IDS系统
– 2000年2月,对Yahoo!、Amazon、
CNN等大型网站的DDOS攻击引发了对
IDS系统的新一轮研究热潮
– 2001年~今,RedCode、求职信等新
型病毒的不断出现,进一步促进了IDS
的发展。
§1.3 入侵检测相关术语
IDS(Intrusion Detection Systems)
– 入侵检测系统
Promiscuous
– 混杂模式
Signatures
– 特征
§1.3 入侵检测相关术语
Alerts
– 警告
Anomaly
– 异常
§1.3 入侵检测相关术语
Console
– 控制台
Sensor
– 传感器
§1.4 入侵检测系统分类
概要
– Host-Based IDS
–
Network-Based IDS
–
Stack-Based IDS
§1.4 入侵检测系统分类
§ 1.4.1 Host-Based IDS(HIDS)
–
基于主机的入侵检测系统
–
系统安装在主机上面,对本主机进行安
全检测
§1.4 入侵检测系统分类
 HIDS优点
–
性能价格比高
–
细腻性,审计内容全面
–
视野集中
–
适用于加密及交换环境
§1.4 入侵检测系统分类
HIDS缺点
– 额外产生的安全问题
–
HIDS依赖性强
–
如果主机数目多,代价过大
–
不能监控网络上的情况
§1.4 入侵检测系统分类
§ 1.4.2 Network-Based IDS(NIDS)
–
基于网络的入侵检测系统
–
系统安装在比较重要的网段内
§1.4 入侵检测系统分类
NIDS优点
– 检测范围广
–
无需改变主机配置和性能
–
独立性和操作系统无关性
–
安装方便
§1.4 入侵检测系统分类
NIDS缺点
– 不能检测不同网段的网络包
–
很难检测复杂的需要大量计算的攻击
–
协同工作能力弱
–
难以处理加密的会话
§1.4 入侵检测系统分类
§1.4.3 Stack-Based IDS(NNIDS)
–
网络节点入侵检测系统
–
安装在网络节点的主机中
–
结合了NIDS和HIDS的技术
–
适合于高速交换环境和加密数据
§1.5 入侵检测系统构件
响应单元
输出:高级中断事件
输出:反应或事件
输出:事件的存储信息
事件分析器
事件数据库
输出:原始或低级事件
事件产生器
输入:原始事件源
§1.5 入侵检测系统构件
事件产生器(Event generators)
–
事件产生器的目的是从整个计算环境中
获得事件,并向系统的其他部分提供此
事件。
§1.5 入侵检测系统构件
事件分析器(Event analyzers)
–
事件分析器分析得到的数据,并产生分
析结果。
§1.5 入侵检测系统构件
响应单元(Response units)
–
响应单元则是对分析结果作出作出反应
的功能单元,它可以作出切断连接、改
变文件属性等强烈反应,甚至发动对攻击
者的反击,也可以只是简单的报警。
§1.5 入侵检测系统构件
事件数据库(Event databases)
–
事件数据库是存放各种中间和最终数据
的地方的统称,它可以是复杂的数据库,
也可以是简单的文本文件。
§1.6 入侵检测系统部署方式
Console
Switch
IDS Sensor
通过端口镜像实现
(SPAN / Port Monitor)
Monitored
Servers
§1.6 入侵检测系统部署方式
检测器部署位置
–
放在边界防火墙之内
–
放在边界防火墙之外
–
放在主要的网络中枢
–
放在一些安全级别需求高的子网
检测器部署示意图
Internet
部署一
部
署
二
§1.6 入侵检测系统部署方式
检测器放置于防火墙的DMZ区域
–
可以查看受保护区域主机被攻击状态
–
可以看出防火墙系统的策略是否合理
–
可以看出DMZ区域被黑客攻击的重点
§1.6 入侵检测系统部署方式
检测器放置于路由器和边界防火墙之间
–
可以审计所有来自Internet上面对保护
网络的攻击数目
–
可以审计所有来自Internet上面对保护
网络的攻击类型
§1.6 入侵检测系统部署方式
检测器放在主要的网络中枢
–
监控大量的网络数据,可提高检测黑客
攻击的可能性
–
可通过授权用户的权利周界来发现为授
权用户的行为
§1.6 入侵检测系统部署方式
检测器放在安全级别高的子网
–
对非常重要的系统和资源的入侵检测
§1.7 动态安全模型P2DR
§1.7 动态安全模型P2DR
Policy——策略
Protection—防护
Detection——检测
Response——响应
§2. 网络入侵技术
概要
–
入侵知识简介
–
网络入侵的一般步骤
§2.1 入侵知识简介
入侵 (Intrusion)
–
–
入侵是指未经授权蓄意尝试访问信息、
窜改信息,使系统不可靠或不能使用的
行为。
入侵企图破坏计算机资源的完整性、机
密性、可用性、可控性
§2.1 入侵知识简介
目前主要漏洞:
– 缓冲区溢出
– 拒绝服务攻击漏洞
– 代码泄漏、信息泄漏漏洞
– 配置修改、系统修改漏洞
– 脚本执行漏洞
– 远程命令执行漏洞
– 其它类型的漏洞
§2.1 入侵知识简介
入侵者
– 入侵者可以是一个手工发出命令的人,
也可是一个基于入侵脚本或程序的自动
发布命令的计算机。
§2.1 入侵知识简介
侵入系统的主要途径
–
物理侵入
–
本地侵入
– 远程侵入
§2.2 网络入侵的一般步骤
进行网络攻击是一件系统性很强的工
作,其主要工作流程是:
– 目标探测和信息收集
– 自身隐藏
– 利用漏洞侵入主机
– 稳固和扩大战果
– 清除日志
§2.2.1 目标探测和信息收集
目标探测和信息收集
– 端口扫描
–
漏洞扫描
–
利用snmp了解网络结构
§2.2.1 目标探测和信息收集
利用扫描器软件
–
什么是扫描器Scanner
–
扫描器工作原理
–
扫描器能告诉我们什么
§ 2.2.1 目标探测和信息收集
常用扫描器软件
–
SATAN(安全管理员的网络分析工具)
http://www.fish.com
–
Nessus(网络评估软件)
http://www.nessus.org
§ 2.2.1 目标探测和信息收集
常用扫描器软件(续)
–
流光(NT扫描工具)
http://www.netxeyes.com
–
Mscan(Linux下漏洞扫描器)
http://leafun.longcity.net
§ 2.2.1 目标探测和信息收集
什么是SNMP
– 简单网络管理协议
–
协议无关性
–
搜集网络管理信息
–
网络管理软件
§ 2.2.1 目标探测和信息收集
Snmp用途
–
用于网络管理,网管工具
–
Community strings
–
也成为黑客入侵的一直辅助手段
§ 2.2.1 目标探测和信息收集
Snmp查询工具
–
SolarWinds
通过其中的IP Network Browser工具
http://solarwinds.net
–
LANguard Network Scanner
www.gfi.com/lannetscan/
SolarWinds 的IP Network
Browser
Languard Network Scanner
§ 2.2.2 自身隐藏
典型的黑客使用如下技术来隐藏IP地址
– 通过telnet在以前攻克的Unix主机上跳
转
– 通过终端管理器在windows主机上跳转
– 配置代理服务器
更高级的黑客,精通利用电话交换侵入主
机
§ 2.2.3 利用漏洞侵入主机
已经利用扫描器发现漏洞
例如CGI/IIS漏洞
充分掌握系统信息
进一步入侵
§ 2.2.4 稳固和扩大战果
安装后门
添加系统账号
利用LKM
利用信任主机
§ 2.2.4 稳固和扩大战果
什么是木马
– 客户端软件
– 服务端软件
木马启动方式
– 修改注册表
– 修改INI文件
– 作为服务启动
§ 2.2.4 稳固和扩大战果
BO
– BO的客户端程序可以监视、管理和使
用其他网络中运行了BO服务器程序的
计算机系统
冰河
– 国产木马程序
– 一般杀毒软件均可发现
§ 2.2.4 稳固和扩大战果
黑客入侵主机后,可添加管理员账号
–
Windows主机账号
–
Unix主机账号
§ 2.2.4 稳固和扩大战果
什么是LKM
–
Loadable Kernel Modules
–
动态加载
–
无需重新编译内核
§ 2.2.4 稳固和扩大战果
控制了主机以后,可以利用该主机对其它
邻近和信任主机进行入侵
控制了代理服务器,可以利用该服务器对
内部网络进一步入侵
§ 2.2.5 清除日志
清除入侵日志
使管理员无法发现系统已被入侵
§ 2.2.5 清除日志(windows
)
清除系统日志
清除IIS日志
清除FTP日志
清除数据库连接日志
系统日志
IIS日志
§ 2.2.5 清除日志(Unix)
登陆信息 /var/log
/home/user/.bash_history
lastlog
网络入侵步骤总览
利用系统已知的
漏洞、通过输入
区向CGI发送特殊
的命令、发送特
别大的数据造成
缓冲区溢出、猜
测已知用户的口
令,从而发现突
破口。
选中
攻
扫描
网络
击目
标
攻击其它
主机
获取普通
用户权限
擦除入
侵痕迹
获取超级
用户权限
安装后
门
新建帐
号
获取或
修改信息
从事其它
非法活动
§ 3 IDS工作原理
目标
– 通过本章学习,可以掌握入侵检测系统
对网络入侵事件分析的方法和原理。
概要
– 入侵检测引擎工作流程
– 入侵检测的分析方式
– 入侵检测技术
§ 3.1 入侵检测引擎工作流程
§ 3.1.1 监听部分
网络接口混杂模式
根据设置过滤一些数据包
过滤程序的算法的重要性
§ 3.1.1 监听部分
监听器设置如下规则进行过滤:
–
Only check the following packet
–
源地址为192.168.0.1
§ 3.1.2 协议分析
IP
IPX
PPP
协议
ICMP
FTP
OSPF
Telnet
TCP
POP3
IGMP
SMTP
EGP
HTTP
IPV6
GGP
NetBEUI
UDP
NFS
DNS
TFTP
ATM
§ 3.1.3 数据分析
根据相应的协议调用相应的数据分析函数
一个协议数据有多个数据分析函数处理
数据分析的方法是入侵检测系统的核心
快速的模式匹配算法
§ 3.1.4 引擎管理
协调和配置给模块间工作
数据分析后处理方式
– Alert
– Log
– Call Firewall
§ 3.2 入侵检测的分析方式
 异常检测(Anomaly Detection)
–
统计模型
–
误报较多
 误用检测(Misuse Detection)
–
维护一个入侵特征知识库(CVE)
–
准确性高
 完整性分析
§ 3.2.1 异常检测
基本原理
–
–
–
正常行为的特征轮廓
检查系统的运行情况
是否偏离预设的门限?
§ 3.2.1 异常检测
异常检测的优点:
–
–
–
–
可以检测到未知的入侵
可以检测冒用他人帐号的行为
具有自适应,自学习功能
不需要系统先验知识
§ 3.2.1 异常检测
异常检测的缺点:
– 漏报、误报率高
–
–
–
–
入侵者可以逐渐改变自己的行为模式来逃
避检测
合法用户正常行为的突然改变也会造成误
警
统计算法的计算量庞大,效率很低
统计点的选取和参考库的建立比较困难
§ 3.2.2 误用检测
采用匹配技术检测已知攻击
–
提前建立已出现的入侵行为特征
–
检测当前用户行为特征
§ 3.2.2 误用检测
误用检测的优点
–
–
–
–
算法简单
系统开销小
准确率高
效率高
§ 3.2.2 误用检测
误用检测的缺点
被动
– 只能检测出已知攻击
– 新类型的攻击会对系统造成很大的威胁
模式库的建立和维护难
– 模式库要不断更新
– 知识依赖于
–
–
–
硬件平台
操作系统
系统中运行的应用程序
§ 3.2.3 完整性分析
–
–
–
通过检查系统的当前系统配置,诸如系
统文件的内容或者系统表,来检查系统
是否已经或者可能会遭到破坏。
其优点是不管模式匹配方法和统计分析
方法能否发现入侵,只要是成功的攻击
导致了文件或其它对象的任何改变,它
都能够发现。
缺点是一般以批处理方式实现,不用于
实时响应。
§ 3.3 入侵检测具体技术
基于统计方法的入侵检测技术
基于神经网络的入侵检测技术
基于专家系统的入侵检测技术
基于模型推理的入侵检测技术
§ 3.3.1 基于统计方法
审计系统实时地检测用户对系统的使用情
况,根据系统内部保持的用户行为的概率
统计模型进行监测,当发现有可疑的用户
行为发生时,保持跟踪并监测、记录该用
户的行为。
§ 3.3.2 基于神经网络
采用神经网络技术,根据实时检测到的信
息有效地加以处理作出攻击可能性的判断。
神经网络技术可以用于解决传统的统计分
析技术所面临的以下问题:
– 难于建立确切的统计分布导致
– 难于实现方法的普适性
– 算法实现比较昂贵
– 系统臃肿难于剪裁
§ 3.3.3 基于专家系统
根据安全专家对可疑行为的分析经验来形
成一套推理规则,然后再在此基础之上构
成相应的专家系统,并应用于入侵检测。
基于规则的专家系统或推进系统的也有一
定的局限性。
§ 3.3.4 基于模型推理
用基于模型的推理方法人们能够为某些行
为建立特定的模型,从而能够监视具有特
定行为特征的某些活动。根据假设的攻击
脚本,这种系统就能检测出非法的用户行
为。
一般为了准确判断,要为不同的攻击者和
不同的系统建立特定的攻击脚本。
§ 3.4 其他的检测技术
免疫系统方法
遗传算法
基于代理检测
数据挖掘
§ 4 入侵检测缺陷
目标
– 通过本章学习,学员可以了解黑客如何
逃避入侵检测系统的审计。
概要
– 利用字符串匹配缺陷
– 分割IP数据包
– 拒绝服务攻击
§ 4.1 利用字符串匹配缺陷
路径欺骗
HEX编码
二次HEX编码
Unicode(UTF-8)
§ 4.1.1 路径欺骗
改变字符串外形,但是实质相同
如果入侵检测对scripts/iisadmin匹配
– 可以通过如下逃避:scripts/./iisadmin
– Scripts/sample/../iisadmin
– Scripts\iisadmin
§ 4.1.2 路径欺骗解决办法
协议分析
URL标准化
§ 4.1.3 HEX编码
URL中将%20代替空格
WEB服务器可识别HEX编码
入侵检测系统无法识别
使用%73代替s,提交
/script%73/iisadmin
§ 4.1.4 HEX编码解决方法
依赖协议分析
使用于WEB服务器相同的分析器分析HEX
编码
然后进行URL分析发现攻击
§ 4.1.5 二次HEX编码
 微软IIS服务器对HEX码进行二次解码
 解码前: scripts/..%255c../winnt
– %25是%的编码
 第一次解码: scripts/..%5c../winnt
– %5是\的编码
 第二次解码: scripts/..\../winnt
– 等同于scripts/../../winnt
§ 4.1.6 Unicode(UTF-8)
%7f以上的编码属于unicode序列
%c0%af是一个合法的Unicode序列
Scripts/..%c0%af../winnt
转换后为:scripts/../../winnt
§ 4.1.7 避免字符匹配缺陷小
结
–
–
–
–
–
解码IP包头文件,确定协议类型
分析HTTP请求所有成分
进行URL处理,避免路径欺骗、HEX编
码、二次编码和Unicode
字符串匹配
Alert
§ 4.2 分割IP数据包
有效的逃避手段
切割一个攻击IP包
分割后的IP包单独通过入侵检测
入侵检测系统无法匹配成功
§ 4.3 拒绝服务攻击
攻击原理
– 发送大量的黑客入侵包
–
入侵检测系统会发出大量的Alert
–
审计数据库空间将溢出
–
入侵检测系统停止工作
§ 4.3 拒绝服务攻击
 攻击后果
– 大量消耗设备处理能力,使黑客有机可乘
–
硬盘空间满,导致审计无法继续
–
产生大量Alert,导致管理机无法处理
–
导致管理员无法审查所有的Alert
–
导致设备死锁
§ 5 入侵检测标准化
概要:
– 入侵检测框架标准草案
–
入侵检测数据交换标准化
–
标准化工作总结
§ 5.1 入侵检测框架标准草案
入侵检测系统的体系结构
通信机制
描述语言
§ 5.1.1 CIDF的体系结构
响应单元
输出:高级中断事件
输出:反应或事件
输出:事件的存储信息
事件分析器
事件数据库
输出:原始或低级事件
事件产生器
输入:原始事件源
§ 5.1.1 CIDF的体系结构
事件产生器
事件分析器
事件数据库
响应单元
§ 5.1.2 CIDF的六种协同方式
1.分析(Analyzing):如下图所示。
§ 5.1.2 CIDF的六种协同方式
2.互补(Complementing):如下图所示。
§ 5.1.2 CIDF的六种协同方式
3.互纠(Reinforcing):如下图所示。
§ 5.1.2 CIDF的六种协同方式
4.核实(Verifying):如下图所示。
§ 5.1.2 CIDF的六种协同方式
5.调整(Adjusting Monitoring):如下图
所示。
§ 5.1.2 CIDF的六种协同方式
6.响应(Responding):如下图所示。
§ 5.1.3 CIDF的通信机制
CIDF通信机制的模型
– GIDO层;
– 消息层;
– 协商传输层
CIDF通信机制的内容
– 配对服务;
– 路由;
– 消息层;
– 消息层处理。
CIDF通信机制的模型
GIDO层
消息层
协商传输层
§ 5.1.4 CIDF的描述语言
应用层的语言CISL(公共入侵规范语言)
CISL可以表示CIDF中的各种信息:如原
始事件信息(审计踪迹记录和网络数据流
信息)、分析结果(系统异常和攻击特征
描述)、响应提示(停止某些特定的活动
或修改组件的安全参数)等等。
§ 5.2 数据交换标准
数据交换标准定义了数据格式和交换规程,
用于入侵检测或响应(IDR)系统之间或
与需要交互的管理系统之间的信息共享;
数据交换标准主要内容:
– 入侵检测消息交换格式(IDMEF);
– 入侵检测交换协议(IDXP)。
§ 5.2.1 入侵检测消息交换格
式IDMEF
–
–
–
IDMEF描述了表示入侵检测系统输出信息的数
据模型(该数据模型用XML实现),并解释了
使用此模型的基本原理,并设计了一个XML文
档类型定义(XML DTD);
自动入侵检测系统可以使用IDMEF提供的标准
数据格式对可疑事件发出警报,提高商业、开
放资源和研究系统之间的互操作性;
IDMEF最适用于入侵检测分析器(或称为“探
测器”)和接收警报的管理器(或称为“控制
台”)之间的数据信道。
§ 5.2.2 IDMEF的数据模型图
IDMEF-Message
Alert
Analyzer
Heartbeat
Analyzer
CreateTime
Node
CreateTime
DetectTime
User
AdditionalData
AnalyzerTime
Process
Source
Service
Target
Node
Classification
User
AdditionalData
Process
Service
§ 5.2.3 文档标记语言XML
–
XML(Extensible Markup Language
可扩展标记语言)是SGML(Standard
Generalized Markup Language标准通
用标记语言)的简化版本,是ISO 8879
标准对文本标记说明进行定义的一种语
法。作为一种表示和交换网络文档及数
据的语言,XML能够有效地解决HTML
面临的许多问题。
§ 5.2.4 入侵检测交换协议
IDXP
Alice
Bob
Xport 连接[1]
问候
启动安全轮廓[2]
问候
启动 IDXP[3]
两个入侵检测实体之间建立 IDXP 通信的过程
§ 5.2.5 IDXP通信
BEEP 会话
分析器
(客户机)
IDXP 轮廓,基于网络的警报
IDXP 轮廓,基于主机的警报
IDXP 轮廓,其它警报
管理器
(服务器)
§ 5.3 IDS标准化发展
要使得国内厂商做出的安全产品,能够符
合国际标准、与其它安全产品互相沟通、
并且具有长久的生命力,就必须把IDS的
标准化提高到一个重要的高度;
目前国内还没有制定出成熟的入侵检测系
统标准草案。要建立国内的入侵检测系统
标准和IDS产品的测试开展。
§ 6 IDS产品评估与选型原则
目标
– 通过本章学习,学员可以具备对自己或
者客户的网络结构提出入侵检测系统方
面的建议。
概要
– IDS评估与测试
– 环境和策略考虑
– IDS产品功能和品质
§ 6.1 IDS评估与测试
入侵检测系统能发现入侵行为吗?
入侵检测系统是否达到了开发者的设计目
标?
什么样的入侵检测系统才是用户需要的性
能优良的入侵检测系统呢?
要回答这些问题,就要对入侵检测系统进
行测试和评估。
§ 6.1.1 IDS的评价标准
Porras等给出了评价入侵检测系统性能的
三个因素:
– 准确性(Accuracy)
– 处理性能(Performance)
– 完备性(Completeness)
Debar等增加了两个性能评价测度
– 容错性(Fault Tolerance)
– 及时性(Timeliness)
§ 6.1.2 IDS测试评估步骤
创建、选择一些测试工具或测试脚本
确定计算环境所要求的条件,比如背景计
算机活动的级别
配置运行入侵检测系统
运行测试工具或测试脚本
分析入侵检测系统的检测结果
§ 6.1.3 IDS测试分类
入侵识别测试(也可说是入侵检测系统有
效性测试)
资源消耗测试
强度测试
§ 6.1.4 评估IDS的性能指标
检测率、虚警率及检测可信度(最重要的指
标)
入侵检测系统本身的抗攻击能力
延迟时间
资源的占用情况
系统的可用性。系统使用的友好程度。
日志、报警、报告以及响应能力
100%
§ 6.1.5 性能指标接收器特性
(ROC)曲线
A
B
检测率
C
0
虚警率
图 3-4 表示不同检测系统性能的 ROC 曲线簇
100%
§ 6.2 环境和策略考虑
§ 6.2.1 你的系统环境
– 网络中存在那些应用和设备?
–
目前拥有那些防范措施?
–
你企业的业务经营方向?
–
企业中系统环境和网络管理的正式度?
§ 6.2.2 你的安全目标和任务
是否主要关注来自企业外部的入侵事件?
你企业关注来自内部人员的入侵吗?
你企业是否使用IDS用于管理控制超过于
网络入侵防范?
§ 6.3 IDS产品功能和品质
产品是否可扩展
产品是如何测试的
产品管理和操作难易度
产品售后服务如何
产品平常维护具体承诺
§ 6.3.1 产品是否可扩展?
针对你自己的网络结构,IDS系统是否具
有良好的可扩展性?
§ 6.3.2 产品是如何测试的?
针对你网络特点,产品提供者是否已测试?
该产品是否进行过攻击测试?
§ 6.3.3 产品售后服务如何?
产品安装和配置的承诺是什么?
产品平常维护的承诺是什么?
产品培训的承诺是什么?
还能提供哪些额外的培训及其费用?
§ 6.3.4 产品维护的具体承诺
?
入侵检测规则库升级费用?
入侵检测规则库升级周期?
当一直新的攻击出现后,规则升级的速度?
是否包含软件升级(费用)?
当发现软件问题后,厂商响应速度?
§ 7 Liunx下实现一个简单的
入侵检测系统
本章内容简介:
– 系统框架
– 数据采集部分
– 数据分析部分
– 告警与响应
– 性能分析
§ 7.1 系统框架
从实现结构上看,waRcher分成三个应用
程序,它们分别是:
数据收集及分析程序(agent) ;
告警信息收集程序(listener);
告警信息显示程序(console)。
§ 7.2 数据采集部分
Agent采用了linux2.2内核中提供的
PF_PACKET类型的socket(并未采用
libpcap提供的API接口) ,直接从链路层
获取数据帧
数据采集部分还做了一项工作就是将网卡
置于混杂模式,这样可以监听到整个网段
的数据
§ 7.3 数据分析部分
 数据分析部分事实上与数据采集部分作为
一个进程(agent)存在,主要是为了简化程
序设计的复杂性。
 框图详见下一页
§ 7.4 告警与响应
经过采集和分析模块后,如果判断为攻击
行为或异常行为,IDS进行告警
发生告警后,可以人为的进行响应,也可
以通过预先设定的相应模块进行自动响应
最常见的响应方式是IDS和防火墙联动
§ 7.5 性能分析
IDS系统面临的一个矛盾便是性能与功能
的折衷
对waRcher而言,其可能影响性能的有三
个地方:
– 内核到应用层的转换(涉及数据拷贝);
– 数据分析(大量的数据匹配操作);
– 记录日志(IO操作)。
§8 Snort 分析
内容概要:
–
–
–
–
Snort安装与配置
Snort的使用
Snort的规则
Snort总体结构分析
§ 8.1 Snort 安装与配置
–
–
Snort是一个用C语言编写的开放源代码
软件,符合GPL(GNU General Public
License)的要求,当前的最新版本是
1.8,其作者为Martin Roesch。
Snort称自己是一个跨平台、轻量级的
网络入侵检测软件,实际上它是一个基
于libpcap的网络数据包嗅探器和日志记
录工具,可以用于入侵检测。从入侵检
测分类上来看,Snort应该算是一个基
于网络和误用的入侵检测软件。
§ 8.1.1 Snort简介
 Snort由三个重要的子系统构成:
–
数据包解码器
–
检测引擎
–
日志与报警系统
§ 8.1.2 底层库的安装与配置
 安装Snort所必须的底层库有三个:
– Libpcap提供的接口函数主要实现和封
装了与数据包截获有关的过程
– Libnet提供的接口函数主要实现和封装
了数据包的构造和发送过程
– NDIS packet capture Driver是为了方便
用户在Windows环境下抓取和处理网络
数据包而提供的驱动程序
§ 8.1.2 底层库的安装与配置
以Libpcap为例,讲解库的安装:
– 检查Libpcap
– 解开压缩包
– # tar –zxvf libpcap.tar.z
– 正式安装
– # cd libpcap
–
# ./configure
– # make
– # make check
– # make install
§ 8.1.3 Snort的安装

Linux环境下的安装(确认Libpcap已
经安装成功),安装过程如下:
– # tar –zxvf snort-1.8.tar.gz
– # cd snort-1.8
– # ./configure
– # make
– # make install
§ 8.1.3 Snort的安装
 Solaris环境下的安装(确认Libpcap已经安装成
功)
 在Solaris下,同样可以按照Linux下的步骤和方
法使用源代码包进行安装,另外还提供了Solaris
特有的Packet Format包,安装方法则比较冷门
一点,所以在此另行说明。安装过程如下:
– # pkgtrans snort-1.8-sol-2.7-sparc-local
/var/spool/pkg
– # pkgadd
– 在此选择“Mrsnort”选项进行安装即可。
§ 8.1.3 Snort的安装
Win 32环境下的安装
– 解开snort-1.8-win32-source.zip
– 用VC++打开位于snort-1.8-win32source\snort-1.7 \win32-Prj目录下的
snort.dsw文件
– 选择“Win 32 Release”编译选项进行
编译
– 在Release目录下会生成所需的
Snort.exe可执行文件。
§ 8.1.3 Snort的安装
§ 8.1.3 Snort的安装
§ 8.1.4 Snort的配置
 配置Snort并不需要自已编写配置文件,
只需对Snort.conf文件进行修改即可
– 设置网络变量
– 配置预处理器
– 配置输出插件
– 配置所使用的规则集
§ 8.2 Snort的使用
§ 8.2.1 Libpcap的命令行
Snort和大多数基于Libpcap的应用程序一样,可
以使用标准BPF类型的过滤器。设置过滤器关键
字分为以下几类:
– 属性类关键字:说明后面所跟值的意义,这样
的关键字有host、net、port
– 方向类关键字:说明报文的流向,这样的关键
字有:src、dst、src or dst、src and dst
– 协议类关键字:用来限制协议,这样的关键字
有:ether、fddi、ip、arp、rarp、decnet、lat、
sca、moprc、mopdl、tcp、udp等
§ 8.2.2 Snort的命令行
 Snort的命令行参数很多,可使用Snort - ?命令
列出这些参数及其简单的解释
 常见的参数有:
– -A
<alert> 设置警告模式
– -a
显示ARP报文
– -b
以tcpdump格式记录报文到日志文件
– -c<cf> 使用配置文件<cf>
– -d:显示应用层数据
– -v:更详细地输出
 详细的解释可以使用man snort命令查看帮助
页,或者直接阅读README文件和USAGE文
件
§ 8.2.3 高性能的配置方式
– 如果在一个高数据流量(比如大于
100Mbps)的网络环境下运行Snort,
就需要考虑如何配置Snort才能使它高
效率地运行
– ./snort –b –A fast –c snort-lib
– ./snort –d –c snort-lib –l ./log –h
192.168.9.0/24 –r snort.log
§ 8.2.4 Snort配置实例
§ 8.2.4 Snort配置实例
§ 8.2.4 Snort配置实例
§ 8.2.4 Snort配置实例
§ 8.2.4 Snort配置实例
§ 8.2.5 使用Snort
§ 8.2.5 使用Snort
§ 8.3 Snort的规则
本节内容包括:
– 规则的语法
– 规则头
– 规则选项
– 预处理器
– 输出模块
– 对规则的更新
8.3.1 规则的语法
Snort使用了一种简单但是灵活、高效的
规则描述语言来对检测规则进行表述
每一个Snort规则的描述都必须在单独一
行内完成
Snort规则可以划分为两个逻辑部分:规
则头(Rule Header)和规则选项(Rule
Options)
8.3.2 规则头
规则动作(Alert、Log、Pass)
协议
IP地址
端口号
方向操作符
8.3.3 规则选项
是Snort系统入侵检测引擎的核心部分
所有的Snort规则选项之间都使用分号来
分离
规则选项中的关键字与选项参数之间使用
冒号隔离
当前有三十几种关键字(msg、log、ttl、
id、content、flags、seq等)
8.3.4 预处理器
预处理器的引用大大扩展Snort功能,使
得用户和程序员可以容易地加入模块化的
插件
预处理器程序在系统检测引擎执行前被调
用,但在数据包解码工作之后
预处理程序通过preprocessor关键字来
引入和配置
preprocessor<name>:<options>
8.3.5 输出模块
输出模块的引入使得Snort能够以更加灵
活的方式来格式化和显示对用户的输出
输出模块被系统的警告或者日志系统所调
用,在预处理器模块和检测引擎之后执行。
通过在规则文件中指定output关键字,可
以在运行时加载对应的输出模块。
Output<name>:<options>
8.3.6 对规则的更新
要经常访问snort的官方网站,更新它所
发布的新规则。这些规则通常有一定的通
用性和稳定性,但时效上可能要弱一点。
可以加入一些网络安全的邮件列表,它会
更及时地根据当前流行的安全漏洞,发布
相应的攻击标识以及相应的检测规则
可以根据自己的环境定制自己的规则,或
者根据自己发现的新攻击来编写相应的规
则。
§8.4 Snort总体结构分析
Snort的模块结构
– 主控模块
– 解码模块
– 规则处理模块
– 日志输出模块
插件机制
Snort的总体流程
§8.4.1 Snort的模块结构
主控模块
解码模块
规则处理模块
– 预处理插件模块
– 处理插件模块
– 输出插件模块
日志模块
§8.4.2 插件机制
插件机制具有以下一些明显的优点:
– 能够非常容易地增加功能,使程序具有
很强的可扩展性
– 简化了编码工作
– 插件机制使代码功能内聚,模块行强,
程序相对易读
预处理插件
处理插件
输出插件
§8.4.3 Snort的总体流程
§ 9 入侵检测产品及发展方向
目标
– 通过本章学习,可以了解入侵检测系统
的发展方向。
概要
– 目前的入侵检测产品
– 分布式入侵检测技术
– 智能化入侵检测技
§ 9.1 入侵检测产品
§ 9.1.1 免费的入侵检测产品
– Snort
http://www.snort.org
–
SHADOW
http://www.nswc.navy.mil/ISSEC/CID
§ 9.1.2 商业的入侵检测产品
CyberCop Monitor, NAI
Dragon Sensor, Enterasys
eTrust ID, CA
NetProwler, Symantec
NetRanger, Cisco
NID-100/200, NFR Security
RealSecure, ISS
SecureNet Pro, Intrusion.com
§ 9.1.3 RealSecure简介
§ 9.1.3 RealSecure简介
RealSecure包含三个部件:
–
RealSecure Network Sensor 网络传感器
(基于网络的监控器)
–
RealSecure OS Sensor 操作系统传感器
(基于主机的监控器)
–
RealSecure Workgroup Manager 工作组管
理器 (管理控制台)
§ 9.1.3 RealSecure简介
RealSecure采用分布式体系结构
–
RealSecure采用的是分布式体系结构。
监控器Network Sensor和OS Sensor负
责检测和响应,管理控制台负责对监控
器的配置和管理。监控器和管理控制台
之间完全是多对多的关系。
§ 9.2 IDS目前存在的问题
许多现存IDS是采用集中统一收集和分析
数据的体系结构, 这种体系结构存在单点
失效和可扩展性有限等问题;
另有一些IDS设计成分布式收集和分析信
息,分层次、相互合作、无中心集权的系
统,但仍无法解决上述重新配置和增加功
能的问题。
§ 9.2 IDS目前存在的问题
关于入侵检测方法的研究仍在进行中,较
成熟的检测方法已用于商业软件的开发中。
各种监测方式都存在不同的问题,例如,
误报率高、效率低、占用资源多或者实时
性差等缺点。
依靠单一的中心监测不可能检测所有的入
侵,已不能满足系统安全性和性能的要求。
目前,国内只有少数的网络入侵检测软件,
相关领域的系统研究也刚刚起步,与外国
尚有很大差距。
§9.3 发展趋势及主要研究方向
针对分布式攻击的分布式入侵检测方面的
研究
用于大规模高速网络入侵检测系统的研究
应用层入侵检测的研究
智能入侵检测的研究
§9.3 发展趋势及主要研究方向
对入侵检测系统与防病毒工具、防火墙、
VPN等其他安全产品协同工作方面的研究
入侵检测系统的评估测试方面的研究
入侵检测与操作系统集成方面的研究
对入侵检测系统自身安全状况的研究