




已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)基于winsock+2+spi技术的内部网络安全防护研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 本论文的目的在于扩展传统的防火墙技术,使之能够防范来自内部的攻击。 传统防火墙之所以存在这种缺陷是因为它是对外防护,而对内部网络的主机认 为都是可信的,缺乏对内部局域网主机的有效监控。据统计网络安全事故有7 0 都是由于内部安全隐患造成的。因此,如何对内部网络的主机进行有效的监控, 防止恶意用户、恶意程序的破坏,对于保护用户网络的安全是至关重要的。本 论文着重从如何防止非法用户、非法程序将数据带出局域网以及如何防止非法 窃听网络数据包,避免数据泄密等方面着手,通过采用w i n s o c k2s p i 编程技术, 在为上层应用程序提供的标准网络接口上对用户程序出网进行有效的控制。通 过用户、应用程序和主机身份的鉴别,s p i 程序对其所要传送的数据包进行识 别,并按设定的策略执行控制。如果内部网络中某台主机要与其他主机进行通 信,那么它必须向安装在其主机上的s p i 网络过滤模块标明它的身份以及应用 程序和用户的身份。由于采用主机i d 、程序i d 及用户i d 相结合的身份认证方 法,只有过滤模块明确允许的特定的主机、用户和应用程序可以发送数据包出 主机和接收数据包,其他任何数据包不能进出主机,从而在危害源头对内部网 络迸行有效的保护。 本文具有三个方面的特色:是提出了一种从危害源头预防危害的自律型 内部网络保护机制:二是采用了w i n s o c k 2s p i 实现技术,不需要上层应用程序 作任何改动:三是采用了进程防杀技术和扫描技术对监控模块自身的安全进行 有效的保护,增强了过滤模块的健壮性。 关键词:内部网络,s p i ,身份认证,危害源头,自律 成都理工大学硕士学位论文 a b s t r a c t t h ep u r p o s eo ft h i sd i s s e r t a t i o ni st oe x t e n dt h et r a d i t i o n a lf i r e w a l lt e c h n o l o g y i no r d e rt od e f e n dt h ea t t a c k sf r o mt h ei n n e rn e t w o r k t h et r a d i t i o n a lf i r e w a l lc a i l t d ot h i sb e c a u s ei ti sd e s i g n e dt od e f e n dt h ea t t a c k sf r o mo u t e rn e t w o r k r e g a r d i n ga l l t h eh o s tc o m p u t e r so fi n n e rn e t w o r ka r eb e l i e v a b l e s ot r a d i t i o n a lf i r e w a l lc a r l tk e e p a l lt h eh o s tc o m p u t e r su n d e rc o n t r 0 1 b u ta c c o r d i n gt os t a t i s t i c sa b o u t7 0p e r c e n to f s e c u r i t ya c c i d e n t sa r ec a u s e db yt h eh i d d e nt r o u b l ef r o mi n n e rn e t w o r k s oi t s e s p e c i a l l yi m p o r t a n tt om o n i t o rt h ea c t i o no ft h ec o m p u t e r so fi n n e rn e t w o r ka n d d e f e n dt h ea t t a c k so fs p i t e f u lu s e r sa n di n v a l i ds o f b v v a r e s t h i sp a p e rf o c u s e so nh o wt op r e v e n tt a k i n gd a t at oo u t e rn e t w o r kb yv i c i o u s u s e r sa n di n v a l i dp r o g r a m sa n dh o wt op r e v e n te a v e s d r o p p i n gn e t w o r kp a c k a g e st o a v o i dd a ml e a k i n gt h r o u g hw i n s o c k2s p ip r o g r a m m i n gt e c h n o l o g y t h r o u g ht h e s t a n d a r dn e t w o r k i n gi n t e r f a c eu s e db yu p p e rl a y e ra p p l i c a t i o ni tc a nm o n i t o rt h e o u t g o i n ga c t i o no fu s e r sp r o g r a me f f e c t i v e l y t h es p ip r o g r a md i s t i n g u i s h e st h e d a t ap a c k a g e st r a n s m i t t e db yn e t w o r k i n gp r o g r a m sb yc h e c k i n gt h ei d e n t i t yo ft h e c o m p u t e r , u s e r a n dp r o g r a ma n d d i s p o s e sa c c o r d i n gt ot h ep r e d e f i n e ds t r a t e g y i fo n e c o m p u t e rw a n t st oc o m m u n i c a t ew i t ho t h e rc o m p u t e r si ni n n e rn e t w o r ki tm u s t p r o v i d ei t sh o s tc o m p u t e ri d e n t i t y , p r o g r a mi d e n t i t y , a n du s e ri d e n t i t yt ot h es p i f i l t e r i n gp r o g r a mi n s t a l l e do ni t s e l fb e c a u s e i t sa u t h e n t i c a t i o nm e t h o db a s e do nt h e i d e n t i t i e si tp r o v i d e d o n l yi ft h ec o m p u t e ri d e n t i t y , p r o g r a mi d e n t i t ya n du s e r i d e n t i t ya r ea l lv a l i dt h e nt h ed a t ap a c k a g e sc a nl e a v ea n de n t e rt h ec o m p u t e ri t s e l f o t h e r w i s et h ed a t ap a c k a g e sc a r l tl e a v eo re n t e rt h ec o m p u t e ri t s e l fa ta 1 1 t h u st h e s p ip r o g r a mc a np r o t e c ti n n e rn e t w o r kf r o ms o u r c eo f t h ed a m a g e t h e r ea r et h r e ef e a t u r e si n t h i sa r t i c l e f i r s ti tp r o p o s e dan e ws e l f - d i s c i p l i n e m e t h o do fp r o t e c t i n gi n n e rn e t w o r kf r o mt h es o u r c eo fd a m a g e s e c o n di tu s e d w i n s o c k2s p ip r o g r a m m i n gt e c h n o l o g yt oa c c o m p l i s ht h ed e s i g nw i t h o u ta n y m o d i f i c a t i o no ft h eu p p e ra p p l i c a t i o n ,t h i r di tu s e dt h ep r o c e s sp r e v e n t k i l l i n ga n d s c a nt e c h n o l o g yt oe n s u r et h es e c u r i t yo ft h es p ip r o g r a mi t s e l ft h u st h er o b u s t n e s s o f t h ef i l t e r i n gm o d u l ei sg r e a t l ys t r e n g t h e n e d , k e y w o r d s :i n n e rn e t w o r k ,s p i ,i d e n t i t ya u t h e n t i c a t i o n ,d a m a g es o u r c e s e l f - d i s c i p l i n e h 第l 章引言 第1 章引言 1 1 研究内网安全的背景 随着网络技术的发展,网络对于企业的发展越来越重要,已经成为了企业 发展的重要平台,因此大力推广企业信息化已经成为了一种主流。所谓内部网 络概念,是针对公网( 外部网络) 而言的,是指政府或企业等的部门与部门之 间,或部门的内部所建立的有限范围的内部通信网络,通过内网实现内部信息 共享、协同工作。网络化使得使用者在享受网络广泛的开放性便利的同时,也 将不得不面对许多新的信息安全问题。如竞争对手、间谍、不满的雇员、无聊 的年轻人以及黑客会更加频繁地借助网络入侵他人的计算机,以偷窃信息、进 行破坏工作、发泄捣乱。尽管大多机构己经重视提高网络的对外防护,即防止 非法用户入侵到内部网络,但是企业网络的内部网络主机的防护还是非常脆弱 的。虽然他们也对内部网络采取了相应保护措施,如安装数万甚至数十万元的 网络防火墙、入侵检测软件等,并希望以此实现内网与i n t e r n e t 的安全隔离,然 而,效果并不理想。企业中经常会有用户出于种种目的私自以m o d e m 拨号、手 机或无线网卡等方式上网,由于这些机器通常置于企业内网中,因此这种情况 的存在给企业网络带来了巨大的潜在威胁,还有内网中某些用户有意窃听其他 主机的信息,或者有意用恶意软件攻击同处于内部局域网中的其他主机,造成 敏感数据泄密、传播病毒等严重后果。1 。在此情况下,企业耗费巨资配备的防 火墙己失去意义。实践证明,很多成功防范威胁企业网边界安全的技术对保护 企业内网却没有效用“1 。大多数的计算机安全统计数字表明,内网发起的攻击 占全部计算机攻击的7 0 - 8 0 。1 。因此今天企业网络的安全,仅靠网络边界的安 全己经远远不够,如何加强内网主机间的访问控制从而确保内部网络的整体安 全将具有重要意义。 1 2 内部网络的安全分析 通过内网安全分析,可以发现内部网络面临很多安全方面的隐患,下面进行 具体分析: ( 1 ) 主机操作系统的安全不是非常可靠。内网的主机间的安全通信很大程度 上依赖于主机操作系统的安全。而当前流行的操作系统如w i n d o w s 、l i n u x 、 u n i x 经常发现有漏洞存在,或者内网用户技术的或人为的缺乏安全管理手段, 或安装操作系统时采用了某些默认配置从而导致安全问题“。 ( 2 ) 数据可能被窃听,造成数据泄密。很多内网是局域网( l a n ) ,或者由若 成都理工大学硕士学位论文 干个局域网段构成。如果以集线器( h u b ) 相连,一群主机将处于同一个冲突域。 其中任意主机,只要将网卡设为混杂模式( p r o m i s c u o u s ) 。1 ,它即能监听冲突域 的所有过往数据包,不管是与它相关的,还是另外两台主机间的通信数据包。 这种称之为“嗅探”的技术现在已经是非常成熟了,攻击者可非常方便的获取 双方的通信内容,使数据泄密。即使主机之间以交换机相连而不处于同一个冲 突域,还是可以针对交换机的转发原理,采用a r p ( a d d r e s sr e s o l u t i o n p r o t o c 0 1 ) 欺骗来达到网内嗅探目的。 ( 3 ) 主机的身份确认得不到保证。很多内网的主机之间通讯是基于i p 地址 或者m a c 地址或者i p 和m a c 的捆绑基础上来标识通讯双方的身份。而i p 地址 可以任意改动,m a c 也是可以进行更改的。如果主机间的信任关系是建立在i p 或者m a c 地址信任之上,那么i p 地址( 或m a c ) 欺骗将是可行的。数据包的i p 源地址能够伪造,可以通过软件编程实现,甚至直接在网络属性配置上改动i p 地址,这样信任关系就名存实亡。 ( 4 ) t c p 会话可能被劫持。由于嗅探技术和欺骗技术的存在,可能引发t c p 会话劫持。根据t c p i p 中的规定,t c p 协议进行通信要提供两段序列号以确保 连接同步以及安全通讯,系统的t c p i p 协议栈依据时间或线性的产生这些值。 在通讯过程中,双方的序列号是相互依赖的,这也就是为什么称t c p 协议是可 靠的传输协议。如果攻击者在这个时候进行会话劫持,结果肯定是失败,因为 会话双方“不认识”攻击者,攻击者不能提供合法的序列号,所以,会话劫持 的关键是预测正确的序列号。对予内网环境,攻击者则可以采取嗅探技术获得 这些信息,同时结合i p 欺骗等技术取代合法访问主机接管t c p 会话。从后果上 看,会话劫持攻击是致命的。 ( 5 ) 安全威胁可能在内部局域网进行扩散。恶性的黑客攻击事件一般都会先 控制内网的一台主机,然后以此为跳板,利用内网主机间缺乏访问控制机制, 对其他主机发起恶性攻击,威胁整个网段。这种内网攻击的扩散性很强,常见 的缺乏安全机制的内部网络环境很难限制这种扩散。 综上分析,内部网络的面临的主要威胁包括:网络数据包嗅探( 窃听) 、 i p ( m a c ) 地址欺骗、t c m p 会话劫持等,它们也是攻击最初可能利用的途径。 由于内部网络用户对内部的系统比较了解,对内部业务流程拥有一定的访问权 限,更有机会做非法的网络操作行为,而且由于他们一般不会被认为是非法用 户故隐蔽性强,比一般的黑客更加危险。这就使得对于内网安全的研究显得迫 切重要。 2 第1 章引言 1 3 内网安全研究现状 目前内部网络的安全得到了一些重视,相应的研究人员提出了一些常用的 内网安全防范方法,但仍存在很多不足。常见的几种防范措施职下: ( 1 ) 通过在主机上安装防火墙:安装金山网镖、天网防火墙、诺顿网络安 全特警等,防止非法用户对主机的攻击。但这种防火墙可以被某些恶意软件关 闭从而失效,或者干脆就被本主机用户直接关闭,它们对于其所在的主机上的 用户恶意攻击其他主机的防护是无能为力的”1 。 ( 2 ) 通过i p 地址、m a c 地址、端口等的绑定:内部技术人员之间的互访经 常没有任何限制,对内部作案就形同虚设。假如内部人员盗用他人i p 进行操作, 此时网管只知道有人在访问和操作网络业务系统,但是无法识别、控制:再者, 网络程序的连接端口完全可以自己改变,而i p 、m a c 地址也完全有假冒的可能 性。所以该方法也只能做基本的控制管理。 ( 3 ) 物理隔离:采用安全交换机、v l a n 划分代替集线器来隔离网络资源, 从网络的层次上来说,链路层的安全,主要是接入设备和核心设各链路的安全 性。目前部署在交换机上的8 0 2 i x ,8 0 2 1 w 标准协议可用以实现链路快速切换, 实现安全。此外,对于网络层以上的安全,例如一些主要依靠广播方式传播的 病毒、拒绝服务攻击等,可以通过对交换机器端口的通道隔离、流量控制等一 些方式来解决。例如,作为对付2 0 0 3 年1 月底肆虐全球的s q ls t a m m e r 虫病毒 的措施之一,就是通过禁止交换机上采用u d p1 4 3 4 端口来得己防范。但是这种 方法技术屏障低,对于有一定经验的攻击者还是能够采用特定的技术来攻破。 ( 4 ) 精简内部网络的服务,限制互访:为了减少漏洞出现的机率,禁止无 关的主机间的访问,对内网的服务提供主机力求单一简单。比如某个服务器只 能提供单一的服务,或对内网主机的软件安装严格限制,造成了资源的浪费, 管理的困难,而且对不服从网管秩序的员工较难限制。对于网络恶意监听也难 对付。 ( 5 ) 强化操作系统的安全:通过打补丁弥补主机操作系统的自身漏洞,但 由于当前流行的操作系统如w i n d o w s 系列不断出现严重的漏洞,漏洞发现的时 间间隔非常的短,厂商除了提供补丁外没有更好的解决办法,而且补丁只是事 后的补救,对于末公开的操作系统漏洞无能为力。所以它不是解决安全问题的 彻底办法,且使用非国内自主研发的操作系统本身就具有一定的安全风险。 ( 6 ) 采用数据加密技术:对于e m a i l 、聊天内容、共享文件等采取预先加密 手段。这些针对特定用户之间的通信内容加密从效果上来看确乎不错,但是就 实际情况而言,实行起来非常不便:这些基于应用层上的加密只能实现于特定的 程序,或者要求改造这些e m a i l 、聊天程序、共享文件服务,或者预先手动加 成都理工大学硕士学位论文 密成密文,再运行上述程序。所以无论对用户还是对管理者都很麻烦。 ( 7 ) 使用入侵检测系统( i d s ) :i d s 对于来自内部的入侵行为无法向管理员 做出报告,更让人担忧的是,无法调查内部员工造成的破坏程度。为克服这个 难题,许多组织利用基于查询的内部分析工具来加强内部安全,发现未授权的 活动。基于查询的分析工具虽然为发现安全漏洞或滥用网络权限提供了有效方 法,但最多也只能算是被动的补救办法,即使最警惕的基于查询的分析,通常 也要晚一个小时左右。总之,当前的大多数i d s 系统只能在案件发生后提供相 应的事后报告,没有前期预警,没有事中监督,无法防止案件的发生。 1 4 研究目标和特色 本文研究的总体目标是:在内部局域网络分布式环境中,通过在其中每台 主机节点安装一个利用w i n s o c k 2 编写的s p i 动态链接库,建立一个基于主机自 律的安全通信访问控制模型,该控制模型采用基于用户i d 、程序i d 和主机i d 相结合的控制策略,任何主机上的用户或程序想和内部局域网的其他主机通讯, 它必须要通过用户i d 、程序i d 和主机i d 三者的检测,只有通过检测才能和其 他用户进行通讯,否则该主机发起的通讯将会被切断,从而可以从源头上切断 对内部网络的危害。 本文采取了以下技术以达到相应的内网安全目标: 1 采用了w i n s o c k2s p i 编程技术,通过在s o c k e t 中插入一层,为网络应 用程序调用t c p i p 函数提供了控制接口,任何网络程序只要是基于s o c k e t 的 都可以得到有效控制。 2 采用用户i d 、程序i d 和主机i d 相结合的策略进行访问控制,从根本上 防止内网i p m a c 地址欺骗攻击。 3 对网络数据流的加密,使得采用嗅探技术得到的数据包都是杂乱无意义 的密文。而且是一次会话过程使用个会话密钥,该会话结束后销毁,大大增 加破解的难度。 4 采用进程防杀技术对监控模块自身进行保护,增强了监控模块的健壮性, 可以有效的抵挡主机用户蓄意对监控模块的破坏。 本文具有三个方面的特色:一是提出了一种基于主机自律的内部网络防护 的方法;二是采用w i n s o c k2s p i 实现技术,通过在s o c k e t 中插入一层从而对 网络数据包进行监控,无需上层应用程序的任何改动;三是采用了进程防杀技 术和扫描技术对监控模块自身的安全进行有效的保护,增强了过滤模块的健壮 性,同时引入加密算法,一方面对网络数据进行防窃听保护,另一方面使用加 密对注册表受保护项进行防修改保护。 4 第1 章引言 1 5 本文的章节结构安排 第一章引言从课题研究的背景出发,分析了内网的安全问题及其研究的现 状,提出了内网主机访问控制的研究目标模型,及该研究目标所具有的现实意 义。 第= 章介绍了实现目标所采取的一些技术基础。包括w i n s o c k2s p i 编程技 术、网络安全的密码技术、进程防杀技术和注册表技术作为展开本课题研究的 基础。 第三章根据前两章的分析和介绍,提出了模型系统的设计思想,分析建立 模型的技术背景和总体安全部署,给出了模型的整体框架及各模块的概略。 第四章是s p i 过滤模型的全面设计,对模型框架进行详细分析和描述,包 括各个过程、功能模块、相互之间的交互作用、具体技术的应用等。 第五章是策略设置模块及自身保护模块的全面设计,引入进程防杀、文件 扫描、注册表保护等技术为s p t 自身提供安全。 第六章是整个系统的编程实现,概要介绍了相关的工程和重要函数,并给 出了测试结果。 第七章作为全文的结束,总结了所建立的系统模型的特点及特色,最后指 出了系统尚待解决的不足和需改进提高的方面,并作了研究展望。 成都理工大学硕士学位论文 第2 章内部网络防护的技术基础 本课题所研究的目标是一个内部网络分布式主机间访问控制的安全通信系 统,所采用的技术必须是适用于内部网络环境下访问控制的。本章将探讨相关 技术,作为创建目标系统的技术依托和理论启发,从而保证内网安全运行。 2 1w i n s o c k2s p i 编程基础 2 1 1w i n s o c k2s p i 基础 w i n s o c k2 是w i n d o w ss o c k e t 的2 0 版本,它引入了一种新的叫做s p i ( s e r v i c ep r o v i d e ri n t e r f a c e ) 的编程接口。利用这种技术可以在s o c k e t 中插入一 层,从而可以完成例如传输质量控制( q o s ) 、扩展t c p i p 协议栈、u r l 过滤及 网络安全控制等功能,所以它是一个非常强大而且有用的接口。它具有发现和 使用任意数量的底层传输协议所提供的通信能力,并且增加了对更多传输协议 的支持。正是由于w i m o c k 2s p i 具有在s o c k e t 中插入一层的能力,所以本文研 究的内网安全防护才采用了w i n s o c k2s p i 技术作为实现内网安全防护的基础。 当自己编写的s p i 程序安装到系统之后,所有的w i n s o c k 请求都会先发送到这 个程序并由它来完成网络调用,这样工作的效果就是人们所熟知的钩子程序。 w i n s o c k2 提供的服务提供者的结构如图2 一l 所示。 j 习 w i m 出2 瑶享空闻服务提供罾接口 曰日圈圈 图2 - 1w i n s o c k2s p i 结构 w i n s o c k2 不仅提供了一个供应用程序访问网络服务的w i n d o w ss o c k e t 应 6 星! 兰堕墅堕堡堕塑堕堇垄垩型 用程序编程接口( a p i ) ,还包含了由传输服务提供者和名字解析服务提供者实 现的w i n s o c k 服务提供者接口( s p d 和w s 2 3 2 d l l 。本文仅讨论传输服务提 供者及其应用,暂不对名字解析服务提供者进行分析。 2 1 2w i n s o c k a 2 i 与s p i 的对应关系 由于s p i 是为a p i 提供服务的接口,所以一般情况下w i n s o c k 的a p i 函数 在s p i 中都有对应的函数。但也有一些是由w s 2 3 2 d l l 自己完成的。a p i 与s p i 对应关系如表2 - i 所示( 没有对应关系的函数没有列出,比如h t m l 等) 0 1 表2 - 1w i n s o c ka p i 函数与s p i 函数之间的对应 t a b l e2 - 1r e l a t i o n s h i pb e t w e e nw i n s o e ka p i a n ds p i w i n s o c kh p i 函数w i n s o c ka p i 扩展函数 对应的s p i 函数 a c c e p tw s a a c c e p tw s p a c c e p t w s a a d d r e s s t o s t r i n g w s p a d d r e s s t o s t r i n g w s a a s y n c s e l e c t w s p h s y n c s e l e c t b i n dw s p b i n d w s a c a n e e l b l o c k i n g c a l lw s p c a n c e l b l o c k i n g c a l l w s a c l e a n u pw s p c i e a n u p w s a c l o s e e v e n tw s p c i o s e s o c k e t c o n n e c tw s a c o n n e c tw s p c o n n e c t w s a d u p l i c a t e s o c k e t船p d u p h c a t e s o c k e t w s a e n u m n e t w o r k g v e n t sw s p e n u m n e t w o r k e v e n t s 赆a e v e n t s e l e c tw s p e v e n t s e l e c t w s a g e t o v e r l a p p e d r e s u l tw s p g e t o v e r l a p p e d r e s u l t g e t p e e r n a m e w s p g e t p e e r n a m e w s a g e t q o s b y n a m e w s p g e t q o s b y n a m e g e t s o c k n a m e w s p g e t s o c k n a m e g e t s o c k o p t w s p g e t s o c k o p t w s a i o c t lw s p l o c t l w s & l o i n l e a f 孵p 7 0 i n l e a f l i s t e n w s p l i s t e n r e c v w s a r e c vw s p r e c v w s a r e c v d i s e o n n e c t w s p r e c v d i s c o n n e c t r e c v f r o m w s a r e e v f r o m w s p r e c v f r o m s e l e c t w s p s e l e c t 成都理工大学硕士学位论文 续表2 - l w i n s o e ka p i 函数w i n s o c ka p i 扩展函数 对应的s p i 函数 s e n dw s a s e n dw s p s e n d w s a s e n d d i s c o n n e c tw s p s e n d d i s c o n n e c t s e n d t ow s a s e n d t ow s p s e n d t o s e t s o c k o p t w s p s e t s o c k o p t s h u t d o w nw s p s h u t d o w n s o c k e tw s a s o c k e tw s p s o c k e t w s a s t a r t u p w s p s t a r t u p w s a s t r i n g t o a d d r e s s w s p s t r i n g t o a d d r e s s 由于s p i 与a p i 对应的函数在用途和用法上基本相同,所以了解w i n s o c ka p i 的相关函数就能基本了解s p i 函数的用法。 2 1 3s p i 程序的提供形式 w i n s o c k2 的传输服务提供者s p i 是以动态链接库的形式( d l l ) 存在的, 它是通过w s p s t a r t u p 函数为上层函数提供接口,而其他的传输服务提供者函数 则是通过分配表的方式来访问w s 2 3 2 d l l 。传输服务提供者的动态链接库只有 在应用程序需要时才由w s 2 3 2 d l l 来装入内存中的,在不需要时则会被自动卸 载。所以编写s p i 程序就是编写一个d l l 供应用程序调用。 w i n d o w ss o c k e ts p i 在服务提供者中使用了以下的函数前缀命名方式:w s p ( w i n d o w ss o c k e t 服务提供者) ,w p u ( w i n d o w ss o c k e t 提供者向上调用) ,w s c ( w i n d o w ss o c k e t 配置) 。每一个传输服务提供者都有它自己所支持的传输协 议,它是使用w s a p r o t c o li n f o w 结构来实现的。传输服务提供者把所有的相关 信息都存放在这个结构中,而应用程序就是通过这个结构的内容来将自己和相 应的传输服务提供者相关联。 2 1 4 传输服务提供者体系结构 w i n d o w ss o c k e ts p i 提供三种协议:分层协议、基础协议和协议链。分层 协议是在基础协议的上层,依靠底层基础协议实现更高级的通信服务。基础协 议是能够独立、安全地和远程端点实现数据通信的协议,它是相对于分层协议 而言的。协议链是将一系列的基础协议和分层协议按特点顺序连接在一起的链 状结构0 1 ,请参见图2 2 : 8 第2 章内部网络防护的技术基础 a p i s p i s p i s p i 区垂匠i 二至画亟夏二 图2 2 基础服务提供者和分层服务提供者的关系 f i g 2 2r e l a t i o n s h i pb e t w e e nb a s es e r v i c ep r o v i d e ra n dl a y e r e ds e r v i c ep r o v i d e r 基础服务提供者和分层服务提供者都开放相同的s p i 接口,所不同的是基 础服务提供者位于服务提供者的最底层。 w s 2 3 2 d l l 数据传输部分的主要功能是在服务提供者和应用程序之间提供 流量管理的功能。每个应用程序通过w s 2 3 2 d l1 和相应的服务提供者进行严格 的数据交换。w s 2 3 2 d l l 根据应用程序在创建套接字时所提供的参数来选择特 定的服务提供者,然后把应用程序的实现过程转发由所选创建套接字的服务提 供者来管理。也就是说,w s 2 3 2 d 1 1 是一个中间过程,而应用程序只是一个接 口,数据通信的实现却是由服务提供者来完成的。w s 2 3 2 d l l 是通过创建套接 字的a p i 函数w s a s o c k e t 或s o c k e t 的参数来确定使用哪一个服务提供者。而 w s a s o c k e t s o c k e t 的参数中包括了地址族、套接字类型和协议类型,这三个因 素共同决定了创建套接字的服务提供者。w s 2 3 2 d l l 在服务提供者中寻找第一 个和前面三因素相匹配的w s a p r o t o c o li n f o w 结构,然后就调用这个 w s a p r o t o c o l i n f o w 结构相应的w s p s t a r t u p 函数( 所有的数据传输服务提供者 以d l l 的形式,它们对外的接口就只有w s p s t a r t u p ,其他的服务提供者函数都 是通过w s p s t a r t u p 来调用的) ,进而调用如w s p s o c k e t 的函数来创建套接字, w s p c o n n e c t 的函数来建立连接等等。除了流量管理功能外,w s 2 3 2 d l l 还提供 了其他的服务,比如协议枚举、基于线程的阻塞钩子管理和在w s 23 2 d l l 与服 务提供者之间进行版本协商。 传输服务提供者实现的功能包括建立连接、传输数据、实现流控制和差错 控制等函数。其实w s 2 - 3 2 d l l 并不知道服务提供者的请求等活动是如何实现 的,w s 23 2 d l l 在应用程序和服务提供者之间实现了媒介的功能。传输服务提 供者可分为两类:套接字描述符是可安装的文件系统( i f s ) 旬柄的提供者;剩 下的是非i f s 的提供者。在本文的程序中选用了非i f s 提供者。可见,服务提 成都理工大学硕士学位论文 供者实现了底层的与网络相关的协议。w s 2 3 2 d 1 1 提供了介质级别的流量管理, 应用程序则提供了有关如何实现网络相关的操作,它实现了用户所希望的功能。 在传输服务提供者的实现过程中,安装顺序是非常重要的。我们不仅要工f 确的安装服务提供者,而且还必须在w i n d o w ss o c k e t 中注册,将相关的系统信 息保存在数据库中,这样w s 2 3 2 d l l 才能够方便的获得下层服务提供者的相关 信息。在w s 2 3 2 d l l 中提供了用来安装服务提供者的函数 w s c i n s t a l i p r o v i d e r ,它需要服务提供者的有关数据,比如d l l 的名称和路径。 同时w s 2 3 2 d l l 还提供了卸载服务提供者的函数w s c d e i n s t a l i p r o v i d e r ,在 不需要时通过它将特定的服务提供者从系统中删除。为什么说传输服务者的安 装顺序很重要呢? 在服务提供者配置函数中的w s c e n u m p r o t o c o l s 是用来枚举 系统中所有已安装的服务提供者,它按照服务提供者的安装顺序相应的列出他 们。在前面也提到过,w s 2 3 2 d l l 在服务提供者中按安装顺序搜寻和 骼a s o c k e t s o c k e t 提供的三个参数相匹配的服务提供者,所以安装顺序在一定 程度上是决定服务提供者是否被正确调用的关键。w i n d o w ss o c k e t2 还提供了 一个动态链接库s p o r d e r d l l ,它提供了对已安装的所有服务提供者顺序的重 新排列。 服务提供者系统中区分基础协议、分层协议和协议链是通过结构 w s a p r o t o c o l 中的结构的值来实现的。分层协_ i n f o w p r o t o c o l c h a i nc h a i n l e n 议的c h a i n l e n 值为0 ,基础协议的值为1 ,而协议链的值是大于1 。在数据传 输服务提供者的实现方式中分层协议和基础协议几乎是相同的,它们的不同之 处在安装上。w i n d o w s 中,现有的系统服务提供者( 系统自带) 几乎已提供了 所有基本酌服务,因此我们所写的服务提供者程序,都可以对数据报进行适当 修改后调用系统服务提供者来完成绝大部分剩下的功能,无论是基础服务提供 者还是分层服务提供者都可以使用这种技术,免去不必要的劳动。基础服务提 供者的实现过程主要是替换当前系统服务提供者的安装路径为自己的服务提供 者的安装路径即可,当然我们必须保存所有系统服务者的相关数据,在我们卸 载自己的服务提供者还原系统服务提供者时要用到这些信息,如系统服务者d l l 的名称和路径。而协议链就不同了,首先我们必须安装好所有的基础协议和分 层协议后,再构造协议链的w s a p r o t o c o li n f o w 结构链,组成协议链的 每个协议都会在协议链的p r o t o c o l c h a i n c h a i n e n t r i e s 数组中被定义,协议链数 组中的第一个协议应该是第一个分层服务提供者。当然在安装分层协议及协议 链时我们不会改变系统服务提供者,最多只是改变系统服务提供者的安装顺序 罢了。w s 23 2 ,d l l 是使用标准的动态链接库来加载服务提供者接口的d l l 到系 统中去的,并调用w s p s t a r t u p 来初始化。w s p s t a r t u p 是w i n d o w ss o c k e t2 应用 1 0 第2 章内部网络防护的技术基础 程序调用s p i 程序的初始化函数,也就是入口函数。w s p s t a r t u p 的参数 l p w s a p r 0 1 1 0 c o li n f o w 指针提供应用程序所期望的协议信息,然后通过 这个结构指针可以获得所保存的系统服务提供者的d l l 名称和路径,加载系统 服务提供者后查找到系统s p i 程序的w s p s t a r t u p 函数的指针,通过这个指针就 可以将自己服务提供者的w s p s t a r t u p 函数和系统s p i 程序的w s p s t a r t u p 函数 相关联,进而调用系统的各个服务提供者函数。在数据传输服务提供者的实现 中,需要两个程序,一个是可执行文件用来安装传输服务提供者;另一个就是 d l l 形式的数据传输服务提供者。 2 1 5 采用w in s o c k2s p i 技术的技术优点 采用w i n s o c k 2s p i 技术进行编程的原因是因为它有如下的技术优点: 1 工作在应用层,以d l l 的形式存在,编程、调试方便。 2 跨w i n d o w s 平台,可以直接在w i n d o w s9 8 m 伍,n t 2 0 0 0 ) ( p 上通用。 3 效率高,由于工作在应用层,c p u 占用率低。 4 封包没有按照低层协议进行切片,所以比较完整,很容易做内容过滤如 防色情之类的软件。,不用根据具体的浏览器进行分别编程,既简单又安全, 需要处理的是传输服务提供者。 2 2 密码学基础知识 2 2 1 密码学基本概念 1 密码学( c r y p t o l o g y ) :密码学以研究秘密通信为目的,即研究对传输信 息采取何种变换以防止攻击者对有效信息的窃取。密码学作为数学的一个分支, 包括密码编码学( c r y p t o g r a p h y ) 和密码分析学( c r y p t a n a l y s i s ) 两部分。密码编码 学是指如何达到信息的秘密性、鉴别性的科学,主要研究对信息进行变换,以 保护信息在信道的传递过程中不被攻击者窃取、解读和利用的方法。密码分析 学是指如何破解密码系统,或伪造信息使密码系统误以为真的科学,主要研究 如何分析和破译密码。这两部分既相互促进又相互对立,一方面,它们在加强 密码分析的安全上互为促进:另一方面,在实施更为有效的攻击方面也相互影 响。密码学主要关注的对象是加密( e n c r y p t i o n ) 和解密( d e c r y p t i o n ) 算法。 2 加密和解密概念:加密是按照某种方式将有用信息转换成看起来毫无 意义的文字。而解密是指通过相应的方法将这些文字转换为原来的有用信息。 2 2 2 密码系统的组成 一般地说,密码系统由明文( p l a i n t e x t ) 空间、密文( c i p h e r t e x t ) 空间、密码 方案和密钥( s e c r e tk e y ) 空间组成。 成都理工大学硕士学位论文 1 要进行加密处理的有用信息称为明文,全体明文称为明文空间。 2 由明文转换成的看起来毫无意义的文字称为密文,全体可能出现的密文 的集合称为密文空间。 3 密码方案:密码方案确切地描述了加密变换与解密变换的具体规则,主 要包括加密算法和解密算法。密码算法( a l g o r i t h m ) 是用于加密和解密的数学函 数。通常情况有两个相关函数,一个用作加密,另一个用作解密。把明文信息 变成密文信息的函数叫做加密函数,密文信息解密为明文的函数是解密函数。 4 密钥空间:确保加密、解密两次转换过程能顺利进行的共享秘密信息称 为密钥,密钥可以是很多数值里的任意值,加密和解密算法的操作通常在密钥 的控制下进行。密钥可能值的范围叫做密钥空间 可以用如下的标记法将明文、密文和密钥的关系体现出来,用c = e k ( p ) 来 表示用密钥k 加密明文p 得到密文c 。类似的,p = d k ( c ) 代表解密c 得到明文p 的过程。由此可以得到: d k ( e k ( p ) ) _ p 这说明e 和d 只是数学函数。 2 2 3 密码学的作用 密码学的主要作用是保护明文( 或密钥,或明文和密钥) 的秘密,以防止攻 击者知晓,这称为保证信息的机密性。除了提供机密性外,密
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 污泥资源化综合利用项目可行性研究报告
- 生物基二元醇项目可行性研究报告
- 防汛知识培训领导开场白课件
- 战略合作协议
- 结直肠息肉门诊管理专家共识(2025成都)
- 科技数码产品电子产品推广方案设计
- 继承财产分配协议范本书5篇
- 借款还贷合同书7篇
- 河北省唐山市2025-2026学年高三上学期开学摸底考试物理试卷
- 精神疾病社会污名化-洞察及研究
- 别墅装修施工工艺
- 《手术室护理实践指南》专项测试题附答案
- 医务科依法执业自查表
- 部编版小学音乐五年级上册教案
- 综合实践活动(2年级下册)第3课时 自动浇水器的设计与制作-课件
- 2023年江苏省盐城公证处招聘公证人员5人笔试参考题库(共500题)答案详解版
- 保密室及保密要害部位搬迁发案
- 恐龙灭绝介绍课件
- 核赔经典疑难案例解析
- 尿道损伤的分类与治疗
- 眼科常见疾病诊疗指南
评论
0/150
提交评论