(计算机软件与理论专业论文)主动网络系统安全技术研究.pdf_第1页
(计算机软件与理论专业论文)主动网络系统安全技术研究.pdf_第2页
(计算机软件与理论专业论文)主动网络系统安全技术研究.pdf_第3页
(计算机软件与理论专业论文)主动网络系统安全技术研究.pdf_第4页
(计算机软件与理论专业论文)主动网络系统安全技术研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机软件与理论专业论文)主动网络系统安全技术研究.pdf.pdf 免费下载

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

文档简介

主动网络系统安全技术研究 摘要 主动网络的设计目标是建立一个网络应用程序可以定制其数据报文处理过 程的软件框架。主动网络中最重要的安全问题并没有得到完满解决。本文描述了 一个安全主动网络架构的设计和实现,这个架构包括:安全应用程序接口、安全 管理器、保护质量和安全通信。 为了保护主动节点免受恶意主动代码的攻击,作者对安全管理器进行了改 进。为原来只有实施引擎的安全管理器,增加了评估引擎和安全监控引擎。评估 引擎对主动代码的数据流和控制流进行评估,而安全监控引擎则动态监控主动代 码防止其恶意行为。为了实现安全通信,作者提供了跳到跳的完整性保护和端到 端的保护。作者通过把报文分成只读部分和可变部分,并对只读部分设置访问控 制密钥,以保护数据,使其只可被指定用户读取,防止主动节点对主动报文数据 的恶意行为。在此分析结果上,文章对原有q o p 标准进行了扩充,提出了新的保 护质量q o p 标准。 关键词:主动网络、安全应用程序接口、安全管理器、访问控制、保护质量 主动网络系统安全技术研究 a b s t r a c t a c t i v en e t w o r k sa i mt o p r o v i d eas o f t w a r ef r a m e w o r kt h a t e n a b l e sn e t w o r k a p p l i c a t i o n st oc u s t o m i z et h ep r o c e s s i n go f t h e i rc o m m u n i c a t i o np a c k e t s h o w e v e r , s e c u r i t yi s s u e s ,w h i c ha r eo f c r u c i a li m p o r t a n c ef o ra c t i v en e t w o r k s ,a r es t i l ln o tw e l l s o l v e d t h i se s s a yp r e s e n t sad e i g ns c h e m ea n dd e s c r i b e sa l l i m p l e m e n t a t i o no f s e c u r ea c t i v en e t w o r k sa r c h i t e c t u r e t h ea r c h i t e c t u r ei n c l u d e ss e c u r i t ya p i ,s e c u r i t y m a n a g e r , q u a l i t yo f p r o t e c t i o n ( q o p ) a n ds e c u r ec o m m u n i c a t i o n t op r o t e c ta c t i v en o d e sf r o mm a l i c i o u sa c t i v ec o d e s ,t h es e c u r i t ym a n a g e ri s e x t e n d e dt oi n c l u d ee n f o r c e m e n te n g i n e ,e v a l u a t i o ne n g i n ea n ds e c u r i t ym o n i t o r e n g i n e t h ee v a l u a t i o ne n g i n ew i l le v a l u a t et h ed a t af l o wa n dc o n t r o lf l o wo ft h e a c t i v ec o d eb e f o r ei tc a nb ee x e c u t e d ,a n dt h es e c u r i t ym o n i t o r e n g i n ew i l lm o n i t o r t h ee x e c u t i o no fa c t i v ec o d et o p r e v e n ti t sv i c i o u sb e h a v i o r t op r o v i d eas e c u r e c o m m u n i c a t i o ni na c t i v en e t w o r k s ,w eu s e h o p - t o - h o pi n t e g r i t yp r o t e c t i o na n dd i v i d e t h ea c t i v e p a c k e ti n t or e a d - o n l yp a r t a n dc h a n g e a b l ep a r tt o p r o t e c t e n d t o e n d c o m m u n i c a t i o n t o p r o t e c t c o n f i d e n t i a ld a t af r o m m a l i c i o u sa c t i v en o d e d i s s e m i n a t i o n ,w ee n c a p s u l a t et h ed a t ai n t or e a d - o n l yp a r ta n ds e ta na c c e s sc o n t r o l k e y w ee x t e n dt h eq u a l i t yo f p r o t e c t i o nt os u p p o r tt h i sf e a t u r e k e y w o r d s :a c t i v e n e t w o r k s ,s e c u r i t y a p ls e c u r i t ym a n a g e r , a c c e s sc o n t r o l ,q o p - 2 主动嘲络系统安全技术研究 前言 随着j a v a 语言的逐步推广和普及,主动网络技术作为未来数年内分布式计 算技术发展的潮流和方向之一,正在受到越来越多的重视。但是主动网络系统的 安全问题,却直接影响着该技术的发展,成为阻碍该技术被广泛接受的最大障碍。 鉴于这样的背景情况,本文选取“主动网络系统安全技术研究”为题,无论是从 理论角度考虑,还是从实际应用出发,都具有深远的意义和研究价值。 主动网络系统安全技术研究的难点体现在两个方面:保护主动节点免受恶意 主动代码的入侵和主动报文自身的保护。尤其是主动报文自身的保护,目前还没 有非常理想的解决办法。虽然也有人提出了一些方法,比如移动加密、限时黑盒 保护等,但这些方法都只是解决了问题的某一方面,需要进一步研究。主动网络 系统安全技术研究中还有一个容易被人忽略的方面:主动网络的安全通信。许多 人错误的认为只要能实现加密、认证和数字签名,就可以认为主动网络的通信安 全得到了完美解决。 文章的创新点主要体现以下两方面:首先,为了保护主动节点免受恶意主动 代码的攻击,作者对安全管理器进行了改进。为原来只有实施引擎的安全管理器, 增加了评估引擎和安全监控引擎。评估引擎对主动代码的数据流和控制流进行评 估而安全监控引擎则动态监控主动代码防止其恶意行为。其次,对主动网络的 通信进行分析,把主动报文分成只读和可变部分,只读部分可以通过设置访问控 制密钥保护数据,这些数据只可被指定用户读取。在此分析结果上,文章对原有 q o p 标准进行了扩充,提出了新的保护质量q o p 标准。 就应用的广泛性而言,主动网络技术已经被应用在动态网络协议配置、可靠 多播、网络管理、网络拍卖等领域,虽然这些应用大部分都是带有研究性质的, 但是这并不影响该技术的迅猛发展。随着i n t e r n e t 的进一步发展,大量的移动 设备开始上网,网上用户个性化需求越来越多,网络的应用日益复杂多变,要求 能迅速定制各种服务。主动鼹络技术正好可以提供一个统一的框架,满足这些发 展要求。所以,随着主动网绍系统安全技术的不断成熟,主动网络技术的前景是 光明的。 主动网络系统安全技术研究 第一章主动网络简介 1 1 主动网络技术的背景 主动网络是在1 9 9 5 年的d a r p a ( d e f e n s ea d v a n c e dr e s e a r c hp r o j e c t s a g e n c y ) 开发组关于网络系统未来发展方向的讨论会上提出的 1 。由于今天的网 络体系结构面临着几个问题:新的网络技术和标准很难集成到当前正在使用的网 络设备中去,因为现有的网络结构是封闭式系统,网络编程环境仅限于端系统内 的高层网络应用软件中,网络的中间节点不可编程,因此造成网络技术更新速度 缓慢,不能适应新的技术和标准的应用:由于在现有网络体系中几个协议层的冗 余操作造成网络性能不佳;很难将新的服务应用到现在的网络中,因为网络设备 受现有的网络体系所限不能动态更新,所以很难使新的服务应用得到支持;在现 有的网络体系结构下,投资者为了满足市场的需求,不得不为每增加一种新的服 务应用而去重新购买新的设备,所以传统的网络结构体系不能保护投资者利益。 鉴于以上诸多问题和缺陷,人们重新审视现有的网络体系结构,提出新的网络体 系结构。在这种情况下,从而导致了从一维网络模型向二维网络模型的转变,即: 是从传统报的存储和转发模型,到报的存储、计算和转发模型嘲。主动网络的基 本思想是:它不象传统网络那样被动地把比特从一个节点传输到另一个节点去, 主动网络的报文含有能在中间节点执行的程序代码,报中所含的代码能够扩展、 更改网络设备并能够在其网络设备上执行。 1 2 主动网络技术的基本概念 根据上述主动网络研究项目论述和分析,对于在主动网络研究上有两种观 点:离散方法和集成方法,这可以看作是程序代码如何注入网络节点的两种不同 的观点。 离散方法,又叫可编程交换:可编程交换是一种将数据和注入到节点上的程 序代码独立分开传输的方法。使用者首先把定制好的处理程序代码注入到所需要 的路由器中( 假设这些节点支持主动网络操作并且往往位于网络的关键位置) 。 然后用户象传统网络那样传输报,当报到达节点,则节点检查报的头部,如果报 是属于程序代码类型,则节点经过安全验证后接受这部分注入代码,如果报文属 于数据类型,则根据其头部信息来选择相应的已经驻留在节点中的用户处理程序 对其进行处理。当程序装载要求被严格安全控制时,对装载和执行分离机制非常 有价值。允许操作者动态地将程序代码装载到路由器中,这对扩展路由器功能有 很大的用途。在i n t e r n e t 上,程序装载必须由路由器的操作员通过路由器的后 主动网络系统安全技术研究 门来完成。当然必须要经过严格的安全鉴别。可编程交换是典型有网络管理员注 入不同的代码来更新。它的研究焦点是在运行中更新网络设备,由于代码注入是 带外方式,所以可编程交换提供的是非自动方式。 集成方法又叫单元封装方法:单元封装方法( c a p s u l e ) 是一种将程序代码与 数据集成传输的方法。每个报文就是一段程序代码,又称为个单元。当然每个 单元也可以含有数据。当单元到达一个a c t j v en e t w o r k 节点时,它的内容被按 照一定的规则进行处理,如果通过安全鉴定和符合处理规则,则单元的内容被分 配到一个暂时的执行环境中进行处理。这种方法代替了被动式传输报文,路由器 能够执行报文的代码。但单元封装方法带来了两个不利,即性能问题和安全问题, 所以单元封装方法一般采用虚拟机方式,利用虚拟机翻译单元代码使它安全地在 节点上执行。在解决性能问题,提出了一种优化传统的封装模式,代码是在首次 时被装载,代替在每个单元携带代码,让以后的单元携带指向代码的指针。在本 文中下面的章节都是基于单元封装方法叙述的。 主动网络节点抽象结构模型 主动网络工作组给出了主动网络节点抽象结构模型 2 。主动网络节点( 主 动节点) 主要可以划分为:节点操作系统( n o d e o s ) 、执行环境( e e ) 、主动应用 ( a c t i v ea p p l i c a t i o n ) 。其结构如下图卜1 。图卜1 中的每个e e ( 执行环境) 相当于通常u n i x 系统中的s h e l l 程序,它为主动网络端到端服务提供接口。在 一个节点可以有多个e e 存在,所有的使用者通过e e 来访问节点的资源( 如带宽、 内存等) 。每个节点有一个管理e e ,它有以下功能: ( 1 ) 维持节点安全策略数据库:( 2 ) 装载新的e e ,或更新和配置存在的e e :( 3 ) 支持从远程管理网络服务。 主动应用程序i 二口i l 一一j 执行环境 i 雨i 酋 存储 图卜la c t i r e 网络节点结构 节点操作系统( n o d eo s ) 作用在e e 和物理资源间,它提供e e 之间的基本安 全保障,它的基本功能是负责e e 处理的报文在通道的通讯底层进出。此外n o d e o s 能将在节点上的报在通道和髓路由定向,协调访问节点资源如传输和计算 带宽等功能。n o d eo s 提供e e 访问节点资源,主要有三个资源:线程、内存和 通道,线程、内存相当于传统的系统中的线程和内存;而通道在更底层,只有符 合规则和经过安全鉴别的报文才能经通道传输给e e 处理。所有的三个资源都分 配给报文流。因此n o d e0 s 可以和一组执行的线程、b u f f e r 和输入输出通道联 系。所有对n o d eo s 的请求都按照一个特定规则:每个请求必须携带一个鉴别标 识i d ( 这个标识i d 要能够证明它来自一个节点或e e 安全策略授权的主体) ,然 后n o d e o s 才能去执行接受到的请求和分配希望得到的资源。n o d e0 5 依靠于安 全策略引擎和安全策略数据库来确认和授权请求。在n o d eo s 和e e 之间可以存 在不同的信任关系。从一方面讲,e e 必须信任n o d e0 s ;e e 不能越过n o d e0 s 的策略。但它们能够增强它们用自己的策略。在另一方面,n o d eo s 可以信任一 些e e ,但不是全部的e e 。 主动网络中报文( 单元) 处理过程 叫i p | u d pi a n e p p -叫船1 卜- 叫舻iu d i 一舻i u d r i 州e r 卜 洌1 p i a n e pj 吐丑式 泳 n m i u d r i 。r j l 八叫i p l u d p l a n e p f 1 r l _ 二j 叫,h 。,i 1 习 ; 1 。, j 一r ;l 广1 7 l 二:i7 叫r | ! ! :! i _ f = ,田 l 二= _ = 一r l :j 1r1r 慢文输入通道处理 i 口口 k m e e 接受和发送是通过通道来完成的,一般通过a c t i v en e t w o r k 节点的报文 流如图卜2 ,当一个报文被节点接受到后,它首先基于报文的信息进行分类。这 个分类决定了进入那个通道。输入的报分类是由e e 的模式说明控制的。在典型 主动嘲络系统安全技术研究 情况下,e e 根据报文的一定特性请求创建一个通道。进入通道处理,报文被分 发到e e 。图卜2 中的e e l 接受到了用u d p 封装的a n e p 报。在该图中,将i p v 4 的报或传统的报处理当作一个e e 来处理,即e e 3 来处理传统网络中的报文。i p v 6 可被另一个e e 处理即e e4 。在输出,e e 把处理后的报提交给输出通道,然后 由输出调度来决定输出。因此一般处理过程,可看作:数据链路层输入、分类、 输入协议处理、e e a a 处理。输出处理。调度处理和链路输出。 主动网络的编程模型 主动网络计算模式要求提供一种可互操作的编程模型使单元可以在网络中 的不同平台上执行。在主动网络中要求节点可以执行不同的程序,网络的互操作 特性是通过更高层的抽象获得的。为实现主动网络在不同节点中资源的互操作 性,首先必须对节点资源做与平台无关的抽象。对物理资源的抽象包括传输带宽, c p u 处理能力,临时存储区的使用率,活跃存储区的使用等等。其次必须采用统 一的命名机制。和传统网络不一样,主动网络要跨越许多平台,所以必须发展标 准化编程模型的。这种模型由三部分组成的,即:程序编码、标准化原语和节点 资源和分配。程序编码有以下特性:( 1 ) 移动性( m o b i l i t y ) :移动性是指能够 传输程序代码和能够跨越不同平台执行的能力;( 2 ) 安全性:有限制程序访问资 源的能力;( 3 ) 性能:能够满足上面两条。但没有降低网络性能。 主动网络中移动性可以通过三层获得:第一高层脚本语言级:网络中传输 单元的内容由脚本代码直接构成,当这些单元到达某节点后,源代码被解释执行; 第二中间代码级:采用与平台无关的中间描述代码,程序被编译成中间代码后 封装到单元中再传输。单元到达目标节点后被进一步编译成可执行的机器代码: 第三可执行代码级:单元中的程序被直接编译成与平台相关的机器代码,每个 单元的内容包括程序在多个平台上执行的代码,网络节点根据自身的平台选择相 应的代码执行。 标准化原语:对每个节点服务包括几类操作原语,原语允许单元自己控制, 如改变自己的头部、有效负载和长度等。原语提供访问节点的执行环境,如节点 的地址、时间和链路状态等。原语还能控制单元流,比如向前传输、复制和丢弃 等。 节点资源管理和分配: 除了程序编码和原语操作外,还需要一个标准模型 去管理和分配节点的资源。这些资源必须量化,它包括:物理层资源如传输带宽、 c p u 处理速度和内存等;逻辑资源如路由表,节点管理信息等。 主动网络系统安全技术研究 1 3 主动网络技术的优点与应用 主动网络是一种可编程的网络。其网络结点的计算能力使得主动网络结点本 身具有可编程性,从而使得整个网络结构也是可编程的。利用主动网络,用户不 但可以完成传统网络的数据传送功能,而且可以传送程序代码以供中间结点或远 程主机在本地执行。因此,对传统网络的互操作性、安全性、可伸缩性提出了挑 战。主动网络潜在的优点是快速动态定制、配置新的服务,实验新的网络体系结 构,新的协议,可以加速网络服务的革新步伐,提高网络的性能,使网络系统更 具灵活性、可扩展性。 目前主动网络应用的主要研究主要集中在以下几个方面: 加速网络结构的更新 在传统的计算机网络中,实现新技术从实验室原型到大规模应用的转变过程 需要大约1 0 年时间,这个过程包括标准化、进入硬件生产商的硬件产品、相关程 序的开发和用户的安装调试等。而在主动网络中,多种网络协议可以共存,通过 动态增加新的协议处理程序,主动网络就能为用户提供这种新的服务 可靠多播技术 目前多播技术得到广泛应用。在传统的多播服务中,路由拓扑的具体细节和 接受者的数量和位置对于用户来说是透明的。对于报文丢失的情况,传统网络采 取单一地由发送者重传机制,使得多播性能大大降低。利用主动网络的动态控制 功能,使发送者的多播重传任务转发给接受者。这样基于主动网络思想上的多 播,降低了发送者的负载,减少了重传延迟和资源浪费,大大提高了多播的性 能。 网络管理智能化 主动网络技术可以用来实现网络监视和事件过滤的智能。主动网络的路由器 甚至可以通过向它们的相邻节点注入自定义的监视和分析程序来对网络事件进 行分析和过滤。b b n 的s m a r t p a c k e t 项目开发了使被管理节点具有可编程性的体 系结构,语言和协议。c o l u m b i a 的n e t s c r i p t 项目采用了主动元素结构开发了能 够自动创建系统管理设备及相关的m i b 技术。 网上拍卖 网上拍卖是目前应用层中使用主动网络的主要应用,并已经提出了多种实现 模型。 1 4 目前较有代表性的主动网络系统简介 a n t s 主动网络系统安全技术研究 a n t s 3 是在1 9 9 6 年由m i t 的d a v i dw a t e r f a l l 发展起来的。它是基于p c 硬件,在l i n u x 、s o l a r i s 操作系统平台上开发的,执行环境( e e ) 采用了 j d k i 2 ,a n t s 单元和a n t s 代码使用j a v a 语言。 a n t s 使用一种集成方法建立主动网络结构。为了避免重新为相关报文组装 载代码,a n t s 节点c a c h e 缓存最近使用的代码。在a n t s 中,报文被称为一个单 元,单元包含代码段的位置以及与该代码段相关的参数。如果一个含有相关代码 的报文通过节点时,节点用报文的参数值初始化代码,然后再执行这些代码。反 之如果这些代码不在这个节点上,这个节点向最近的上游节点请求代码。 a n t s 设计的目的是为网络协议革新,它比现有的网络提供更灵活的革新形 式,具体体现在: 网络节点必须同时支持提供各种服务的各种网络协议。 一个协议必须由对此协议感兴趣的组织来部署和维护并保持各节点协议状 态一致性;而不是通过新的协议去中心注册的方式才能生效。 结构必须支持动态布置新的协议,不因为给节点配置新的协议而必须离线操 作。 a n t s 协议是通过三个关键向量来完成这些目标的:用a n t s 的单元( c a p s u l e ) 代替传统的报文:路由器和终端节点用主动节点代替,在这主动节点上执行和处 理通常事务和维持它们相关状态:用代码分配机制来确保处理事务能够自动和动 态分配到它需要的这些节点上。 单元是a n t s 报文,单元最重要的一种结构作用是包括一个指向向前传输事 务的指针,该向前传输事务在每个主动节点处理单元。单元不是常驻每个主动节 点,但是必须由代码机制安排传输到每个节点。代码组是相关单元类型的集合, 这些单元类型传输事务由代码分配系统作为一个单位来传输。协议是相关代码组 的集合,主动节点将每个代码组作为一个保护单位。 a n t s 的代码分配机制:为了提高性能,采用了需求装载代码机制。这个过 程如下: 单元识别它们的类型和协议,知道它该走那条路径。 当一个单元到达一个节点时,检查协议书代码的缓存,如果所需要的代码不 完全存在,一个基于单元类型和协议装载丢失部分诸求向上游节点发出。 当一个节点接受到一个装载请求时,它立即发出装载响应,这个响应含有请 求所要求的代码。 当节点接到装载响应时,它将代码放入缓存,如果这时候所有的代码都在时, 它唤醒睡眠的单元。如果请求的响应不能被接受到,则睡眠的单元将被丢弃。 a n t s 项目的节点组成是:环境访问( 查询节点位置,链路状态,路由表, 兰塑些竺墨竺壅竺塾查型塑 一 当地时间等) ;单元操纵( 主要是对头部字段和负载操纵) ;控制操作( 允许单元 创建其它的单元,向前传输,复制或丢弃单元) ;节点存储( 如代码存储等) 。 s w it e h w a r e s w i t c h w a r e 4 项目是p e n n s y l v a n i a 大学研究和发展起来的。它是通过另一 种离散方式来实现主动网络的技术,该技术是一种将数据和注入到节点上的程序 代码独立分开传输的方法。使用者首先把定制好的处理程序代码注入到所需要的 路由器中( 假设这些节点支持a c t i v en e t w o r k 操作并且往往位于网络的关键位 置) 。然后用户象传统网络那样传输报,当报到达节点,则节点检查报的头部, 如果报是属于程序代码类型,则节点经过安全验证后接受这部分注入代码,如果 报文属于数据类型,则根据其头部信息来选择相应的已经驻留在节点中的用户处 理程序对其进行处理 s w i t c h w a r e 是另一种实现主动网络的结构方法,它采用三层:主动报( 是 一种含有移动代码的报,代替了传统的报文) 、主动扩展( 提供网络上向量服务, 这能被动态装载) 、主动路由设施。主动报和a n t s 的单元相似,主动报是用p l a n “” 语言编程的,p l a n 语言具有强的类型和静态类型检查来提供安全,注入p l a n 程 序到网络中去,p l a n 语言被设计为通过限制其行为来保证节点的安全性,即p l a n 程序不能操纵节点的状态。为了弥补这个缺陷,p l a n 程序能够调用主动扩展。 主动扩展是用c a m l 语言编写的,s w i t c h w a r e 结构如图1 - 4 所示。我们在下面分 别讨论s w i t c h w a r e 结构组成部分。 图卜4s w l t c h w a r e 的结构 主动报:在s w i t c h w a r e 中主动报传输的程序是由代码和数据组成的。主动 报的数据传输到某个节点时,查看路由表中的下一跳的地址,然后传输整个报到 下一跳。在目的地址处,代码将数据负载部分提交。属于程序代码类型的报,则 经过节点安全验证后注入节点。主动报是用u d p 封装。s w it c h w a r e 发展了p l a n ( p r o g r a m m i n gl a n g u a g ef o ra c t i v en e t w o r k s ) 语言来编写主动报p l a n 语言 土动网络系统安全技术研究 仅支持很简单的数据和控制结构,因此容易编译或解释。此外p l a n 语言不改变 路由器的状态,它能允许没有经过认证在节点上执行。p l a n 语言有很强的类型 检查,所以类型错误不会威胁路由器状态的完整性。 主动扩展:在s w i t c h w a r e 中主动报由于受限制,不能执行任意的协议或函 数,但在第二层( 主动扩展) 和主动报结合能够提供这种功能。主动报能调用主 动扩展来提供身份认证服务。而主动扩展由于不能移动,它能使用主动报来进行 远程通信。主动报和主动扩展最主要的不同是:尽管扩展可能动态装载在网络中 作为主动扩展,但它们执行完全在特定的节点上,而不是可以自由移动的移动代 码。一般来说主动扩展被装载到路由器上,它将为多个主动报提供服务。 为了满足这几点,s w i t c h w a r e 工作组设计了s a n e ( 安全主动网络环境) 5 。 s a n e 系统使用了下面几个设计原则: 动态检查,当系统在执行操作,应当能够尽可能快速,多次: 静态检查,在系统进入操作状态前执行,仅一次; 系统性能能够通过减少动态检查花费和静态检查花费之间的均衡来提高。 s m a r tp a c k e t s m a r tp a c k e t 6 是将主动网络技术引用到网络管理中,它使管理节点可编 程化,管理中心能够发送程序到管理节点。这种方法有三个好处:( 1 ) 返回信息 中心的信息能够被实时剪裁成中心感兴趣的信息,这样就减少了大量信息被传输 回来和被检查。( 2 ) 管理中心能够将管理规则嵌入到程序中去,发送到管理节点。 管理节点自动识别和纠正错误不需要由中心进一步干涉。( 3 ) s m a r tp a c k e t 减 少监控和控制循环,即:监控与控制只是通过报文穿越网络的一个周期完成,而 不是通过一系列的从管理站的g e t 和s e t 操作完成。 s m a r tp a c k e t 的结构是由四部分组成的:( 1 ) s m a r tp a c k e t 报的格式和封 装说明。( 2 ) 高层语言说明。( 3 ) 提供执行环境的虚拟机。( 4 ) 安全结构。 系统结构:用户编写的网络管理和监控程序产生s m a r tp a c k e t 用a n e p 7 封装,将它们交给a n e p 的后台程序处理。a n e p 的后台程序一般以端到端和节点 到节点的方式注入s m a r tp a c k e t 到网络中。在端到端模式下,程序仅在目的端 被执行;在节点到节点模式,程序在源、目的和所有节点间执行。a n e p 的后台 程序有两个责任:它是为s m a r tp a c k e t 注入和接受:它还含有执行程序的虚拟 机。图卜5 显示了s m a r tp a c k e t 的系统结构。 报文格式:s m a r tp a c k e t 含有一个程序、结果数据或封装的信息在共同s m a r t p a c k e t 头部和a n e p 封装里。其报文格式如图卜5 所示,s m a r tp a c k e t 头部有四 个字段:版本号、类型、上下文、序列号。类型有四类:程序报、数据报、错误 报或信息报。程序报含有在适当节点执行的代码。信息报含有信息而不是执行代 码。错误报是返回错位条件,如报传输时发生的错误或执行代码时发生的错误。 上下文是含有的值是识别s m a r tp a c k e t 起源。上下文值是a n e p 后台程序为每个 客户端产生的,在主机中它是独一无二的。这个值是放置在输出的程序报中。当 程序报穿越网络,产生一个或更多的响应( 数据、错误和信息报) ,上下文值用 来识别客户端,那个响应必须提交。序列号字段含有的值用来区分同一上下文值 间的信息。 图1 5i p 和a n e p 封装 语言:s m a r tp a c k e t 发展两个语言,第一个语言是s p r o c k e t :它是一种高 级语言,象c 语言,但是带有安全威胁的结构如指针被去除,网络和网络管理特 性被增加。第二个语言是s p a n n e r :是一种c i s c 汇编语言。s p r o c k e t 程序被编 译成s p a n n e r 代码,依此汇编成独立机器二进制代码放在程序报中。 虚拟机:虚拟机执行程序报中的s p a n n e r 代码。当一个s m a r tp a c k e t 到达 一个节点时。后台程序检查它的完整性,执行授权和认证,如果s m a r tp a c k e t 不是程序报,后台程序将报提交给适当的使用者手里。对于虚拟机,安全是最重 要的,所以虚拟机对资源做了限制,如最大执行指令数,多少内存被使用,特权 使用的控制。虚拟机能追踪这些资源使用,检查一个指令是否超过程序特权等。 如果一个程序超过其中一个限制,程序就被终止和一个错误报被发送到源主机。 p a n p a n 8 为建立实际主动网络提供一个基础p a n 目标是提供一个执行移动代 码的执行环境并取得与被动网络可以相比美的性能。p a n 通过四种方法取得性 能:在内核中处理单元;减少数据复制 执行环境。 处理单元在内核,而不是在用户层 缓存代码为立即执行;为单元提供灵活 一个p a n 节点避免拷贝数据在内核空间 与用户空间之间。提供一致内存管理系统,p a n 使用一种和a n t s 相似的主动网 主动网络系统安全技术研究 络结构,一个单元含有它传输的数据和指向代码对象的指针。这些代码对象含有 在单元传输经过的每个节点时被评价的指令。这些指令能直接指示节点将单元传 输到目的地址,更改单元的内容,将单元提交给应用,访问节点的状态。如果一 个代码对象不能在节点中得到,则向上游节点发出需求装载请求,这和a n t s 一 样。 一个p a n 节点在环境中完成对单元代码评价,通过p a n 节点接口( p n i 环境) 提供访问节点资源。p a n 节点结构给出一个简单和一致的接口,这个接口能使代 码对象在p a n 节点上一个广泛的平台上运行。一致接口提供移动代码穿越不同操 作系统平台,该结构允许多个移动代码系统在一个p a n 节点上同时操作。在p a n 节点中,内存管理是通过软件段接口来实现的。它为代码对象提供一致接口。, 减少数据复制,允许数据在代码对象间共享,提供缓存管理功能。当一个单元到 达一个节点时,节点的环境对单元进行评价,环境含有单元原始信息,单元状态, 单元使用的资源等。p a n 系统支持多个移动代码系统,这些系统能够在该节点共 存。 p a n 接口( p n i ) :p n i 为代码对象、单元、其它日常事务提供了一致的访问 内存、节点等其它资源、将代码对象插入节点、记录节点状态信息、发送单元到 其它节点、提交单元到应用,决定当地节点时间、执行校验、加密解密等诸多操 作的接口。 代码对象:p a n 代码对象含有执行指令和数据,它能够通过函数调用等来访 问。代码对象说明它所含有的代码类型代码使用的a p i 。对于i n t e l x 8 6 移动代 码对象含有一个e l f 或a o u t 对象文件。对于j a v a 移动代码,每个代码对象含 有一个j a v a 类文件集合,它使用p a n 类装载来装载。每个代码对象有一个独一 无二的代码对象名,该对象名就是代码对象的代码进行h a s h 加密( 如m d 5 、s h a 1 ) 得到的结果,这种方法非常巧妙,它避免了需要一个中心代码命名系统,同时保 障了代码对象防止假冒,保证了唯一性。每个p a n 节点维持了一个代码c a c h e , 当单元到达时,在c a c h e 里查找单元代码对象,如果需要的话,它将通过代码对 象装载来装载。每个代码对象都维持自己的软状态,即当单元离开节点时,单元 的数据能够被其它单元使用。 内存管理:软件段接口提供一致机制来追踪资源通过记数,在系统的不同部 分软件段允许数据被传输和共享,不需要任何复制方法来保证。软件段能为p a n 提供b u f f e r 管理,它封装不同的操作系统的b u f f e r 系统,所以允许代码对象在 不同的操作系统下有效地运行。软件段能够迅速地将不连续的代码对象接合起 来。 软状态:所有的软状态存储在一个节点中,而且与每个代码对象相联系,代 主动删络系统安全技术研究 码对象能够存储少量的状态在静态变量或静态类字段,该状态保持时间与节点中 代码对象生存期一样长。 i 5 主动网络系统中存在的问题 主动网络系统发展到现在,其基本的体系结构已经建立起来,但是它的研究 仍处在初级阶段,仍有许多问题需要进一步研究。 第一,主动网络的安全性有待提高。如果要建立一个基于主动网络的开放的 商业系统,接受客户自定义的主动报文,进行诸如电子商务等活动, 主动网络系统必须提供足够的安全保证。前文所述的几种典型的主动 网络系统,到目前为止都不能提供这样的安全保证,这也是本文将在 下面的篇幅中着重论述的问题。 第二,主动网络的执行效率有待提高。出于平台无关性和安全的考虑,主动 网络系统采用的大多是解释型语言,和编译型语言相比,它无疑要慢 得多。而且主动网络运行时要执行和资源控制、安全有关的加密解密 操作,额外增加了运行负担。因此必须寻求相应的解决之道克服之。 第三,没有解决保护拯个网络资源方面的问题。一个报简单地从一个节点移 动到另一个节点这会消耗很多资源。此外由于很多的主动网络应用是 将报文分片传输的,所以节点不得不耗费大量资源去拼接。保护整个 网络资源也将是主动网络的一个研究热点。 1 6 文章结构 本文针对主动网络系统中的安全技术问题进行研究。第一章对主动网络技术 的背景、概念、优点以及有代表性的主动网络系统进行介绍。第二章首先对前人 提出的主动网络安全技术进行比较。然后再对主流主动网络系统的安全性进行分 析。第三章对a n t s 主动网络系统的安全性进行改进,提出一个安全的主动网络 系统s a n t s 并给出其设计方案。第四章给出s - a n t s 重点部分的实现。第五章是 总结与展望。 主动嘲络系统安全技术研究 第二章主动网络系统安全问题的分析 主动网络系统的安全问题严重的影响了该技术在世界范围的推广。本章首先 对已有的主动网络安全技术进行比较,然后再对主流主动网络系统的安全性进行 分析。 2 1 已有的主动网络安全技术 当前对主动网络安全性的研究大致分为两类: 第一类研究传统意义上的安全性概念,即认证,访问控制,规则及其实施。 这些研究还包含用加密的方法对有价值信息的保护,用数字签名的方法提供数据 的完整性。p k i 和密钥分发和管理的研究也属于这类问题。 第二类研究主要是与主动代码的移动性有关。保护主动节点免受来自其他域 的主动代码的攻击,保护主动报文和主动代码不受恶意主机的攻击都属于这类研 究。为保护主动节点免受主动代码的攻击,通常需要一种提供安全类型保护,资 源受限的编程语言,并且这种语言应该提供动态类型验证。移动代码通过使用该 语言的扩展特性,可以安全的在主动节点安装协议。 2 1 1 主动网络通信的安全 主动网络,和传统的计算机系统和网络构架一样,很容易受到各种各样的安 全攻击。这些攻击包括恶意的、蓄意的信息战,攻击者可以用现在的各种高级技 术进行攻击。一般来说,攻击可以分为以下几类 9 : 信息篡改( c o r r u p t i o no fi n f o r m a t i o n ) 。当报文在不同的域或子网传输时 发生未经授权或恶意的数据修改,协议报文的重放( r e p l a y ) 利用假标示符插 入( i n j e c t i o n ) 伪造的信息。 信息泄漏( d i s c l o s u r eo fi n f o r m a t i o n ) 。信息泄漏给那些没有权利访问这 些信息的人。 窃取服务( t h e f to fs e r v i c e ) 。在对其他合法用户的服务不降级的情况下, 未经授权使用该网络或域的服务。 拒绝服务( d e n i a lo fs e r v i c e ) 。有意降级或阻塞网络通信连接或通道。 否认( r e p u d i a t i o n ) 。参与通信的一方否认它的参与。 假扮( m a s q u e r a d e ) 。一个假冒者冒充一个授权实体,以获得对系统的访问, 或访问受限制的资源或秘密的数据;也可包含对计算机系统内核未经授权的访 主动网络系统安全技术研究 司。 篡改代码和配置( c o r r u p t i o no fc o d ee n dc o n f i g u r a t i o n ) 。当系统升级 或重新配置时,将篡改过的软件部件装载到系统中去。 企图监视网络获得有用信息的被动攻击,通常可以用加密的方法加以保护: 而以破坏信息为目的的主动攻击,通常用数据完整性和身份认证的方式来防止。 一些主动网络已经实现了加密、数据完整性和身份认证的功能,而另外一些 则还没有。当前主要的实现机制有以下几种: 加密。 r s a 算法:由r o nr i v e s t ,a d is h a m i r 和l e o n a r da d l e m a n 三人提出,是 目前最流行的非对称加密算法,它的原理是基于大数分解的难度。该算法已经经 过多年深入的密码分析,虽然密码分析者不能证明其安全性也不能否定其安全 性。但经过多年的考验还没有有效的破解方法,这正说明该算法有一定的可信度。 d e s 算法:最早和使用最广泛的对称算法。它的实现原理是对字串混乱和扩 散的组合。经过多年密码学分析,仍然不能完全破解。 i d e a 算法:基于可靠的基础理论:“来自不同代数群的混合运算”。对差分 攻击有较强的抵抗性。但由于专利授权,而且人们在等待该密码安全性的分析。 该算法使用较少。 单向散列函数。 主要有m d 5 1 1 算法和s h a 1 2 算法。其中后者比前者更能抵抗差分攻击。 对于已有的主动网络,尽管有些实现了特定加密的算法。但是,并没有提供 客户可定制的安全要求,譬如:加密算法的改变和密钥的长度改变。当用户需要 更高的安全性或更高的效率时,缺乏良好的支持。 2 i 2 保护主机平台免受恶意主动代码攻击 来自非信任域a g e n t 对迁移到的系统的可能的破坏作用是显而易见的。这种 破坏主要体现在以下几个方面: 窃取敏感信息:恶意代理访问主机文件系统,读取敏感信息,将其返回给代 理拥有者。 入侵系统、破坏资源:恶意代理通过删除文件、投放病毒等方法破坏系统资 源。 拒绝服务攻击:大量占用系统资源( 比如:硬盘空间、网络端口或文件句柄) , 致使其它代理无法使用相应资源。 为了防止这些破坏作用,需对主动代码系统进行两个方面的保护:l 、对主动 主动纠络系统安全技术研究 代码访问系统资源的访问控制。2 、对主动代码可能造成的入侵系统行为和拒绝 服务攻击行为的防护。 目前常见防护方法如下: 基于类型安全的语言。许多主动网络系统都采用了j a v a 或类似的语言。这 些语言通过类型安全,保证访问数据时的安全性:采用s a n d b o x 模型,避免指 令访问到其它代码。因此提供了较强的安全性。 进行访问控制。限制主动代码对系统资源的访问,不同的代码,根据主机对 其信任程度,授予不同访问权限。这个方面的研究进行的较多,一些研究成果如 下: 安全管理器( s e c u r i t ym a n a g e r ) 1 2 主机所有的资源由安全管理器进行管理。当主动代码登陆主机后,服务器按 照主动代码的要求,将相应的资源引用句柄传递给主动代码,主动代码使用句柄 访问资源时,资源管理器根据预先制定的访问策略决定是否允许此次访问。 权能( c a p a b i l i t y ) 1 3 c a p a b i li t y 曾经被早期的分布式系统采用。当一个主动代码登陆主机时, 服务器根据相应的安全策略为主动代码颁发一个c a p a b i l i t y 。c a p a b i l i t y 是经 过加密的,只能由服务器识别,主动代码无法伪造。c a p a b i l i t y 包含了主动代 码访问权限,主动代码要访问主机资源,必需出示c a p a b i i i t y 。 执行环境( e x e c u ti o ne n v i r o n m e n t ) 14 还有一种方法是使用两个执行环境,一个是安全环境,主动代码登陆主机后 被放置于此,另一个是可信任环境,里面放置各种资源。主动代码必须通过安全 环境来访问可信任环境中的资源,安全环境根据相应的安全策略决定该主动代码 是否具有访问权限。 资源使用总量控制例如,t t l 限制主动报文对网络传输的无限应用:主动 节点对主动代码限定网络带宽和存储空间等。 2 1 3 主动报文自身的保

温馨提示

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

评论

0/150

提交评论