发明名称 |
在未修改浏览器上保护Web应用的跨域交互的方法和系统 |
摘要 |
提供了一种用于在未修改浏览器上保护Web应用的跨域交互的系统和方法。所述系统包括:安全框架装置,其中所述安全框架装置由浏览器创建;其中,所述安全框架装置进一步包括:组件创建器,用于创建来自多个源的组件;以及监督模块,用于监督和控制在组件创建期间执行的脚本/代码以及在组件创建之后各个组件执行的调用和交互操作。根据本发明的实施例的所述系统和方法可以禁止来自组件的任意潜在的恶意操作,并且提供安全解决方案来监视和控制这些操作,从而同时兼顾功能性和安全性。 |
申请公布号 |
CN101788982B |
申请公布日期 |
2013.03.06 |
申请号 |
CN200910005958.9 |
申请日期 |
2009.01.22 |
申请人 |
国际商业机器公司 |
发明人 |
张夏天;赵石顽;袁泉;付荣耀;高伟 |
分类号 |
G06F17/30(2006.01)I |
主分类号 |
G06F17/30(2006.01)I |
代理机构 |
北京市中咨律师事务所 11247 |
代理人 |
于静;李峥 |
主权项 |
一种用于在未修改浏览器上保护Web应用的跨域交互的系统,所述系统包括:安全框架装置,其中所述安全框架装置由浏览器创建;其中,所述安全框架装置进一步包括:组件创建器,用于创建来自多个源的组件;以及监督模块,用于监督和控制在组件创建期间执行的脚本/代码以及在组件创建之后各个组件执行的调用和交互操作,其中,所述组件创建器进一步包括:用于基于要创建的组件从相应的服务器获得该组件的脚本/代码的装置;用于为所创建的每个组件生成一个随机串作为该组件的权标的装置,所述权标用于由所述安全框架装置确定组件的身份;以及用于将所创建的权标和一个安全框架装置引用引擎放置在组件中的装置,其中,所述安全框架装置进一步包括组件储存库,用于存储所创建的每个组件的引用、权标、主机、以及组件名称;并且,其中所述监督模块进一步包括以下的任何之一:调用代理,用于监督并控制组件之间进行的外部调用,其中所述监督并控制组件之间进行的外部调用进一步包括:对由进行调用的组件提供的参数进行验证,所述参数包括调用者权标、目标组件、要调用的功能名称;响应于所述参数合法,允许所述组件执行调用;以及响应于所述参数不合法,拒绝所述调用;Ajax请求代理,用于监督并控制组件的Ajax请求,从而禁止直接的跨站Ajax请求,其中所述监督并控制组件的Ajax请求进一步包括:检查所述Ajax请求中的目标主机是否是该组件所属的主机;响应于所述目标主机是该组件所属的主机,则允许所述Ajax请求;以及响应于所述目标主机不是该组件所属的主机,则拒绝所述Ajax请求;DOM树代理,用于监督并控制组件对于DOM树的访问,从而禁止直接的DOM树访问,其中所述监督并控制组件对于DOM树的访问进一步包括:在组件被创建的时候将特定的经覆盖的DOM树节点提供给该组件,所述经覆盖的DOM树节点具有用于操作真实的DOM树节点的一些功能;禁止组件对其它DOM树节点的访问;以及在组件需要的时候向其提供其它经覆盖的DOM树节点。 |
地址 |
美国纽约 |