(计算机软件与理论专业论文)基于多模式匹配的网络包过滤引擎的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于多模式匹配的网络包过滤引擎的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于多模式匹配的网络包过滤引擎的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于多模式匹配的网络包过滤引擎的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于多模式匹配的网络包过滤引擎的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机软件与理论专业论文)基于多模式匹配的网络包过滤引擎的设计与实现.pdf.pdf 免费下载

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

文档简介

中山大学硕士学位论文 题目:基于多模式匹配的网络包过滤引擎的设计与实现 专业:计算机软件与理论 硕士生:张绮雯 指导教师:王若梅副教授 摘要 互联网技术的迅猛发展使人们享受到了前所未有的交流信息、获取资源的 便利与自由,但同时也带来了一系列网络安全方面的问题,其中内容级别的安全 问题日益引起人们的关注,该领域的研究有着迫切的需求。 本文设计并实现了一个基于多模式匹配的网络包过滤引擎,该引擎实现了 内容级别的数据包过滤,并采用专门设计的快速多模式匹配算法来解决效率问 题。本文首先对防火墙架构、内容过滤技术和模式匹配算法等相关领域进行了深 入的研究,指出了目前存在的问题;然后给出了一种新的内容级别的包过滤系统 的架构,该架构既保持了包过滤方式的高效特点,又实现了内容级别的检查;同 时深入探讨了n e t 伊a p h 机制,并利用n e t g r a p h 机制设计并实现了过滤引擎的数 据包捕获模块;为了解决模式匹配的效率问题,设计了一种全新的快速多模式匹 配算法,并用该算法实现了引擎的内容检查模块。 本文设计的过滤引擎突破了一般数据包过滤系统只能处理包头信息的限 制,深入到内容级别进行包过滤,既保持了包过滤方式的高效优点,又达到了内 容级别过滤的目的;本文为本过滤引擎设计的快速多模式匹配算法充分结合了具 体应用环境的特点,采用了多项加速措施,大大提高了关键字检查的速度,解决 了目前关键字过滤方式普遍存在效率问题。 关键词:多模式匹配,包过滤,内容过滤,n e t g r a p h 机制 中山大学硕士学位论文 t i t l e :d e s i g na n di m p l e m e n t a t i o no fan e t w o r kp a c k e tf i l t e r i n ge n g i n eb a s e do nm u l t i p a t t e r n m a t c h i n g m a j o r :c o m p u t e rs o f t w a r e n a m e :q i w e nz h a n g s u p e r v i s o r :r u o m e iw a n g a b s t r a c t e x c h a n g i n gi n f o r m a t i o na n df i n d i n g r e s o u r c e sb e c o m e sm o r ec o n v e n i e n t b e c a u s eo ft h ed e v e l o p m e n to fi n t e r n e t h o w e v e r ,as e r i e so fn e t w o r ks e c u r i t y p r o b l e m sa l s oa p p e a r c o n t e n ts e c u r i t yi so n eo ft h e s ep r o b l e m s t h er e s e a r c ho nt h i s f i e l di sr e q u i r e d t h i sp a p e rd e s i g n sa n dd e v e l o p san e t w o r kp a c k e tf i l t e r i n ge n g i n eb a s e do n m u l t i p l ep a t t e r n sm a t c h i n g t h i se n g i n er e a l i z e sc o n t e n t l e v e lp a c k e tf i l t e r i n ga n d u s e san e wf a s tm u l t i 。p a t t e r nm a t c h i n ga l g o r i t h mt os o l v et h ee f f i c i e n c yp r o b l e m t h r o u g hr e s e a r c ho nt h ea l g o r i t h mo ff i r e w a l l , c o n t e n tf i l t e r i n g , a n dp a t t e r nm a t c h i n g , an e wf r a m eo fc o n t e n t - l e v e l p a c k e tf i l t e r i n gs y s t e mi sp r e s e n t e d t h ep a c k e t c a p t u r i n gm o d u l eo ft h ee n g i n ei sd e v e l o p e du s i n gn e t g r a p ht e c h n o l o g y f u r t h e r m o r e , an e wf a s tm u l t i - p a t t e r nm a t c h i n ga l g o r i t h mi sd e s i g n e dt oi m p r o v et h ee f f i c i e n c yo f t h ek e y w o r dm a t c h i n g t h i sa l g o r i t h mi sa p p l i e di nt h ec o n t e n tc h e c k i n gm o d u l e t h i sf i l t e r i n ge n g i n ei sd i f f e r e n tf r o mc o m m o np a c k e tf i l t e r i n ge n g i n e sw h i c h a n a l y z ep a c k e th c a do n l y t h i se n g i n ec a nr e a l i z ef i l t e r i n go nt h ec o n t e n tl e v e l w i t h o u tl o s i n gt h ee f f i c i e n c yc h a r a c t e r i s t i co fp a c k e tf i l t e r i n gm o d e t h en e wf a s t m u l t i - p a t t e r nm a t c h i n ga l g o r i t h md e s i g n e di n t h i sp a p e ru s e ss e v e r a lm e a s u r e st o i m p r o v et h em a t c h i n gs p e e d ,a n ds o l v et h ec o m m o n l ye x i s t i n ge f f i c i e n c yp r o b l e mo f k e y w o r df i l t e r i n gm o d e k e y w o r d :m u l t i - p a t t e r nm a t c h i n g , p a c k e tf i l t e r i n g ,c o n t e n tf i l t e r i n g ,n e t g r a p h h 中山大学硕士学位论文 引言 在当今这个信息化社会,互联网已成为人们工作和生活必不可少的部分, 互联网的无障碍沟通、信息资源的无国界共享等特性,彻底打破了传统网络的条 块分割和信息独占的理念,给社会的经济、政治、文化和人民生活各个方面都带 来的深刻的变化。互联网是一把双刃刀,一方面它使人们享受到了前所未有的交 流信息、获取资源的便利与自由,但另方面也带来了一系列网络安全方面的问 题:日益猖獗的通过e - m a i l 快速传播的网络病毒;企业员工访问包含不适当内 容的外部网站;通过e m a i l 等方式泄漏商业秘密甚至国家机密;浪费带宽的垃 圾邮件问题;黑客的入侵等等。 互联网的交互性、全球性、匿名性、开放性、零成本性等特点,使得网上 信息良养不齐,信息的内容安全性问题成为当今信息安全的一个新问题,色情、 暴力、反动、邪教等大量不良信息在互联网这个广阔的空间里四处流程,给生活、 工作、娱乐造成很多影响。据我国有关机构调查显示,有3 4 6 的青少年承认曾 经浏览过色情网站,很多青少年因此而荒废学业,成为“电子海洛因”的吸食者, 对身心健康造成了严重损害。国外的情况也很严重,美国管理协会作的项调查 还表明,企业员工全部上网活动中5 0 以上都是与工作无关的,这意味着这些员 工每个月拿到的薪水当中一部分与他们的工作无关,为此美国一年将付出几十亿 美元的代价。 网络安全问题已经引起了我国政府以及社会各界的日益关注,网络安全方 面的研究和产品开发有着迫切的需求。国外对网络安全方面的研究和产品的开发 已经开展了较长的时间,并取得了一定的研究成果,而我国在这方面的研究和产 品开发起步比较晚,水平也较国外落后。内容级别的安全性问题和内容过滤技术 是网络安全领域一个新的研究方向,国内外在这方面的研究还不够成熟,未能满 足各行各业迫切的应用需求,我国的情况更甚。 由于存在以上的问题,近年来,内容过滤防火墙的研究成为网络安全领域 一个新的研究热点。这个研究领域存在不少有待探讨和解决的问题,例如,在防 火墙技术方面,目前主要有包过滤和应用代理两大类型的架构,这两种架构各有 优点和不足,如何结合两种类型的优点,弥补不足,是一个值得研究的问题;在 中山大学硕士学位论文 内容过滤方面,基于文本内容的过滤主要有数u r l 过滤、关键字过滤、智能语 义分析过滤等方式,这些方式各具优点和用处,但都存在有待解决的问题,例如 关键字过滤方式要解决的一个关键的问题就是如何设计匹配算法,提供关键字匹 配的效率。 本文围绕上述问题进行了深入的分析和研究,设计与实现了一个基于多模 式匹配的网络包过滤引擎,该引擎己被一所网络安全产品开发公司采用。 中山大学硕士学位论文 i i 研究背景 第1 章绪论 互联网技术的迅猛发展,给人类社会的各个领域带来的深刻的变化。国际 互联网的无障碍沟通、信息资源的无国界共享等特性,彻底打破了传统网络的条 块分割和信息独占的理念。在信息化社会的今天,互联网已成为人们工作和生活 必不可少的部分:大型企业通过互联网来进行部门间的沟通与管理,商家通过互 联网推销自己的商品和服务,各政府部门正在大力推行网上受理业务及远程办公 的新模式,学生可以通过互联网查找学习资料,人们安坐家中就可以方便地通过 户联网获取各种娱乐资源和生活资讯。总之,互联网在经济、政治、文化和 人民生活各个方面都影响深远。 互联网是一把双刃刀,一方面它使人们享受到了前所未有的交流信息、获 取资源的便利与自由,但另一方面也带来了一系列网络安全方面的问题1 1 :日 益猖獗的通过e m a i l 快速传播的网络病毒;企业员工访问包含不适当内容的外 部网站;通过e - m a i l 等方式泄漏商业秘密甚至国家机密;浪费带宽的垃圾邮件 问题;黑客的入侵等等。据美国f b i 统计,美国每年因网络安全问题所造成的损 失,高达7 5 亿美元;美国司法部的互联网主页都被修改过,其他国家和地区也 多次发生这类现象;我国的i s p 也曾被人入侵,发生过私设帐号和网络瘫痪的事 故【5 9 】。 在众多网络安全问题中,信息的内容安全性问题日益引起人们的关注,色 情、暴力、反动、邪教等大量不良信息在互联网这个广阔的空间里四处流程,成 为当今信息安全的一个新问题。互联网的交互性、全球性、匿名性、开放性、零 成本性等特点,使得网上信息良荞不齐,从各色新闻、科技动态等大众资讯到成 人内容、游戏、交友聊天等敏感话题到反动言论、邪教色情、封建迷信等不良信 息种类繁多。在这些信息中大众资讯以互联网的快速、无边界、分类检索等特性 打破了传统媒体的桎梏,极大地方便了人们对信息的渴求。但是诸如反动、色情 等不良信息同样冲破了传统媒体的种种制约在互联网平台上占有了一席之地f 】。 3 中山大学硕士学位论文 互联网中信息内容的这些特点,引发了内容安全性问题。 国内外的现状都是不容乐观的。据我国有关机构调查显示,有3 4 6 的青 少年承认曾经浏览过色情网站,很多青少年因此而荒废学业,成为“电子海洛因” 的吸食者,对身心健康造成了严重损害。而在不分年龄层次的网民调查中显示 9 0 以上的网民曾经或频繁地访问色情站点。网络中的不良内容严重影响人们的 工作学习,毒害人们意志。国外的情况也很严重,美国管理协会作的一项调查还 表明,企业员工全部上网活动中5 0 以上都是与工作无关的,这意味着这些员工 每个月拿到的薪水当中一部分与他们的工作无关,为此美国一年将付出几十亿美 元的代价。s a r a t o g a 研究所的调查显示,5 6 的公司承认知道有员工通过互联网 赌博、观看色情内容。网络内容的多样性和复杂性给政府、企业、学校等的工作 造成了影响,给网络管理带来了潜在的危机。 对网络安全产品方面的研究和开发,国外已经开展了较长的时问,并取得 了一定的研究成果,在商业化、产品化方面也走在前列【2 】。而我国在这方面的 研究和产品开发起步比国外晚,水平也相对落后,但近几年发展速度比较快。我 国网络安全软件产品涉及防火墙、计算机病毒防护、网络入侵检测与安全评估、 信息加密、安全认证、虚拟专用网等多种类型产品,其中又以防火墙和防病毒软 件产品最为活跃,分别占网络安全软件市场3 8 5 和3 4 8 的份额,据预测,在 未来几年中,我国防火墙产品的增长速度还将会有较大幅度提升,发展空间很大 【3 】。当前,众多的安全问题已经引发了我国政府以及全国各行各业对网络安全 的关注,网络安全方面的研究和产品开发有着迫切的需求。 中山大学与广州市天网安系统集成有限公司合作,共同进行网络安全方面 的研究和开发,并申报了广东省科技计划项目,其中课题“基于n p 的新一代防 火墙技术的研究”入选2 0 0 4 年度广东省重点引导项目( 项目编号:2 0 0 4 2 0 6 0 2 7 4 ) 。 本文研究的课题“基于多模式匹配的网络包过滤引擎的研究与开发”是该课题的 一个子课题。 1 2 相关领域的研究现状 1 2 1 主流防火墙技术介绍 4 中山大学硕士学位论文 防火墙f 4 】就是在内部网与外部网之间的界面上构成的一个保护层,并强调 所有连接都必须经过此保护层进行检查,只有合法的通信才能通过此保护层。防 火墙是一种访问控制技术,在某个机构的网络和不安全的网络之间设置障碍,阻 止对信息资源的非法访问。换句话说,防火墙是一道门槛,控制进出两个方向 的通信【5 】。防火墙主要用来保护安全网络免受来自不安全网络的入侵,其作用 包括:( 1 ) 控制不安全的服务,降低了内部网受非法攻击的风险性;( 2 ) 控制对 特殊站点的访问,对外部某些危险站点可以实行对内屏蔽:( 3 ) 集中安全保护; ( 4 ) 对网络存取访问进行记录和统计;( 5 ) 监视网络的安全性,并及时报警, 等等。 根据防火墙对来往数据的处理方法,大致可以将防火墙分为两大体系:包 过滤防火墙和代理防火墙( 应用层网关) 6 1 。 包过滤防火墙 包过滤防火墙根据定义好的过滤规则审查每个数据包,过滤规则基于数据 包的报头信息进行制订,报头信息中包括i p 源地址、i p 目标地址、传输协议( t c p 、 u d p 、i c m p 等等) 、t c p a j d p 目标端口、数据包中的各种标志位、i c m p 消息类 型等。数据包的过滤按一定的安全策略设置若干过滤规则来进行,过滤规则依一 定的次序排列,过滤时找到匹配的规则后就不再向下应用其他的规则。过滤过程 中如果找到一个匹配,且过滤规则允许该数据包,那么该数据包就会按照路由表 中的信息被转发;如果找到一个匹配,并且过滤规则拒绝该数据包,那么该数据 包就会被丢弃:如果无匹配规则,所配置的缺省参数将决定此包是被转发还是被 舍弃。包过滤防火墙通常工作在网络层。 除了上述的简单包过滤外,还有状态连接包过滤( 动态) 防火墙。采用这 种技术的防火墙对通过其建立的每一个连接都进行跟踪,并且根据需要可动态地 在过滤规则中增加或更新条目。这种防火墙在传统的包过滤防火墙的基础上,在 自身c a c h e 或内存中维护着一个动态的状态表,数据包到达时,对该数据包的处 理方式将综合访问规则和数据包所处的状态进行。该类型防火墙的0 s i 模型中的 5 中山大学硕士学位论文 位置如图卜1 所示 图卜1 动态包过滤防火墙的位置 包过滤防火墙的最大优点是过滤效率高、速度快、对网络性能的影响低, 而且支持用户的透明访问等。其缺点主要是对高层协议无理解能力,无法实施对 应用级协议的安全处理,不能识别内容有危险的数据包。 代理防火墙( 应用层网关) 代理型防火墙( p r o x ys e r v i c ef i r e w a l l ) 通过在计算机或服务器上运行代理 的服务程序,直接对特定的应用层进行服务,因此也称为应用层网关。代理型防 火墙的核心,是运行于防火墙主机上的代理服务器进程,实质上是为特定网络应 用连接企业内部网与i n t e r n e t 的网关。它代理用户完成t c p i p 网络的访问功能, 实际上是对电子邮件、f r p 、t e l n e t 、w w w 等各种不同的应用各提供一个相应 的代理。这种技术使得外部网络与内部网络之间需要建立的连接必须通过代理服 务器的中间转换,实现了安全的网络访问,并可以实现用户认证、详细日志、审 计跟踪和数据加密等功能,实现协议及应用的过滤及会话过程的控制。该类型防 火墙的0 s i 模型中的位置如图1 - 2 所示: 6 中山大学硕士学位论文 图卜2 代理防火墙( 应用网关) 代理型防火墙最突出的优点就是安全,可以将被保护网络的内部结构屏蔽 起来,从而极大地增强了网络的安全性,同时可以用于实旌较强的数据流监控、 过滤、记录和报告等功能。但它最大的缺点是速度比较慢,有可能影响网络的性 能,当用户对内外网络网关的吞吐量要求比较高时,代理防火墙就会成为内外网 络之间的瓶颈用,另外,它对用户不透明,且对每一种服务都要设计一个代理 模块,实现起来比较复杂。 除了上述两大类型的防火墙外,还有复合型( h y b r i d ) 防火墙。所谓复合 型就是把包过滤、代理服务和许多其他的网络安全防护功能( 如n a t ) 结合起 来,形成新的网络安全平台,例如在一个防火墙系统中同时运用了包过滤技术和 代理服务技术等,以提高防火墙的灵活性和安全性。 1 2 2 内容级别的过滤技术现状 基于内容的病毒攻击、包含大量“垃圾”内容的信息以及各种色情、暴力 网页的侵袭,使网络安全领域面临新的挑战,使得传统的防火墙和其他安全防御 技术无法招架,因此,内容级别的网络监控和过滤技术应运而生,成为新的研究 热点。把内容过滤技术和传统的安全防御技术结合起来,已经成为一种新趋势 【9 】,例如,在传统的防火墙系统中增加内容级别的分析处理,使其除了防火墙 的基本功能之外,还能在数据流到达内网前扫描数据包内容,并清除有害的数据 内容。当前,内容过滤技术的研究已经成为网络安全领域的一个新的重要的研究 方向。 内容过滤包括基于文本内容的过滤和基于图象的过滤两个方面。基于文本 内容的过滤主要有数据库过滤( u r l 黑名单过滤) 、关键字过滤、智能语义分析 7 中山大学硕士学位论文 过滤等方式 1 0 1 。 数据库过滤【1 1 】是预先收集包含不良信息的u r l 黑名单,构成u r l 库, 然后将用户请求u r l 与黑名单中的u r l 进行比较,阻断数据库中存在的不良站 点。目前所知的最大的数据库拥有超过两亿个u r l ,这些u r l 由专门的机构( 公 司、团体等) 对互联网站点讲行内容健康性检查、分类,并长期维护。但是互联 网有数亿万的网页并且每天还会增加一亿多个新的页面,为了压缩不良u p l 库 的容量和提高过滤系统的处理速度,一般数据库过滤都是针对网站进行u r l 收 集和过滤的。一些含有不良信息的网站,会经常性地更改u r l 或者采取多级代 理方式以躲避有关部门的封堵,会给数据库过滤带来困难。 关键字过滤【1 2 】是对网络中的数据的内容进行关键字的匹配,检查内容中 是否存在预定的非法词语,这些非法词语可能是一些涉及色情、暴力、反动或其 他不良信息的关键字,甚至是带有内容特征的攻击或病毒,若数据内容包含非法 关键字,则进行过滤。例如,对用户浏览的网页内容进行非法关键字的匹配检查, 过滤含有不良语句的网页。关键字过滤由于不需要进行语义的分析,过滤速度比 较高。该过滤方式的关键是匹配算法的选择【1 3 】。 智能语义分析过滤是对网络数据的内容进行分析时渗透了人工智能技术, 进行语义层次的分析,判断其内容是否合法【1 4 】。由于智能语义分析过滤的过滤 规则和判别过程【1 5 】【1 6 】都比较复杂,因此这种过滤方式的效率比前面两种过滤 方式低。 基于图象的过滤【1 7 】是内容过滤的另一个分支,通常是跟据图像的颜色特 征、纹理特征、形状特征和轮廓特征来对图象的内容进行分析和判断,过滤不良 的图象 1 8 1 。 上述几种过滤方式各有长短,在实际应用中往往是一起使用的,例如世纪 瑞达的“上网行为管理系统根据互联网页特征采用了“u r l 判别引挚”,“域名 判别引挚”,“标题判别引挚”,“内容判别引挚”,“搜索引挚躲让与判别引挚”, “历史记录判别引挚”等多重判别技术,实现网页内容过滤。 在内容过滤系统的存在形式方面,主要分为独立的过滤软件、内容过滤防 火墙、附加于网络应用程序中的内容过滤功能等形式。在内容过滤技术的实现方 式上,目前大多数的产品都是基于代理的方式来实现的,代理在应用层上进行内 中山大学硕士学位论文 容处理,处理效率比较低,对硬件的处理速度有较高的要求,否则会对整个网络 的速度造成负面影响。 内容过滤是网络安全领域的一个新的分支,无论理论还是技术方面都远远 不够成熟,而我国在这方面的研究和开发又比国外起步慢,目前还处于初级阶段, 但另一方面国内市场对内容过滤方面的产品的应用需求十分巨大,因此这方面的 研究和发展空间比较大。 1 2 3 有待解决的问题 在防火墙方面,包过滤型的防火墙最大优点是过滤速度快,对网络性能的 影响低,主要缺点是无法处理应用层级别的安全问题,无论是静态包过滤还是基 于状态连接的包过滤都不能识别内容有危险的数据包。应用代理型的防火墙则相 反,工作在应用层,功能强大,安全性更高,但最大的缺点是速度比较慢,会对 网络性能造成影响。因此,如何结合两种类型的优点,做到既能保持包过滤的高 效性,又能实现内容级别的检查,是一个有待解决的问题。 在内容过滤方面,现有的几种过滤方式各具优点,各有用处,但毕竟内容 过滤技术总体来说还不够成熟,几种过滤方式都存在不少有待解决的问题,例如 u r l 库过滤方式中如何有效控制u r l 库的容量,如何应付不良网址频繁更改 u r l 等问题,智能语义分析过滤方式中如提高分析的效率和判断的准确率等问 题。对于关键字过滤方式,要解决的一个关键的问题就是如何设计匹配算法,提 供关键字匹配的效率。 1 3 本文的主要研究工作及特点 1 3 1 本文的研究内容及主要工作 本文研究并实现了一个基于多模式匹配的网络包过滤引擎,该引擎实现了 内容级别的数据包过滤,在过滤方式上采用了关键字方式,并采用专门设计的快 速多模式匹配算法来解决效率问题。主要的研究工作包括: 9 中山大学硕士学位论文 ( 1 ) 对防火墙架构、内容过滤技术和模式匹百己算法等相关领域进行了深入 的研究,指出了目前相关领域存在的问题。 ( 2 ) 设计了一种新的内容级别的包过滤系统的架构,该架构既保持了包过 滤方式的高效特点,又实现了内容级别的检查,突破了一般包过滤系统只能处理 包头信息的限制。 ( 3 ) 深入探讨了n e t g r a p h 机制,利用n e t g r a p h 机制设计并实现了过滤引擎 的数据包捕获模块。 ( 4 ) 设计了一种全新的快速多模式匹配算法,并用该算法实现了引擎的内 容检查模块,解决了关键字匹配的效率问题。 ( 5 ) 根据上述设计实现了本引擎,并在实际应用中测试了本引擎,验证了 本引擎的实用性。 1 3 2 本文研究成果的仓q 新点和应用价值 本文设计和实现的网络包过滤引擎有如下特色和创新之处: ( 1 ) 一般的包过滤系统只对数据包的头部信息进行处理,如源地址、目的 地址、端口号等,对数据内容的分析属于应用层的工作。但本文的包过滤引擎能 深入到内容级别,在保持包过滤方式的高效特点的前提下,实现内容级别的包过 滤。 ( 2 ) 本引擎利用n e t g r a p h 机制直接从网络底层捕获数据包,效率高,而且 直接处理原始数据包,不存在副本复制,突破了一般抓包机制通常只能旁路监控、 嗅探数据包的限制。目前市场上还没出现基于n e t g r a p h 机制的网络安全产品, 使用n e t g r a p h 抓包是一项新的探索。 ( 3 ) 为内容检查模块设计了一种全新的快速多模式匹配算法,该算法充分 结合了具体应用环境的特点和要求,分成预处理和匹配两个阶段执行,并采用了 两项加速措施,大大提高了关键字检查的速度。传统的模式匹配算法在本系统中 的应用效果都不理想,本算法的使用能有效地避免系统性能瓶颈的产生。 本课题是2 0 0 4 年度广东科技计划项目“基于n p 的新一代防火墙技术的研 究”( 项目编号:2 0 0 4 2 0 6 0 2 7 4 ) 的一个子课题,本课题的研究成果对整个课题的 10 中山大学硕士学位论文 研究有着重要的理论意义。同时,本文实现的过滤引擎已经被广州市天网安公司 采用到该公司生产的一款防火墙中,该款防火墙可广泛应用于学校、网吧、企业 等场所,满足人们日益增长的对内容级别安全防护方面的应用需求。 中山大学硕士学位论文 第2 章总体架构的研究与设计 2 1 现有体系架构的介绍与分析 目前网络数据监控与过滤系统存在着各种不同的架构,例如w i n d o w s 系统 下的n d i s 、u n i x 系统的b p f 架构、n e t f i l t e r 框架、基于s q u i d 的s q u i d g u a r d 等等。下面对几种常见的架构进行介绍和分析。 2 1 1 w m d o w s 系统下基于n d i s 的嗅探系统【1 9 】 n d i s ( n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n 网络驱动程序接口规范) 是微 软为网络接口卡( n i c ) 的局域网驱动程序提供的一种标准应用程序接口( a p i ) 。 n d i s 适用于服务器或工作站。n d i s 标准支持计算机通过不同的通信协议与网络 相连,如:t c p i p 、i p x 、n e t b l 0 s 、a p p l e t a l k 等。 在基于w i n d o w s 局域网环境下,可以利用系统提供的n d i s 机制来开发中 间驱动程序来完成对数据包的截获,然后交给用户级应用程序处理。w i n d o w s 系 统中的网络结构的简单拓扑关系如图2 1 所示: 图2 - 1w i n d o w s 下基于n d i s 的网络结构图 其中n d i sw r a p p e r ( n d i s 包装器) 是对外提供n d i s 接口的封装模块, 支持m i n i p o r t 、中间、p r o t o c o l 等3 种驱动程序。中间驱动程序同时具有 12 中山大学硕士学位论文 m i n i p o r t 驱动程序、p r o t o c o l 驱动程序接口,因此可设计一个n d i s 中间驱动 程序,置于网卡驱动和传输驱动之间用来截获流经网卡的数据包。其拓扑关系如 图2 2 : 脚汉 蹙毂动( t c o t l x s ) p r e t e e d l 接口 + m i n t e e f t 接黝 p r o t e c o i 接 m i n l l u ”t 接掰 链路蹬驱动氍黪 图2 - 2 安装n d i s 驱动后的结构图 利用n d i s 可以获得网络中流经主机的底层数据包的信息,因此可以利用 这种机制开发嗅探工具,对网络数据进行监控。 2 1 2 基于b p f 的架构【2 0 】 b p f ( b e r k e l e yp a c k e tf i l t e r ,b s d 包过滤器) 是一种应用广泛的包捕获机 制,目前u n i x 平台上多数嗅包工具,如t c p d u m p ,s n i f f i t ,n f r 等,都是基于b p f 开发的。 通常网卡驱动程序接收到一个数据包后,将其提交给系统的协议栈。如果 有进程用b f f 进行网络侦听,网卡驱动程序会先调用b p f ,复制份数据给b p f 的过滤器,过滤器则根据用户定义的规则决定是否接收此数据包。再判断这个数 据包是否是发给本机的,如果不是发给本机的,则网卡驱动程序从中断返回,继 续接收数据;如果这个数据包是发给本机的,驱动程序会再把它提交给系统的协 议栈,然后返回。 b p f 与l i b p c a p 结合可以设计出高效的包捕获应用系统。l i b p c a p 是劳伦斯 伯克利国家实验室网络研究组开发的u n i x 平台上的一个包捕获函数库,是一个 独立于系统的用户层包捕获的a p i 接口。l i b p c a p 支持基于b p f 体系的过滤机制。 l3 中山大学硕士学位论文 基于b p f 和h b p c a p 的包过滤系统框架如图2 3 所示: 图2 - 3 基于b p f 和h b p c a p 的包过滤系统框架如图 b p f 还有一个基于w i n d o w s 系统的版本,它就是n p f ( 也称为w i n p c a p ) 。 n p f 的主要思想与b p f 是一致的,其实就是b p f 在w i n d o w s 平台的变形。它的 设计目标是要为w i n 3 2 平台提供一个功能强大的开放式数据包捕获架构,使用 户能够在w i n d o w s 环境下直接开发的网络分析与管理软件,也可以把原来运行 在u n i x 系统中的许多分析工具经过简单的重新编译移植到w i n d o w s 中。【2 1 】 2 1 3n e t f i l t e r 框架机制 n e t f i l t e r 是l i n u x 内核版本升级到2 4 之后使用的防火墙框架,它使用了不 14 中山大学硕士学位论文 同于以前版本的机制,提供了一个抽象通用化的框架,具有以往版本框架都没有 的强大功能,包括包过滤、地址转换、数据报处理等。【2 2 】 n e t f i r e r 框架 2 3 1 包含以下几个部分:1 一套钩子函数,这些钩子函数在数 据报流过协议栈的几个关键点被调用;2 内核的任何模块可以对一个或多个钩 子进行注册,实现挂接,这样当某个数据包被传递给n e t f i l t e r 框架时,内核能检 测是否有任何模块对该协议和钩子函数进行了注册,若注册了,则调用该模块的 注册时使用的回调函数,这样这些模块就有机会检查该数据包、丢弃该数据包及 指示n e t f i l t e r 将该数据包传入用户空间的队列;3 那些排队的数据包被传递给 用户空间异步地进行处理,一个用户进程能检查数据包,修改数据包,甚至可以 重新将该数据包通过离开内核的同一个钩子函数中注入到内核中。 在数据报流过协议框架的关键点嵌入钩子函数是n e t f i l t e r 框架的重要组成 部分,它保证了调用用户函数对数据报进行处理。图2 4 显示了这几个关键点: 基瓣擞束自 氍籍冀霸嚣 簸器搬投静 辩蟠疆袖静 图2 4n e t t i l t c r 框架 其中,各标号的含义和功能如下:标号1 为n fi pp p r _ r o u t i n g 点,系 统完成目的地址转换。标号2 为n fi p _ l o c a li n 点,进行本地输人包的过滤。 标号3 为n f i p f o r w a r d 点,进行转发包过滤。标号4 为 n fi pp o s t _ r o u t i n g 点,进行源地址转换。标号5 为n f i p l o c a 】l - o u t 点,进行本地输出包的过滤和目的地址转换。 2 1 4 应用代理s q u i d 与s q u i d g u a r d 相结合的架构 15 中山大学硕士学位论文 s q u i d 是流行的代理服务器软件,它功能强大,支持对h t 耶,f f p ,g o p h e r , s s l 和w a i s 等协议的代理:它设置简单,只需对配置文件中稍稍改动就可使代 理服务器运转起来。s q u i d 具有页面缓存功能,它接收用户的下载申请,并自动 处理所下载的数据。也就是说,当一个用户象要下载一个主页时,它向s q u i d 发 出一个申请,要s q u i d 替它下载,然后s q u i d 连接所申请网站并请求该主页。粗 略地看,s q u i d 大概包含客户端、服务器端和存储系统。【2 4 客户端接受用户的 请求并进行相应的分析和处理;服务器端对没有命中的请求进行转发:存储系统 是s q u i d 的核心,它负责联系客户端和服务器端,是客户端和服务器端数据传输 的通道,它还负责缓存服务器的内存管理和文件系统管理。s q u i d 结构如图2 - 5 所示: 图2 - 5s q u i d 结构图 s q u i d g u a r d 是一个过滤器,作为s q u i d 的辅助软件,完成过滤、重定向和 访问控制的功能。2 5 它的功能主要包括:根据w e b 服务器或u r l s 列表限制一 些用户的访问;阻塞某些用户对黑名单上的w e b 服务器和u r l s 的访问;阻塞某 些用户对正则表达式匹配的u r l s 的访问;在u r l 路径加强了使用域名访问而 禁止用i p 访问;重定向阻塞的u r l s 到一个智能c g i 的信息页;重定向非授权 用户到一个注册页面;具有基于日期、每周、每天具体时间的访问规则;对不同 用户组有不同的规则。但是不能过滤、检查文档中的文本以及h t m l 中的 j a v a s c r i p t 或v b s c r i p t 脚本语言。可见,用s q u i d 和s q u i d g u a r d 建立的代理服务 器,可以有效的限制一些用户对i n t e r n e t 的访问并过滤一些黑名单列出的站点。 16 中山大学硕士学位论文 2 1 5 分析总结 分析以上几种网络数据监控和过滤的技术和体系结构,可以看出它们有各 自的特点和不足之处。 w i n d o w s 下的n d i s 、u n i x 下的b p f ( 及其w i n d o w s 版本n p f ) 的特点 是从直接从底层获取数据包,因此效率比较高,但也存在明显的不足:这些包捕 获机制都是嗅探型的,属于旁路系统,也就是说,以b p f 为例,当系统内核从 网卡截获数据包后,把数据包复制一份副本交给b p f 进行处理,原来的数据包 继续向后边进行传输。所以,这种架构只能实现对网络中的数据包进行嗅探的功 能,不能进行直接的截断和过滤,不能对数据包进行实时处理,因此,这种架构 适合于对网络数据进行旁路的监控和分析。 n e t f i l t e r 是l i n u x2 4 ( 及以后版本) 使用的内核框架,包括包过滤、地址 转换、数据报处理等功能,但是基于这个框架的程序也有不足:首先,n e t f f i t e r 只能检查i p 队列中的数据包,而数据链路层的数据帧里面可能封装了其他各种 非i p 协议,因此这种架构难以对付针对数据链路层的攻击;另外,n e t f f l t e r 是一 个已经定义好了的固定框架,因此开发者进行系统设计的灵活性的比较低。 基于s q u i d 的s q u i d g u a r d 已及其他基于代理架构的网络监控和过滤系统, 它们的特点是处理过程在应用层进行,可以利用应用层的丰富资源,如大量的函 数库等,提高应用开发的速度和质量,同时,能够对网络数据进行更多更灵活的 操作,除了可以对i p 、端口号等进行处理外,还可以对u r l 、数据内容进行监 控和过滤,甚至可以利用语义识别等技术对网络数据进行处理。而基于应用代理 架构的s q u i d g u a r d 的不足在于:首先,所有处理在应用层进行,代理服务器的 操作建立在系统套接字s o c k e t 的基础上,需要使用系统调用和系统提供的软中 断服务,运行效率大大降低;其次,由于s q u i d 利用r e a l s o c k e t 的技术进行数据 包处理,因此没法得到用户的e t h e m e t 帧头的信息,没法对物理地址进行处理。 再次,s q u i d 是显式代理,用户必须在各自的计算机上设置代理服务器的地址和 端口号,带来管理和操作的不便,而且这种基于代理的架构以端口号作为协议判 断的主要标准,存在局限性;最后,s q u i d 也是属于旁路系统,也存在数据的复 l7 中山大学硕士学位论文 制操作,增加了系统的负荷,降低了效率。 2 2 本引擎的总体架构的设计 本文所设计的网络数据过滤引擎是一个带内容检测的包过滤引擎,它的架 构与上面提到的几种架构都不同,它利用n e t g r a p h 机制【2 6 】从底层直接截获数据 包,属于非旁路型,而且在网络底层直接分析数据包的内容,实现在低层处理应 用层信息。引擎的总体架构如图2 - 6 所示: 图2 - 6 本引擎的总体架构图 从图中可见,本引擎主要包括两大模块:数据包捕获模块和内容检查模块。 数据包捕获模块利用内核子系统n e t g r a p h 来实现,该模块负责从物理介质 ( 通过驱动程序) 中截获数据包,然后交给内容检查模块进行处理,以及从内容 检查模块接收经检查合法的数据包,然后交回给驱动程序。该模块获取的不是数 据包的副本,而是真正指向数据包的地址指针,因此不是旁路型,而是对数据包 中山大学硕士学位论文 的真正截断。该模块主要运行在系统内核级。 内容检查模块负责对数据包的内容进行检查。它从数据包捕获模块中接收 到数据包后,运用本文设计的一种快速模式匹配算法检查数据包的内容中是否含 有非法的关键字,如果含有非法内容,则把数据包丢弃调,否则,把数据包交回 给数据包捕获模块进行处理。该模块在用户进程级别运行,以减轻系统内核的负 担和提高系统的稳定性与可扩展性。 图中粗线显示的是不包含非法内容的数据包通过引擎的路径,数据包来到 网卡后,被数据包捕获模块拦截住并抽取上去,然后进入内容检查模块,经检查 合法后,又被送回数据包捕获模块,再交回给底层的网卡,整个过程对用户是透 明的。如果数据包的内容不包含非法信息,会原封不动的交回给网卡驱程。另一 条细线显示的是包含非法内容的数据包被引擎拦截的情况,这样的数据包会被直 接过滤调。 图中还包括一个关键字管理维护模块,该模块可以对非法关键字进行增加、 删除等的管理与维护的工作。该模块不属于本文所讨论的过滤引擎的范围。 本文的过滤引擎的体系架构有如下的特点:首先,它不同于那些基于代理 的内容过滤系统,基于代理的架构是工作在应用层的,效率比较低,而本引擎在 底层处理数据包的内容,从网卡直接获取数据包进行分析,实现内容级别的包过 滤,而内容级别的分析本来是属于应用层的工作的,所以本引擎的架构是在低层 完成应用层的任务。另外,本引擎的架构也不同于基于b p f 或n d i s 的系统架 构,基于b p f 或n d i s 架构的系统是旁路型的,只是对数据包进行嗅探,而本 引擎不是一个旁路监控系统,它对原始数据包进行直接拦截,而不是仅仅处理原 始数据包的复制副本,因此能实现实时的包过滤。 19 中山大学硕士学位论文 第3 章数据包捕获模块的设计与实现 3 1 n e t g r a p h 机制的分析 3 1 1 剖析n e t g r a p h n e t g r a p h 是一个遵循u n i x 规范的内核子系统,称作“基于图的内核网络 子系统( g r a p hb a s e dk e r n e ln e t w o r k i n gs u b s y s t e m ) ”。n e t g r a p h 系统最初是由 w h i s t l e 通信公司在f r e e b s d2 2 版的基础上设计开发的,从f r e e b s d3 4 版本以 后,n e t g r a p h 被正式作为操作系统内核的一部分发布出来。 n e t g r a p h 是u n i x 已有内核网络机制的一种补充和扩展,它给网络应用程 序开发者提供了一种功能更强大、灵活性更高的途径,它在以下这些方面给开发 者带来益处:它提供了一种便于内核实体问进行内部通信的通用框架,提供了一 种结合协议和链路级驱动程序的灵活的方法,一种快速的基于内核的实旖方式, 一种实旌新协议的模块化的方法【2 7 】。 n e t g r a p h 由一系列的内核对象( 模块) 组成,这些内核对象称之为结点, 由这些内核对象的各种不同组合可以完成各种各样的网络功能。n e t g r a p h 的原理 可以形象的描述为:一系列的结点( n o d e s ) 通过钩子( h o o k ) 连接起来,这些 连接结点的钩子的形成边( e d g e s ) ,这些结点和边的组合就构成了一个 ( g r a p h ) , 数据就可以在这个图的结点之间流动。结点和边的组合不同,图的结构就不同, 于是数据流动的路径就不同。因此完成的功能也就不同。开发者可以根据实际的 需要,使用不同的结点搭建不同结构的图,从而实现所需的功能。 上面涉及了结点、钩子、边、图这几个n e t g r a p h 中的

温馨提示

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

评论

0/150

提交评论