IPv6入侵检测系统设计_第1页
IPv6入侵检测系统设计_第2页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2 学科类别:计算机科学 IPv6 入侵检测系统设计 摘 要:作为下一代的In ternet协议IPv6取代IPv4。因此对IPv6 的入侵检测系统有很迫切的需要,该文呈现了一个新的基于协 议分析的入侵检测模型,该模型可以从语义层面上扫描弱点帮 助误用检测选择合适的攻击特征并可得出网络行为进而进行异 常检测。 关键词:IPv6 ; Libpcap; ICMPv6 ;校验和 中图分类号:TP393 文献标识码:A IPv6 Intrusion Detection System design Fu Zhi 1,Chen Jun2 1 South the great Wall Primary Sch

2、ool , Guizhou, Tongren, 554300 China College of Computer Scie nee & In formatio n,Guizhou Un iversity, Guizhou, Guiya ng, 550025 China Abstract: It will inevitably take the place of IPv4 as the next generation of the Internet Protocol IPv6.Considering the problem of the urgent requirement of IDS

3、 for IPv6 networks,this paper present a novel intrusion detection model,the model can help misuse detection select the appropriate signature by vulnerability Scanner from semantic level,and get network behavior for anomaly detection. Key words: IPv4, Libpcap, ICMPv6, Checksum 1引言 入侵检测系统是一种对网络传输进行即时监

4、视,在发现可 疑传输时发出警报或者采取主动反应措施的网络安全设备。 其 检查所有的出网、 入网行为并标识可疑行迹。 本文基于 Libpcap 函数库在 Linux 平台下基于协议分析的 IPv6 入侵检测系统的开 发过程进行了阐述。该系统在作者搭建的纯 IPv6 的试验网上测 试通过。 2 IPv6 的安全性问题 该节中我们分析集成了典型的 IPv6 攻击模式。 (1)侦测攻击 侦测技术在 IPv4 网络和 IPv6 网络中是相同的,但在 IPv6 网络中网络的可容纳主机数量比 IPv4 网络大得多(默认尺寸是 64 比特)。因此使得进行全网络地址扫描变得不可能完成。 不幸 的是,一些用于 I

5、Pv6 网络中的组播地址能帮助入侵者确定并攻 击目标网络中的资源。RFC2375定义了组播用于具体的节点。 (例如所有路由器有一个具体地址 FF05: 2)。 IPv6 入侵检测系统设计 (2) ICMPv6和组播误用 IPSec是网络层协议,它只负责对其下层的网络安全, 在IP 层以上及网络应用软件中的漏洞和缺陷 IPSec就无能为力了。 IPv4网络中极度泛滥的 ARP欺骗攻击,在IPv6中借助邻居发 现协议同样具备类似的攻击模式。 在IPv6网络中的一些重要机制,例如邻居发现协议和路径 最大传输单元发现,都依靠ICMPv6进行。ICMPv6规范允许一 个用组播地址的错误通报(如果一个数据

6、包的目的是一个组播 地址,IPv6组播功能仅仅规定了简单的认证功能,所以还难以 实现严格的用户限制功能)这样的机制会被攻击者利用。攻击 者通过发送一个数据包其目的地址为组播地址,则一个攻击者 即能导致多个回应者对伪造的源地址进行回应。 (3) 碎片攻击 IPv6协议规范发送点负责处理碎片问题。由于碎片不再是 在传输过程中被处理,就大大降低了传输途径中路由器的负担。 IPv6最小的推荐MTU大小是1280字节。处理时会丢弃 MTU 小于1280字节的数据包(除非它是最后一个包),这有助于防止碎 片攻击。但攻击者可以利用碎片获取网络状态而不被发现(碎 片被丢弃了)。攻击者可通过发送大量的碎片导致目

7、标主机进行 碎片大量重组进而过载,这将意味着一个系统的崩溃,这就形 成了一个拒绝服务式攻击。 (4) 效率瓶颈 在IPv4中,IP报头和TCP/UDP报头是紧接在一起的,而 且针对大部分IPv4报文其长度固定,所以入侵检测系统很容易 找到报头,并使用相应的规则对其进行过滤。在 IPv6中 TCP/UDP报头的位置有了变化,IP报头与TCP/UDP报头之间 常常还存在其他的扩展报头,如路由选项报头、AH/ESP报头等。 要对数据包进行过滤就必须逐个找到下一个报头,直到 TCP/UDP 报头为止,这对入侵检测系统的处理能力和处理速度 会产生很大影响。 目前IPv4环境下的入侵监测系统不能有效地检测

8、 IPv6数据 包,这就需要提出一种新的基于 IPv6 网络的入侵检测系统模型。 3入侵检测系统框架 入侵检测分为基于主机 HISD和基于网络的NIDS。HIDS 对要检测的主机或系统的审计日志、行为或文件系统等进行分 析,一旦发现这些文件发生任何变化, HIDS 将比较新的日志记 录与入侵签名以发现它们是否匹配。如果匹配,检测系统就向 管理员发出警报并采取相应响应策略。 HIDS 一般只能检测主机 上发生的入侵,它的原始数据来源受到所依附的具体操作系统 平台的限制,系统的实现主要针对某种特定的系统平台,其可 移植性较差。 NIDS 使用原始的网络分组数据包作为数据源, 一般利用一 个网络适配

9、器来实时监视和分析所有通过网络进行传输的通 信。检测到入侵即可采用报警、 中断连接等方式进行响应。 NIDS 直接从数据链路层获取信息,因而从理论上它可捕获所有网络 信息,只要传输数据不是底层加密。 网络式入侵侦测系统 (network-based intrusion detection system, NIDS)大致上有两种侦测方式:异常侦测法 (an omaly detection)与误用侦测法(misuse detection)。异常侦测法是基于建 立正常的行为规范,若有行为超出所定义的规范时,将被视为 异常行为。误用侦测法则是利用所收集的攻击特征 (attack sig natures

10、)来比对网络封包,用以监控网络上是否有恶意行为。 随着安全漏洞不断被发现与攻击手法大量增加的情况下,误用 式的网络入侵侦测系统(misuse NIDS)需要一直增加新的攻击特 征来侦测各式的恶意网络攻击。然而众多的特征中很可能包含 了许多目前网络环境不需要的攻击特征,造成系统花费了重要 的处理资源在不相关的特征上面,严重影响了系统的效率。随 着网络流量的增加,过多的特征所产生多余的封包检查将甚至 影响系统所提供实时的在线防护。 异常检测基于入侵行为违背了通常的系统使用。异常检测 的一个优点是它能检测未知的攻击模式。本系统根据协议分析 提出的入侵检测模型可从语义层面上扫描弱点 (vul nera

11、bility Scanner帮助误用检测选择合适的攻击特征并可得出网络行为 进而进行异常检测。 IPv6 入侵检测系统设计 4 . IPv6入侵检测系统设计 协议分析技术是把数据包视为具有严格定义格式的数据 流,可以根据各层网络协议的定义对各层协议的解析结果进行 逐次分析。IPv6网络入侵检测系统的基本思想是:捕获目标地址 属于受保护网络的数据包送往分析模块 ,通过具体协议字段判 断各层协议送往相应协议解析器对数据包进行协议分析 ;而进 行特征选择和生成行为。再根据特征库和行为库的信息进行检 索,判断该数据包是否有入侵企图;最后由响应模块对该数据包 作出相应的响应。IPv6网络入侵检测系统结构

12、如图 1所示。 特征库 3 1 1HTTP 解析 1 TCP 解析 FTP 解析 数据包 IPv6 头解析 UDP解析 SMTP 解析 入侵判断 响应 k ICMPV6 解析 Pop3 解析 j 1 TCP 解析 仃为库 图1: IPv6入侵检测系统 Figure 1: IPv6 Intrusion detection system 5 协议分析系统 51 协议分析系统主函数框架 对于基于 Libpcap 的 IPv4 协议分析与 IPv6 协议分析主函数 的实现基本上是一致的。其基本流程是:主函数中先打开相应 的网络接口,然后编译设置过滤规则,进而捕包并调用回调函 数,最后关闭相应设备。 设

13、置过滤规则的语句为: char bpf_filter_string = ; Libpcap 的抓包是基于 BPF 过滤器的,其设计目的是为了使 用户级程序能够高效访问原始的未经处理的网络数据包。 Libpcap只支持BPF接口的内核过滤,如果没有 BPF的支持, 数据包将全部被读入用户空间。 52 回调函数框架 在主函数捕获网络数据包后调用回调函数,如果在主函数 中没有设置过滤规则字符串则一般应从以太网包头的回调函数 开始调用(因为我们收到的数据包就是以以太网包头开始的) 然后各回调函数再根据各自首部的类型字段调用相应的回调函 数达到层层解包的功能。 IPv4与IPv6的协议分析系统对以太网首

14、部的分析回调函数 几乎完全相同。其特别应该说明的是以太网类型字段,即以太 网首部的第 13、14 字节。该字段定义了上层协议的类型,如该 字段为“0 x0800,则上层协议为IPv4协议;如该字段为 “ 0 x86dd,”则上层协议为IPv6协议。 53 IPv6 报头回调函数框架IPv6 入侵检测系统设计 IPv4与IPv6报头的格式有不同,因此其相应的回调函数的 定义也相差很大。 IPv6报头的基本格式比IPv4报头的基本格式更加简单, IPv6地址长度是IPv4地址长度的4倍, 但IPv6的基本报头长 度只是IPv4报头长度的2倍。IPv6报文的基本报头主要在以下 3个方面作了简化:所有

15、报头长度固定;删除报头校验和功能; 删除各路由器的分片处理功能。在 IPv6中不用IPv4的变长选 项字段,而是在基本报头之后加上扩展报头来处理特殊分组。 由于基本报头长度固定,IPv6自然就不需要报头长度字段了。 首先定义IPv4/IPv6基本报头的回调函数,在回调函数中根 据IPv4/IPv6基本报头的格式定义相应的结构体, 在回调函数中 定义指向相应结构体的指针,然后给相应的指针赋值。 struct ipv4_header *ip4_protocol; struct ipv6_header *ip6_protocol; 无论IPv4或IPv6其以太网首部都完全一样,所以此处分析 IP头部

16、都应从数据包首部跳跃 14个字节(以太网首部的长度)。 ip4_pro= (struct ipv4_header*)(packet_c on te nt + 14); ip6_pro= (struct ipv6_header*)(packet_c on te nt + 14); 指向了 IP头部就可以根据?Pv4/IPv6基本报头不同的结构 体依次读取结构体中的数据成员获取相关的数据包 IP头部信 息。需要特别说明的是此处读取IPv4/IPv6基本报头信息最大的 区别是对其目的源IP地址信息的获取。对于IPv4可简单的使 用如下的方式获取(使用专用的 inet_ntoa()函数把IPv4网络地

17、 址转换成点分十进制格式): printf(%sn,inet_ntoa(ip4_pro -ip_address); IPv6因为地址长度变为了 _128bit,所以不能使用上面的IPv4 专用的地址转换函数。我们采用下面的方式实现对 IPv6地址信 息的获取(将IPv6网络地址转换成冒分十六进制格式): un t16_t souce_ip8; memcpy(souce_ip,&( ip6_pro-ip_souce_address),16); for(i=0;iip_nexthead) case 6: printf(The Transport Layer Protocol is TCPn

18、); TCP_protocol_packet_callback(argument,packet_header, packet_content); break; case 17: printf(The Transport Layer Protocol is UDPn); UDP_protocol_packet_callback(argument,packet_header, packet_content); break; case 58: printf(nICMPv6 协议 n); icmp_protocol_packet_callback(argument,packet_header, pac

19、ket_content); break; default: IPv6 入侵检测系统设计 对于其它头部(除了注意ICMP报文与ICMPv6报文类型 值不同和ICMPv6负载内容的特殊含义)TCP及UDP的解包方 法可以参照上面的步骤完成, 对不同的IPv4/IPv6网络环境没有 本质区别在此不再阐述。 协议分析技术对数据包的解析是按网络分层的体系结构来 进行的,从网络层、 传输层和应用层的角度对数据包格式层层 分析,通过各个协议包头获得该数据包的特征并得到网络行为 , 有针对性地与协议规则库中的协议字段进行比较 ,提高入侵判 断的性能。 6 .实验结果 安全是相对的,虽然IPv6提供了较好的安全

20、体系结构,但 这些只是在IP层实现的,而对于IP层以上的一些缺陷和应用 程序的漏洞在IPv6中还不能提供全面的保护。 本文通过分析 IPv6协议的特点及其安全性能,设计了一种采用协议分析技术 的IPv6网络入侵检测系统。 协议分析技术是新一代IDS探测入侵的主要技术,它利用网 络协议的高度规则性可以从语义层面快速探测入侵的存在 ,与传 统的模式匹配技术相比有很多优势。理论上协议分析技术能够 解决IDS领域长期以来的应用瓶颈问题,检测准确性以及大流量 应用网络环境下的系统性能。 本文按上述方法开发了基于协议分析系统的 IPv6入侵检测 系统。经测试该系统能正确高效的抓取 IPv6数据包并提取相应 信息,达到了预定目标。 参考文献 1 Wenke Lee A Data Mining Framework for Buildi ng In trusi on Detection ModelC . New York: IEEE Symposium on Security and Privacy,1999. 120-132. 2 Steven McCanne, Van Jacobson.The BSD Packet Filter: A New Architecture for Userlevel Pa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论