维普资讯 http://www.cqvip.com
√。 。 鬈一∥ 曩一 ———— 。。一-— 学术.技术 IPv6下入侵检测系统的设计 陈树广 (1.西安财经学院信息学院,陕西西安710061; 2.西北工业大学软件与微电子学院,陕西西安710061) 摘要:IP V6由实验阶段走向实际应用,给入侵检测领域的研究带来了新的课题。该文在分析fP v4和IP v6技术的区别以及对 S n 0 rt网络入侵检测系统的了解的基础上,通过对入侵检测系统功能模块扩展实现IP V6下的入侵检测支持,提出了基于lPv6的 入侵检测系统的设计与实现方案。 关键词:网络安全;IPv6;Snort;入侵检测 Design of The Intrusion Detection System On IPv6 CHEN Shu-gu&ng ・ f x十一A~UNIVERSITY OF FINANCE ANO ECONOMICS SCHOOL OF INFORMAT/ON,2"1。AN TIO061 ̄毪 Chine 2 Collede of ̄oftwere and M/croelectronlc ̄,Northwestern Polytechnic Univers/ ̄y;2"/ AN 710061P. .Chine) Abstract:With the IPv6 development,especially during the COUrSe of transition from IPv4 to IPv6,there are many new problems to be faced and need to be solved when doing research on IPv6 intrusion detection.This article analyzes the difference between IPv4 and IPv6 technology as well as learns the Snort network IDS,through to expand IDS function module to meet the IPv6 Intrusion Detection’S support,finally proposed the Intrusion Detection System design and the realization plan based on the IPv6. Key words:Network Security;IPv6;Snort;Intrusion Detection 本文基于对Snort入侵检测系统 的了解和认识,以及对Snort入侵 检测结构和工作流程的分析,通过 对IPv4下Snort入侵检测系统4大 功能模块实现的研究,根据IPv4与 IPv6协议的比较,对Snort入侵检 测4大功能予以扩展,实现IPv6下 MAC地址(6个字节),源MAC地 址(6个字节),协议类型(2个字 节)以及数据。 装安全有效载荷报头、信宿选项报头、 上层协议报头。 (3)TCP数据封装在IPv6数据 (2)IPv6的报头格式可分为基本 报头和扩展报头两部分基本报头是每 个IPv6报文所必需的。而扩展报头 则根据具体情祝设置为可选项IPv6 的通用模式为:一个固定长度的基本 报头加上一组可选、数量变化的扩展 报中。包括IPv6首部(40字节)、 TCP首部(20字节)和TCP数据3 个部分。 (4)ICMPV6是IPv6体系结构总 体的一个组成部分。由所有IPv6实 现完全支持ICMPV6具备IPv4中的 ICMP的所有基本功能,并且抛弃了 一的入侵检测支持。 1 IPv6协议分析 在T cP/IP体系中,所有 TCP、UDP、ICM P协议包都以IP 报头,数据报基本报头的格式。 具有普遍性的IPv6报头是由一 个固定的、必需的基本报头和一系列 些不再使用的过时消息类型,提供 了一些简化功能。ICMPV6合并了 数据报格式传输,如果网络上传输的 是IPv6协议数据包。以以太网为例, 可选、不必需、数量不定的扩展报 IPv4中ICMP、IGMP、RP协议的 头组成,一个正常发送的IPv6报文。 可以没有扩展头,但必须要一个基本 功能,目前,IcMPV6实现并提供 的网络功能主要有:错误报告、网络 诊断、邻居发现、多播实现等。 那么其基本结构如图1所示。 :太网 v6基』TCP酋。数据 以太网I 报头。目前,针对IPv6定义的扩展 报头共有以下几种,这些报头排列的 首部 f本报头 『都 l4个字节40个字节 20个字节I尾部 J4々、字节 图1 IPv6数据包的基本结构 前后顺序为:IPv6基本报头、Hop— by-H op选项报头、信宿选项报头、 路由报头、分段报头、认证报头、封 2检测思路 协议分析技术需要对每一种协议 数据进入协议栈时封装情况如下: (1)以太网帧封装格式包括目的 编写一段协议解码检测的代码,如 维普资讯 http://www.cqvip.com HTTP分析模块主要是对HTTP进 行解码,并检测对Web服务器的攻 击。虽然不同的协议都有不同的协议 代码,但是所有协议分析都有类似的 结构框架,其检测思路是一致的。即 都遵照协议分析的检测思路:首先将 报文解码,然后进行检查并与预期值 进行比较,若有异常则报警。 3 IPv6下入侵检测系统的设计 3。1 IPv6数据报文解析模块 IPv6报文解析模块的作用是通 过libpcpa从网卡上捕获数据包,实 现IPv6数据包从数据链路层到网络 层的解码,并将解码的结果放入到 已定义的数据结构中。下面来描述 IPv6数据报文解析的设计实现过程。 首先,对IPv6头中的几个字段 值进行检查,如果发现异常就发出 警报并退出函数。IPv6头包括总长 为40B的8个字段(其中两个字段是 源地址和目的地址);IPv4头中包含 至少12个不同字段,其长度在没有 选项时为20B,包含选项时可达60B, 简化IPv6头使得对IPv6头的检查比 对IPv4头的检查简单,减少了需要 检查和处理的字段的数量。 其次,对IPv6扩展头的解析。 IPv6对扩展和选项支持进行了改进, 把选项加在单独的扩展头中。因此, 在解析IPv6协议时还要根据IPv6头 的“下一个首部”字段的值调用不同 的函数来解析IPv6扩展头。IPv6已 指定的扩展头包括:逐跳选项头、选 路头(RH)、分段头(FH),身份验 证头(AH)、封装安全性净荷(ESP) 头、目的地选项头。在解析IPv6扩 展头时,先解析扩展头字段值,如果 出现了不应该的值就丢弃该数据包并 记录日志,而后解析扩展头的下一个 _ 1 l学术。技术 首部字段,并根据该值来调用不同的 处理器模块时,包重组预处理器根 解析函数。若IPv6头或IPv6扩展头 据IPv6“下一个首部”的扩展头字 的下一个首部字段为ICMPV6(字 段判断收到的数据包是否为分片的分 段值为58),就调用解析ICMPV6 组。若为分片分组,根据分组的源地 协议的函数来解析。 址、目的地址和标识在需重组的IP 3.2 IPv6预处理模块 数据报树中进行查找。 IPv6预处理模块的作用是包括 (3)如果未找到,表明是一个新 对IPv6数据报进行处理以便规则引 的需要重组的IP数据报的第一个数 擎正确工作。IPv6预处理模块包含 据片,创建一个IP数据报结点,并 以下预处理器插件:IPv6数据分段 插入重组IP数据报树。插入位置的 包重组预处理器、流重组预处理器、 查找根据IP数据报的源IP地址、目 端口扫描检测预处理器。由于IPv4 的IP地址和标识。 和IPv6分段包存储格式不同,为保 (4)如果找到该类型的需重组的 证已有入侵检测系统的正常运行以实 IP数据报结点,表明该分组为该IP 现IPv6/v4双协议栈入侵检测,在 数据报的一个分片,将该分片分组插 此主要扩展IPv6数据分段包重组预 入该IP数据报的分片分组树。插入 处理器。在IPv4报头中,通过数 位置查找根据分片分组中的“分段偏 据报ID、分段标志和分段偏移值指 移值”。 明IPv4数据包的分段,IPv6用“下 (5)根据M字段、分段偏移值及 一个首部”字段指向类型为分段头 数据字段大小,判断是否还有分片分 (FH)的扩展头表示分段包,通过 组,若没有分片分组就开始进行组包, 分段偏移值,M标志和标识符指明 否则继续等待其他分段包。组包完成 IPv6数据包的分段。IPv6分段包重 后就可以将该IP包转交给其他模块 组中采用二叉树的数据结构。其中规 进行下一步的处理。 定了如下术语:IP数据报是指IP层 重复(2),(3),(4),(5)直至系统退出。 端到端的传输单元(在分片之前和重 上述IP数据报的重组流程,如 新组装之后);分组是指在IP层和链 图2所示。 路层之间传送的数据单元,一个分组 可以是一个完整的IP数据报,也可 以是IP数据报的一个分片。其流程 的步骤如下: ——上蔓 不存在匹配分片分组树 (1)首先初始化一棵二叉树(称 之为重组IP数据报树)。该树中的每 存在匹配分片分组树 I::=:: 。。::: 个节点表示一个需要重组的IP数据 I 位置插入分片分组 1 报,结点中存放了该IP数据报的第 一个分片。该结点又作为IP数据报 \~—/ 中所有分片组成的二叉树(称之为分 三 片分组树)的根结点。 1 竺竺 兰l (2)当包捕获引擎捕获到一个数 图2 IPv6分段包重组流程 据包后,经过解码器解码发送给预 3.3分析检测模块 (下转29页) 维普资讯 http://www.cqvip.com 。。 氯 毳 溢羞 学术.技术l 的信息安全风险评估方法。该方法根 据组织业务数据流程图分析、识别组 I 7799:2005:i nf0 rmati0n te c h no10gY. securi;1y 1;echniques,fnformal;ion securi;1y 织业务依赖的资产,并给出资产的安 全级别和对组织业务的重要级别;同 时结合具体的业务流程过程分析面临 managemen1;systems,requiremen1;s:2005. [6]The lnt e rnatj Onal 0 rgani Zati0n for Standardiza1;ion.The In1;ernationaI EIec1;ro;1echnical Commission(ISO).mo/ ̄Ec 1 5555~1:informa1;ion 1;echnology-securi;1y ;1echniques-guideline for 1;he managemen1;of 的威胁,并给出威胁的影响权重和发 生概率,以及威胁利用脆弱性造成影 响的组合值,使资产、威胁、脆弱性 IT sec ty(GMlTs)~par;1:1concep;1s and models for lT securi;1y:2000. 和组织业务过程紧紧联系,更加具体 清晰提示出组织信息安全风险,易于 被组织高层认可。固 作者简介:程建华(1 968-),现在吉林 大学管理学院攻读博士学位;靖继鹏, 吉林大学管理学院博士生导师,吉林 参考文献: 【1]冯登国,张阳,张玉清.信息安全 风险评估综述,通信学报,2004,25(7): I O-I 8, (上接25页) 帅一一~~一.u 一 一~一 一.~~一 一~一一~一~ 一一~一mn一~Ⅲ 一∞, . 大学信息资源开发中心主任,吉林大 学情报科学研究所所长,吉林大学《情 报科学》杂志社社长兼主编。 收稿日期:2008-01-04 IPv6分析检测模块主要完成基 于IPv6入侵攻击事件的检测。根 据规则来检查数据包的各个方 一一 一 ~一~ ~一~ 一一 据已有的IPv4下的攻击方法开发基 于IPv6环境下的攻击工具,对已构 IPv6协议包的信息。IPv6下数据报 输出部分主要包括数据链路层的数据 报头输出,IPv6和ICMPV6等协议 建的IPv6入侵检测系统进行攻击模 拟,追踪IPv6攻击事件,验证IPv6 环境下检测引擎对攻击事件的处理 面,包括数据包的大小、协议类型、 IP/ICMP/TCP选项等,以发现入 侵行为。IPv6分析检测模块是基于 的数据报头输出,以及IPv6扩展头 信息的输出等,使之具有处理IPv6 能力。通过反复多样的攻击,完善 信息的输出能力。固 规则的,根据用户规则文件中的设定, IPv6环境下攻击事件特征行为的提 对数据包调用不同的处理检测模块进 行分析检测。 取,逐步提高IPv6分析检测模块对 攻击事件的检测能力。 参考资料: 【1](美)hagen.s.IPv6精髓.清华大学 出版社,2004年5月. 实现IPv6下入侵事件的检测, 首先要对IPv6环境下的攻击事件特 征行为进行提取。nmap可用于查看 一3.4 IPv6输出模块 IPv6输出模块的作用是把检 测IPv6数据包产生的报警和日志以 各种丰富的格式进行记录,以方便 查询和分析。IPv6输出模块主要扩 【2](美)Brian Caswel、Jay Beale、James C.Fos1;er、Jeffrey Posluns.Snor1;2.0入侵 检测.国防工业出版社,2004年1月. 个网络系统有哪些主机以及其上运 高平利,任金昌.基于Snort入侵检 测系统的分析与实现.计算机应用与 软件,2006年O8期. 行何种服务,nmap是目前已知的支 持IPv6地址的端口扫描工具,因此 展了系统日志记录插件、tcpdump 格式输出插件和数据库记录插件。 IPv6下的数据报文解析模块、预处 理模块及分析检测模块均可根据实 际需要调用输出模块的相应插件来 完成报警和日志的记录。 为IPv6入侵检测系统的入侵检测提 供入侵包支持。但是,当今网络基 于IPv6的攻击事件相对较少,仅有 的nmap工具不能提供详尽的IPv6 环境下的攻击特征,需要结合已有的 基于IPv4的攻击特征,通过网络探 【4】唐正军,李建华.入侵检测技术.清 华大学出版社,2004. [5蒋建春,冯登国.网络入侵检测原 5]理与技术.国防工业出版社,2001. 作者简介:陈树广(1 972--),讲师, 在读软件工程硕士,主要研究方向: 统计网格技术与科学计算可视化。 这些日志和报警插件在记录时 需要用到相应协议的数据包格式的 测收集和自身研究相结合的方法,构 建IPv6下漏洞攻击事件特征库,实 现IPv6的规则检测引擎。同时,根 信息,因此需要对这些插件中的相 应部分进行修改,以便能够记录 收稿日期:2007—1 0—1 3 ≥