[发明专利]具有对于对象的受控访问的软件系统有效
申请号: | 200780004228.6 | 申请日: | 2007-01-30 |
公开(公告)号: | CN101379479A | 公开(公告)日: | 2009-03-04 |
发明(设计)人: | J·J·谢克尔;R·M·简森;S·D·戈尔茨坦 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F15/163 | 分类号: | G06F15/163;G06F15/16 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 顾嘉运 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 对于 对象 受控 访问 软件 系统 | ||
背景
在众多软件系统中,对某些对象的访问可基于调用这些对象的上下文来进 行限制。例如,诸如微软公司提供的INTERNETweb浏览器的 web浏览器可限制对某些对象的访问以实现“安全区”。可允许从因特网下载 的脚本在安全区中执行,但可拒绝这些脚本访问可能会破坏安装了web浏览器 的计算机的操作的对象。具有安全区使得计算机用户能够从因特网或其他不可 信源下载脚本,同时降低这样下载的脚本在计算机上执行时因它们无意中编写 不正确或以破坏计算机操作的方式恶意编写而造成损害的风险。
对象是可限制访问的对象的一个示例。被配置成执行脚本的计 算机可包括多个对象。每一对象包含一个或多个接口。每 一接口可具有可通过接口调用的方法,从而允许脚本在脚本的执行期间调用这 些方法来执行功能。这样的功能包括在计算机的显示器上呈现信息、访问电子 邮件系统来发送电子邮件或更改计算机文件管理系统中的文件。
由对象执行的某些功能,诸如在计算机的显示器上呈现输出, 一般是良性的。可允许从安全区对仅展示执行这样良性功能的方法的对象的调 用。但是,其他功能,诸如访问文件管理系统,如果在脚本内不正确使用或出 于恶意目的可能会导致对计算机的损害。在实现安全区时,不允许对展示执行 这样的有害功能的方法的对象的调用。
提供在从安全区调用时将访问限于某些对象的机制。对对象, 该机制是可任选的受限接口,被称为IObjectSafety。实现该接口的对象可响应于来自执行脚本的主机程序的查询,以指示它具有操作的“安全模 式”且可在安全模式中实例化。一旦在安全模式中实例化,调用可通过其任何 接口对于对象进行。ActiveX对象的责任在于确保当在安全模式中运行时不会 调用任何不安全方法。该特征允许web浏览器仅通过创建支持操作的安全模式 的对象的实例、并通过在安全模式中实例化所有这样的对象来实现 安全区。
发明概述
通过提供用于控制对于对象的访问的改进的过程,计算机系统的软件可能 会更强大、更易于开发且更不可能准许对旨在受限的对象的访问。优选地,该 过程不要求专门来实现对象以执行过程,这简化了过程的使用并允许现有对象 用于根据改进的过程的计算机系统。
在一个方面中,本发明涉及可截取方法调用的软件系统,从而允许方法调 用在它被执行之前或之后得到处理。调用可通过提供接收方法调用并在允许或 拒绝调用之前处理它所接收的每一调用的接口组件来截取。该技术可用于通过 处理从安全区进行的每一调用以确定所调用的方法是否被认为对执行是安全 的来实现安全区。结果,对于对象的访问可在逐个方法调用的基础上进行限制。
在另一方面中,本发明涉及操作计算机系统来选择性地处理方法调用。过 程使用所存储的关于在计算机系统中编程的方法的信息。当方法被调用时,访 问所存储的信息来用于处理该调用。该过程可被用作安全区实现的一部分,判 断所存储的信息是否指示哪些方法调用应被拒绝或允许。该过程也可在其他上 下文中应用,包括诸如作为用于记录所选方法的执行或用于累积关于执行程序 的成本的统计数据的系统的一部分。
在另一方面中,本发明涉及包括标识已从期望特殊处理的区间接实例化的 对象的机制的计算机的软件。为了跟踪从区间接实例化的对象,可使对象具有 与之相关联的包装。该包装可存储指示对象是否从该区中直接或间接实例化的 信息。包装可用于对象实例化其他对象的过程中。当一个对象实例化另一对象 时,每一对象从其前驱继承值,其前驱被存储在包装中。当形成对象链时,每 一对象具有与链中第一对象相同的值。如果向链中的根对象给出指示对象是在 该区中实例化的值,则链中的每个对象将具有相同的值,从而标识从该区中实 例化的这些对象。通过使用这些存储的指示作为限制对于对象的访问的过程的 一部分,代码开发员实现安全区的负担被减轻了,因为代码开发员不需要标识 可能被间接实例化或限制对于不被认为在安全区中执行是安全的那些对象的 访问。
以上概述是对由所附权利要求定义的本发明的非限定性的概述。
附图简述
附图不旨在被按比例绘制。在附图中,各个附图中示出的每一完全相同或 近乎完全相同的组件由同样的标号表示。为清楚起见,不是每个组件在每张附 图中均被标号。在附图中:
图1是现有技术计算机系统的略图;
图2是示出根据本发明的一实施例的计算机系统的操作的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200780004228.6/2.html,转载请声明来源钻瓜专利网。