




已阅读5页,还剩51页未读, 继续免费阅读
(计算机应用技术专业论文)支持文本分类过滤的通用代理服务器的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学硕士学位论文摘要 支持文本分类过滤的通用代理服务器 的设计与实现 摘要 随着信息技术的飞速发展和网络技术的普及应用网络信息安全的话题越来越为人们所 关注。网络信息安全是一个系统化、层次化的概念,有效的安全策略或方案的制定,则是网 络信息安全的首要目标。针对一系列的网络安全问题,产生了不同的计算机技术加以解决。 如今,防火墙技术、数据加密技术、入侵检测技术等等都有了长足的发展。然而与此同时, 人们发现信息内容本身对社会、国家和个人所产生的影响也是不容忽视的,因为通过互连网 传播的邪教邪说、反动言论、暴力文章、色情文学等等给人们的生产生活带来的负面影响是 巨大的。 为此,本文设计实现了一种支持文本分类过滤的通用代理服务器。应用代理技术实现访 问控制、身份认证和数据截取等等安全策略,同时采用文本分类技术对文本数据进行主题分 析,从而控制非法文本数据的传播。 介绍用代理实现网络数据的截取转发、数据的恢复和文本分类计算是贯穿全文的主线。 本文首先介绍了如何利用a c ef r a m e w o r k 构建高性能的通用的代理服务平台,该平台是系统 可用性的关键;然后以h t r p 和s o c k s 为例介绍了如何实现应用层代理;接下来详细介绍了 如何对流过代理的数据进行的恢复;最后详细介绍了如何用基于核心向量法的分类器 r o c c h i o 实现文本分类。 系统设计并实现的代理平台是一个可以方便配置扩展的通用代理平台,是多种网络并发 程序设计模式综合应用的一个具体实例。 关键词:信息安全代理服务器文本分类a c e 设计模式 东北大学硕士学位论文 a b s t r a c t d e s i g n a n d i m p l e m e n t a t i o n o fg e n e r a l p r o x y s e r v e r s u p p o r t i n g t e x t c a t e g o r i z a t i o n f i l t e r a b s t r a c t w i 如t h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g ya n dt h ew i d eu s eo fn e t w o r k t e c h n i q u e ,m o r ea n d m o r ea t t e n t i o n sa r e p a i dt ot h en e t w o r ki n f o r m a t i o ns e c u r i t y ( n i s ) n i si sa l a y e r e dc o n c e p t i o n a n dt h ed e s i g no f a 1 1e f f i c i e n ts e c u r i t ys t r a t e g yo rp l a ni st h e p r i m a r yt a r g e to f t h en i s ,a i m i n ga tas e r i e so fn i s p r o b l e m s ,v a r i o u st e c h n o l o g i e sa r ed e v e l o p e d n o w a d a y s ,t h e f i r ew a l lt e c h n i q u e s ,t h ed a t ae n c r y p t i o nt e c h n i q u e s ,a n dt h en i d st e c h n i q u e sa n ds oo na l l m a k eq u i e tg r e a tp r o g r e s s ,m e a n w h i l e ,i t s e a s yt of i n dt h a tt h ei n f l u e n c eo ft h ei n f o r m a t i o n c o n t e n ti t s e l fo ns o c i e t y ,c o u n t r ya n di n d i v i d u a lc a n n o tb ei g n o r e dt o o ;b e c a u s et h eh e r e s y si d e a s , t h ec o u n t e r a c t i o n sw o r d s ,t h ev i o l e n c ea r t i c l e s ,t h ee r o t i cl i t e r a t u r e se t ch a v eg r e a tn e g a t i v e a f f e c t so nt h ep e o p l e sd a i l yl i f e t h e r e f o r e ,i nt h i sp a p e r , ag e n e r a lp r o x ys e r v e rs u p p o r t i n gt e x tc a t e g o r i z a t i o nf i l t e ri s d e s i g n e da n di m p l e m e n t e d w i mt h es e c u r i t ys t r a t e g yo fa c c e s s i n gc o n 订0 1 t h ei da u t h e n t i c a t i o n a n dt h ed a t ai n t e r c e p te t ci m p l e m e n t e d b y t h ea p p l i e a t i u no f p r o x y t e c h n i q u e s ,a n dt h ea n a l y s i so f t h et o p i co ft h et e x tu s i n gt o p i ca u t h e n t i c a t i o n t e c h n i q u e ,t h e d i s t r i b u t i o no fi l l e g a lt e x ta r e f o r b l d d e n d a t ai n t e r c e p t i o na n dt r a n s m i tt h r o u 【g ht h ep r o x ys e r v e r , t h ed a t ar e s u m e ,a n dt h et e x t c a t e g o r i z a t i o nc o m p u t i n g a r et h em a i n s u b j e c to f t h ew h o l ec o n t e n t f i r s t l y , i nt h i sp a p e r , h o wt o c r e a t eag e n e r a lp r o x ys e r v i c ep l a t f o r mu s e da c ef r a m e w o r ki si n t r o d u c e dw h i c hi sc r i t i c a lf o r t h es y s t e m sa v a i l a b i l i t y t h e nt h ei m p l e m e n t a t i o no fh t t p p r o x ya n ds o c k sp r o x yi sg i v e n , s e c o n d l y ,d e t a i l so f r e c o v e r i n gt h et e x td a t af l o w i n ga c r o s st h ep r o x ya r er e p r e s e n t e d f i n a l l y ,t h e i m p l e m e n t a t i o no ft e x tc a t e g o r i z a t i o nu s i n gt h er o c c h i ob a s e do nt h ev e c t o rs p a c em o d e l a l g o r i t h mi sd i s c u s s e d t h eg e n e r a lp r o x ys e r v i c ep l a t f o r mi sf e a t u r e dw i t he a s ye x t e n s i o n m o r e o v e r , t h i sp l a t f o r m i sa 1 1i n s t a n c eo f u s i n gs e v e r a ld e s i g np a t t e r n so f n e t w o r k c o n c u r r e n c yp r o g r a m m i n g k e y w o r d s :n i s ,p r o x ys e r v e r ,t e x tc a t e g o r i z a t i o n ,a c e ,d e s i g np a t t e r n s 声明 本人声明提交的学位论文是在导师的指导下完成的。论文中取得 研究成果除加以标注和致谢外,不包含其他人已经发表的研究成果。 和我在一起工作的同学和老师所做的工作和帮助均在论文中说明并 表示感谢。 本人签名:垂p 宵奔 日期:谰啦2 j 铲 东北大学硕士学位论文第1 章引言 1 1 研究背景 第1 章引言 随着信息技术的飞速发展和网络技术的普及应用,网络信息安全越来越成为人们关注的 话题。信息安全是- - f 7 涉及计算机科学、网络技术、通信技术、密码技术、人工智能技术, 信息论等多种学科的综合性学科【2 】。从广义来说,凡是涉及到网络上信息的保密性、完整性、 可用性、真实性和可控性的相关技术和理论都是网络信息安全的研究领域。 从技术和应用角度来看,网络信息安全是一个层次化的安全概念。包括网络及其设备的 安全、数据及其传输的安全以及信息内容的安全三个层次。网络及其设备的安全,简单的说 就是保证相关的网络设备、操作系统、以及整体的或局部的网络结构在物理上和逻辑上的安 全性;数据及其传输的安全就是要保证数据本身、以及在传输过程中的数据不被窃听、冒充、 篡改、抵赖,保证其物理上和逻辑上的安全和完整:信息内容安全则是指信息所反映的内容 不会给社会、国家和个人造成相关的影响、损失或者伤害。 1 1 1 网络安全技术 针对一系列网络安全问题,产生了不同的计算机技术以解决现有的安全问题。目前常用 的计算机安全技术包括主机安全技术、身份认证技术、访问控制技术、数据加密技术、防火 墙技术、安全审计技术、安全管理技术、系统漏洞检测技术、黑客跟踪技术等等。各种技术 相辅相成。下面将对其中的某些具体技术做简要介绍。 ( 1 1 防火墙 防火墙是一种必不可少的安全增强点,它将不可信网络同受信网络隔离开。防火墙筛选 两个网络间所有的连接,决定哪些传输被允许,哪些被禁止。这一决定基于由安全管理者制 定的某一形式的安全策略。 防火墙的发展史”j : 第一代防火墙技术几乎与路由器同时出现,采用了包过滤( p a c k e tf i l t e r ) 技术。 1 9 8 9 年,贝尔实验室的d a v ep r e s o t t o n h o w a r dt r i c k e y 推出了第二代防火墙,即电路层 防火墙,同时提出了第三代防火墙应用层防火墙( 代理防火墙) 的初步结构。 1 9 9 2 年,u s c 信息科学院的b o b b r a d e n 开发出了基于动态包过滤( d y n a m i cp a c k e tf i l t e r ) 技术的第四代防火墙,后来演变为目前所说的状态监视( s t a t e f u li n s p e c t i o n ) 技术。1 9 9 4 年, 以色列的c h e c k p o i n t 公司开发出了第一个基于这种技术的商业化的产品。 1 9 9 8 年,n a i 公司推出了一种自适应代理( a d a p t i v ep r o x y ) 技术,并在其产品n g a u n t l e t f i r e w a ! f o rn t 中得以实现,给代理类型的防火墙赋予了全新的意义,可以称之为第五代防 火墙。 数据加密 防火墙技术是一种被动的防卫技术,加密则是一种主动的防卫手段。在网络应用中一般 东北大学硕士学位论文第1 章引言 采取两种加密形式”】:秘密钥和公开密钥。采用何种加密算法要结合具体的应用环境和系统, 不能简单地根据其加密强度做出判断。因为除了加密算法本身之外,密钥合理分配、加密效 率、现有系统的结合性以及投入产出分析等等,都应在实际环境中具体考虑。 对于秘密钥( 又叫私钥加密和对称密钥加密) ,其常见加密标准为d e s 。当使用d e s 时, 用户和接受方采用6 4 位密钥对报文加密和解密;当对安全性有特殊要求时,则要采取i d e a 和三重d e s 等。作为传统企业网络广泛应用的加密技术,秘密钥效率高,它采用k d c 来集中 管理和分发密钥并以此为基础验证身份,但是并不适合i n t c m e t 环境。 在i n t e r a c t 中使用最多的是公钥系统,即公开密钥加密。它的加密密钥和解密密钥是不 同的。一般对于每个用户生成一对密钥后,将其中个作为公钥公开,另外一个则作为私钥 由用户自己保存。常用的公钥加密算法是r s a 算法,其加密强度很高。由于此种方法加密强 度高,并且不要求通信双方事先要建立某种信任关系或共享某种秘密,适合在i n t e m e t 环境 f 应用。 o ) a 侵检测 入侵检测技术是为保证计算机系统的安全而设计与配置的种能够及时发现并报告系 统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。违 反安全策略的行为有:入侵( 非法用户的违规行为) 、滥用( 用户的违规行为) 等。 利用审计记录,入侵检测系统能够识别出任何不希望有的活动,从而达到限制这些活动, 以保护系统的安全。入侵检测系统的应用,能使在入侵攻击对系统发生危害前,检测到入侵 攻击,并利用报警与防护系统驱逐入侵攻击。在入侵攻击过程中,能减少入侵攻击所造成的 损失。在被入侵攻击后,收集入侵攻击的相关信息,作为防范系统的知识,添加入知识库内, 以增强系统的防范能力。 1 1 2 文本分类 文本分类是人工智能领域的一个具体应用,是自然语言理解的一个研究方向。 自然语言理解,也称计算语言学,它是研究如何利用计算机来理解和生成自然语言的一 门科学【l “。从宏观上看,自然语言理解就是使计算机能够执行人类所期望的某些语言功能, 包括理解并回答人们用自然语言提出的有关问题;生成文本摘要和对语意进行释义:把一种 自然语言表示的信息自动翻译成另外一种自然语言等等。 自然语言理解的研究始于5 0 年代,直至7 0 年代,可以说基本上停留在使用阶段,属于纯 理论的探讨。到了8 0 年代出现了突破性进展。大约从1 9 8 3 年开始,国外自然语言软件进入了 商晶市场,标志着进入一个新的起点。进入九十年代,m m 公司推出了卓越的语音识别产品 v i a v o i c e 连续语音识别的正确率达n 8 5 0 o 以上,国内也推出手写汉语输入系统。未来的发 展目标是使更多的人使用计算机,计算机具有更加人性化的界面。新技术、新理论的不断发 展,将自然语言处理的研究引向非常广泛的应用领域。新一代计算机和智能机器人的研究和 开发,使得自然语言( 书面的和语音的) 的机器理解成为当今人工智能中最活跃的领域之一, 创立了计算语言学的新的受人极大重视的学科。它们的应用涉及: 智能计算机的人机终端接口: 机器人语言对话接口系统; 大型数据库的自然语言查询接口; 东北大学硕士学位论文第1 章引言 专家系统的自然语言界面: 计算机辅助设计、辅助教学和办公自动化的人机交互系统; 计算机自动书写、摘要提取、文档自动分类和文书在线自动管理; 信息系统的主题自动检索和分点处理系统; 大型工业操作、控制过程的自动化语言和准自动化语言; 文学和社会科学的文档和语料计算机自动处理; i n t e m e t 上信息的检索和内容的安全过滤。 作为研究方向之一的文本分类技术,同样也有了长足的发展,结合不同的技术和理论出 发点分别产生了多种分类方法【”】。目前,文本分类技术的实现方法主要分为以下几种: r o c c h i o 方法; n a i v e b a y e s : k n n 方法; 决策树方法d e c i s i o nt r e e ; d e c i s i o nr u l ec l a s s i f i e r : t h ew i d r o w h o f f c l a s s i f i e r : 神经网络方法n e u r a ln e t w o r k s ; 支持向量机s v m ; 基于投票的方法( v o t i n g m e t h o d ) 。 它们采用的策略分别是:基于统计的方法、基于知识规则的方法、统计和知识规则相结 合的方法。 1 2 课题的出发点 前面提到了网络信息安全的层次概念:网络及其设备的安全,数据及其传输的安全,以 及信息内容的安全三个层次。 在实际构造的安全系统中,每一个层次的重要性都不容忽视。就网络及其设备层的安全 来说,采用防火墙、入侵检测等等的技术尽可能的防止非法的入侵和破坏,保证网络和应用 系统相对安全的重要性已经显而易见。就数据及其传输的安全来说,采用加密等等技术来保 证数据传输的安全性、正确性、完整性的重要性也已经为大家所共识。就信息内容安全来说, 阻止各种邪教言论对社会的影响;防止各种台独、反动言论对国家的影响;限制各种宣扬色 情,暴力等等的文章对缺乏鉴别能力的青少年思想的影响,也已经成为信息安全必须关注的 问题。 本文设计实现的支持文本分类过滤的通用代理服务器,就是融合了代理防火墙技术和主 题分析技术,关注网络及其设备的安全和信息内容安全两个层次而提出的综台网络安全系 统。该系统既可以理解为代理型防火墙技术的扩展应用,也可以理解为文本分类技术在网络 安全中的具体实现。 东北大学硕士学位论文第1 章引言 1 3 论文的组织结构 本文讨论了支持文本分类过滤的通用代理服务器的设计与实现,全文共分为七章: 第1 章引言,介绍了信息安全的分层概念,同时对本文所研究问题的背景和课题的出发 点做了相关描述。 第2 章系统功能与实现技术,对系统的功能进行了概括的分析描述。网络数据截取、数 据恢复、文本分类计算是贯穿本论文的关键技术和主线。本章对关键技术的实现方案进行了 分析、比较和选择。介绍了选择代理技术作为数据截取平台、选用基于核心向量法的分类器 作为分类计算模块的原因。 第3 章代理服务的实现,本章是系统实现的关键所在,其中首先比较了常用的代理平台 实现技术,然后介绍了a c ef r a m e w o r k 的特点和为什么选择它作为平台的支撑技术,接下来 详细介绍如何用a c ef r a m e w o r k 中的相关模式实现高性能的通用代理平台。晟后描述了 h t t p 代理和s o c k s 代理的实现过程。 第4 章数据恢复的实现,详细描述了m 1 甲协议、s m t p 协议、p o p 3 协议,为了进行内 容主题分析而进行的文本数据还原过程。同时概括描述了数据还原过程中遇到的传输编码和 字符集编码的问题。 第5 章文本分类的实现,概述了文本分类技术,介绍了基于核心向量模型的分类器的工 作原理以及r o e c h i o 分类器的使用。 第6 章系统的设计与实现,给出了系统的结构图,描述了系统的工作流程,并详细介绍 了系统各个模块的实现。 第7 章结束语,对论文作综述,同时讨论了系统的适用性和扩展性。 - d 东北大学硕士学位论文第2 章系统功能与实现技术 第2 章系统功能与实现技术 本章将首先概述系统所耍实现的功能。系统功能的实现大致可分为三个步骤:一是传输 数据的截取,二是对截取的数据进行恢复,三是对恢复后的数据进行文本分类处理。然后分 析每个步骤所能够采用的不同实现方案。在比较各个方案的优缺点后,选择出具体的实现方 法。 2 】系统的功能 系统最终要实现的功能是对在内部网络和外部网络之间传输的数据进行分析,通过对其 中恢复出来的文本进行分类计算,了解传输数据所包含豹实际内容是什么,比如是否是有害 青少年身心健康的色情暴力文章等等,根据分析的结果确定相应的访问规则。 系统的设计目标如下: 系统应该具有处理高效和运行稳定的特点; 应该能够方便配置和维护; 能够进行多种网络协议的数据分析; 支持便捷的协议扩展; 能够处理多种文本数据编码格式; 支持便捷的编码格式处理扩展; 要求文本分类计算速度快并且有较高的准确率。 系统首先要实现对传输数据的截取,然后对深层次的数据进行原文恢复并且进行文本分 类处理。与简单的依据主机目的地址和目的端口进行转发的代理系统相比,前者对于性能和 效率有着较为苛刻的要求。 2 2 数据截取技术的选择 要实现文本数据的分类必须首先截获到传输的数据,然后送到上层进行协议分析,对文 本数据进行恢复。因而,有必要介绍一下数据截取技术。 顾名思义。数据截取就是从网络中截取正在传输的数据。显然,根据网络协议分层的特 点,截取可以在不同的网络层实现,例如链路层,网络层,应用层。同时,由于操作系统平 台的差异,截取的实现方法也略有不同。 下面首先简要介绍w i n d o w s 和u n i x 、l i n u x 系统平台中常用的数据截取手段。 2 2 1w i n d o w s 系统平台上的n d i s n d i s ;黾m i c r o s o n 提出并创建的一个网络驱动程序界面规范,b f l n e t w o r kd e “c e i n t e r f a c es p e c i f i c a t i o n ,是为了提高编写网络驱动程序的效率。使各种协议驱动在各种网卡之 间独立而设计的种接口规范。这个规范为原本复杂的网络驱动程序编写框架提供一个并不 东北大学硕士学位论文第2 章系统功能与实现技术 严格的封装,在这个规范下。编写网络驱动程序时系统有关函数都变换为通过n d i s s y s 这个 接口,而内部实现的细节由n d i s s ”实现,这样,不仅提高了编写效率,而且也增强了驱动 程序的强壮性、可维护性、设备独立性等性能。 基于n d i s 的网络驱动程序有三种类型,网络接口卡驱动程序、中间层驱动程序、高层 协议驱动程序。在不同协议驱动程序类型中都可实现数据截取。同时,n d l s 还提供t i p h o o k 功能,以实现独立于设备驱动的数据截取。 ( 1 ) 网络接口卡驱动程序 网络接口卡( n i c ) 驱动程序管理网络接口卡,n i c 驱动程序在它的下端直接控制网络 接口苦硬件,在它的上端提供一个较高层的驱动能够使用的接口,这个接口一般完成以下的 一些任务:初始化网卡,停止网卡,发送和接收数据包,设置网卡的操作参数等等。 n i c 驱动程序分为以下两种: 无连接的微端口驱动程序 无连接的微端口驱动程序( c o l m e c t i o n l e s sm i n i p o r td r i v e r s ) 是控制无连接的网络介质 上的网卡的驱动程序,例如以太网( e t l l e m e t ) 、光纤分布式数据接口( f d d i ) 、令牌网( t o k e n r i n g ) 。 面向连接的微端口驱动程序 面向连接的微端口驱动程序( c o m l e c f i o n - o f i e n t e dm m i p o r td r i v e r s ) 是控制面向连接的 网络介质上的网卡的驱动程序,像异步传输模式( a t m ) 等。 ( 2 ) 中间层驱动程序 中间层驱动程序( i n t e r m e d i a t e p r o t o c o l d r i v e r ) 在协议驱动程序和微端口驱动程序之间。 在高层的传输层驱动程序看来,中间层驱动程序象一个微端口驱动程序,而在底层的微端口 驱动程序看来,中间层驱动程序象一个协议驱动程序。使用中间层驱动程序的最主要的原因 是在一个已经存在的传输层驱动程序和一个新使用的,传输层驱动程序并不认识的媒体格式 的微端口驱动程序中相互转换格式,即充当翻译的角色;对网卡适配器接收到的报文进行分 析,实现包过滤:实现多适配器的负载平衡。 ( 3 ) 高层的协议驱动程序 像各种t c p i p 协议一样,一个协议驱动程序完成t d i 接口或者其它的应用程序可以识别 的接口来为它的用户提供服务。这些驱动程序分配数据包,将用户发来的数据拷贝到数据包 中,然后通过n d i s 将数据包发送到低层的驱动程序,这个低层的驱动程序可能是中间层驱 动程序,也可能是微端口驱动程序。当然,它在自己的下端也提供一个协议层接口,用来与 低层驱动程序交互,其中最主要的功能就是接收由低层传来的数据包,这些通讯基本上都是 由n d i s 完成的。 2 2 2u n i x 系统平台上的l i b p c a p 等 在u n i x ,l i n u x 等系统平台上的网络安全工具开发中,目前最为流行的ca p il i b r a r y 确r l i b n e t 、l i b p c a p 、“b n i d s 和l i b i c m p 等。它们分别从不同层次和角度提供了不同的功能函数。 使网络开发人员能够忽略网络底层细节的实现,从而专注于程序本身具体功能的设计与开 发。其中: 6 东北大学硕士学位论文 第2 章系统功能与实现技术 ( 1 ) l i b n e t l i b n e t 提供的接1 2 函数主要实现和封装了数据包的构造和发送过程。l i b n e t 库的版本 1 0 o 中共约7 6 0 0 i y c 源代码,3 3 个源程序文件。1 2 个c 头文件,5 0 余个自定义函数,提供的 接口函数包含1 5 种数据包生成器和两种数据包发送器( i p 层和数据链路层) 。目前只支持 i p v 4 ,不支持i p v 6 。 l i b n e t 提供的接口函数按其作用可分为四类: 内存管理( 分配和释放) 函数: 地址解析函数; 数据包构造函数; 数据包发送函数。 ( 2 ) l i b p e a p l i b p c a p 提供的接口函数主要实现和封装了与数据包截获有关的过程。l i b p c 印的英文意 思是p a c k e tc a p t u r el i b r a r y ,即数据包捕获函数库。该库提供的c 函数接口可用于需要捕获 经过网络接口( 只要经过该接口,目标地址不一定为本机) 数据包的系统开发上。a b e r k e l e y 大学l a w r e n c eb e r k e l e yn a t i o n a l l a b o r a t o r y 研究院的v a nj a c o b s o n 、c r a i gl e r e s 和s t e v e n m c c a n n e 编写,目前的最新版本为0 4 。该函数库支持l i n u x 、s o l a r i s 和* b s d 系统平台。 ( 3 ) l i b a i d s l i b n i d s 提供的接口函数主要实现了开发网络入侵监测系统所必须的一些结构框架。 l i b n i d s 的英文意思是n e t w o r ki n t r u s i o nd e t e c ts y s t e ml i b r a r y ,即网络入侵监测系统函数库。 它是在前面介绍的两种c 函数接口库l i b n e t 和l i b p c a p 的基础上开发的,封装了开发n t d s 所需 的许多通用型函数。l i b n i d s 提供的接口函数监视流经本地的所有网络通信,检查数据包等。 除此之外,还具有重组t c p 数据段、处理分片包和监钡u t c p 端口扫描的功能。利用l i b n i d s 接口函数库,n 1 d s 开发者不需要再编写底层的嬲络处理代码,只需专注于n i d s 本身功能的 实现即可。 ( 4 ) l i b i e m p l i b i e m p 相对较为简单,它封装的是i c m p 数据包的主要处理过程( 构造、发送、接收等) 。 2 2 3 基于代理的数据截取技术 作为代理技术,它可以看作独立于操作系统平台的应用层数据截取技术。 代理服务是运行于内部网络与外部网络之间的主机( 堡垒主机) 之上的一种应用【i l 。当 用户需要访问代理服务器另一侧主机时,对符合安全规则的连接,代理服务器会代替主机响 应,并重新向主机发出一个相同的请求。当此连接请求得到i 圊应并建立起连接之后,内部主 机同外部主机之间的通信将通过代理程序将相应连接映射来实现。对于用户而言,似乎是直 接与外部网络相连的,代理服务器对用户透明。由于代理机制完全阻断了内部网络与外部网 络的直接联系,保证了内部网络拓扑结构等重要信息被限制在代理网关内侧,不会外泄,从 而减少了黑客攻击时所需的必要信息。 代理服务器的应用也受到诸多限制。首先是当一项新的应用加入时,如果代理服务程序 不予支持,则此应用不能使用。解决的方法之一是自行编制特定服务的代理服务程序,但工 作量大,而且技术水平要求很高,一般的应用单位无法完成。其次是处理性能远不及状态检 东北大学硕士学位论文第2 章系统功能与实现技术 测高。 就基于代理的数据截取来讲,它应该属于应用层的数据截取技术,无论是客户与代理之 间还是服务器与代理之间,代理接收到的都是应用层协议的数据。所以,基于代理的数据截 取策略的数据处理相对简单,但是处理速度相对缓慢。 ( 1 ) 代理的优点 实现网络内部结构的隐藏: 提供安全级别比包过滤防火墙高 代理型防火墙可以配置成唯一可被外部看见的主机,这样可以保护内部主机免受外 部主机的攻击: 可以强制执行用户认证; 代理工作在客户机和真实服务器之间,完全控制会话,所以能提供较详细的审计日 芯。 但1 代理的缺点 代理的速度比包过滤慢; 代理对用户不透明: 对于每项服务代理可能要求不同的服务器。 2 2 4 方案的比较与选择 如果从分层的网络体系结构的角度考虑,上述的数据截取技术可分另对应到不周的网络 层次当中。它们的对应关系如下: w i n d o w sn d i s 对应链路层和网络层: u n i x 、l i n u x 等等平台下的l i b p e a p 、l i b n i d s 对应链路层和网络层; 代理服务技术对应处理的协议层次是应用层; 另外,还有一种w i n d o w s 平台下的技术叫做i ph o o k ,所应用的w i n d o w s 平台上 的h o o k 技术实现对网络协议层的钩挂,它所对应的是传输层。 总的来说,数据截取所在的层次越低,能够进行的处理操作的能力就越强但作为具体 应用的处理而言复杂性也越大。例如,要得到应用层的数据,并对数据进行分析,如果从链 路层实现截取,那么截取到的将是l l c 或h d l c 的协议数据,接下来要对该数据进行分析, 恢复得到依次是网络层、传输层、应用层的数据。虽然在这里的协议分析过程可以仅仅针对 有相应处理霉要的“有用”数据,忽略其它的部分,但是相对从传输层上面直接截取应用层 数据而言,其处理的复杂性无疑增加了许多。同时,相对而言,上层截取处理的运行效率要 低下卜- 层截取处理的运行效率。 在本系统当中我们的目标是实现对于网络数据的深层次分析,要处理的数据是文本数 据,所处的协议层次是应用层。因而选择位于应用层的代理技术将无疑大大降低系统实现的 复杂性。 但同时,由于代理技术所在的实现层次是传输层以上的应用层,转发的处理效率显然要 受到相应的影响。因而,如何实现高性能的代理将成为系统是否可用的关键所在。 8 一 东北大学硕士学位论文第2 章系统功能与实现技术 2 3 数据恢复技术概述 对于从应用层截取到的网络数据,想要进行数据内容的分析处理必须要将数据进行恢 复。在系统实现中,应用层协议选择应用晟为普遍的h r r p 协议”、s m t p 协议9 1 和p o p 3 协议 】,实现了在进行文本提取还原时所要解决的实际问题。包括传输数据类型的识别,传输 编码的识别和恢复,传输数据格式的识别,字符编码集的识别等等。对于字符集编码的识别 及传输数据格式的识别等方法在不同的协议之间有着一定的通用性。 2 4 文本分类技术概述 文本分类的问题一直是自然语言处理领域的一个重要课题”7 l 。近年来,国内外研究人 员对文本分类问题进行了深入的研究,它们采用很多不同的方法来构造分类器,例如:k n n 、 n a i v e b a y e s 、m a x i m u m e n t r o p y 、s v m 、r o c c h i o 、d e c i s i o n t r e e 、n n e t 、l l s f 等等。 r a i n b o w 分类器工具包是c m u 提供的用于文本分类处理的开放原代码的工具包,它实现 了多种常用的分类器。 就本系统的实际需求而言,所要实现的是对网络当中正在“流动”的数据进行截取,对 应用层的数据进行恢复,并对恢复成文本数据进行分类处理。整个处理过程是阻塞的、实时 的。因而对于分类器所能达到的分类处理速度有相对较高的要求。 对于上述r a i n b o w 当中实现的多个分类器,在咀上的各类实现方法中,基于核心向量法 的r o c c h i o 分类器,是一种相对较为简单的分类处理方式,实际的分类过程仅仅需要对预处 理过的文本进行复杂度为o ( n ) 扫描即可得到分类的结果,而且分类器的训练简单、方便、 易用。因而,系统选择r o c c h i o 分类器作为分类处理的实现模块。 2 5 本章小结 本章首先简要描述了系统所要实现的功能。接下来针对系统实现时所涉及关键的技术进 行了分析描述,并对采用何种技术实现数据截取,以及所采用的文本分类器进行了选择。 东北大学硕士学位论文第3 章代理服务的实现 第3 章代理服务平台的实现 作为数据恢复和文本分类的支撑平台,基于代理的数据截取必须考虑实现方案的整体性 能和执行效率。a c e 自适配通信环境( a d a p t i v ec o m m u n i c a t i o ne n v i r o n m e n t ) 2 1 1 是一种面向 对象( o o ) 的工具包,它实现了通信软件的许多基本的设计模式。a c e 的目标用户是在u n i x 和w i n 3 2 平台上开发高性能通信服务和应用的开发者,在其中实现了许多用于并发通信软件 的核心模式。本章将首先描述如何利用a c ef r a m e w o r k 构建高性能的代理服务器。 s o c k s 代理和h t t p 代理是应用最为广泛的两种代理协议。本章也将对s o c k s 代理和 h 1 f r p 代理的实现流程做具体介绍。 3 1 实现框架 3 1 1 性能需求分析 代理服务平台必须提供较高的服务质量,因为对于数据的深层次分析要占用一定的计算 处理时间,如果平台的并发性、稳定性、可扩展性不高,将会成为整个系统的瓶颈,从而在 根本上影响系统的可用性。 具体的说,平台的设计实现应该具备以下基本特点: 允许应用并行地处理多个客户请求:并发对象驻留在它们自己的线程控制中,而不 是使用单线程被动对象及这些对象在调用其方法的客户的线程控制中执行它们的方法。但 是,如果对象并发执行,且这些对象被多个客户线程共享,我们必须同步对它们的方法和数 据的访问。 对对象方法的并发调用不应阻塞整个进程,以免降低其它方法的q o s :例如,如果 在我们的网关中,一个外出的到消费者的t c p 连接因为流控制而阻塞网关进程仍应该能 在等待流控制缓解的同时,排队新的消息。同样地,如果其它外出的t c p 连接没有被流控 制,它们应该能独立于任何阻塞连接发送消息给它们的消费者。 对共享对象的同步访问应该很简单:如果开发者必须显式地使用低级同步机制,比 如像获取和释放互斥锁( m u t e x ) ,常常难于对网关这样的应用进行编程。一般而言,当对 象被多个客户线程访问时,需进行同步约束的方法应该被透明地序列化。 应用应设计为能透明地利用硬件软件平台上可用的并行机制:在我们的网关例子 中,发往不同消费者的消息应该被网关并行地在不同的t c p 连接上发送。但是,如果整个 网关被编写为仅在单个线程控制中运行,性能瓶颈就不可能通过在多处理器上运行网关而被 透明地克服。 3 1 2 常用代理实现方法的比较 在现今的操作系统和平台中,常见的代理服务的实现方式归纳起来大致分为以下几种: 基于单线程的循环处理结构,基于多线程的线程池并发处理结构( t h r e a dp 0 0 1 ) ,基于多线程 1 0 东北大学硕士学位论文第3 章代理服务的实现 的产生式结构( p e rt h r e a d ) ,基于异步i o 的并发处理结构口“。下面将简要介绍这几种方法的 适用环境和优缺点。 ( 1 ) 基于单线程的循环处理结构 所有服务都由一个线程负责执行。线程在初始化时设置监听端口,绑定接收。然后开始 执行循环处理,等待连接的到来并为之服务。 基于单线程的循环处理结构的服务模式的优点是处理简单,代码实现方便,系统资源占 用少,不需要实现资源或者线程的同步操作。 相对而言,不足之处就是不支持并发,在服务器处理一个连接请求的同时无法为其它的 请求进行代理服务。 所以,该方法适用于连接请求数量较少。系统实时性要求不高的服务环境中,它可以提 供简洁有效的代理服务。 ( 2 ) 基于多线程的线程池并发处理结构 线程池( t h r e a dp 0 0 1 ) 方式的实现方法是在服务初始化是一次分配固定数量的线程,并 且等待客户的连接。当个客户连接到来时,由线程池中的任意一等待线程接收并进行处理。 处理过程相对与其它线程是独立的,其它线程继续等待。当处理结束后,线程由线程池回收, 继续阻塞等待新连接的到来。 线程池方式的优点是由系统预先分配线程节省了当连接到来时新派生线程的开销,同 时,易于对工作现成进行统一管理,服务效率高,并发处理能力强。 缺点是固定数量的线程配置对急剧突发的请求处理不能进行动态的调整。同时,预留的 线程资源占用了在轻负载时候的系统开销。 所以,线程池模式适用于连接请求数量相对稳定,对处理实时性要求较高的服务环境中, 能提供稳定的处理服务。 ( 3 ) 基于多线程的产生式结构 不同与线程池模式,产生式( p e r t h r e a d ) 结构由一个监视线程进行守候,等待客户端的 连接。当一个请求到来时,由监视线程产生一个独立的线程进行处理。处理过程相对与其它 线程趄独立的。当处理结束后,线程资源自动由系统回收释放。 产生式结构的优点是处理突发连接的能力强,其限制仅存在与系统硬件平台中。服务可 以根据连接请求的数量动态的调整服务线程数量。 缺点是每次由监视线程新创建一个处理线程的开销相对较大。从而影响了服务的服务质 量和实时性。 ( 4 ) 基于异步i o 的并发处理结构 同步多线程是一种流行的机制用于开发同时执行多个操作的应用。但是,线程常常有 很高的性能开销,并且需要对同步模式和原理有深入的了解。现代操作系统为开发并发应用 提供了多种机制。有越来越多的操作系统支持异步机制,在减少多线程的大量开销和复杂性 的同时,提供了并发的好处。 当应用程序调用异步操作时,o s 代表应用执行此操作。这使得应用可以让多个操作同 时运行,而又不需要应用拥有相应数目的线程。因此,通过使用更少的线程和有效利用o s 对异步操作的支持,并改善了性能。 东北大学硕士学位论文第3 章代理服务的买现 3 1 3 实现方案的选择 考虑到系统的并发性要求、处理性能要求和对突发请求的扩容能力,认为应该根据不同 的处理环境动态选择不同的处理策略。郎在请求数量稳定时采用高效的线程池结构,对于支 持异步的操作系统可选用异步f o 结构,在出现不常见的突发请求时采用产生式结构。不同 的结构之间通过支持运行期配置的策略模式( s t r a t e g y ) 口4 1 来实现配置的转换。 3 1 4a c ef r a m e w o r k 概述 a c e 自适配通信环境( a d a p t i v ec o m m u n i c a t i o ne n v i r o n m e n t ) 是可以自由使用、开 放源码的面向对象( o o ) 构架( f r a m e w o r k ) ,在其中实现了许多用于并发通信软件的核心 模式。a c e 提供了一组丰富的可复用c + + w r a p p e r f a c a d e ( 包装外观) 和构架组件,可跨越 多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、 服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态( 重) 配置、并发执 行和同步等等l l 。 a c e 的目标用户是高性能和实时通信服务和应用的开发者。它简化了使用进程间通信、 事件多路分离、显式动态链接和并发的o o 网络应用和服务的开发。此外,通过服务在运行 时与应用的动态链接,a c e 还使系统的配置和重配置得以自动化 a c e 含有一个商级的网络编程构架,集成并增强了较低层次的c + + w r a p p e rf a c a d e 。该 构架支持将并发分布式服务动态配置进应用当中。a c e 的构架部分包含以下组件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网购退款协议书范本
- 物资置换协议书范本
- 广告宣传授权委托协议书范本详细解读
- 智能制造园区场地使用权出让合同范本
- 车辆运输合同模板:长途货运车辆运输与保险
- 餐饮店员工培训与发展协议
- 主题餐厅投资合作及品牌输出协议
- 高原桥梁混凝土抗冻配比研究与应用
- 2024年高考语文二轮复习专题3散文阅读突破练12词句理解与表达技巧赏析
- 上消化道碘水造影护理
- 打胎分手后协议书
- 2024年辽宁省沈阳市中考一模生物试卷(一)
- 机械租赁投标服务方案
- 《食管癌全程管理专家共识(2025版)》解读
- 孝廉文化课件
- 2025年北京市朝阳区九年级初三一模英语试卷(含答案)
- 2025年集成房屋市场调研报告
- 有效数字修约试题及答案
- 耳穴治疗学试题及答案
- 2023年5月20日广东省水利厅所属事业单位招聘工作人员笔试真题及答案
- 专升本计算机信息技术知识点考点分析总结复习
评论
0/150
提交评论