在未修改浏览器上保护Web应用的跨域交互的方法和系统技术方案

技术编号:3767290 阅读:296 留言:0更新日期:2012-04-11 18:40
提供了一种用于在未修改浏览器上保护Web应用的跨域交互的系统和方法。所述系统包括:安全框架装置,其中所述安全框架装置由浏览器创建;其中,所述安全框架装置进一步包括:组件创建器,用于创建来自多个源的组件;以及监督模块,用于监督和控制在组件创建期间执行的脚本/代码以及在组件创建之后各个组件执行的调用和交互操作。根据本发明专利技术的实施例的所述系统和方法可以禁止来自组件的任意潜在的恶意操作,并且提供安全解决方案来监视和控制这些操作,从而同时兼顾功能性和安全性。

【技术实现步骤摘要】

本专利技术一般地涉及Web应用,并且具体而言涉及一种用于在未修改浏览器上保护 Web应用的跨域交互的方法和系统。
技术介绍
现今,在Web应用领域,mashup逐渐成为一种重要的Web应用技术。术语"mashup" 指的是一种Web应用,通过该应用可以把来自不止一个源的数据结合到单一集成工具中, 从而创建一个新颖和独特的Web服务,而该服务之前没有被任一源所提供。比起单一源的 服务和数据,mashup提供了更多价值。Mashup的一个示例是Google M即s。对于企业来说, 利用mashup可以实现企业应用与外部应用的结合,以及内部数据与外部数据的结合。 Mashup是一种创建应用的便利方式,其模糊了开发者和用户之间的界限。通过 mashup,用户可以随需地创建其应用。存在几种不同的mashup类型。 一些网站可以暴露 其JavaScript API (应用编程接口 ),从而用户可以利用该API来开发强大的应用,例如 Google Maps的API。还存在一种更灵活的mashup方式,例如ScissorsHands,其可以从 不同web应用中剪切任意HTML、 JavaScript和ess (Cascading Style Sheets,层叠样式 表)代码段,并将它们集成为一个新的应用。除了这些方式之外,还存在一种mashup方法, 例如Netvibes、 Google、以及Yahoo,其提供一个平台以及被称为widget (窗口小部件)或 gadget(小配件)的组件。用户可以把这些组件中的某些或者所有组件一起放在平台上,并 且可以在该平台的指导方针下开发新组件。 Mashup的实现基于某些技术,例如动态HTML、 JavaScript以及Ajax。这些技术针 对开发更强大的应用和更友好的用户界面提供了很大的灵活性。然而,相应地,这些技术也 引发了许多安全问题,其中的主要两种安全问题为 1)跨站脚本攻击(Cross-Site Scripting, XSS) 。 XSS意味着恶意攻击者在Web 页面里插入恶意HTML代码,当用户浏览该页之时,嵌入其中的HTML代码会被执行,从而达 到恶意用户的特殊目的。由此,恶意代码可以盗取系统中存储的cookie、访问受限信息、或 者重写页面的一部分。这些攻击可能威胁到用户的隐私以及其它内容提供者的兴趣。 2)跨站请求伪造(Cross-Site Request Forgeries, CSRF) 。 CSRF通过伪装来自 受信任用户的请求来利用受信任的网站。当用户登录到一项服务时,其中的恶意代码可以 攻击服务器,因为服务器认为该连接是来自于可信的客户端代码。CSRF的常见特性在于 依靠用户标识危害网站;利用网站对用户标识的信任;以及欺骗用户的浏览器发送HTTP请 求给目标站点。 不幸的是,到目前为止,针对上述的mashup安全问题还没有很好的解决方案。具 体而言,mashup的混合(hybrid)特性使得Web应用的功能性和安全性具有冲突。Mashup 可以采用来自不同主机的代码、数据和内容,从而破坏了基本的web安全模型,所述模型限 制浏览器不能在一个页面中访问不同主机。 当前的浏览器安全机制采取的方式是要么完全信任,要么完全不信任。也就是6说,对于一个域而言,要么完全信任其中的脚本、代码、服务等,要么完全不信任它们。基于 对浏览器的限制提出了被称为同源策略(Same-Origin Policy, SOP)的安全机制。SOP仅 允许一个页面访问来自同一域的其它内容。JavaScript对象XMLHttpRequest也在SOP的 控制之下。尽管存在某些方法(Ajax代理、动态脚本标签、以及浏览器扩展和插件)可以避 免SOP,但是这些方法在带来更多功能性的同时也带来了安全问题。 出于安全原因,作为默认的mashup模型,Google将每个gadget封装在iFrame 中,以便确保某一个gadget中的恶意代码无法攻击其它gadget。但是,该模型同样限制了 gadget之间的通信。并且,iFrame对于所传递信息的长度有限制。对于mashup来说,其不 便于融合来自各个源的不同应用。 浏览器扩展和插件的实现很大程度上取决于客户端的操作。客户端的用户可能无 法将浏览器扩展和插件正确地安装,或者可能在安装之后破坏其功能。因此,这是一种不可 靠的解决方案。 从上述内容可以看出,在现有技术中,在Web应用的跨域交互方面,还不存在可以 同时获得强大的功能以及足够的安全性的解决方案。当前的安全模型导致了这样的情形 如果需要多样的和可扩展的功能,则安全性通常被牺牲。如果避开了 SOP,并且允许来自第 三方组件的访问,则该访问将能够访问当前域的所有内容。由此,在本领域中存在对于一种 方法和系统的需要,其可以在未修改浏览器上保护Web应用的跨域交互,从而同时兼顾功 能性和安全性。
技术实现思路
在本专利技术的第一方面中,提出了一种用于在未修改浏览器上保护Web应用的跨域 交互的系统,所述系统包括 安全框架装置,其中所述安全框架装置由浏览器创建; 其中,所述安全框架装置进一步包括 组件创建器,用于创建来自多个源的组件;以及 监督模块,用于监督和控制在组件创建期间执行的脚本/代码以及在组件创建之 后各个组件执行的调用和交互操作。 在本专利技术的第二方面中,提出了一种用于在未修改浏览器上保护Web应用的跨域 交互的方法,其中所述Web应用包括来自多个源的多个组件,所述方法包括 由浏览器创建安全框架装置; 由所述安全框架装置创建来自多个源的组件;以及 由所述安全框架装置监督和控制在组件创建期间执行的脚本/代码以及在组件 创建之后各个组件执行的调用和交互操作。 根据本专利技术的实施例的所述系统和方法可以禁止来自组件的任意潜在的恶意操 作,并且提供安全解决方案来监视和控制这些操作,同时兼顾功能性和安全性。附图说明 在附带的权利要求中阐明了被认为是本专利技术新颖特性的特征。然而,通过参考以 下结合附图的说明性实施例的详细描述,将最好地理解本专利技术本身以及其优选使用模式、7另外的目的和优点,在附图中 图1描述了根据本专利技术的一个实施例的一种用于在未修改浏览器上保护Web应用 的跨域交互的系统的整体体系结构以及操作方式的示意性框图; 图2描述了根据本专利技术的一个实施例的安全框架装置的结构的示意性框图; 图3描述了根据本专利技术的一个实施例的单个组件的结构的示意性框图;以及 图4描述了根据本专利技术一个实施例的一种用于在未修改浏览器上保护Web应用的 跨域交互的方法的示意性流程图。 需要注意,在全体附图中,相同或相似的标号指代的是相同或相似的单元或组件。 具体实施例方式在下文中将结合附图对本专利技术的示范性实施例进行描述。为了清楚和简明起见, 在说明书中并未描述实际实现方式的所有特征。然而,应该了解,在开发任何这种实际实施 例的过程中必须做出很多实现方式所特定的决定,以便实现开发人员的具体目标,例如符 合与系统及业务相关的那些限制条件,其中,这些限制条件会随着实施方式的不同而改变。 此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于这个公开内容的 本领域技术人员来说,这种开发工作仅仅是例行的本文档来自技高网
...

【技术保护点】
一种用于在未修改浏览器上保护Web应用的跨域交互的系统,所述系统包括:安全框架装置,其中所述安全框架装置由浏览器创建;其中,所述安全框架装置进一步包括:组件创建器,用于创建来自多个源的组件;以及监督模块,用于监督和控制在组件创建期间执行的脚本/代码以及在组件创建之后各个组件执行的调用和交互操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:张夏天赵石顽袁泉付荣耀高伟
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1