Mashupcomponentisolationviaserver-sideanalysisandinstrumentation的制作方法

文档序号:7938076阅读:150来源:国知局
专利名称:Mashup component isolation via server-side analysis and instrumentation的制作方法
技术领域
本发明一般涉及计算机网络安全,并且更具体地涉及在门户服务器(portal server)实现安全特征。
背景技术
门户站点是提供一大批资源和服务(如电子邮件、论坛、搜索引擎和在线商城)的 万维网站点或服务。门户服务器用作主管门户站点的Web服务器。现有技术的门户站点通 常分类内容,并且为每个类别提供超链接。超链接可以通向门户服务器外的其他因特网Web 站点。用户经由Web浏览器访问门户服务器,并且点击超链接来读取内容。这种门户服务 器的示例是由Yahoo ! ,Microsoft Network和America Online运行的那些门户服务器。一些门户服务器提供对多个软件应用的访问,其中软件应用存储在门户服务器外 部的服务器中。这种软件应用称为后端(backend)应用,并且其中存储后端应用的服务器 称为后端系统。用户指引Web浏览器连接到门户服务器,并且随后经由门户服务器访问后 端应用。门户服务器提供与为用户的需要和职责个性化的后端应用的单点交互(a single point of interaction)。门户服务器上的单个统一的接口典型地提供与用户的单点交互。门户服务器可以转换用户访问、管理和共享基本数据和应用的方式。门户服务 器可以将商业应用、整合(syndicated)的内容、电子邮件消息和任何其他相关信息组织 到工作空间中,所述工作空间可以对于用户的指定而定制。这种门户服务器的示例是 Netegrity**交互服务器。当门户服务器提供对后端应用的访问时,用户不必为各个后端应用的每一个在 Web浏览器存储书签。例如,企业用户可以使用Web浏览器并且经由企业门户服务器访问企 业范围的应用,如基于Web的电子邮件、即时消息接发系统、企业帐务信息等。大多数门户和门户框架包含“小门户(portlet)”的概念。小门户是到门户页面的 整体环境(context)内的特定内容组的窗口。许多小门户支持定制在该窗口内显示的信息 的能力。从门户框架或平台的观点看,小门户趋于看起来并且表现为与在基于MICROSOFT WINDOWS. TM.的操作系统中运行的各个窗口几乎相同。小门户可以被最小化、最大化和重新 安排在显示屏幕周围以适合各个门户用户的喜好。从开发者的观点看,小门户只是插入一般化框架的一块代码。不同的门户框架不 同地实现小门户的概念。在一些情况下,小门户是SUNMICR0SYSTEM,S JAVA. TM. SERVER PAGES. TM. (JSP)页面的集合。在另外的情况下,小门户可以是实现某些接口的特殊类型的 类。不管其如何实现,小门户通常负责呈现可以适应用户的偏好的特定内容组。门户框架 负责处理基础设施服务,如提供整体表现、用户管理、安全性和个性化。门户服务器的一个公共用途是将来自多个后端服务器的信息聚集到单个用户屏 幕上,即称为糅合(mashup)的过程,并且包括Web 2. 0的多个应用能够实现该过程。Web 2. 0糅合提供令人兴奋的新的方式来聚集来自多个提供者的信息服务,并且 将其呈现给用户。然而,假定这些服务源自不同的并且不必相互信任的提供者,显然,这种糅合应该建立在保护所涉及的各方(如提供者和终端用户)的利益的可靠的安全性基础 上。例如,在提供组合来自不同经销商和用户的银行的信息的一站式汽车购买门户的糅合 中,经销商应该既不能修改每个其它经销商的汽车价格,也应该不能侦查用户的银行账户。不幸的是,由当前浏览器提供的机制相当弱,并且缺乏清晰的方式来隔离不同 的客户机组件(component),以及将它们的交互限制到紧密地可控的信道。具体地,同源 (same-original)策略被发现是有缺陷的一方面,其是过于限制性的,因为它阻止不同站 点之间的安全通信,这经常导致使用动态插入的〈脚本〉标签(例如,JS0NP)的开发者,其 给出对页面内容的远端任意控制。另一方面,该策略太弱,因为即使这样的信息可能源自组 合不同可信度的源的服务器端聚集(如在因特网门户和广告赞助商网页中经常看到的), 其也不提供来自相同站点的组件之间的分隔。即使对于如企业门户的情况,其中有疑义的 信息来自相同的信任域,并且潜在地,提供者驻留在相同(门户或后端)服务器上,薪水数 据等的敏感性也使得深度安全性和适当的提供者隔离成为针对编程错误(如跨站点脚本 (cross-site-scripting)攻击)保护所必需的。尽管可以在原理上建立安全解决方案,但是涉及的细微之处是非常复杂的。所需 要的是新的高级别和故障防护(fail-safe)的编程特征、以及用于安全地分隔糅合的组件 的相应的隔离机制。

发明内容
本发明的目的是改进糅合的安全性。本发明的另一目的是安全地分隔糅合的不同组件。本发明的另一目的是使用服务器端分析和实现(instrumentation)来将各小门 户相互隔离,其中那些小门户用于聚集来自多个提供者的服务。这些和其它目的使用用于在包括多个小门户的聚结(agglomeration)的糅合中 提供安全性的方法和系统来达到,其中所述小门户被从一个或多个后端服务器发送,通过 门户服务器,并且由客户机浏览器接收。所述方法包括形成(develop)小门户之间的隔离 边界以便将每个小门户与每个其他的小门户相互隔离、并且延伸所述隔离边界通过门户服 务器和通过客户机浏览器的步骤。优选地,门户服务器使隔离边界基于小门户的代码实现 和服务器端静态分析。在本发明的优选实施例中,形成步骤包括以下步骤对于每个小门户,检查多个句 法约束(syntactic constraints);用相应的服务域标记所述每个小门户,使用第一给定语 言(如HTML)将小门户聚集到页面中,并且在聚集步骤之后,将页面转换为第二语言(如 Java脚本)。在Java脚本输出时,形成步骤随后包括下述步骤静态分析,用于确保维持隔 离的不变量(invariant);和代码实现,用于确保在运行时实施(enforce)不能静态地证明 的一些隔离不变量。此外,在该优选实施例中,门户服务器进行所有的检查、标记、聚集和转 换步骤。通过考虑参照附图而给出的下面的详细描述,本发明的其他益处和优点将变得明 显,所述附图指定和示出本发明的优选实施例。


图1图示其中可以实现本发明的计算机网络环境的框图。图2图示在门户服务器和一对浏览器的情况下的小门户的使用。图3示出在图2的环境中的当前的安全性状态。图4总地描述根据本发明的小门户隔离。图5示出DOM界面。图6示出根据本发明的安全性解决方案。图7图示信息流网格(lattice)。图8是可以在本发明的实践中使用的示例性计算系统的图。
具体实施例方式在以下描述中,参照形成其一部分并且图示若干实现的附图。要理解的是,可以利 用其它实现,并且可以进行结构和操作的改变而不背离本实现的范围。图1图示包括本发明的某些实现的计算环境的框图。门户服务器100包含门户应 用102,并且连接到两个网络104和106。门户服务器100可以是任何计算设备,如个人计算 机、工作站、服务器级计算机、大型机、膝上型、手持式、掌上型或电话设备。网络104和106 可以是局域网、内联网、因特网或任何其它类型的网络。在一个实现中,网络104是局域网, 而网络106是因特网。门户服务器100位于非军事化区域(demilitarized zone, DMZ) 108内。DMZ 108 允许门户服务器100主管因特网服务,但是同时防止经由与门户服务器100的因特网连接 对网络104的未授权访问。连接到网络106的计算设备不能连接到与网络104连接的计算 设备,除非经由门户服务器100。DMZ108将网络104和106相互隔离,从而提供一些网络安 全性。通过以本领域已知的方式,经由防火墙、代理服务器等将门户服务器100与网络104、 106隔离来创建DMZ 108。门户应用102是基于Web的应用。客户机110和112可以经由超文本传输协议 (HTTP),从Web浏览器114、116通过网络106连接到门户服务器100上的门户应用102。例 如,Web浏览器114可以跨越网络106将对门户应用102的HTTP请求从客户机110发送到 门户服务器100。响应于来自客户机110的HTTP请求,门户应用102发送Web页面到客户 机110。客户机110上的Web浏览器114显示Web页面。门户应用可以以如Java#、C++等 的任何编程语言实现。由门户服务器100发送到客户机110和112的Web页面可以包括活 动服务器页面**、Java服务器页面、超文本标记语言(HTML)、可扩展标记语言(XML)等中 的代码。Web浏览器114、116将代码呈现在客户机110、112的屏幕上。后端系统118、120、122经由网络104连接到门户服务器100。后端系统118、120、 122的每个包含一个或多个后端应用[1... w] 124、126、128、130。在图1中,后端系统118 包含一个后端应用124 ;后端系统120包含两个后端应用126、128 ;并且后端系统122包含 一个后端应用130。后端系统118、120、122可以是任何计算设备,如个人计算机、工作站、服 务器级计算机、大型机、膝上型、手持式、掌上型或电话设备。后端应用124、126、128、130可 以是任何基于服务器的软件应用,如基于Web的电子邮件、即时消息接发服务器、基于服务 器的电子制表软件、数据库服务器等。
7
门户应用102提供对[1...W]后端应用124、126、128、130的单点访问。客户机 110、112通过访问门户应用102来访问[1...W]后端应用124、126、128、130。参照图1和2,门户100可以包含各种和多个小门户202、204,所述小门户是插入 一般化框架的代码块。小门户被从后端应用发送,通过门户服务器100,并且发送到客户机 计算机110、112,具体地,发送到其Web浏览器114、116。如上所述,糅合应该建立在保护所涉及的各方(如提供者和终端用户)的利益的 可靠的安全性基础上。不幸的是,由当前浏览器提供的机制相当弱,并且缺乏清晰的方式来 隔离不同的客户机端组件,以及将它们的交互限制到紧密地可控的信道。例如,图3图示当 前的安全性状态。如图所示,在门户服务器和浏览器之间可以提供在206表现的安全性保 护;并且,如在210所示,特定用户可能需要验证,并且在他们与门户服务器的交互中被限 制为一个或多个角色。然而,该安全性保护没有将小门户相互隔离。本发明解决了该问题。通常,如图4所示,这通过在小门户202和204之间建立隔 离边界310来完成。该隔离边界延伸穿过门户服务器100和浏览器114,保持小门户202和 204相互分离。根据本发明的优选实施例,用于组件分离的基础是基于服务器端静态分析和代码 实现的。由本发明实施的安全性模型是小门户相互的隔离。更具体地,包含小门户和它们 相关联的Java脚本代码以将被很好地识别的DOM子树分离。图5图示了 DOM界面320。Java脚本由于其动态特性而造成许多新的挑战,所述动态特性实质上允许修改任 何代码,并且使用多种方式评估任意代码和运行时。此外,为了处理(address)浏览器环 境,还必须并入文档对象模型(DOM),这反过来也添加了用于代码和数据的自我修改的额外 方式。这使得难以分析任意代码和进行内插代码篡改检验(interposition code tamper proof) 0参照图6,本发明的优选方法通常包括以下步骤(1)对于每个小门户片段,检查 多个句法约束,并且通过将其包围在特殊区隔(div)元素小门户根中,将每个片段用其相 应的安全性域标记;(2)在小门户片段聚集为整个HTML页面之后,将页面转换为等价的 Java脚本程序,S卩,呈现完全相同内容的程序;(3)与同样以Java脚本定义的浏览器的DOM 的对象模型一起,例如使用IBM研究的WALA(http://wala. sourceforge.net/)库进行完整 性约束和隔离的静态分析;以及(4)最后,将某些代码构造重写到例如分开的名称空间。之 前提到的检查的任何失败导致将小门户页面拒绝为不安全的。将一切转换为Java脚本允许(allow for)统一的分析方法。例如,已经将HTM.转换 为等价的Java脚本,分析弓I擎为页面自动构造用于DOM树的对象模型,其用于执行DOM对象的 精确的别名分析(alias analysis)。统一地,使用Java脚本也使得能够对特定浏览器进行容易 的定制,所述特定浏览器通常不是100%符合标准的并且提供各种安全性敏感的扩展。标记器(tagger) 340检查HTML中的句法约束,例如,HTML片段包括良构的 (well-formed),并且仅包括在HTML〈主体〉元素内部有效的元素,并且选择的元素的“src” 属性限制于与实际HTML元素实例一致的已知和许可的位置。标记器还检查Java脚本的句 法正确性。此外,标记器将小门户标记包围在(wrap up)称其为根(域)的区隔元素内,以 便例如通过移除注释来标记域边界以及规格化和清理(Sanitize)HTML表示,移除浏览器 实现中的模糊的源。聚集器342将小门户聚集到整个HTML页面中。
分析器344将聚集的HTML页面转换为等价的Java脚本程序。分析器包含浏览器 运行时环境的模型(例如,Java主机对象和库代码)作为用其自身的域标记的Java脚本 程序。在优选实施例中,分析器使用用于静态分析的IBM CAPA/D0M0框架,并且使用SSA指 令产生表示转换的聚集HTML页面和运行时的模型的组合的调用曲线图。此外,分析器344 限制树遍历(Tree-Walking),维持HTML—致性变量,并且维持数据/代码的完整性。然后, 重写器346将某些代码约束重写到例如分离的名称空间。在步骤(3)中优选地执行的约束的四个示例是维持关于DOM树的不变量、将小门 户的DOM树遍历限制到其域、避免在运行时的未知代码注入、以及保护系统代码的完整性。为了维持在说明书第39段中最初由标记器验证的DOM树的不变量,分析器确立例 如插入的DOM元素是通过相应的系统库创建的未篡改的DOM元素。还验证元素的类型是 HTML<主体 > 元素内合法的元素,而不是 < 脚本 > 元素。为了限制树遍历,我们对攀上树的所有操作执行指针分析(下降总是安全的),并 且确保要设置的点不包括小门户根元素。与由在步骤(1)中的构造保证的约束一起,由步 骤⑷确保的名称空间分离将向不变量保证小门户仅可以访问其自己的DOM元素。为了避免在运行时插入未知代码,分析器例如确保对eval、setTimer, setlnterval和FunctionO的调用仅使用(串(string))参数出现,所述(串)参数可 以静态地确定,并且没有代码调用写入函数或关于DOM节点的内部HTML属性。此外,分析 器检查没有关于DOM元素或CSS元素的URL直接使用“url ”或“ javascript ,,构造执行 Java脚本。此外,如上所述,分析器通过确保没有加载 < 脚本 > 元素,验证元素将不加载新 的Java脚本代码。上面的算法还依赖于系统库的完整性,其将为我们带来最后的分析示例。为了维 持代码完整性,我们必须确保没有用户代码可以重新定义系统代码或对象。此外,我们必须 确保系统函数只接收对象作为参数,这满足预期,即,对DOM节点附加子节点的方法的参数 必须是由DOMDocument. createElement或等价物生成的适当DOM节点。这是需要的,以便 避免不符标准的(rogue)元素“从里到外(inside-out)”搅乱浏览器。为了实现此,必须实 施信息流网格(例如,在图7中的360表示的)来避免用户信息流入系统代码。给出Java 脚本允许别名函数和变量的多种方式,应该小心进行适当的别名分析。通过将相应的名称重新映射到不可预测的名称,重写器346确保小门户的Java 脚本名称空间(公知类型的全局变量、函数和性质名称)不与其它域冲突,除非它们明确 地包含在许可的系统功能性的组中。这是通过重写名称和附加域特定标识符、以及实现 (instrument)存取器(accessor)和给定器(setter)函数以分别适当地占优(pr印ond)并 且移除该域标识符来执行的。类似地,重写器确保使用域特定前缀分离DOM元素id的名称 空间和名称属性。这不但确保小门户域的分离,而且保护不与(先验未知的)浏览器扩展进 行不期望的交互,所述浏览器扩展插入额外对象到Java脚本和DOM名称空间中。此外,重 写器可以为代码提供(instrument)不能由分析器静态验证的不变量的动态验证。为了实 现和分析,由重写器执行的步骤也可以在标记后和分析前进行。在此情况下,重写器将为所 有不变量添加动态验证,并且当可以确定这些不变量静态地保持时,分析将移除这些检查。在小门户需要通信的情况下,可以使用例如基于事件通知或远程函数调用的小门 户间通信机制扩展系统库,所述小门户间通信机制执行访问控制和其它仲裁步骤,以及将
9可信的环境信息(例如,调用者小门户标识)传递到被调用者小门户。图8图示其中可以实现各种示例性方法的适合的计算系统环境400的示例。各种 示例性设备或系统可以包括示例性环境400的任何特征。计算系统环境400只是适合的计 算环境的一个示例,并且不旨在建议对本发明的使用或功能性的范围的任何限制。计算环 境400不应该理解为具有涉及在示例性操作环境400中图示的各组件的任何一个或组合的 任何依赖或要求。各种示例性方法使用许多其他的通用或专用计算系统环境或配置操作。可能适 于实现或使用的公知计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器 计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电 器、网络PC、迷你计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等。各种示例性方法、应用等可以以由计算机执行的计算机可执行指令的一般环境 (如程序模块)描述。通常,程序模块包括执行特定任务或实现特定的抽象数据类型的例 程、程序、对象、组件、数据结构等。各种示例性方法还可以在分布式计算环境中实践,其中 由通过通信网络或其它通信(例如,红外等)链接的远程处理设备执行任务。在分布式计 算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。参照图8,用于实现各种示例性方法的示例性系统包括计算机410的形式的通用 计算设备。计算机410的组件可以包括但不限于处理单元420、系统存储器430和将包括系 统存储器430的各种系统组件耦合到处理单元420的系统总线421。系统总线421可以是 若干类型的总线结构的任何,所述总线结构包括存储器总线或存储器控制器、外围总线和 使用多种总线架构的任何的局部总线。作为示例而不是限制,这种架构包括工业标准架构 (ISA)总线、微通道架构(MCA)总线、增强ISA(EISA)总线、视频电子设备标准协会(VESA) 局部总线、以及也已知为夹层(Mezzanine)总线的外围组件互连(PCI)总线。计算机410典型地包括多种计算机可读介质。计算机可读介质可以是可以由计算 机410访问的任何可用的介质,并且包括易失性和非易失性介质,可移除和不可移除介质。 作为示例而不是限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储 介质包括以用于存储如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方 法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限 于RAM、ROM、EEPR0M、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存 储、磁性卡带、磁带、磁盘存储或其它磁存储设备、或可以用来存储期望的信息并且可以由 计算机410访问的任何其它介质。通信介质典型地包含计算机可读指令、数据结构、程序模 块或调制的数据信号(如载波或其它传输机制)中的其它数据,并且包括任何信息传递介 质。术语“调制的数据信号”意味着这样的信号,该信号使其一个或多个特性以这样的方式 设置或改变以便在信号中编码信息。作为示例而不是限制,通信介质包括如有线网络或直 接布线连接的有线介质、以及如声学的、RF、红外和其它无线介质的无线介质。上述的任何 的组合也应该包括在计算机可读介质的范围内。系统存储器430包括以易失性和/或非易失性存储器形式的计算机存储介质,如 只读存储器(ROM)431和随机存取存储器(RAM)432。包含帮助如在启动期间在计算机410 内的各元件之间传输信息的基本例程的基本输入/输出系统433 (BIOS)典型地存储在ROM 431中。RAM 432典型地包含可直接访问和/或目前由处理单元420运行的数据和/或程序模块。作为示例而不是限制,图8图示操作系统434、应用程序435、其它程序模块436和 程序数据437。计算机410也可以包括其它可移除/不可移除、易失性/非易失性计算机存储介 质。仅作为是示例,图4图示从不可移除、非易失性磁介质读取或写入不可移除、非易失性 磁介质的硬盘驱动器441,从可移除、非易失性磁盘452读取或写入可移除、非易失性磁盘 452的磁盘驱动器451,以及从可移除、非易失性光盘456(如⑶ROM或其它光学介质(例 如,DVD等))读取或写入可移除、非易失性光盘456的光盘驱动器455。可以用在示例性操 作环境中的其它可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于盒式 磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器441典型地 通过数据介质接口(如接口 440)连接到系统总线421,并且磁盘驱动器451和光盘驱动器 455典型地通过作为可选的可移除存储器接口的数据介质接口连接到系统总线421。为了 说明具体示例的目的,磁盘驱动器451和光盘驱动器使用数据介质接口 440。上面讨论的并且在图8中图示的驱动器和它们相关的计算机存储介质为许算机 410提供计算机可读指令、数据结构、程序模块和其它数据的存储。在图8中,例如,硬盘驱 动器441图示为存储操作系统444、应用程序445、其它程序模块446和程序数据447。注 意,这些组件可以与操作系统434、应用程序435、其它程序模块436和程序数据437相同或 不同。这里为操作系统444、应用程序445、其它程序模块446和程序数据447给出不同标 号以至少说明它们是不同副本。用户可以通过输入设备(如键盘和指向设备461 (通常指 鼠标、跟踪球或触摸垫))将命令和信息输入计算机410。其它输入设备(未示出)可以包 括麦克风、游戏杆、游戏垫、圆盘式卫星电视天线、扫描仪等。这些和其它输入设备通常通过 耦合到系统总线421的用户输入接口 460连接到处理单元420,但是可以通过其它接口和总 线结构(如并行端口、游戏端口或通用串行总线(USB))连接。监视器491或其它类型的显 示设备也经由如视频接口 490的接口连接到系统总线421。除了监视器491,计算机也可以 包括可以通过输出外围接口 495连接的其它外围输出设备(如扬声器和打印机)。计算机410可以运行在使用到一个或多个远程计算机(如远程计算机480)的逻 辑连接的联网环境中。远程计算机480可以是个人计算机、服务器、路由器、网络PC、对等设 备或其它公共网络节点,并且典型地包括关于计算机410在上面描述的许多或所有特征。 图8中描述的逻辑连接包括局域网(LAN)471和广域网(WAN)473,但是也可以包括其它网 络。这种联网环境在办公室、企业范围的计算机网络、内联网和因特网中是普遍的。当在LAN联网环境中使用时,计算机410通过网络接口或适配器470连接到LAN 471。当在WAN联网环境中使用时,计算机410典型地包括调制解调器472或用于在WAN 473(如因特网)上建立通信的其它装置。可以是内部的或外部的调制解调器472可以经 由用户输入接口 460或其它合适的机制连接到系统总线421。在联网环境中,关于计算机 410描述的程序模块或其部分可以存储在远程存储器存储设备中。作为示例而不是限制, 图8图示远程应用程序485如驻留在远程计算机480上(例如,在远程计算机480的存储 器中)。将理解的是,示出的网络连接是示例性的,并且可以使用在各计算机之间建立通信 链接的其它装置。如对本领域的技术人员将显而易见的,本发明可以以硬件、软件或硬件和软件的 组合实现。任何种类的计算机/服务器系统或适于执行这里描述的方法的其它装置是适合的。硬件和软件的典型组合可以是具有计算机程序的通用计算机系统,当计算机程序被加 载和执行时,所述计算机程序执行这里描述的各个方法。替代地,可以利用包含用于执行本 发明的一个或多个功能任务的专用硬件的专用计算机。本发明或本发明的各方面也可以以计算机程序产品体现,所述计算机程序产品包 括允许这里描述的方法的实现的所有各特征,并且当被加载入计算机系统时,所述计算机 程序产品能够执行这些方法。计算机程序、软件程序、程序或软件在本上下文中意味着旨在 使得具有信息处理能力的系统直接或在以下步骤的任一或两者之后执行特定功能的一组 指令的、以任何语言、代码或符号的任何表述,所述步骤包括(a)转换为另外的语言、代码 或符号;和/或(b)以不同的材料形式再现。尽管显而易见的是这里公开的本发明适于实现上述目的,但是将认识到,可以由 本领域的技术人员设计许多修改和实施例,并且旨在权利要求覆盖落入本发明的真实精神 和范围的所有这种修改和实施例。
权利要求
一种在包括多个小门户的聚结的糅合中提供安全性的方法,其中所述小门户被从门户服务器发送并且由客户机浏览器接收,所述方法包括以下步骤形成小门户之间的隔离边界以便将每个小门户与每个其他的小门户相互隔离;并且将所述隔离边界延伸通过门户服务器和通过客户机浏览器。
2.如权利要求1所述的方法,其中形成步骤包括下述步骤基于通过门户服务器的小 门户的代码实现和服务器端静态分析,形成所述隔离边界。
3.如权利要求1所述的方法,其中通过添加通信原语到系统域,小门户可以通过与另 一域中的小门户的很好定义的和系统仲裁的通信信道,与另一小门户通信。
4.如权利要求1所述的方法,其中形成步骤包括以下步骤在各自的一个安全性域中隔离每个小门户,其中每个安全性域包括其它域元素和小门 户之一;并且在定义时避免每个小门户与除其中隔离所述每个小门户的安全性域以外的任 何安全性域中的任何其它所述域元素或任何小门户交互。
5.如权利要求1所述的方法,其中对于每个小门户,形成步骤包括以下步骤检查多个句法约束;以及用相应的服务域标记所述每个小门户。
6.如权利要求5所述的方法,其中标记步骤包括将所述每个小门户包围在各自一个小 门户根中的步骤。
7.如权利要求5所述的方法,其中形成步骤包括使用门户服务器来执行检查和标记步 骤的步骤。
8.如权利要求5所述的方法,其中形成步骤包括以下步骤使用第一给定语言将小门户聚集到页面中;以及在聚集步骤之后,将页面转换为第二语言。
9.如权利要求8所述的方法,其中聚集步骤包括在检查和标记步骤之后将小门户聚集 到所述页面中的步骤。
10.如权利要求9所述的方法,其中形成步骤包括使用门户服务器来执行检查、标记、 聚集和转换步骤的步骤。
11.如权利要求8所述的方法,其中形成步骤包括在转换步骤之后、执行完整性约束和 隔离的静态分析的步骤。
12.如权利要求11所述的方法,其中所述约束包括将每个小门户的DOM树遍历限制为 所述每个小门户自己的域、以及保护系统代码的完整性。
13.如权利要求11所述的方法,其中形成步骤包括使用门户服务器来执行所述静态分 析的步骤。
14.如权利要求1所述的方法,其中形成步骤包括跨越所述边界在选择的各个小门户 之间实现有限的、限定的交互的步骤。
15.一种用于在包括多个小门户的聚结的糅合中提供安全性的安全性系统,其中所述 小门户被从一个或多个后端服务器发送,穿过门户服务器,并且由客户机浏览器接收,所述 安全性系统包括标记器,用于用相应的安全性域标记每个小门户;聚集器,用于将小门户聚集在整个页面中;静态分析器,用于为了隔离和完整性约束分析小门户;以及重写器,用于重写选择的小门户的代码构造。
16.如权利要求15所述的系统,其中标记器、聚集器、静态分析器和重写器是门户服务 器的部分。
17.如权利要求16所述的系统,其中标记器、聚集器、静态分析器和重写器按次序安排 在门户服务器中。
18.如权利要求17所述的系统,其中标记器在所述次序中位于第一位。
19.如权利要求18所述的系统,其中,在所述次序中,聚集器在标记器之后,并且静态 分析器在聚集器之后。
20.如权利要求15所述的系统,其中所述整个页面是按照第一语言的,并且聚集器适 于将所述整个页面转换为第二语言。
21.如权利要求16所述的系统,其中门户服务器基于小门户的代码实现并且基于分 析,为每个小门户形成隔离边界。
22.如权利要求21所述的系统,其中所述隔离边界延伸通过门户服务器并且通过客户 机浏览器。
23.一种可由机器读取的程序存储设备,有形地体现可由机器执行的指令的程序,以便 执行用于在包括多个小门户的聚结的糅合中提供安全性的方法步骤,其中所述小门户被从 一个或多个后端服务器发送,穿过门户服务器,并且由客户机浏览器接收,所述方法包括以 下步骤形成小门户之间的隔离边界以便将每个小门户与每个其他的小门户相互隔离;并且延伸所述隔离边界通过门户服务器和通过客户机浏览器。
24.如权利要求23所述的程序存储设备,其中所述隔离边界基于通过门户服务器的小 门户的代码实现和服务器端静态分析。
25.如权利要求23所述的程序存储设备,其中对于每个小门户,形成步骤包括以下步骤检查多个句法约束;用相应的服务域标记所述每个小门户;使用第一给定语言将小门户聚集到页面中;以及在聚集步骤之后,将页面转换为第二语言。
26.如权利要求25所述的程序存储设备,其中标记步骤包括将所述每个小门户包围在 各自一个小门户根中的步骤。
27.如权利要求25所述的程序存储设备,其中形成步骤包括使用门户服务器来执行检 查、标记、聚集和转换步骤的步骤。
28.一种部署用于在包括多个小门户的聚结的糅合中提供安全性的计算机程序产品的 方法,其中所述小门户被从一个或多个后端服务器发送,穿过门户服务器,并且由客户机浏 览器接收,其中,当执行时,所述计算机程序执行以下步骤形成小门户之间的隔离边界以便将每个小门户与每个其他的小门户相互隔离;并且延伸所述隔离边界通过门户服务器和通过客户机浏览器。
29.如权利要求28所述的方法,其中所述隔离边界基于通过门户服务器的小门户的代码实现和服务器端静态分析。
30.如权利要求29所述的方法,其中对于每个小门户,形成步骤包括以下步骤 检查多个句法约束;用相应的服务域标记所述每个小门户; 使用第一给定语言将小门户聚集到页面中;以及 在聚集步骤之后,将页面转换为第二语言。
31.如权利要求30所述的方法,其中标记步骤包括将所述每个小门户包围在各自一个 小门户根中的步骤。
32.如权利要求30所述的方法,其中形成步骤包括使用门户服务器来执行检查、标记、 聚集和转换步骤的步骤。
33.一种聚集来自多个提供者的信息服务的方法,包括以下步骤从多个后端服务器获得小门户,每个后端服务器与所述多个提供者之一相关联; 通过门户服务器传递小门户,并且到达客户机计算机上的浏览器; 将所述小门户作为完整页面呈现在客户机计算机上;以及形成小门户之间的隔离边界以便将每个小门户与每个其他的小门户相互隔离,包括延 伸所述隔离边界通过门户服务器和通过浏览器的步骤。
34.如权利要求33所述的方法,其中所述隔离边界基于通过门户服务器的小门户的代 码实现和服务器端静态分析。
35.如权利要求34所述的方法,其中形成步骤包括以下步骤对于每个小门户,检查多个句法约束,并且用相应的服务域标记所述每个小门户;使用第一给定语言将小门户聚集到页面中;在聚集步骤之后,将页面转换为第二语言;以及使用门户服务器来执行检查、标记、聚集和转换步骤的步骤。
全文摘要
文档编号H04L9/00GK101953110SQ20088001603
公开日2011年1月19日 申请日期2008年5月5日 优先权日2007年5月24日
发明者Vikram Krishnaprasad, Steiner Michael 申请人:Ibm
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1