当前位置:文档之家› 基于网络的入侵检测技术

基于网络的入侵检测技术


程序2
程序3
缓存
缓存
缓存
过滤器 过滤器 过滤器
程序4 协议栈
链路层驱动器 链路层驱动器 链路层驱动器
基于网络的入侵检测技术 14
Libpcap介绍
Libpcap的英文意思是 Packet Capture library,即数 据包捕获函数库。
它是劳伦斯伯克利国家实验室网络研究组开发的UNIX平 台上的一个包捕获函数库,其源代码可从 ftp:///libpcap.tar.z获得。
备注 Berkeley Packet Filter Data Link Provider Interface Network Interface Tap
Streams Network Interface Tap
Linux Socket Filter
基于网络的入侵检测技术 13
BPF的模型及其接口
程序1
首先需要将网卡的工作模式设置为混杂模式,使之可以 接收目标地址不是自己的MAC地址的数据包,然后直接访 问数据链路层,获取数据并由应用程序进行过滤处理。
在UNIX系统中可以用Libpcap包捕获函数库直接与内核驱 动交互操作,实现对网络数据包的捕获。
在Win32平台上可以使用Winpcap,通过VxD虚拟设备驱动 程序实现网络数据捕获的功能。
内核缓 冲区2
统计引擎
过滤器 1 网络 分流
过滤器 2
过滤器 3






NPF
网络
NIC 驱动程序
NDSI 3.0 或者更高级的版本
Packets (数据包)
基于网络的入侵检测技术 17
检测引擎的设计
网络检测引擎必须获取和分析网络上传输的数 据包,才能得到可能入侵的信息。
检测引擎首先需要利用数据包截获机制,截获 引擎所在网络中的数据包。
S
应用层
FTP
SMTP Telnet
DNS
N M
7
P
传输层
TCP
P
4
IP, ICMP (RIP, OSPF)
网络层
3
ARP, RARP
W2
链路层
Etherne t
Token Bus
Token Ring
FDDI
L A
N
1
基于网络的入侵检测技术
2
数据报文的分层封装
基于网络的入侵检测技术
3
以太网帧格式
新开始比较; 直到检测到攻击或网络数据包中的所有字节匹配完
毕,一个攻击特征匹配结束。 对于每一个攻击特征,重复1步到4步的操作。 直到每一个攻击特征匹配完毕,对给定数据包的匹
基于网络的入侵检测技术 10
Sniffer
Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报 文的一种工具。
Sniffer要捕获的东西必须是物理信号能收到的报文信息。所以,只 要通知网卡接收其收到的所有包(该模式叫作混杂promiscuous模 式:指网络上的设备都对总线上传送的所有数据进行侦听,并不仅 仅是针对它们自己的数据。),在共享HUB下就能接收到这个网段的 所有数据包,但是在交换HUB下就只能接收自己的包和广播包。
基于网络的入侵检测技术
4
ARP/RARP报文格式
基于网络的入侵检测技术
5
IP数据报头格式
基于网络的入侵检测技术
6
ICMP回应请求与应答报文格式
基于网络的入侵检测技术
7
UDP报文格式
基于网络的入侵检测技术
8
TCP报文格式
基于网络的入侵检测技术
9
局域网和网络设备的工作原理
HUB工作原理 网卡工作原理 局域网工作过程
基于网络的入侵检测技术 16
Winpcap结构示意图
用户代码 WinPcap调用
用户代码 WinPcap调用
用户层
用户缓冲区1
wpcap.dll
用户缓冲区2
wpcap.dll
用户代码 监控
wpcap.dll
用户代码
1.直接访问 NPF
2. Pcaket.dll 调用
应用
Packet.dll
内核层
内核缓 冲区2
经过过滤后,引擎需要采用一定的技术对数据 包进行处理和分析,从而发现数据流中存在的 入侵事件和行为。
有效的处理和分析技术是检测引擎的重要组成 部分。
检测引擎主要的分析技术有模式匹配技术和协 议分析技术等。
基于网络的入侵检测技术 18
模式匹配技术
从网络数据包的包头开始和攻击特征比较; 如果比较结果相同,则检测到一个可能的攻击; 如果比较结果不同,从网络数据包中下一个位置重
第6章 基于网络的入侵检测技术
基于网络的入侵检测技术:
分层协议模型与TCP/IP协议 网络数据包的捕获 包捕获机制BPF模型 基于Libpcap库的数据捕获技术 检测引擎的设计 网络入侵特征实例分析 检测实例分析
基于网络的入侵检测技术
1
TCP/IP协议分层结构
TCP/IP分层
协议
OSI 分层
Winpcap的主要功能在于独立于主机协议而发送和接收原 始数据报,主要提供了四大功能:
(1)捕获原始数据报,包括在共享网络上各主机发送/接 收的以及相互之间交换的数据报;
(2)在数据报发往应用程序之前,按照自定义的规则将某 些特殊的数据报过滤掉;
(3)在网络上发送原始的数据报; (4)收集网络通信过程中的统计信息。
它是一个独立于系统的用户层包捕获的API接口,为底层 网络监测提供了一个可移植的框架。
基于网络的入侵检测技术 15
Windows平台下的Winpcap库
Libpcap过去只支持Unix,现在已经可以支持Win32,这是 通过在Wiin32系统中安装Winpcap来实现的, 其官方网站 是http://winpcap.polito.it/。
Sniffer的正当用处主要是分析网络的流量,以便找出所关心的网络 中潜在的问题。
Sniffer作用在网络基础结构的底层。通常情况下, 用户并不直接 和该层打交道,有些甚至不知道有这一层存在。
基于网络的入侵检测技术
11
共享和交换网络环境下的数据捕获
要想捕获流经网卡的但不属于自己主机的所有数据流, 就必须绕开系统正常工作的处理机制,直接访问网络底 层。
基于网络的入侵检测技术 12
常用的包捕获机制
包捕获机制 BPF
系统平台 BSD系列
DLPI
Solaris, HP-UNIX, SCO UNIX
NIT SNOOP
SunOS 3 IRIX
SNIT
SunOS 4
SOCK-PACKET LSF Drain
Linux >=Linux 2.1.75 IRIX
相关主题