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等其他安全产品协同工作方面的研究 入侵检测系统的评估测试方面的研究 入侵检测与操作系统集成方面的研究 对入侵检测系统自身安全状况的研究