入侵检测应用场景类型
- 上网保护
- 网站入侵检测与保护
- 网络攻击阻断
- 主机终端恶意代码检测
- 网络安全监测预警与应急处置
- 网络安全等级保护
入侵检测系统部署方法
- 第一步,根据组织或公司的安全策略要求,确定IDS要监测的对象或保护网段;
- 第二步,在监测对象或保护网段,安装IDS探测器,采集网络入侵检测所需要的信息;
- 第三步,针对监测对象或保护网段的安全需求,制定相应的检测策略;
- 第四步,依据检测策略,选用合适的IDS结构类型:
- 第五步,在IDS 上,配置入侵检测规则:
- 第六步,测试验证IDS的安全策略是否正常执行:
- 第七步,运行和维护IDS。
基于HIDS的主机威胁检测

基于 NIDS的内网威胁检测

基于 NIDS的网络边界威胁检测

网络安全态势感知应用参考
网络安全态势感知通过汇聚IDS报警信息、系统日志,然后利用大数据分析技术对网络系统的安全状况进行分析,监测网络安全态势。
提供入侵检测、 企业安全监测和日志管理等安全服务

开源网络入侵检测系统
Snort
- 是一个基于简单模式匹配的IDS
- 源码开放,跨平台(C语言编写,可移植性好)
- 利用libpcap作为捕获数据包的工具
- 特点:
- – 设计原则:性能、简单、灵活
- – 包含三个子系统:网络包的解析器、检测引擎、日志和
- 报警子系统
- – 内置了一套插件子系统,作为系统扩展的手段
- – 模式特征链——规则链
- – 命令行方式运行,也可以用作一个sniffer工具
Snort结构

Snort部件
- 包捕获/解码引擎:利用libpcap从网卡捕获网络上的数据包,捕
- 获到的数据包在被检测之前必须经过协议解码。
- 预处理器插件:在进入检测引擎之前在预处理器中进行检查和操作。
- 检测引擎:通过各种规则文件中的不同选项来对每个包的特征和包信息进行单一、简单的检测。
- 检测插件:对包提供额外的检测功能。
- 输出插件:输出报警。
数据包处理
我们在取得了很多数据包并且已经把他们解码,那么,下一步要做的是:
- 预处理器
- 检测引擎
- 检测插件
- 输出插件

预处理器

Snort包括很多的预处理器插件:
– Frag2预处理器:
因为在Internet上数据包被分成更小的片以使它们能够合适地穿过各种网络,分片在Internet来说很有用,但对于IDS来说却是麻烦。
因此,frag2预处理器把分片数据重组,然后将一个完整的会话交给检测引擎。frag2也能在分片达到某个阀值时触发警报。
– Stream4预处理器:
在数据传输过程中,协议内部提供会话的状态,例如:SYN、ACK、FIN,以使两台交互的主机方便的建立会话,传输数据以及结束会话。通过状态信息我们也可以了解网络上正发生什么会话,是正常的,还是非正常的。
Stream4预处理器提供状态检测功能,它为每个会话建立一个状态表,当检测引擎匹配一个包时,可以查看它是否在已经建立的会话中,从而了解整个会话过程。同时,stream4可以检测序列号错误以发现一些异常行为。
– 端口扫描预处理器:portscan,portscan2,非规则检测区分正常连接和端口扫描(某主机发出了200个访问不同目标主机的80端口的包,且目标主机按IP地址排序)。端口扫描的特征是在一段时间内包数量超过某个阀值。
– 预处理器的解码家族:数据包的规格化(规范化)
http_decode(变换URI),telnet_decode,ftp_decode,rpc_decode。
Snort检测引擎模块

规则建立
Snort规则是基于文本的,规则文件按照不同的组进行分类,
例如:telnet.rules包含了TELNET攻击内容:
alert tcp $TELNET_SERVERS 23 -> $EXTERNAL_NETany (msg:"TELNET root login";
flow:from_server,established; content:"login|3A| root";
classtype: suspicious-login; sid:719; rev:7;)
规则格式
Snort规则是单行文本格式的,可以分为两个部分:
– 规则头:
alert tcp $TELNET_SERVERS 23 -> $EXTERNAL_NET any
– 规则体:
(msg:"TELNET root login"; flow:from_server,established;
content:"login|3A| root"; classtype: suspicious-login; sid:719; rev:7;)
Snort规则头分为4个部分:
– 规则行为: alert
• Pass:忽略当前包
• Log:按照配置格式记录包
• Dynamic:保持一种潜伏状态,直到activate类型的规则将其触发,之后象log动作一样记录数据包
• Activate:当规则触发时生成报警,并启动dynamic
– 协议: tcp(ICMP,IP,UDP)
– 源信息: $TELNET_SERVERS 23
– 目的信息: $EXTERNAL_NET any
规则体
由若干被分号隔开的片断组成,每个片断定义了一个选项和相应的选项值:
( msg :"TELNET root login";
flow:from_server,established; content :"login|3A| root";
classtype : suspicious-login; sid :719; rev :7;)
– Msg:报警信息
– Flow:定义客户端-服务器通信的方向
– Content:用于模式匹配的内容
举例
尼姆达病毒特征:
– GET /scripts/root*ex.e**?/c+dir
– GET /c/winnt/system32/cmd*ex.e**?/c+dir
– GET /d/winnt/system32/cmd*ex.e**?/c+dir
编写相应的规则:
– alert tcp any any -> any 80 (msg: “W32 /Nimda@mm
WORM SCAN!"; content: "/root*ex.e**?/c+dir"; nocase;)
– alert tcp any any -> any 80 (msg:"W32/Nimda@mm
WORM SCAN!"; content:"/system32/cmd*ex.e**?/c+dir";
nocase;)
Content选项
Content除了字符串格式外还可以表示为二进
制content选项。
尼姆达过滤规则:
– alert udp any 69 -> any any (msg: "W32/Nimda@mm WORM TRANSFER!!"; content:
"|15 90 AC 17 36 F7 D8 1B C0 5E 40 5B 5F C9C2 04 00 55 8B EC 81 EC B0 00|";)

IDS典型应用一:共享式局域网

IDS典型应用一: 简单交换网

现代交换机有一个特性是交换端口分析SPAN(Switched port analysis),允许交换机的一个端口传送所有的数据帧,不管交换机是否侦听到那个端口的目的地址。
IDS典型应用环境三:复杂交换网络描述(1)

IDS部署实例一:小型简单网络环境

IDS部署实例二:多子网分布式环境

入侵检测P2DR模型
- 由检测、响应、防护、策略四部分组成。
- 在整体的安全策略的控制和指导下,综合运用防护工具的同时,利用检测工具了解和评估系统的安全状态,通过适当的响应将系统调整到“最安全”和“风险最低”的状态。
- 入侵检测技术是动态防御模型中最核心的技术之一。

学习参考资料:
信息安全工程师教程(第二版)
建群网培信息安全工程师系列视频教程
信息安全工程师5天修炼