




已阅读5页,还剩82页未读, 继续免费阅读
(计算机系统结构专业论文)基于netfpga的动态可配置在线过滤技术研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
r e s e a r c ha n di m p l e m e n t a t i o no fd y n a m i ca n d c o n f i g u r a b l eo n - - l i n ef i l t e r i n gt e c h n o l o g y b a s e do n n e t f p g a b y k o n g y ,u u n d e rt h es u p e r v i s i o no f p r o f y a n gb o 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究作出重要贡献的个人和集体,均己在文中以明确方 式标明。本人完全意识到本声明的法律责任由本人承担。 论文作者签名: 互l j 玉 e t 期: 兰殳! ! :墨l 意学 版, 的全 印或 论文 关于学位论文使用授权的声明 济南大学硕f :学仲论丈 目录 摘要v a b s t r a c t v i i 第一章绪论1 1 1 论文的研究背景与意义1 1 2 研究现状2 1 2 1 安全过滤系统2 1 2 2 基于硬件的安全过滤系统3 1 3 研究内容与创新点4 1 4 论文的组织结构5 第二章系统的整体设计7 2 1 防火墙技术7 2 1 1 防火墙技术概述7 2 1 2 防火墙体系结构的发展趋势8 2 2 基于f p g a 的安全过滤系统一8 2 3 基于n e t f p g a 的安全过滤系统整体设计9 2 3 1 整体设计9 2 3 2 各功能模块作用1o 2 4 ,j 、结。1l 第三章基于n e t f p g a 的包过滤技术设计与实现1 3 3 1 硬件开发平台1 3 3 1 1 开发平台简介1 3 3 1 2n e t f p g a 工程13 3 2 包过滤技术简介1 5 3 3 基于n e t f p g a 的包过滤技术设计与实现1 6 3 4 小结18 第四章基于n e t f p g a 的状态检测系统设计与实现1 9 荩丁n c t f p g a 的动态可配胃n :线过滤技术研究j 实现 4 1 状态检测技术原理1 9 4 2 基于n e t f p g a 的t c p 状态检测系统2 1 4 3 以太网控制器的设计与实现2 2 4 3 1 以太网控制器简介。2 2 4 3 2 以太网控制器设计与实现一2 2 4 4t c p 状态检测的设计与实现2 5 4 4 1 数据结构2 5 4 4 2t c p 状态检测算法设计2 6 4 4 3 空间占用量分析一2 8 4 5 实验与结果3 0 4 6 小结3 2 第五章基于n e t f p g a 的内容检测系统设计与实现3 3 5 1 内容检测技术原理3 3 5 2 基于n e t f p g a 的内容检测系统3 4 5 3s n o r t 入侵检测系统分析3 5 5 3 1 入侵检测技术3 5 5 3 2s n o r t 简介3 5 5 3 3s n o r t 结构一3 7 5 3 4s n o r t 工作机制3 8 5 3 5s n o r t 规则3 8 5 4 内容检测系统的设计与实现4 3 5 4 1 设计思路4 3 5 4 2 数据结构4 9 5 4 3 内容检测系统设计5 2 5 5 首尾并行匹配算法5 6 5 6 动态可配置技术5 9 5 6 1 设计思路5 9 5 6 2 实现方法一5 9 5 7 实验结果6 2 i l 济南人学硕f j 学化论文 ! i i i ,i 1 1 ,! ,一一m 1 5 8 小结6 3 第六章结论与展望6 5 参考文献6 7 致谢7 1 附录7 3 i u 基于n e t f p g a 的动态可配胃n :线过滤技术研究勺实现 济南大学硕 :学f 节论文 摘要 随着网络技术的迅猛发展,越来越多的信息通过互联网传送,信息共享已成 为当今网络社会的发展趋势,然而人们在享受网络信息共享的同时,也不得不面 对因互联网而滋生的一些病毒、网络攻击等非法手段带来的困扰,防火墙便应运 而生。网络带宽的提高、网络应用的增多和攻击行为的多样化给防火墙提出了严 峻的挑战,传统单一的包过滤、状态检测等软件防火墙已远远满足不了需求,性 能的瓶颈和功能的单一成为当前网络安全面临的挑战。 本文首先介绍了安全过滤系统的研究现状,分析各种安全过滤架构的利弊, 就f p g a ( f i e l d p r o g r a m m a b l eg a t e a r r a y ) 在网络处理上体现的高性能和灵活性, 提出了基于n e t f p g a 的动态可配置在线过滤系统。其次简单介绍系统的整体设 计框架,接着详细介绍系统每个模块的实现方法和过程,最后总结了整个设计过 程并提出需要改进的地方。 本文用f p g a 实现包过滤和状态检测防火墙,针对传统状态检测中状态表占 用空间大的情况,提出了一种新的存储状态表方法,其空间占用量远小于传统的 状态检测;用f p g a 实现部分s n o r t 规则,参照计算机的r i s c ( r e d u c e di n s t r u c t i o n s e tc o m p u t e r ) 指令集思想,对s n o r t 规则进行分类统计,将规则集中常用的规则 字段提取出来,设计内容检测模板,然后用硬件实现,其他的规则用软件实现。 包过滤提供对数据包头部的静态过滤,状态和内容检测提供对有效载荷的动态检 测,及时发现并报告网络中异常或未授权现象的系统,一动一静,相得益彰。同 时提出首尾并行匹配的字符串匹配方法,实现3 0 条规则的并行匹配,对内容检 测进行加速匹配;用r a ws o c k e t 编程,实现对n e t f p g a 中存储的过滤规则进 行远程配置。 本文较系统地从软硬件实现、算法设计完成关于动态可配置在线过滤技术的 研究。 关键词:包过滤;状态检测;内容检测;f p g a ; v 基于n e t f p g a 的动态- 丌丁配置在线过滤技术研究j 实现 济南人学硕j + 学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fn e t w o r kt e c h n o l o g y , m o r ea n dm o r ei n f o r m a t i o n a l et r a n s m i t t e dt h r o u g ht h ei n t e m e t n o w a d a y si n f o r m a t i o ns h a r i n gi si n c r e a s i n g l y b e c o m i n gt h et r e n do fn e t w o r ks o c i e t y , h o w e v e r , p e o p l eh a v et of a c es o m ep u z z l e s 基fn e t f p g a 的动态可配胃存线过滤技术研究j 实现 t h es t u d yo fd y n a m i ca n dc o n f i g u r a b l eo n - l i n ef i l t e r i n gt e c h n o l o g yh a sb e e n c o m p l e t e ds y s t e m a t i c a l l y k e yw o r d s :p a c k e tf i l t e r i n g ;s t a t ei n s p e c t i o n ;c o n t e n tf i l t e r i n g ;f p g a 济南人学硕 + 学位论文 第一章绪论 1 1 论文的研究背景与意义 随着信息技术的迅猛发展,互联网已深入到千家万户,越来越多的业务也依 靠互联网来支撑,人们在享受互联网所带来的信息交流、资源共享的同时,也不 得不面对因互联网而滋生的一些病毒、网络攻击等非法手段而带来的困扰,防火 墙便应运而生。防火墙是在内网与外网之间设置的一道防御系统,防火墙的发展 经历了包过滤、状态检测和应用代理网关技术三个阶段。 包过滤【l 】是最基本的安全方案,它工作在网络层,通过对数据包的源地址、 目的地址、源端口号、目的端口号和协议类型等规则对数据包进行检测,然后确 定是否允许数据包通过。应用代理网关防火墙在应用层检查数据包,它将内网与 外网隔离开,内网与外网之间的通信变成防火墙与外网之间的通信,防火墙将外 网的信息转发给内网,所有的通信通过编写相应的代理软件来实现。状态检测技 术是基于t c p 连接状态对数据包进行检查。 包过滤和状态检测防火墙虽然能够保障基本的网络通信安全,但是二者有一 个共同的缺陷,那就是只能对数据包头部的信息进行检测。随着攻击技术的高端 化和复杂化,比如将病毒放在数据包的有效载荷中,面对这种攻击,两种防火墙 就无能为力,这就需要内容检测技术的辅助。对数据包的内容( 有效载荷) 检测 是s n o r t 入侵检测的一个特色,很多隐藏在有效载荷中的攻击行为可以被检n - n 。 s n o r t 入侵检测可以填补防火墙不能检测数据包有效载荷留下的空白,所以s n o r t 与防火墙相辅相成。 传统的防火墙是用软件来实现的,但病毒的多样化、网络攻击的复杂化以及 网络流量的激增日渐成为防火墙性能的一个瓶颈,因此我们需要寻找更加高效、 快速、灵活的网络安全解决方案。f p g a e 2 j 作为专用集成电路领域中的半定制电 路而出现,基于f p g a 硬件体系结构能够保证吉比特安全线速处理能力,通过 f p g a 的可编程特性,可以对数据包和协议进行深层次的检查和过滤,开销小, 开发周期短,是一种比较理想的高性能防火墙硬件搭建平台。 本文分析网络攻击和威胁的基本特征,提出对数据包头部进行过滤的方法: 幕于n e t f p g a 的动态叮配胃雨:线过滤技术研究j 实现 包过滤和状态检测,并用f p g a 实现;参照计算机的r i s c 指令集思想,对s n o r t 规则进行分类统计,将规则集中常用的规则字段提取出来,然后用f p g a 实现, 实现内容检测的加速,其他的规则用软件实现,最终设计了基于n e t f p g a 的动 态可配置在线过滤技术,改进了传统的防火墙架构,具有较好的性能、低廉的开 发平台,为基于硬件的内容检测提供了一定的研究价值。 1 2 研究现状 1 2 1 安全过滤系统 安全过滤系统在内网与外网之间架设一道屏障,用于保护内网资源不被非法 入侵与窃取。它检查流经内网与外网之间的每一个数据包头部信息及载荷部分, 只有符合预定义的合法的数据流才能通过,从而保证内部网络系统资源和数据资 源的安全性。常见的安全过滤系统有防火墙、入侵检测系统。 防火墙的发展经历了包过滤、状态检测技术和应用代理技术三个阶段。包过 滤技术通过检查每一个数据包的源i p 地址、目的i p 地址、源端口号、目的端口 号、协议类型等因素来确定是否允许该数据包通过,它的缺点是不支持应用层协 议。状态检测技术监视每一个有效连接的状态,并根据这些信息决定网络数据流 能否通过防火墙。其优点不仅兼顾了包过滤技术中的规则表,更考虑了数据包是 否符合会话所处的状态,因此提供了完整的对传输层控制能力。缺点是仅仅检查 数据包头部的信息,不能对数据包的有效载荷部分进行检查。应用代理技术完全 “阻隔”了网络通信流,通过对每种应用服务编写专门代理软件,实现监视应用 层通信流的作用,其缺点是处理速度慢,难于配置。 入侵检测【3 】( i n t r u s i o nd e t e c t i o n ) 是对网络入侵行为进行检测,通过收集和 分析网络行为、审计数据、日志等网络上可获取的信息,检查网络中是否存在违 反安全策略的行为和遭到袭击的迹象。入侵检测是一种主动的安全防御技术,它 提供了对内、外攻击的实时保护,在网络系统遭受攻击之前,适时作出拦截和预 警等举措。s n o r t 是一个开源的、跨平台的、轻便的网络入侵检测系统,数据包 有效载荷检测是s n o r t 的一个特色,很多隐藏在有效载荷中的攻击行为可以被检 测到。s n o r t 入侵检测可以填补防火墙不能检测数据包有效载荷留下的空白,所 2 济南人学硕l j 学位论文 以s n o r t 与防火墙相辅相成。传统的防火墙提供的是静态过滤,需要预先设定规 则,因此对于攻击或异常的行为,防火墙无法调整安全策略以阻断攻击;而s n o r t 提供的是动态检测网络数据包,及时发现并报告网络中异常或未授权现象的系 统,一动一静,相得益彰。 1 2 2 基于硬件的安全过滤系统 按硬件实现的技术来划分,防火墙分为x 8 6 架构,a s i c 架构,n p 架构和 f p g a 架构。 x 8 6 架构基于通用c p u ,具有较好的灵活性和可扩展性,该架构的防火墙 主要用软件实现,能根据用户要求作适当的调整,由于其对网络数据包进行过滤 时采用中断方式,因此其处理性能大大降低。 a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ) 架构通过设计专门的a s i c 芯 片来对进行硬件进行加速处理,因此防火墙的性能明显提升。a s i c 通过软件就 能改变其内部的应用逻辑,缺点是开发周期有些长。同时由于a s i c 技术把指令 固化到了硬件里,因此其缺乏一定的灵活性,不便于对程序进行定期升级。 n p ( n e t w o r kp r o c e s s o r ) 架构是介于a s i c 和x 8 6 之间的技术,n p 是专门 的网络设备处理器,它的体系结构和指令集都经过了优化,能够进行数据包的过 滤、转发等,但它的缺点是代码空间比较小。 f p g a 架构可重新配置,可重用性、精密度不断提高,它可以轻易配合系统 设计规格随时改变的要求,为用户带来充足的灵活性。f p g a 芯片的成本占总成 本的比重很低,并且采用f p g a 架构可以通过配置和添加基本软件来实现定制, 从而不断提升产品的性价比。 在如何用f p g a 实现状态检测和内容检测方面,国内外学者做了很多的研 究,国外的n o u r e l d i e na n o u r e l d i 翩【4 】在2 0 0 0 年提出状态检测的模型结构图,国 内的赵轩1 5 1 提出用硬件实现状态检测,并设计了总体框架图。c l a u d i o c o 【5 】, l ix i n 【6 1 和迟秀伟 7 1 等人用硬件实现了状态检测设计,国内西北工业大学的刘航 【8 1 教授在2 0 0 4 年提出用f p g a 来实现s n o r t 的内容检测思想,国外的e h s a n a z i m i 9 提出了用硬件实现的简单s n o r t 内容检测系统,s e u n g y o n g y o o n i l o 】则提出用软 件实现对s n o r t 头部信息检索,硬件实现内容匹配部分。 3 幕于n e t f p g a 的动态可配置神:线过滤技术研究与实现 1 3 研究内容与创新点 传统防火墙过滤都是基于数据包头部信息的,不能对数据包的有效载荷进行 过滤,针对这些不足,论文提出了基于n e t f p g a 屹】的动态可配置在线过滤技术, n e t f p g a 是由斯坦福大学研制的专门用于高速网络处理的开发板,它为网络研 究人员提供了一个低成本可重用的硬件平台,研究人员可以在该开发板上搭建 g b s 的高性能网络系统模型。基于n e t f p g a 的动态可配置在线过滤技术将传统 的包过滤、状态检测防火墙与s n o r t 入侵检测系统结合起来。包过滤和状态检测 完成对数据包头部信息的过滤,s n o r t 完成对数据包有效载荷部分的过滤,三者 结合,共同完成对数据包头部信息和有效载荷的完整过滤。 动态可配置在线过滤技术是以n e t f p g a 为开发平台的,配以软件编程来实 现对网络数据流的过滤处理,整个设计流程包括软件设计和硬件设计两大部分, 其中硬件部分用来实现对数据包的包过滤、状态检测和内容检测,软件部分用来 发送u d p 数据包和对n e t f p g a 进行配置,u d p 数据包中包含包过滤和内容检 测中用到过滤规则。 包过滤工作在o s i 网络参考模型的网络层和传输层,是根据定义好的过滤规 则审查每个数据包,以便确定其是否与某一条包过滤规则匹配。过滤规则基于数 据包的头部信息指定的。头部信息包括源地址,目的地址,端口号和协议类型等, 根据这些标志确定是否允许数据包通过。只有满足过滤条件的数据包才被转发到 相应的目的地,其余数据包则被从数据流中丢弃。 状态检测技术【1 3 】是一种基于连接的状态检测机制,通过跟踪、监测t c p 连 接的状态发现各种攻击与异常,它将同属于一个连接的所有数据包看作一个数据 流,组成t c p 连接状态表,通过状态表与预定义规则( 源i p 和目的i p 地址、协 议类型、源和目的端口号、连接状态和时间戳等) 的配合,对状态表中存储的连 接状态进行识别,与传统包过滤技术的静态过滤规则表相比,状态检测具有更好 的灵活性和安全性。 内容检测技术f 1 4 1 是对数据包的载荷进行过滤,检测规则是字符串,即由一些 字符串组成的数据包内容。以s n o r t 入侵检测系统为例,根据预先掌握的入侵情 况,给系统设定一些规则,口数据载荷的部分内容是规则的一个重要组成部分, 济南人学硕l 学位论_ 艾 以字符串的形式出现。当数据包到来时,内容检测就会用检测算法将f p g a 中存 储的规则与数据包内容匹配,若与某个字符串匹配,则证明匹配了相应的规则。 动态可配置在线过滤技术主要用来发送u d p 数据包和对n e t f p g a 进行配 置。主控端与被控端协商一个端口作为通信端口,当需要更改过滤规则的时候, 主控端构造带有过滤规则的u d p 数据包进行发送,被控端获取此数据包提取过 滤规则,存储到f p g a 内部的存储器中,然后依据过滤规则进行过滤。因为 n e t f p g a 中存储的规则需要适时更新,所以需要编写软件来实现此部分功能, 用来给n e t f p g a 传送过滤规则,让f p g a 根据传送的过滤规则对数据包进行在 线过滤。 论文的创新点可以概括为以下几点:用f p g a 实现包过滤防火墙,利用f p g a 的硬件特性,设计高效快速的并行过滤机制,从而实现数据包的线速转发;用 f p g a 实现状态检测防火墙,针对传统状态检测中状态表占用空间大的情况,提 出了一种新的存储状态表的方法,其空间占用量远小于传统的状态检测;用 f p g a 实现部分s n o r t 规则,参照计算机r i s c 指令集思想,对s n o r t 规则进行分 类统计,将规则集中常用的规则字段提取出来,设计内容检测模板,然后用硬件 实现,其他的规则用软件实现。同时提出首尾并行匹配的字符串模式方法,实现 3 0 条规则的并行匹配;用r a ws o c k e t 编程,实现对过滤规则的远程配置。 1 4 论文的组织结构 全文从结构上分为以下六个部分: 第一章,介绍了研究课题的背景与意义,分析当前安全过滤系统包括防火墙 和入侵检测系统的现状,并叙述课题的主要研究内容、创新点和组织结构。 第二章,介绍了防火墙概念、防火墙体系结构的发展趋势、基于f p g a 的安 全过滤系统,提出了一种新的基于n e t f p g a 的安全过滤系统原型。 第三章,介绍基于n e t f p g a 的包过滤技术开发平台、整体框架和实现方法, 并针对各种常见攻击提出了相应的对策。 第四章,主要介绍了状态检测技术的原理、以太网控制器的实现方法和状态 检测系统的设计实现,并对空间占用量进行详细分析。 第五章,介绍了基于n e t f p g a 的内容检测系统详细设计和实现过程,包括 5 基于n e t f p g a 的动态可配胃n j 线过滤技术研究与实现 s n o r t 入侵检测系统的分析、内容检测的总体设计、详细设计、实现过程和实验 结果、动态可配置在线过滤技术的设计和实现过程。 第六章,总结与展望,总结自己的研究成果,描述下一阶段的研究工作。 济南大学硕i 学位论文 2 1 防火墙技术 第二章系统的整体设计 2 1 1 防火墙技术概述 随着互联网技术的高速发展,防火墙技术日渐成为网络安全领域中最重要 的、引人关注的安全技术,这是由防火墙在网络安全中所处的位置所决定的,防 火墙是网络安全技术体系中第道屏障,是保障企业、公司和高校等各种机构网 络安全的重要手段。1 9 8 6 年d i g i t a l 公司安装了全球第一个防火墙系统【l5 1 ,防火 墙技术就迅猛发展起来,防火墙技术经历了包过滤、应用代理网关、状态检测技 术三代发展,已演变成一个集成了安全技术和防范能力的安全设备,未来防火墙 技术将继续在网络安全领域中扮演重要的角色。 传统的包过滤防火墙是基于访问控制列表的,它根据数据包的源地址、目的 地址、源端口号、目的端口号和协议类型等规则确定是否允许数据包通过。随着 防火墙技术发展,出现了新的防火墙技术,如应用代理网关技术和状态检测技术, 这些技术在实际运用中差别也非常大,有的工作在o s i 参考模型的应用层,有的 工作在传输层,还有的工作在网络层。 包过滤是最基本的安全方案,它工作在网络层,通过对对数据包的源地址、 目的地址、源端口号、目的端口号和协议类型等规则对数据包进行检测,然后确 定是否允许数据包通过。包过滤优点是速度快,缺点是不能检测地址欺骗的数据 包,并且容易受到像d o s ( d e n i a lo f s e r v i c e ) 、i p 地址欺诈等各种类型的攻击, 不能对应用层的协议进行检测,访问颗粒过于粗糙。 应用代理网关防火墙在应用层检查数据包,它将内网与外网隔离开,内网与 外网之间的通信变成防火墙与外网之间的通信,防火墙将外网的信息转发给内 网,所有的通信通过编写相应的代理软件来实现。它的缺点是操作复杂,我们不 可能对每一个应用都运行这样一个代理服务器,由于将内外网之间的连接断开, 导致处理速度非常缓慢。 状态检测技术是为了克n - - - 者的缺陷而提出来的,它是基于t c p 连接状态 对数据包进行检查,解决了包过滤的安全限制,在性能上比应用代理网关技术有 7 基于n e t f p g a 的动态可配置在线过滤技术研究与实现 了很大的改善,很多防火墙厂商采用这种技术。随着攻击技术的高端化,比如将 病毒放在数据包的有效载荷中,对此,状态检测技术就无能为力,这就需要内容 检测技术的辅助。 2 1 2 防火墙体系结构的发展趋势 随着网络技术的快速发展,网络应用也在不断增加,因此对网络带宽提出了 更高的要求,防火墙要能够以非常高的速率处理数据。为了满足需要,防火墙制 造商开发了基于a s i c 和基于网络处理器n p 的防火墙【1 6 】。基于网络处理器的防 火墙采用软件解决方案,在很大程度上依赖软件的性能,但网络处理器中有一些 专门用于处理数据层面任务的引擎,因此减轻了c p u 的负担,这样的防火墙性 能要比传统防火墙的性能更强。 基于a s i c 的防火墙用专门硬件来处理网络数据流,比基于网络处理器的防 火墙具有更好的性能。a s i c 防火墙的缺点是缺乏可编程性,程序一旦烧到板子 中就不能更改,这就使得它在一定程度上缺乏灵活性,跟不上防火墙功能的快速 发展,因此理想解决方案是增加a s i c 芯片的可编程性,同时满足来自灵活性和 运行性能的要求。 2 2 基于f p g a 的安全过滤系统 未来防火墙的三个发展方向是高性能、服务质量保证能力和深度防御。未来 高端防火墙的技术特征是具有吉比特线速处理能力,在承受大量业务流的情况 下,能够保证稳定运行。高端用户对网络安全性的要求也越来越高,需要防火墙 能够对数据包进行深层次的检查,即对数据包的有效载荷部分进行检测,对s q l 注入、恶意代码、d d o s 攻击等多种攻击行为进行检测,确保网络的安全、高效 运行。 f p g a 在数字电路设计中发挥着重要作用,可以用其设计简单的接口电路, 也可以设计复杂的状态机,甚至可以设计片上系统【1 7 1 ,总之,f p g a 已经扮演着 越来越重要的角色。f p g a 作为半定制电路而出现,解决定制电路的不足的同时 也克服了原有可编程器件门电路数有限的缺点,可配合系统规格随时改变的要 求,为用户带来灵活性。 济南人学硕l 学位论史 f p g a 体系结构能够保证吉比特的安全线速处理能力,通过f p g a 的可编程 特性,可以对数据包和协议进行深层次的检查和过滤,开销小,开发周期短,因 此是一种比较理想的高性能防火墙硬件搭建平台。 与f p g a 技术相比,a s i c 技术将指令或计算逻辑固化到了硬件中,缺乏灵 活性,不便于修改和升级;其次,深度包分析增加了a s i c 的复杂度,不能满足 防火墙产品对网络协议进行二到七层处理的需求;第三,a s i c 的开发周期长, 设计费用昂贵且风险较大。建立一个基本的a s i c 研发环境就需要投资上千万元, 从设计、验证、流片到最终量产投资额往往要达到数千万元。这样无疑会造成投 资回报期过长,大大增加了产品和项目的资金风险。最后,采用a s i c 技术的防 火墙最大的问题在于缺乏可编程性,对新功能的实施周期长,很不灵活,使得它 难以跟上当今防火墙功能的快速发展。在日益猖獗的黑客攻击面前,特别是针对 应用层攻击( 如s l a m m e r 、冲击波病毒) 等面前显得无能为力。 采用f p g a 架构可以缩短开发周期,节省a s i c 设计所需要的巨大投入,对 于单台防火墙而言,f p g a 芯片成本占总成本比重低。采用f p g a 架构可根据用 户要求而定制,从而不断提升产品的性价比。 2 3 基于n e t f p g a 的安全过滤系统整体设计 2 3 1 整体设计 基于n e t f p g a 的安全过滤系统设计分为硬件和软件两大部分,其中硬件部 分研发是基于斯坦福大学的n e t f p g a 平刽1 8 】,用硬件描述语言完成硬件功能的 开发。硬件部分的主要功能是实现对数据包头部信息的过滤、状态信息的检测以 及有效载荷的检测,整个安全过滤系统可根据用户的要求对过滤和检测规则进行 添加和修改。硬件部分又分为三个功能模块:包过滤、状态检测和内容检测,内 容检测部分根据s n o r t 规则自行设计内容检测模板,用于对数据包有效载荷进行 检测,内容检测模板的格式比较灵活,可根据用户的要求进行相应的调整。软件 部分的研发是在l i n u x 下用r a ws o c k e t 编程实现对n e = t f p g a 中存储的规则进行 更新,更新的空间大小也可根据用户的要求进行调整。基于n e t f p g a 的安全过 滤系统整体框架图如图2 1 所示。 9 基于n c t f p g a 的动态可配置订:线过滤技术研究与实现 图2 1 基于n e t f p g a 的安全过滤系统整体框架图 f i g 2 1t h eo v e r a l lf r a m e w o r ko ff i l t e r i n gs y s t e mb a s e do i ln e t f p g a 2 3 2 各功能模块作用 ( 1 ) f i f o :当数据包到来时,为了避免因为处理不及时而丢弃数据包,设置f i f o 用于缓冲数据包,对于到来的数据包,先将其缓冲到f i f o 中,然后再送往下一个 模块。 ( 2 ) 包头解析:从数据包的头部信息中提取源端口号和目的端口号,判断该数 据包是规则还是普通的数据包,然后转到相应的模块处理。如果源端口号和目的 端口都是e f e f ,说明该数据包为包过滤的规则;如果源端口号和目的端口都是 f e f e ,则说明该数据包为内容检测的规则。 ( 3 ) 预处理:从网络中捕获的数据包是原始数据包,所采用的协议也是各种各 样,预处理模块的功能就是对捕获到的数据包进行预处理,比如给i p 地址、端 口号、长度、协议等打上标志,为提取头部信息模块做准备。 ( 4 ) 提取头部信息:对数据包头部的信息,如源i p 地址、目的i p 地址、协议、 源端口号和目的端口号等进行提取保存。 ( 5 ) 包过滤:根据预定义的包过滤规则、源i p 地址、目的i p 地址、协议、源 端口号、目的端口号和决策,对流经的数据包进行检测,并做出相应的对策。 ( 6 ) 状态检测:在状态检测机制里面,当数据包到来时,我们先截取符合定义 的数据流,然后将这些信息放到f p g a 的r a m 中,保存数据流的目的是为了与 后续连接请求进行匹配。当后继的数据包到来时,将其信息与状态表记录进行比 较,根据比较结果做出相应的决策。 ( 7 ) 内容检测:内容检测系统的设计思路是参照计算机r i s c 指令集思想,对 s n o r t 规则进行分类统计,将规则集中常用的规则字段提取出来,设计成内容检 1 0 济南大学硕卜学位论文 测模板,然后用硬件实现,其他的规则用软件实现。 ( 8 ) 预警机制:当对数据包进行内容检测时,如果发现攻击,在丢弃数据包的 同时, 2 4 ,j 基于n e t f p g a 的动态可配胃存线过滤技术研究与实现 1 2 济南人学硕t 学位论文 第三章基于n e t f p g a 的包过滤技术设计与实现 3 1 硬件开发平台 3 1 1 开发平台简介 动态可配置在线过滤技术用来实现对网络中的数据流进行过滤,利用包过滤 技术来阻断网络层和传输层的可疑数据,状态检测技术实现对传输层数据的检 测,基于s n o r t 的内容检测技术则过滤应用层的攻击或异常行为。研究课题是基 于n e t f p g a 开发平台。 n e t f p g a 是由斯坦福大学研制专门用于高速网络处理的开发板【1 9 1 ,它为网 络研究人员提供了一个低成本可重用的硬件平台,研究人员可以在该开发板上搭 建g b s 的高性能网络系统模型。主要组成部分为一个用户可编程的x i l i n xv e r t e x i i p r o5 0f p g a 芯片,2 个3 6 m b 的可并行存取s r a m ,时钟频率为1 2 5 m h z ,1 个6 4 m b 的d d r 2d r a m ,时钟频率为2 0 0 m h z ,接口部分包括4 个千兆以太网 口,一个p c i 接口。n e t f p g a 通过p c i 总线与主机相连,主机通过d m a 方式 配置n e t f p g a 的工作方式并监控n e t f p g a 的运行。图3 1 为n e t f p g a 开发板。 图3 1n e t f p g a 开发板 f i g 3 1t h en e t f p g ad e v e l o p m e n tb o a r d 3 1 2n e t f p g a 工程 n e t f p g a 工型2 0 】提供了p c i 驱动程序、各个硬件功能的代码、上层的程序 控制、系统开发工具和测试脚本语言等软件。n e t f p g a 是运行于 c e n t o s ( c o m m u n i t ye n t e r p r i s eo p e r a t i n gs y s t e m ) 操作系统,c e n t o s 是由r e dh a t 1 3 基于n c t f p g a 的动态可配置在线过滤技术研,e0 实现 e n t e r p r i s el i n u x 依照开放源代码规定释出的源代码所编译而成。 n e t f p g a 工程的硬件功能代码包括以下几部分:f i f o ,i n p u ta r b i t e r ,o u t p u t p o r tl o o k u p ,o u t p u tq u e u e 。f i f o 用于实现缓冲数据包,防止因为处理不及时而 丢弃数据包。i n p u ta r b i t e r 模块以轮询的方式查询每个f i f o 中是否有数据要输 入,每次处理一个数据包。o u t p u tp o r tl o o k u p 读取并分析到来的数据包,决定从 哪个端1 2 输出。o u t p u tq u e u e 将到来的数据包存储到d r a m 中,以轮询的方式 查询每个f i f o 中是否有数据输出。寄存器采用环状方式轮询,用于传送各个模 块的控制参数。n e t f p g a 工程的功能模块图如图3 2 所示。 图3 2n e t f p g a 工程的功能模块图 f i g 3 2t h ef u n c t i o n a ld i a g r a mo fn e t f p g ap r o j e c t n e t f p g a 通过l i n u x 驱动程序实现与主机操作系统的交互。系统加载之后, 驱动程序配置n e t f p g a 的四个千兆以太网口并添加n f 2 c 0 、n f 2 c l 、n f 2 c 2 、n f 2 c 3 四个网络连接,这样主机用户可以通过n e t f p g a 的以太网端口收发数据包,此 时n e t f p g a 的功能和普通网卡功能相同。n e t f p g a 预设了一些寄存器,应用程 序通过读写寄存器,实现控制n e t f p g a 的运行模式。主机和n e t f p g a 之间可以 按照d m a 方式直接传送数据,不需要c p u 的干预,从而提高整个系统的运行 速度。 n e t f p g a 各个硬件模块的代码采用v e r i l o g 硬件描述语言来实现,我们可以 用其自带的仿真器或者m o d e l s i m 来仿真测试,测试成功之后可以下载到开发板 中调试。完成控制功能的上层软件,如读写寄存器、网络协议、l i n u x 操作系统 下的s h e l l 脚本程序等功能,都是采用c 语言编程实现。此外,n e t f p g a 平台还 1 4 济南大学硕f j 学位论文 提供了j a v a 程序开发的图形用户界面。作为一个开放的平台,n e t f p g a 开发团 队贡献出了诸如路由器、开放流交换机、流量采集器等工程,为广大的n e t f p g a 用户提供了很大的方便。 3 2 包过滤技术简介 包过滤技术是一种最为简单、廉价、有效的安全过滤方式,之所以简单是因 为包过滤只是检测数据包头部的信息,廉价是因为基本上所有的路由器都提供包 过滤功能,甚至有些路由器集成了包过滤,有效是因为它在某种程度上满足了大 多数公司、企业的安全要求,总的来说,包过滤实现了防火墙的最基本功能。 包过滤技术的发展经历了两个阶段,静态包过滤技术和动态包过滤技术。静 态包过滤工作在o s i ( o p e ns y s t e mi n t e r c o n n e c t ) 参考模型的网络层上,如图3 3 所示,它根据预定义的过滤规则检查每个数据包,确定与某一条过滤规则是否匹 配。预定义的过滤规则包括源i p 地址、目的i p 地址、协议、源端口号、目的端 口号、决策。动态包过滤技术又称为状态检测技术,与静态包过滤技术只检查单 个、孤立的数据包不同,动态包过滤将基于五元组的数据流信息联系起来,建立 一种基于数据流状态的包过滤机制。本章主要介绍静态包过滤的设计与实现【2 1 1 , 下一章将讨论动态包过滤的实现方法。本文及后续章节中所提到的包过滤均指静 态包过滤技术。 应用层应用层应用层 表示层 表示层 表示层 会话层会话层会话层 传输层传输层传输层 网络层网络层网络层 数据链路层数据链路层数据链路层 物理层物理层物理层 图3 3 静态包过滤 f i g 3 3s t a t i cp a c k e tf i l t e r i n g 1 5 3 3 基于n e t f p g a 的包过滤技术设计与实现 包过滤技术是基于数据包头部信息的过滤,因此我们先简要介绍下数据包。 数据包是传输控制协议一部分,应用于局域网中与其他计算机互相通信的协议集 合。每个数据包由两部分组成:头部信息和有效载荷,头部信息用来供计算机读 取数据包是来自哪个地方,将要发送到哪个地方,采取的是哪种协议进行传送等 等,主要包括版本、头部长度、服务类型、总长度、标识符、协议、源i p 地址、 目的i p 地址、源端口号、目的端口号等。图3 4 是数据包的包头信息。因为 n e t f p g a 采用的数据包格式是每行6 4 位,因此,我们在本章以及后续章节都采 用这种画图方式。下面对其中各字段进行说明【2 2 1 。 源m a c目的m a c 目的m a c 长度类型版本 头部 服务类型 长度 标志 总长度标识符片内偏移生存时间协议 位 头部校验和源i p 地址目的l p 地址 目的i p 地址源端口号目的端口号其他可选项 图3 4 数据包头部信息 f i g 3 4t h e i n f o r m a t i o no fp a c k e th e a d e r 版本:标识i p 的版本 头部长度:标识i p 头部的长度。 服务类型:用于表示延迟、优先级、吞吐量、可靠性以及传输费用等的要求。 总长度:表示m 报文的总长度,最大长度为6 5 5 3 5 个字节。 标识符:用于数据报的分段与重组。 标志位:指出一个报文是否为一系列碎片的最后一个。 片内偏移:指出一个碎片的内容相对于整个报文开始处的偏移。 生存时间:控制i p 报文的生命周期。 协议:指出i p 报文携带的数据所对应的协议。 头部校验和:用于对i p 头部进行校验。 源口地址:发送报文的源主机口地址。 目的口地址:接受报文的目的主机口地址。 1 6 济南大学硕卜学位论文 源端口号:指明报文发送端主机上的应用程序地址。 目的端口号:指明报文接收端主机上的应用程序地址。 包过滤技术中的预定义规则包括数据包头部信息中的源口地址、目的i p 地 址、协议、源端口号和目的端口号、另外定义了一个决策字段,用于允许数据包 通过或者拒绝数据包。其中,源i p 地址、目的i p 地址、协议、源端口号和目的 端口号可以定义一个范围,比方说从一个地址段开始到另一个地址段结束,也可 以是单个的i p 地址或者端口号。包过滤需要遵
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 母婴店做活动策划方案(3篇)
- 散水坡道修复施工方案(3篇)
- 游园朗诵活动策划方案模板(3篇)
- 民间户外游戏活动方案策划(3篇)
- 落砂井施工方案(3篇)
- 写一份通知题目及答案
- 小鸭子学游泳题目及答案
- 时间的脚印课件
- 快递收发服务平台搭建合同
- 大型超市与电商平台采购合同
- 乏力诊治与管理专家共识解读 2
- 2025-2030牛结核病防控技术进展与行业影响分析报告
- 2024年泰州市靖江市公安局招聘警务辅助人员真题
- 国际快递基本知识培训课件
- 2025年四川省高考生物试卷(含答案与解析)
- 塔吊拆除安全操作方案模板
- 普惠金融业务讲座
- 巡检员质量培训
- JJG 693-2011可燃气体检测报警器
- 学校安全隐患排查整治表
- 搅拌车、混凝土搅拌车、水泥搅拌车安全操作规程
评论
0/150
提交评论