(计算机科学与技术专业论文)web聚合应用的安全跨域通信研究.pdf_第1页
(计算机科学与技术专业论文)web聚合应用的安全跨域通信研究.pdf_第2页
(计算机科学与技术专业论文)web聚合应用的安全跨域通信研究.pdf_第3页
(计算机科学与技术专业论文)web聚合应用的安全跨域通信研究.pdf_第4页
(计算机科学与技术专业论文)web聚合应用的安全跨域通信研究.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

t h er e s e a r c ho fs e c u r ec r o s s d o m a i nc o m m u n i c a t i o nf o r 阮b m a s h u pa p p l i c a t i o n s b y l i uz h i r o n g b e ( h e b e iu n i v e r s i t y ) 2 0 0 8 at h e s i ss u b m i t t e di np a r t i a ls a t i s f a c t i o no ft h e r e q u i r e m e n t sf o rt h ed e g r e eo f m a s t e ro fe n g i n e e r i n g c o m p u t e ra p p l i c a t i o n i nt h e g r a d u a t esc h o o l o f h u n a nu n i v e r s i t y s u p e r v i s o r a s s o c i a t ep r o f e s s o rs u nj i a n h u a m a y , 2 0 1 1 舢9哪89509 ji哪y 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名: 纠玄声 日期:加f 年岁月弓e l 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇 编本学位论文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密团。 ( 请在以上相应方框内打“”) 日期:z 夕f 1 年,月雩h 日期:pf f 年r 月;) e 1 w e b 聚合应用的安全跨域通信研究 摘要 在传统w e b l o 应用程序中,每个w e b 站点相互隔离,用户访问w e b 站点 仅能得到来自本站点的信息。在新的w e b 2 0 潮流之下,我们希望打破网站之间 的隔离状态进行数据融合使之能够共享信息。在这种背景下,聚合型网站设计方 式应运而生,这就是新型的w e b 应用程序一一聚合应用( m a s h u pa p p l i c a t i o n ) 。 传统的w e b 应用程序遵守同源策略访问同源信息,而不同源的信息交互受 到限制。m a s h u p 是对多个站点资源的优化组合,怎样整合相互独立的第三方数 据、实现不同源数据之间的通信是聚合应用需要解决的问题。跨域通信容易导致 框架钓鱼攻击,共享信息容易泄露个人隐私信息。怎样确保不同源数据间通信的 安全性与完整性是聚合应用需要解决的另外一个问题。 针对上述问题,本文在研究相关工作的基础上提出了一种改进的适合于聚合 应用的安全跨域通信系统( s c d c ,s e c u r ec r o s s d o m a i nc o m m u n i c a t i o n ) 。主要工 作是:首先,设计实现了s c d c 系统的各个模块,不同信任域的内容封装为组 件表示,达到域间隔离的效果保证安全性;利用跨文档通信机制,借助于分层通 信栈结构来实现域间通信;利用封装技术与分层通信栈实现组件间细粒度对象共 享。其次,对该系统进行了安全分析,定义了系统的整体安全策略,以及定义针 对性的安全策略来防范框架钓鱼攻击以及确保对象共享的安全性。最后,从四个 方面进行性能测试,实验结果表明,数据吞吐率与事件发生率较之前的通信方案 提高了五倍左右,组件装载延迟明显减少,对象共享也仅引入很小的开销;从域 间通信安全性与对象共享安全性两方面进行系统安全测试,实验结果表明, s c d c 系统采取的安全防范措施有效,增强了聚合应用的安全性。 该系统保障了聚合应用与组件间的安全跨域通信与对象共享,且不需要浏览 器做任何修改。具有安全可靠性强、效率高、支持对象共享的特点,为聚合应用 提供了一种安全可靠的跨域通信系统。 关键词:w e b 聚合应用;组件;跨域通信;共享对象 a b s t r a c t i nt r a d i t i o n a lw e b1 0a p p l i c a t i o n s ,a c c e s s i n gw e b s i t ec a no n l yg e t1 n f o r m a t l o n f r o mi t so w ns i t ea si s o l a t e df r o me a c ho t h e r i nw e b2 0a p p l i c a t i o n s ,w eh o p e t o b r e a kt h ei s o l a t i o na m o n gw e bs i t e s t os h a r ed a t a i nt h i sc o n t e x t ,m a s h u p a p p l i c a t i o n ,w h i c hi san e wt y p eo f w e ba p p l i c a t i o n s ,l sg r o w l n gu p t r a d i t i o n a lw e ba p p l i c a t i o n sm u s to b s e r v et h es a m e o r i g i np o l i c y ( s o p ) t o a c c e s sc o n t e n tf r o mt h es a m eo r i g i n ,w h i l ec o n t e n tf r o md i f f e r e n t o r 埘gn i n t e r a c t s w i t hc o n s t r a i n t s t h e r ei s a nu r g e n tp r o b l e mf o rm a s h u pt oi n t e g r a t el n d e p e n d e n t t h i r d p a r t yd a t aa n da c h i e v ec o m m u n i c a t i o na m o n gd i f f e r e n ts o u r c e s i t 1 sp r o n et o l e a dt of r a m e p h i s h i n gt h r o u g h c r o s s - d o m a i nc o m m u n i c a t i o na n d r e v e a lp r l v a t e i n f o 朋a t i o nt h r o u g hs h a r i n go b j e c t s f o rm a s h u p t h e r ei sa n o t h e rp r o b l e m t o r m a s h u dt oe n s u r es e c u r i t ya n di n t e g r i t yo f c o m m u n i c a t i o na m o n gd i f f e r e n ts o u r c e s t h e r e f o r e ,a ni m p r o v e ds y s t e mo fs e c u r ec r o s s d o m a i nc o m m u n i c a t i o n f o rw e b m a s h u pa p p l i c a t i o n si sd e v e l o p e d ( s c d c ) t h e m a i nw o r ki si n t r o d u c e da sf o l l o w s f i r s t ,w ei m p l e m e n tt h es y s t e mi n c l u d i n gt h r e em o d u l e s i t e n c a p s u l a t e sc o n t e n t f r o md i f f e r e n tt r u s td o m a i n sa ss e c u r ec o m p o n e n t si no r d e rt o a c h i e v ei n t e r d o m a l n i s o l a t i o n c r o s s d o m a i ni n t e r a c t i o ni sa c h i e v e db yc r o s s 。d o c u m e n tc o m m u n l c a t l o n m e c h a n i s ma n dl a y e r e dc o m m u n i c a t i o ns t a c k f i n e 。g r a i n e d m e d i a t l o no fs h a r e d 0 b ie c t si sr e a l i z e db yw r a p p i n go b j e c t sa n dl a y e r e dc o m m u n i c a t i o ns t a c k t h e n , w e a n a l v s es e c u r i t yo ft h es y s t e m ,m a k i n gu s eo ft h ew h o l es e c u r i t yp o l l c l e s o ft h e s y s t e ma n ds p e c i a lp o l i c i e st op r o t e c tf o rf r a m e f i s h i n ga n do b j e c ts h a r i n g f 1 n a u y , w ec o l l e c td a t ad op e r f o r m a n c et e s t i n g ,e x p e r i m e n t ss h o w t h a td a t at h r o u g h p u ta n d e v e n tr a t ea r ei n c r e a s e da b o u t f i v et i m e st h a ng r o s s 。c o m m u n i c a t l o ns y s t e mb y f r a g m e n t i n d e n t i f i e rm e s s a g i n g ,c o m p o n e n tl o a d i n gl a t e n c y i sf e l lo b v i o u s l y , a n d o b j e c ts h a r i n go n l yl e a d st ol i m i t e do v e r h e a d w ei n s p e c t a n dv e r i f yt h es e c u r l t yo t c f o s s d o m a i nc o m m u n i c a t i o na n do b j e c ts h a r i n g ,e x p r i m e n t ss h o wt h a t o u rs e c u n y p o l i c i e sa r e v a l i dt oi m p r o v es e c u r i t yo fm a s h u p s c d cs v s t e ms u p p o r t sc r o s s - d o m a i nc o m m u n i c a t i o n a n ds h a r e do b je c t sf o r m a s h u pw i t h o u ta n ym o d i f i c a t i o no f b r o w s e r i th a ss t r o n gs e c u r i t ya n dr e n a b i l i t y , h i g he f f i c i e n c y a sw e l l a ss u p p o r t i n go b j e c ts h a r i n go fa p p l i c a t i o n s 1 no r d e rt o p r o v i d eas e c u r ea n dr e l i a b l ec r o s s d o m a i nc o m m u n i c a t i o ns y s t e m f o rm a s h u p k e yw 。r d s :w e bm a s h u p ;c 。m p o n e n t ;c r 。s s - d o m a i nc 。m m u n i c a t i o n ;s h a r e d 。b j e c t s w e b 聚合应用的安全跨域通信研究 r 三罩 日刊k 学位论文原创性声明和学位论文版权使用授权书i 摘要i i a b s t r a c t i i i 插图索引v i 附表索引v i i 第1 章绪论l 1 1 课题背景与意义1 1 2 相关研究现状2 1 2 1 客户端通信2 1 2 2 服务器端通信4 1 2 3j a v a s c r i p t 重写6 1 2 4 对象访问控制一6 1 3 论文研究内容7 1 4 论文组织结构8 第2 章m a s h u p 跨域通信方案研究一9 2 1m a s h u p 概j 苤9 2 1 1m a s h u p 的概念9 2 1 2m a s h u p 类型10 2 1 3m a s h u p 应用程序的架构一1 l 2 1 4m a s h u p 所面临的问题一1 1 2 2 跨域通信方案1 2 2 2 1 服务器端代理一1 2 2 2 2 动态创建脚本1 2 2 2 3 段标识通信1 3 2 2 4f l a s h 技术1 4 2 2 5 跨文档通信1 6 2 3 小结17 第3 章s c d c 系统设计与实现1 8 3 1 系统概况1 8 3 2 系统支撑技术一1 9 3 2 1i f r a m e 技术19 i v 硕:学位论文 3 2 2 面向方面编程技术21 3 3 域封装模块2 3 3 4 域间通信模块一2 4 3 5 细粒度对象共享模块2 8 3 6 j 、结31 第4 章系统安全分析3 2 4 1s c d c 系统整体安全策略3 2 4 1 1 安全需求3 2 4 1 2 系统策略概况3 2 4 2 域间通信安全性一3 4 4 3 对象共享安全性3 6 4 3 1 攻击类型3 6 4 3 2 对象共享安全策略3 7 4 4 j 、结3 9 第5 章实验结果与分析4 0 5 1 实验环境4 0 5 1 1 硬件环境4 0 5 1 2 软件环境4 0 5 2 性能测试评价指标与测试分析4 1 5 2 1 数据吞吐率4 1 5 2 2 事件发生率4 3 5 2 3 组件装载延迟4 4 5 2 4 共享对象下的j s 执行时间开销4 5 5 3 系统安全测试一4 5 5 4 小结4 8 结论4 9 参考文献5l 致 谢5 5 附录a 攻读硕士学位期间所发表的学术论文目录5 6 附录b 攻读硕士学位期间所参与的项目5 7 v w e b 聚合戍用的安全跨域通信研究 插图索引 图1 1s u b s p a c e 跨域访问3 图1 2p u b s u b 显示用户偏好默认值4 图1 3p u b s u b 显示响应消息4 图1 4 客户端到服务器端的事件传输5 图1 5 服务器端到客户端的事件传输5 图1 6 整合者与提供者通过公共接口通信7 图2 1h o u s i n g m a p 聚合应用模型9 图2 2m a s h u p 应用类型及其比例1 0 图2 3m a s h u p 应用程序架构图1 1 图3 1s c d c 系统框架图1 9 图3 2 面向方面编程交叉业务示意图2 l 图3 3 域封装示意图2 4 图3 4 简化通信图2 5 图3 5 分层通信栈结构2 5 图3 6 封装m a p 对象2 9 图3 7 封装对象v i e w 共享过程示例图3 0 图4 1a u t h s u b 认证流程图一3 3 图5 1 数据吞吐率比较4 2 图5 2 事件发生率比较4 4 图5 3 组件装载延迟比较4 5 v l 硕士学位论文 附表索引 v l l 2 6 7 1 0 2 2 2 3 4 一 i 一 一 p 一 一 一 a 式用 达常 式置 表面 方配点页h 互件切主a 交硬与用用象软点应常对的接合件享验 连聚组共实 1 2 3 4 l 1 j ,j 3 3 5 表表表表表 硕士学位论文 1 1 课题背景与意义 第1 章绪论 在传统w e b l 0 应用程序中,每个w e b 站点相互隔离,用户访问w e b 站点 仅能得到来自本站点的信息。即使需要访问其它站点,也是通过编辑拷贝已存储 在本地的信息或者用户调换网站地址的方式来访问内容,而不是直接访问信息源 数据。 w e b 2 0 应用程序的核心思想是提倡互联网络“去中心化”,每个用户都是 资源的创建者,参与建设其内容,更注重用户的交互作用。w e b 2 0 应用程序的 技术核心就是围绕资源共享、聚集和复用这个中心,关注用户的参与协作以及提 升用户的体验。 在新的w e b 2 0 潮流之下,人们希望打破站点之间“孤岛林立”的现状进行 数据融合,使之能够共享信息。在这种背景下,聚合型网站设计方式应运而生, 这就是新型的、b 应用程序一一聚合应用( m a s h u pa p p l i c a t i o n ) ( 。聚合应用的本 质是对互联网资源的深度挖掘和使用,也是对已有资源的二次利用。聚合应用的 主要特点是广泛地使用系统边界外部的数据和服务构建应用程序。由于m a s h u p 应用建立在各种开放式接口的基础之上,这种松耦合的结构实现非常灵活,便于 扩展与共享,易于应对变化的需求,同时也便于与别的系统集成。 传统的w e b 浏览器安全机制遵守同源策略( s a m e o r i g i np o l i c y , s o p ) 2 1 。同 源策略规定j a v a s c r i p t ( j s ) 代码只能访问其来自同源服务器上的数据,把来自不 同源的内容相互分离。当来自多个不同源的内容以某种方式被集成到某单一应用 程序中时,一些内容之间可能具有不同的信任级别,或者它们可能根本没有必要 相互信任【3 】。同源策略为了满足这种需求,把来自不同源的内容分离开来,将它 们之间的冲突减至最低。这种策略在为j s 提供了安全保障的同时也限制了基于 j s 的跨域访问。聚合应用是对多个站点资源的优化组合,需要从多个分散的站 点获取信息源,而不要求各个站点之间相互信任。传统同源策略的安全设计没有 考虑多个站点之间交互时整体的快速通信需求,也没有考虑新的信任模型下的安 全支持问题。 如今,安全问题在大多数应用程序和系统中备受关注。n a o n e 和来自 o p e n a j a x 联盟、微软研究院、信息安全公司m a n d i a n t 的业界专家,以及m a s h u p 软件供应商j a c k b e 一起讨论并评估了m a s h u p 应用程序的安全现状以及未来的 关注点【4 】。他们认为,现有的浏览器安全机制已经不足以为聚合应用提供充分的 安全支持。如何确保不同源数据间通信的安全性与完整性是聚合应用需要解决的 w e b 聚合戍用的安全跨域通信研究 一个问题。 当前所有浏览器实现的安全模型遵守同源策略,导致了在不同源内容之间只 有“完全信任 或“完全不信任 两种选择。随之带来的问题是,m a s h u p 不能 同时满足功能性需求与安全需求,即在快速响应与安全稳定之间取得平衡。如何 整合相互独立的第三方数据、实现不同源数据之间的通信是聚合应用迫切需要解 决的一个问题。 工业界迫切需要建立一种新的浏览器安全模型,使得浏览器能够支持快速的 跨域数据访问,同时不以牺牲终端用户的w e b 安全为代价。 1 2 相关研究现状 以下从客户端通信,服务器端通信,j a v a s c r i p t 重写以及对象访问控制四个 方面介绍m a s h u p 通信领域的相关研究现状。 1 2 1 客户端通信 客户端通信指的是利用i f r a m e 代理实现客户端的通信。s u b s p a c e t5 j 是一种用 于客户端通信的技术,主要目的是实现客户端与服务器端的安全跨域通信。这种 技术能用于浏览器中安全跨域的组件通信,但是它要求聚合应用方完全信赖组件 方,而且一开始便要建立所有的连接,限制了动态按需装载组件。 在介绍s u b s p a c e 的实现过程前,先讨论w e b 应用访问其它域的两种方式。 一种方式是动态确认。闭包【6 j 是一个函数,可以访问另一个函数作用域中的变量 对象。闭包是要执行的代码块与为自由变量提供绑定的执行环境( 作用域) 两者的 结合。闭包继承了主调用页面的安全特权,类似于栈检查,例如,站点a 调用 站点b 的一个闭包,则这个闭包能够访问关于站点a 的任意浏览器状态( d o m 对象,c o o k i e s ) ,而非站点b 的。这种方式应用于o p e r a ,s a f a r i 浏览器。另一种 方式是静态确认。闭包继承所在创建页面的安全特权,例如,站点a 调用站点b 的一个闭包,闭包将能够访问关于站点b 的任意浏览器状态,而非站点a 的。 这种方式应用于i e ,f i r e f o x 浏览器。 对比以上两种方式不难看出,静态确认在授权与异步事件驱动的通信中具有 更大的灵活性。动态确认能够通过调用e v a l 函数从另一个站点接收字符串数据 以模拟静态确认,反之则不然。至于怎样从非信任的w e b 服务站点 ( w w w w e b s e r v i c e c o m ) 向m a s h u p 站点( w w w m a s h u p c o r n ) 传输数据,则是通过引 入子域的方法来解决。例如,规定w e b s e r v i e e m a s h u p t o m 仅用来从w e b 服务站 点获取信息,其实现过程分为两个阶段:创建阶段与数据交换阶段。 对于创建阶段,如下图1 1 所示,首先,建立中间帧,假设浏览器位于 w w w m a s h u p c o m 顶层框架( t o pf r a m e ) 中,建立隐藏的i f r a m e 帧( 中间帧) 指向 w w w m a s h u p c o m 的小页面( t i n yp a g e ) ;然后,建立非信任帧,在中间帧中建立 2 硕士学位论文 非信任帧指向w e b s e r v i c e m a s h u p c o r n 的小页面;最后,传递j s 通信对象。j s 通信对象在顶层框架中创建,传递给中间帧,然后中间帧与非信任帧同时改写 d o c u m e n t d o m a i n 变量。由此,中间帧与非受信任帧能够直接通信。 图1 1s u b s p a c e 跨域访问 对于数据交换阶段,在i e 或f i r e f o x 浏览器中,支持静态确认模型,非信任 帧增加“数据请求”闭包给j s 对象,当m a s h u p 需要从w e b 服务站点请求消息 时,“数据响应 回调函数作为一个函数参数,然后调用该函数。顶层框架建立 数据响应回调函数,把数据作为参数,执行与响应请求的相关操作。数据请求函 数动态插2 x 节点到非信任帧中,指向w w w w e b s e r v i c e c o m 的j s 数据; 当 节点从w c b 服务站点下载数据完毕后,将触发数据响应回调函数以返 回数据给顶层框架。然而,o p e r a 或s a f a r i 浏览器提供动态确认闭包模型,不支 持回调函数,由此,当未授权访问时抛出安全异常,利用s e t i n t e r v a l 函数依靠轮 询j s 对象的属性来进行数据请求与响应。 另一种实现客户端通信的技术是应用i f r a m e 与分段通信,具有代表性的是 x d d e t 7 】与g o o g l ep u b s u b t8 1 。这种方法的缺点是不但很难保证消息的完整性,而 且攻击者很容易进行框架钓鱼攻击。下面重点了解g o o g l ep u b s u b 架构,使用发 布订阅( p u b s u b ) 架构在小工具( g a d g e t ) 之间传递消息。首先介绍小工具之间的通信 所涉及的主要概念,包括发布商,订阅者,消息和频道等。 发布商是通知一个或多个订阅者某个特定的用户偏好值已更改的小工具。一 个发布商小工具可以拥有多个订阅者小工具,而且不需要知道其订阅者小工具的 身份或数量。 订阅者是表示有兴趣了解某个特定的用户偏好值何时更改的小工具。 消息是包含发布商发送给订阅者小工具的用户偏好值的字符串。 频道是用于发布特定类型的消息的已指定位置。发布订阅架构将执行一套预 先定义好的数据策略,以确保在特定频道上发布的消息具有相同的数据结构且属 于同一类型。 3 w e b 聚合应用的安全跨域通信研究 发布订阅架构可让发布商小工具将更改值传递给已表明对这些更改感兴趣 的订阅者小工具。以下是运行小工具时的事件顺序: 步骤1 :发布商和订阅者小工具首次运行在所在页面中。例如,每个小工具 都会显示自己的用户偏好默认值,如下图1 2 所示,对于发布商小工具,该值为 “j o h n ”,对于订阅者小工具,该值为“g o o dm o r n i n g ”。 发布商小f t 具1 j o h n f 更新消息1 订阅者小丁具l g o o dm o r n i n g 图1 2p u b s u b 显示用户偏好默认值 步骤2 :用户在发布商小工具的“消息”字段中输入一个新值,然后点击“更 新消息”,由此调用发布商函数u p d a t e v a l u e 0 ,通过调用一些函数,该新值被发 布到频道上。 步骤3 :发布商通知订阅者值己更改。 步骤4 :订阅者通过调用其回调函数u p d a t e m e s s a g e ( ) 做出响应,由此订阅 者刷新其显示内容。例如,用户在发布商的“消息”字段中输入一个新值“h e l l o , w o r l d 并点击“更新消息”后,发布商和订阅者小工具将显示同一消息。 订阅者小丁具l h e l l o ,w o r l d 图1 3p u b s u b 显示晌应消思 1 2 2 服务器端通信 服务器端通信指的是以i f r a m e 表示的客户端组件之间进行服务器端的通信, 每个客户端的组件都有一个相对应的服务器端通信对象。例如,当组件a 与组 件b 通信时,通过组件a 发送消息给a 对应的服务器端通信对象,然后传送给 组件b 对应的通信对象,最后由组件b 接收。这种方式需要异步的服务器到客 户端的通信,能通过像b a y e u x 协议【9 1 及c o m e t d t l o 】这样的新兴技术来实现。不过 这种方式同样存在一些不足之处:一方面建立通信的过程较为复杂,另一方面客 户端组件之间的通信需要经过两个服务器,增加了服务器的负载与延迟。 4 硕士学位论文 b a y e u x 是一种用来在客户端与服务器端传输低延迟的异步消息的协议。对 于从客户端到服务器的通信,主要是通过客户端发起的h t t p 请求发送b a y e u x 事件,通过一个或多个中介( 代理,网关或通道) 组成的链传送给原服务器。图1 4 显示了b a y e u x 事件e 封装成b a y e u x 消息m 0 ,通过h t t p 请求从b a y e u x 客户 端b c 发送消息到b a y e u x 服务器b s ,经由了用户代理u ,代理p 与源服务器端 o 。h t t p 响应包括b a y e u x 消息m 1 ,其中至少包括响应m 0 消息的协议,还可 能包括服务器或其它客户端发起的其它b a y e u x 事件。 i一一一!哩!鬯一一一卜htt一p一-请!12堡!:!一,im o ( e ) |l iiii i + - :小i 鬲磊f 赫: l,-jc!叟-。ji!i?!巴!宦鸯k虫l m o l ii iii liii i :等卜llil勺i l + i h t t p 响应l ( m l ( e ) ) il l m i ( e ) l ii l 5 w e b 聚合应用的安全跨域通信研究 1 2 3j a v a s c r i p t 重写 一种实现浏览器隔离的机制是利用静态语言分析和重写技术。静态分析,编 程语言限制与动态代码重写这三者的结合可以实现j a v a s c r i p t 代码的隔离【1 1 。4 1 。 然而,在不同的运行环境下,重写自我修改的代码比较复杂,很难做到真正的隔 离。此外这种方法需要一个受信任的服务器以限制使用唯一管理域,在客户端及 服务器端两方面都面临相当大的性能与完整性挑战。 c a j a 是一个j a v a s c r i p t 加强子集,设计时尽可能不影响正常的j a v a s c r i p t 语言,但提供基于对象的安全性。利用c a j a ,w e b 应用程序允许访问第三方脚 本,能够安全的执行动态网页中的脚本内容。一般情况下,普通用户会浏览包含 j a v a s c r i p t 脚本的页面,即使访问存在浏览器漏洞与网络钓鱼的不受信任网站, 仍然能够保证安全。但是即使这样,w e b 应用程序一般会去除第三方脚本,减少 传送动态内容。例如,电子邮箱、博客、聊天程序、文档与电子表格等等,无论 是从微软、雅虎、谷歌、百科还是其它包含脚本的w e b 应用程序都能提供安全, 简单和灵活的动态内容。 1 2 4 对象访问控制 对于聚合应用来说,首先要确定是选择基于浏览器的访问控制方法还是基于 对象的访问控制方法【1 5 1 6 】,然后确定设计策略,主要涉及到以下几个方面。 ( 1 ) 静态认证与动态认证 当浏览器检查访问控制权限时,必须先确定当前活动主体。不同浏览器使用 不同算法来计算当前活动主体。一些浏览器使用静态认证,选择定义了最近被调 用者的主体作为活动主体,其它的浏览器使用动态认证,选择定义了第一个调用 程序的主体作为活动主体。当整合者直接调用小工具方法时,小工具的方法能以 整合者的身份调用,导致动态认证存在不确定性。 ( 2 ) 对称接口与非对称策略 对于聚合应用通信机制,一种方式是把整合者( i n t e g r a t o r ) 与小工具( g a d g e t ) 看作两个相互不信任的主体,通过已经定义好的接口进行通信;另一种方式是以 非对称的策略来取代对称的同源策略,允许整合者访问小工具,但反之则不然。 在非对称模式下,小工具能通过替换内置浏览器的a p i 为恶意函数以迷惑整合 者,由此带来安全隐患。通常,小工具完全让步于整合者,即使在静态认证的情 况下,在函数调用期间滥用各种j s 指针也会导致泄露。由此可见,第一种方式 比较安全可靠。 ( 3 ) 强类型与弱类型 即使通信受限于两个相互不信任的主体的一个接口,由于j a v a s c r i p t 是弱类 型语言,其变量本身是没有类型的,但是其数据是有类型的,所以同一个变量的 6 硕士学位论文 类型是可变的。一个主体以多种方式来攻击另一个主体,通过接口传送意想不到 的参数,调用者误导被调用者进入混乱局面等等【1 7 】。例如,调用者通过传送全 局窗口对象给被调用方,则被调用方可以进行一系列的错误操作。通过使用强类 型的接口可以阻止这些意想不到的参数,这样很大程度上缓和了恶意攻击。 ( 4 ) 值与对象 如果一个主体泄漏j a v a s c r i p t 对象给另一个主体,即使是使用强类型的接口 也很危险。通过不同的隐式指针,恶意主体可以攻击敏感的对象,如信任主体的 o b j e c t p r o t o t y p e 。在o b j e c t p r o t o t y p e 被攻击后,攻击者能使用各种不同的技术劫 持正常主体的控制流,欺骗正常主体进入混乱状态。 对比发现,聚合应用通信机制阻止优先封装,通过特定的接口进行静态认证, 执行参数类型检查,仅允许通信双方交换原始值【博】。 a ) 提供者( 声明它的公共接口)b ) 整合者( 调用上面已定义的公共接口) 图1 6 整合者与提供者通过公共接口通信 o m a s h t ”1 简单抽象地把每个w e b 页面看作对象,仅通过声明的公共接e l 交 互对象,如图1 6 代码所示。o m a s h 不依赖于同源策略来控制d o m 访问或跨域 数据交换,因此不会受到同源策略所带来的不安全因素影响。例如,把某个页面 定义为公共接口,其它页面能够以一种受限形式作用于公共接口。不过o m a s h 只允许值传输,至于对象的传输无能为力。 1 3 论文研究内容 聚合应用( m a s h u p ) 是将来自一个或多个信息源的内容进行组合的w e b 站点 7 w e b 聚合应用的安全跨域通信研究 或w e b 应用。传统的w e b 应用程序遵守同源策略( s o p ) 访问同源信息,而不同 源信息的交互受到限制。由此学术界提出多种跨域通信方案,但难以同时兼顾安 全性和高效性。针对这些问题,本文研究了适合聚合应用的安全跨域通信系统 ( s c d c ,s e c u r ec r o s s d o m a i nc o m m u n i c a t i o n ) ,将不同信任域的内容封装成安全 组件,借助于分层通信栈实现域间通信,并通过封装对象实现细粒度对象共享。 s c d c 实现了聚合应用与组件间的安全跨域通信与对象共享,且不需要对浏览器 做任何修改。实验表明,系统引入了有限的开销,而通信效率提高了五倍以上。 本文主要的研究对象是w e b 聚合应用及其面临的最大挑战一一安全跨域通 信。具体来说,本文的研究内容包括: ( 1 ) 对w e b 聚合应用程序的特性及系统架构的分析与研究; ( 2 ) 对比传统跨域通信方案,提出了适合于聚合应用的跨域通信方案; ( 3 ) 详述s c d c 系统的设计与实现,主要包括三大模块:域封装模块,域间 通信模块,细粒度对象共享模块; ( 4 ) 讨论s c d c 系统安全策略,定义系统的整体安全策略,针对框架钓鱼攻 击,共享信息泄露这两个问题特别设计了针对性的安全策略; ( 5 ) 对安全跨域通信系统进行性能评估与安全分析,证明了系统的高效性与 安全性。 1 4 论文组织结构 第一章介绍了本文的选题背景和科学意义,进而介绍了聚合应用通信领域的 研究现状并提出了这些传统方案的不足之处。 第二章首先介绍了w e b 聚合应用的定义及其应用实例,m a s h u p 类型及应用 程序架构,然后详细对比介绍了跨域通信的传统方案,最后,提出了适合聚合应 用的跨域通信机制。 第三章详细介绍了s c d c 系统的整体设计与实现,首先介绍了系统概况, 以两个组件之间的通信为例说明系统的整体框架,然后介绍了系统使用的相关技 术工具,最后分别介绍了域封装模块,域间通信模块,细粒度对象共享模块的关 键技术与实现。 第四章对本文提出的s c d c 系统进行分析优化与加强,首先分析了系统的 整体安全策略,然后针对跨域通信容易导致框架钓鱼攻击采取了相应的安全防范 措施,最后对于对象共享引发的安全问题设计了相应的安全策略。 第五章是实验分析。首先详细介绍了实验平台,从数据吞吐率,事件发生率, 组件装载延迟及对象共享下的j s 执行时间开销四个方面对系统进行分析与评 估,并与相关的跨域通信系统进行实验对比,然后对系统进行了安全分析与验证。 最后,对全文所做的工作进行了总结,并指出了下一步的研究方向。 硕上学位论文 第2 章m a s h u p 跨域通信方案研究 本章首先对m a s h u p 聚合应用进行了简单介绍,包括m a s h u p 概念、m a s h u p 类型、应

温馨提示

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

评论

0/150

提交评论