首页 / 专利库 / 动物学 / 访问 / 访问授权API

访问授权API

阅读:883发布:2020-05-12

专利汇可以提供访问授权API专利检索,专利查询,专利分析的服务。并且提供了用于设置并取消策略的实用程序。该实用程序接收来自主控 进程 的对受控进程设置策略的 请求 ,并确定该主控进程是否具有对受控进程设置策略的特权。如果实用程序确定该主控进程具有对受控进程设置策略的特权,则实用程序对受控进程设置策略,这导致该策略应用于受控进程以确定该受控进程是否具有对 访问 一个或多个资源的授权。,下面是访问授权API专利的具体信息内容。

1.一种计算机可读存储介质,其内容导致计算机:
提交将自施加策略设置为第一策略的第一个请求
提交访问第一资源的至少一个请求;
提交将自施加策略设置为第二策略的第二个请求;以及
提交访问第二资源的至少一个请求,
从而所述第一策略用于确定是否有访问所述第一资源的授权,而所述第二策 略用于确定是否有访问所述第二资源的授权。
2.如权利要求1所述的计算机可读存储介质,其特征在于,所述第二策略比 所述第一策略更具限制性。
3.如权利要求1所述的计算机可读存储介质,其特征在于,将自施加策略设 置为第二策略的所述第二个请求取消所述第一策略。
4.如权利要求1所述的计算机可读存储介质,其特征在于,将自施加策略设 置为第二策略的所述第二个请求不取消所述第一策略。
5.如权利要求1所述的计算机可读存储介质,其特征在于,将自施加策略设 置为第二策略的所述第二个请求不取消所述第一策略,从而所述第一策略和第二策 略用来确定是否有对访问所述第二资源的授权。
6.一种用于在计算系统上提供客户机-服务器访问控制检查的方法,所述方法 包括:
在所述计算系统上执行的进程的控制下,
从第一进程接收对由所述进程提供的资源的请求,所述请求包括一标识 符;
模拟所述第一进程;
确定所述第一进程是否具有对请求所述资源的授权;以及
在确定所述第一进程具有对请求所述资源的授权之后,处理对所述资源 的请求。
7.如权利要求6所述的方法,其特征在于,所述进程通过获得所述第一进程 的身份来模拟所述第一进程。
8.如权利要求6所述的方法,其特征在于,所述进程通过发送对执行访问控 制检查的请求来确定所述第一进程是否具有对请求所述资源的授权,所述请求包括 从所述第一进程接收的标识符,以及对所述请求资源的指示。
9.如权利要求8所述的方法,其特征在于,所述执行所述访问控制检查的请 求对操作系统作出。
10.如权利要求6所述的方法,其特征在于,对所述第一进程是否具有请求所 述资源的授权的确定包括对可用于所述第一进程的策略的检查。
11.一种用于对受控进程设置策略的系统,所述受控进程在所述系统上执行, 所述系统包括:
从主控进程接收对所述受控进程设置策略的请求的组件;
确定所述主控进程是否具有对所述受控进程设置策略的特权的组件;以及
响应于确定所述主控进程具有对所述受控进程设置策略的特权,对所述受控 进程设置策略的组件,
从而所述策略在执行访问控制检查时应用于所述受控进程,以确定所述受控 进程是否具有访问资源的授权。
12.如权利要求11所述的系统,其特征在于,所述策略是可取消策略,且在 对所述受控进程设置策略之后,向所述主控进程发送一标识符,用于请求取消所述 已设置的策略。
13.如权利要求12所述的系统,其特征在于,还包括在对所述受控进程设置 策略之后,向所述主控进程发送一标识符,用于请求取消所述已设置的策略的组件。
14.如权利要求12所述的系统,其特征在于,还包括:
接收取消对所述受控进程的策略的请求的组件;
验证取消对所述受控进程的策略的请求的组件;以及
响应于验证对取消策略的请求,取消对所述受控进程的策略的组件。
15.如权利要求14所述的系统,其特征在于,验证所述请求包括检查以确定 所述标识符是否作为对取消策略的请求的一部分而接收。
16.如权利要求14所述的系统,其特征在于,取消所述策略的请求从所述主 控进程中接收。
17.如权利要求14所述的系统,其特征在于,取消所述策略的请求从所述受 控进程接收。
18.如权利要求14所述的系统,其特征在于,取消所述策略的请求从与所述 主控进程或所述受控进程不同的进程接收。
19.如权利要求14所述的系统,其特征在于,还包括响应于验证对取消所述 策略的请求,对所述受控进程设置先前的策略,该策略在设置刚刚取消的策略之前 有效。
20.如权利要求11所述的系统,其特征在于,所述受控进程和所述主控进程 都是同一进程。
21.如权利要求11所述的系统,其特征在于,所述受控进程是所述主控进程 的执行线程。
22.一种计算机可读存储介质,其内容导致计算机:
接收对载入可应用于应用程序的策略的请求,所述请求由在所述计算机上执 行的进程作出,而不是由该应用程序的实例作出;
将所述策略存储在策略库中;以及
使所述策略与对应的应用程序相关联,从而所述存储的策略随后应用于在所 述计算机上执行的该应用程序的实例。
23.如权利要求22所述的计算机可读存储介质,其特征在于,还包括的内容 导致计算机:
接收对在计算机上载入所述应用程序的请求;
确定可应用于所述应用程序的策略是否在所述策略库中存在,且响应于确定 可应用于所述应用程序的策略存在而:
在所述计算机上载入所述应用程序;以及
将所述可应用策略应用于所述应用程序。
24.如权利要求23所述的计算机可读存储介质,其特征在于,还包括的内容 导致计算机:
确定可应用于所述应用程序的策略是否在所述策略库中存在;以及
响应于确定可应用于所述应用程序的策略不存在,不将所述应用程序载入所 述计算机。
25.一种在计算系统中用于接收内嵌策略的方法,所述方法包括:
接收载入应用程序映像的请求;
确定策略是否嵌入所述应用程序映像;
响应于确定策略嵌入所述应用程序映像:
从所述应用程序映像中提取所述策略;
载入所述应用程序映像;以及
将所述已提取策略应用于所述载入的应用程序映像。
26.如权利要求25所述的方法,其特征在于,所述内嵌策略使用XML来声 明。
27.如权利要求25所述的方法,其特征在于,所述内嵌策略用编程语言来编 码。
28.如权利要求25所述的方法,其特征在于,还包括:
在提取所述内嵌策略、载入所述应用程序映像,并将所述已提取映像应用于 所述应用程序映像之前,验证所述应用程序的完整性;以及
在验证所述应用程序的完整性之后,提取所述内嵌策略、载入所述应用程序 映像,并将所述已提取映像应用于所述应用程序映像。
29.如权利要求25所述的方法,其特征在于,还包括将所述已提取策略存储 在策略库中。
30.一种用于从一个进程接收可应用于另一进程的策略的系统,所述系统包 括:
更新进程,可操作以传送可应用于遗留应用程序的策略,所述更新进程不是 所述遗留应用程序的进程;以及
策略载入器组件,可操作以接收可应用于遗留应用程序的策略,所述策略载 入器组件还可操作以将所述已接收策略存储到策略库中,并使得所述策略与所述遗 留应用程序相关联,从而所述已存储策略应用于所述应用程序的实例。
31.如权利要求30所述的系统,其特征在于,还包括:
应用程序载入器组件,可操作以接收对载入所述遗留应用程序的映像的请求, 并可进一步操作以:
确定可应用于所述遗留应用程序的映像的策略在所述策略库中是否存在,并 响应于确定可应用于所述应用程序的映像的策略存在而:
载入所述应用程序映像;以及
将所述策略应用于所述应用程序的映像。
32.如权利要求3 1所述的系统,其特征在于,所述载入器组件还可操作以响 应于确定可应用于所述应用程序的映像的策略不存在,不载入所述应用程序映像。

说明书全文

技术领域

发明涉及计算机安全,尤其涉及控制对计算机系统上资源的访问

背景技术

随着对计算机和计算机网络的依赖性的增加,以及对计算机和计算机网络的 攻击频率和复杂度的增加,计算机安全的主题在本行业中变得越来越突出。当前的 计算机安全技术不足以保护应用程序和操作系统免遭例如病毒、蠕虫和特洛伊木 等恶意软件(“malware”)的破坏,这些恶意软件是特别设计成破坏或扰乱计算机 系统,以及其它不良动作。
现有的访问控制安全模型通常都依赖于用户的证书来授权对计算机上资源的 访问。在这些模型中,具有相同证书运行或执行的每个进程都被给予相同的访问权 限,而不管该进程是否需要访问用户可用的所有资源。此外,需要访问资源(例如 读、写等)的进程,在访问资源时指定所需访问。
例如,用户通过用户帐户登录到个人计算机上,并期望能够访问存储在该个 人计算机上并使用特定的字处理程序创建的所有字处理文档。为了满足该期望,常 规的访问控制安全系统准许在用户的上下文许可中运行的所有程序访问所有前述 字处理文档。然而,这是过度级别许可的准许,因为实际上很少有在用户的上下文 许可中运行的程序会需要访问任一字处理文档。
通常,恶意软件利用代码缺陷来感染进程。一旦恶意软件在受害进程中运行, 它就继承进程在其中运行的用户上下文的访问权限,并得以访问用户可用的所有资 源,这可比原始进程所需的多得多。
因此,一种改进并增强计算机上资源的安全性的访问授权的集成方法将具有 重大的效用。
附图说明
图1是示出在其上执行实用程序的至少部分计算机系统中所包含的选定组件 的框图
图2是示出根据某些实施例的实用程序的选定组件的框图。
图3示出根据某些实施例适于由实用程序使用的示例策略。
图4示出根据某些实施例实用程序执行对拒绝访问请求的审核的方法的流程 图。
图5示出根据某些实施例实用程序执行对固有危险操作的审核的方法的流程 图。
图6示出根据某些实施例实用程序执行学习以便于策略微调的方法的流程图
图7示出根据某些实施例实用程序提供分层的访问控制检查的方法的流程图。
图8示出根据某些实施例实用程序确定应用程序的安全险级别的方法的流 程图。
图9示出根据一实施例实用程序在检测到异常之后施加更严格策略的方法的 流程图。
图10示出根据一实施例实用程序在检测到异常之后施加策略的方法的流程 图。
图11是示出实用程序在某些实施例中用于对目标进程设置策略的通信流的框 图。
图12是示出实用程序在某些实施例中用于对目标进程设置可取消策略的通信 流的框图。
图13是示出实用程序在某些实施例中用于对进程设置自施加策略的通信流的 框图。
图14是示出实用程序在某些实施例中用于对进程设置可取消自施加策略的通 信流的框图。
图15是示出实用程序在某些实施例中用于执行客户机-服务器访问控制检查 的通信流的框图。
图16示出根据某些实施例实用程序提取内嵌于应用程序的策略的过程。
图17是根据某些实施例实用程序将策略载入并应用于遗留应用程序的方法的 流程图。

具体实施方式

描述了用于防止计算机系统受到有害影响的软件实用程序(“实用程序”),这 些有害影响会从对计算机系统上应用程序和操作系统程序的利用中产生。在某些实 施例中,实用程序将逻辑驱动的访问控制层加在操作系统上。该实用程序可提供一 授权模,该授权模块接收对各种安全敏感资源访问的授权查询,并基于策略返回 允许或拒绝资源访问的决定。策略是确定如何比如通过网络、文件系统、应用程序 等来管理并保护资源的一系列规则和实践。
授权模块可通过各个操作系统组件直接查询,这些组件对用户模式程序,例 如在用户上下文中执行的应用程序发出的资源访问请求提供服务。或者,授权模块 可通过位于这些操作系统组件之上的“拦截层”来查询。该拦截层是拦截由用户模 式程序用于访问资源的系统调用函数,并将“包装”应用于所拦截的系统调用函数 的代码。该授权模块基于当事者的身份、应用于该当事者的策略,以及资源的身份 和当事者想要执行的动作来作出其访问控制决定(即允许或拒绝),当事者的身份 可以是尝试进行资源访问的应用程序-例如应用程序进程-的身份、用户的身份,或 应用程序身份和应用程序代表其来执行的用户身份的组合。
在某些实施例中,实用程序提供应用程序接口(API),诸如应用程序进程的 进程通过它来设置或取消策略(例如访问限制)。当在此使用时,API包括一个或 多个相关函数。策略可在进程级或线程级上设置。一旦使用API设置了访问限制, 则访问限制可由实用程序实施。API的类型可包括行为控制器API、自施加的API, 以及客户机-服务器API。
行为控制器API使进程能对目标进程设置访问限制,从而影响该目标进程中 所有的进程线程或仅影响某些指定进程线程。访问限制是可取消或不可取消的。如 果访问限制是可取消的,则访问限制可通过随后对实用程序作请求(诸如通过调用 由实用程序提供的放松限制API)来放松或取消。取消访问限制的请求可由主控进 程来作出,主控进程即为设置访问限制的进程。在某些实施例中,取消访问限制的 请求可由不是主控进程的进程来作出,诸如受控进程或不是主控进程或受控进程的 进程,只要作出请求的该进程被授权这样做。例如,标识符可与要取消的请求一起 用来指示授权或以其它方式验证要取消请求的请求者。如果访问限制是不可取消 的,则不发送或取消访问限制。此外,访问限制可与目标进程的任何现存策略累加, 或可用目标进程的当前策略替换。例如,使用行为控制器API,父或主控进程可对 子或受控进程设置策略。随后,当子或受控进程对访问资源作出请求时,授权模块 检查该策略以确定允许或拒绝该请求。
自施加API使进程能对自己设置影响所有或仅某些指定进程线程的访问限制, 就像用行为控制器API设置的访问限制那样,用自施加API设置的访问限制是可 取消或不可取消的。如果访问限制是可取消的,则可通过随后对实用程序作请求来 放松或取消访问限制。如果访问限制是不可取消的,则不能放松或取消访问限制。 此外,访问限制可与目标进程的任何现存策略累加,或可用目标进程的当前策略替 换。例如,进程实际上可不加策略或加以较少限制的策略地来启动,这使得该进程 能执行更积极的资源访问。随后,在启动之后并在开始更危险的动作(例如在网络 上侦听并接收网络通信)之前,该进程可使用自施加的不可取消的API来对自己 设置更严格的策略。在另一示例中,进程可使用自施加的不可取消的API来在启 动宏之前对自己设置策略,从而使得执行该宏时要应用该策略。当宏完成执行时, 进程可以取消执行该宏之前设置的策略。
客户机-服务器API使进程能够请求对非操作系统动作的特别资源访问检查。 例如,客户机进程可调用服务器进程,从而请求该服务器进程来执行某些动作,例 如执行某些方法或访问特定数据。在接收该客户机请求之后,服务器进程模拟例如 当事者的客户机进程,并使用客户机-服务器API来检查客户机进程是否有足够的 特权来执行所请求动作。然后该服务器进程可基于访问控制检查的结果来确定是否 进行所请求的动作。
参照附图的图1-17,实用程序的各个实施例及其优点可得到最佳的理解。附 图的元件并不必然成比例,而是着重于清晰地说明本发明的各个原理。贯穿各个附 图,相似标号用于各个附图的相似和相应组件。
图1是示出通常实用程序在其上执行的至少部分计算机系统中所包含的选定 组件的框图。这些计算机系统100可包括用于执行计算机程序的一个或多个中央处 理单元(“CPU”)102、用于存储使用中的程序和数据(包括数据结构)的计算机 存储器104、用于持久存储程序和数据的诸如硬盘的持久存储装置106、用于读取 存储在计算机可读介质上的程序和数据的诸如CD-ROM驱动器的计算机可读介质 驱动器108,以及用于诸如通过因特网连接计算机系统和其它计算机系统,以交换 程序和/或数据(包括数据结构)的网络连接110。
实用程序在由计算机系统100或其它装置执行的诸如程序模块的计算机可读 指令的一般环境中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数 据类型的例程、程序、对象、组件、数据结构等。存储器104和持久存储装置106 是可包含实现实用程序的指令的计算机可读介质。可以理解,存储器104和持久存 储器106可具有除实现实用程序的指令外的各种其它内容。
可以理解,计算机系统100可包括用于显示程序输出的一个或多个显示装置, 诸如视频显示器或LCD面板,以及用于接收用户输入的一个或多个输入装置,诸 如键盘、话筒,或诸如鼠标定位装置。尽管如上配置的计算机系统100通常用于 支持实用程序的操作,可以理解,实用程序可使用各种类型和配置的并具有各种组 件的装置来实现。
图2是根据某些实施例示出实用程序的选定组件的框图。如图2中所示,实 用程序包括授权模块202,它被实现为适于在计算机系统100上执行的操作系统204 的整体组件。授权模块202通常用作对高风险进程的保护添加层,这些高风险进程 诸如面向网络的应用程序、面向网络的服务和操作系统组件、处理不受信任内容的 应用程序,以及例如通常通过因特网传送的代码的不受信任代码。授权模块202 提供用于执行对计算机系统100上可用资源的策略驱动的访问控制的逻辑。
实用程序还包括策略206,授权模块202可通过各策略作出其访问控制决定。 策略206是确定允许或拒绝对访问资源的授权的请求的规则。在某些实施例中,策 略206被编译成由操作系统204尤其是授权模块202实施的运行时(例如二进制) 规则。在某些实施例中,策略206被实现为集中式策略存储器的一部分,该集中式 策略存储器使得策略206(包括策略206中的规则)可由例如用户和/或管理员集中 取消并设置。
授权模块202可由各个操作系统内核组件208查询,这些组件对由例如当事 者212a的当事者发出的资源访问请求提供服务。授权模块202还可由拦截层210 查询,该拦截层210拦截由例如当事者212b的当事者发出的要访问资源的系统调 用函数。拦截层210对所拦截的系统调用函数应用包装,使得授权模块202能够对 可应用的策略206执行访问控制检查。例如,应用包装可包括确定当事者的身份和 /或与计算系统100相关联的各个环境因子,并向授权模块202提供该信息作为执 行系统调用的授权请求的一部分,以使授权模块202能执行访问控制检查。此外, 授权模块202可由例如当事者212c的当事者直接查询。
在某些实施例中,由授权模块202执行的访问控制检查是作出资源访问请求 的当事者和应用于该当事者的策略的作用。这样,授权模块202基于当事者的身 份-调用应用程序的身份,或者调用应用程序的身份和执行应用程序的用户的身 份-以及可应用于当事者的策略中的规则来作出其访问控制决定(即允许或拒绝)。 在某些实施例中,授权模块202还可考虑各个参数,诸如,作为示例,请求访问的 类型、环境因子-例如公司网络内或与公用网络相连并在其上执行应用程序的计算 机-以及当事者的身份、可应用于作出其访问控制决定的当事者的策略中的规则。
在某些实施例中,实用程序可包括可任选的异常检测模块214,如图2中虚线 或“短划”线所示。异常检测模块214通常用来监视计算机系统100和在计算机系 统100上执行的程序的行为,以便检测异常状态。在某些实施例中,异常检测模块 214在检测到异常之后向实用程序提供第一个通知,在检测到先前检测到的异常停 止之后提供第二个通知。这使得实用程序能在检测到异常后激活策略206的实施直 到该异常结束后才不再实施策略206。或者,实用程序开始时可施加限制较少的策 略集,而在检测到异常时施加更具限制性的策略集,直到异常结束时再次施加限制 较少的策略集。异常检测模块214可在计算机系统100上执行的单个进程中,或在 计算机系统100上执行的一组进程中,或整个计算机系统100中检测异常。
实用程序的前述各方面仅是说明性的,且并非旨在对所示组件和/或实用程序 的使用范围或功能作出任何限制。例如,在某些实施例中,授权模块202无需实现 为操作系统204的一部分或集成在其中,但可独立于操作系统204或在其外实现, 例如作为非操作系统程序实现。此外,在某些实施例中,策略206无需被实现为集 中式策略存储器或作为其部分。因而,策略206无需集中于一个地方,而可使用例 如分布式模型来实现。此外,即使策略206如所述作授权模块202的一部分或包含 在其中,策略206仍然仅需对授权模块202可访问。
在以下讨论中,实用程序的各个实施例将结合各个说明性示例来描述。可以 理解,实用程序的各个实施例可用于与各方面中这些示例有很大不同的情形中。
图3示出根据某些实施例适用于实用程序的示例策略。该示例策略包括要保 护web服务器应用程序的规则。作为示例,请求资源的应用程序进程(如项302 所示)被检查,以确定它是否是WebServerX web服务器进程,如项304所示。如 果授权模块202确定请求应用程序进程是WebServerX web服务器进程,则授权模 块202基于包括在策略中的各项规则允许或拒绝对请求资源的授权。
如图所示,示例策略包含对WebServerX进程批准的特权或访问权限,且缺 省是拒绝对所请求资源的授权,如规则306所示,除非指定了特权或访问权限。换 言之,除在策略中明确准许了所请求资源之外,对请求资源的授权会被拒绝。在某 些实施例中,该策略可包含指定访问限制的规则,例如指定要拒绝的对执行特定动 作的授权或拒绝对访问资源的授权的规则,或导致审查(例如记录一事件)的规则。
示例策略中的第一个规则是对允许WebServerX进程写如项308所示的 “$html”文件、如项310所示的“$WebDirectories”的指示。“$html”是例如*.html、 *.gif等的文件类型集合的表示。“$WebDirectories”是配置成web目录,并可由不 同于诸如安全管理员的策略创建者的诸如web管理员的管理员定义的目录集合的 表示。例如,响应于请求将由参数“$html”定义的文件类型写到由“$WebDirectories” 定义的目录之一的WebServerX进程,授权模块202基于该规则返回一允许决定(即 准许授权)。因而,策略中的规则可应用于动态的独立定义的对象组,诸如 “$WebDirectories”,以及动态地可配置的环境参数,诸如“$html”。
在示例策略中的第二个规则是这样的一个指示,如果WebServerX进程代表用 户A执行(如项314所示),则允许WebServerX进程写入“$FTP上载目录”(如 项312所示)。例如,响应于代表用户A执行的请求写入“$FTP上载目录”的 WebServerX进程,授权模块202返回一允许决定(即授权的许可)。
示例策略中的第三个规则是对允许输入http通信的指示,如项316所示。例 如,响应于请求接收输入http数据(例如接收在网络连接上传送的http数据信息 包)的WebServerX进程,授权模块202基于该规则返回一允许决定(即授权的许 可)。
示例策略中的第四个规则是这样的一个指示,如果启用变量“$FTP”(如项 320所示),则允许“FTP通信”(如项318所示)。在此,“$FTP”是变量,并可由 不同于创建该策略的安全管理员的管理员来设置。例如,授权模块202执行运行时 检查以确定变量“$FTP”是否启用,如果启用了,则响应于请求收发由参数“FTP 通信”定义的数据的WebServerX进程,授权模块202基于该规则返回一允许决定 (即授权的许可)。或者,如果“$FTP”未启用,则授权模块202将响应于前述访 问请求(如项306所示)而返回拒绝决定(即授权的拒绝)。
可以理解,策略可包括定义操作系统内外对象的特权,诸如以上示例特权所 示的应用程序进程。策略中的各个规则可使用一丰富模式(Schema)指定,该模 式类似于使用编译或解释编程语言来编写代码。例如,该模式可支持包括条件和临 时条件,例如“只有如果Y才允许X”,对可动态配置的环境参数和变量的依赖性, 对规则中的环境因素等的依赖性。此外,参数的使用便于创建应用于当前和将来的 对象的规则。例如,特定类型文档可由参数表示,且使用该参数可创建指定施加于 现存或后来创建的该特定类型的所有文档的限制的规则。在某些实施例中,策略可 例如通过弹出对话框来指定某些决定要提交给终端用户来作出。
图4示出根据某些实施例实用程序执行对拒绝访问请求的审核的方法400的 流程图。作为示例,用户(例如UserABC)已登录到计算机上,启动了字处理应 用程序(例如WPApp),并请求打开存储在计算机上目录(例如YZDir)中的文件 (例如FileX)。结果,WPApp发出对访问存储在目录YZDir中资源FileX的请求。 从启动步骤开始,在步骤402授权模块202接收授权查询,例如对授权访问存储在 YZDir中的FileX的请求。
在步骤404,授权模块202标识请求对访问存储在YZDir中FileX的授权的主 体。在以上示例中,当事者可以是WPApp或WPApp和UserABC的组合。在步骤 406,授权模块202例如从集中式策略存储器中标识可应用于已标识当事者的策略, 诸如策略206,并基于当事者的身份和可应用策略执行访问控制检查。在步骤408, 授权模块202确定在步骤406中执行的访问控制检查的结果是否是拒绝访问。继续 以上示例,授权模块202分析已标识的可应用策略,以在步骤408确定策略中的规 则或特权是否授权当事者访问存储在YZDir中的FileX。
如果授权模块202确定可应用策略授权当事者来执行所请求的动作,则在步 骤420授权模块202返回一允许决定,它是对当事者被授权执行所请求动作的指示, 并继续到结束步骤。或者,如果授权模块202确定可应用策略未授权当事者来执行 所请求的动作,则在步骤410授权模块202返回一拒绝决定,它是对当事者未被授 权执行所请求动作的指示。在步骤412,授权模块202可向当事者返回一出错字符 串,通知当事者缺乏执行所请求动作的授权。
在步骤414,授权模块202进行检查以确定是否启用了审核。与可应用策略或 规则相关联的标记或记录可指示是否要执行审核。如果未启用审核,则授权模块 202继续到结束步骤。或者,如果启用了审核,则授权模块202在步骤416在审核 日志中记入一条目。该条目可标识被拒绝的请求、失败规则、当事者,和/或已请 求资源。
在步骤418,授权模块202可基于被拒绝请求的审核触发一个或多个事件。例 如,授权模块202可通过例如电子邮件、语音邮件、文本消息等向安全管理员提供 当事者尝试执行未经授权动作的一指示,在当事者尝试执行未经授权动作之后终止 应用进程,在当事者尝试执行未经授权动作之后施加更严格的策略集等。在触发各 事件之后,授权模块202继续到结束步骤。
本领域技术人员会理解,对于在此揭示的这些和其它过程及方法,在过程和 方法中执行的功能可按不同顺序实现。此外,所示步骤仅是示例性的,且一些步骤 是可任选的,可与较少步骤组合,或可扩展成其它步骤,而不偏离本发明的本质。
图5示出根据某些实施例实用程序执行固有危险操作的审核的方法500的流 程图。作为示例,用户(例如UserABC)已登录到计算机上,启动了web浏览器 程序(例如WebBrowser),并请求访问未受信任的网站上(例如WebSiteY)的网 页(例如PageX)。结果,WebBrowser发出对从WebSiteY检索PageX的请求。步 骤502-508基本上与方法400的步骤402-408相似。
如果在步骤508,授权模块202确定可应用策略未授权当事者来执行所请求的 动作,则在步骤510授权模块202返回一拒绝决定,它是对当事者未被授权执行所 请求动作的指示。在以上示例中,WebBrowser不具有访问未受信任网站WebSiteY 的授权。在步骤512,授权模块202可向当事者返回一出错字符串,通知当事者缺 乏执行所请求动作的授权。在返回出错字符串之后,授权模块继续到结束步骤。
或者,如果授权模块202确定可应用策略授权当事者来执行所请求的动作, 则在步骤514授权模块202返回一允许决定,它是对当事者被授权执行所请求动作 的指示。在步骤516,授权模块202进行检查以确定已授权动作是否是固有的危险 操作。例如,实用程序可维护一个固有危险操作的列表,且授权模块202可检查该 列表以确定已授权动作是否被列为固有危险操作。
如果发现已授权动作是固有的危险操作,则在步骤518,授权模块202执行审 核操作。例如,授权模块202可在固有危险操作的审核日志中记入指示对执行固有 危险操作的请求和授权的一条目。该条目还可包括对请求对执行固有危险操作的授 权的当事者的指示。授权模块202还可执行其它动作,这些动作可通过执行固有危 险操作的授权来触发。在步骤518执行审核操作之后,或在步骤516确定已授权动 作不是固有危险操作,授权模块202继续到结束步骤。
在某些实施例中,授权模块202可在固有危险操作的审核日志中记入指示对 执行固有危险操作的授权请求的一条目。继续上述示例,假设访问未受信任网站 WebSiteY被示为固有的危险操作,且此外可应用策略未准许WebBrowser访问 WebSiteY的授权,则授权模块202返回拒绝决定(步骤510),并在例如固有危险 操作审核日志中记录对执行固有危险操作的授权的请求和随后的授权否定。授权模 块202还可记录请求对执行固有危险操作的授权的当事者的指示。
图6示出根据某些实施例实用程序执行学习以便于策略微调的方法600的流 程图。作为示例,用户(例如UserABC)已登录到计算机上,启动了web浏览器 程序(例如WebBrowser),并请求访问网站上(例如WebSiteY)的网页(例如PageX)。 结果,WebBrowser发出对从WebSiteY检索PageX的请求。步骤602-608基本上与 方法400的步骤402-408相似。
如果在步骤608,授权模块202确定可应用策略授权当事者来执行所请求的动 作,则在步骤610授权模块202返回一允许决定,它是对当事者被授权执行所请求 动作的指示,并继续到结束步骤。或者,如果授权模块202确定可应用策略未授权 当事者来执行所请求的动作,则在步骤612授权模块202检查以确定,是否启用了 对拒绝执行所请求动作的授权的策略中规则的学习。继续如上示例,可应用于 WebBrowser的策略可包含明确拒绝WebBrower访问因特网的规则,因而WebSiteY 还可提供对应用学习而不应用该规则的指示。
如果授权模块202确定未启用对拒绝执行所请求动作的授权的规则的学习, 则在步骤618,授权模块202返回一拒绝决定,它是对当事者未被授权执行所请求 动作的指示。在以上示例中,明确拒绝WebBrowser访问因特网以及WebSiteY的 规则,可不具有对应用学习的指示。在此实例中,应用规则而WebBrowser被拒绝 访问WebSiteY的授权。在步骤620,授权模块202可向当事者返回一出错字符串, 通知当事者缺乏执行所请求动作的授权。在返回出错字符串之后,授权模块继续到 结束步骤。
或者,如果在步骤612,授权模块202确定启用了对拒绝执行所请求动作的授 权的规则的学习,则在步骤614,授权模块202在学习报告日志中记入指示失败规 则的一条目。该条目还可包括请求对执行导致失败规则的动作的授权的当事者的指 示。在步骤616,授权模块202返回一允许决定,它是对当事者被授权执行所请求 动作的指示,并继续到结束步骤。因而,授权模块202批准对执行所请求动作的授 权,并记录对该事件的指示,而不是应用可应用规则。然后安全管理员或其它感兴 趣用户可分析学习报告日志的内容,以确定规则或策略是否太严格或不够严格,并 在真正实施或实现该规则或策略之前微调该规则或策略。
在某些实施例中,授权模块202可在学习报告日志中记入指示提供对执行请 求动作的授权的规则的一条目。继续以上示例,假设规则明确地授权WebBrowser 访问因特网以及WebSiteY并提供对应用学习的指示,则授权模块202返回一允许 决定(步骤610)并记录提供对执行请求动作的授权的规则的指示。该信息还可用 来微调规则或策略。例如,如果从记录日志中的条目确定访问资源的授权太容易得 到批准,则可调整或改变规则或策略以减少批准对访问资源的授权的实例。
图7示出根据某些实施例实用程序提供分层访问控制检查的方法700的流程 图。再次参看前面示例之一,用户(例如UserABC)已登录到计算机上,启动了 字处理应用程序(例如WPApp),并请求打开存储在计算机上目录(例如YZDir) 中的文件(例如FileX)。结果,WPApp发出对访问存储在目录YZDir中资源FileX 的请求。从启动步骤开始,在步骤702授权模块202接收授权查询,例如对授权访 问存储在YZDir中的FileX的请求。
在步骤704,运行在用户的计算机上的操作系统执行一常规访问控制检查。继 续以上示例,操作系统可检查以确定用户是否具有打开(例如读访问)YZDir中 FileX的特权。在步骤706,操作系统使用其常规访问检查机制来确定是否要拒绝 对FileX的用户访问。
如果操作系统的常规访问检查机制确定应拒绝用户访问FileX,则在步骤708 操作系统返回一拒绝决定,并继续到结束步骤。拒绝决定是用户未获执行所请求动 作(例如打开FileX)的授权的指示。或者,如果操作系统的常规访问检查机制确 定不应拒绝用户对FileX的访问,则在步骤710授权模块210标识请求对存储在 YZDir中FileX的授权的当事者。
在步骤712,授权模块202从例如集中式策略存储器中标识可应用于已标识当 事者的策略,诸如策略206,并基于当事者的身份和可应用策略执行访问控制策略。 继续以上示例,授权模块202分析已标识的可应用策略以在步骤714确定策略中的 规则或特权是否授权当事者访问存储在YZDir中的FileX。
如果授权模块202确定可应用策略授权当事者来执行所请求的动作,则在步 骤720授权模块202返回一允许决定,它是对当事者被授权执行所请求动作的指示, 并继续到结束步骤。或者,如果授权模块202确定可应用策略未授权当事者来执行 所请求的动作,则在步骤716授权模块202返回一拒绝决定,它是对当事者未被授 权执行所请求动作的指示。在步骤718,授权模块202可向当事者返回一出错字符 串,并继续到结束步骤。该出错字符串可通知当事者缺乏执行所请求动作的授权。
可以理解,可以按与方法700所示相反的顺序来执行分层访问检查。例如, 授权模块202首先执行其访问控制检查。如果授权模块202确定授权应给予特定的 资源访问,则操作系统使用其常规访问控制机制执行其安全检查。
图8示出根据某些实施例实用程序确定应用程序的安全风险级别的方法800 的流程图。特别地,实用程序基于对应用程序指定的策略的分析来估计安全风险的 级别和/或应用程序的意图。作为示例,用户可登录到计算机上,并请求在计算机 上载入和/或执行应用程序。
从启动步骤开始,运行于用户计算机上的操作系统在步骤802接收对载入/执 行应用程序的请求。在步骤804,操作系统调用实用程序来确定应用程序是否具有 相应策略。例如,可应用于应用程序的策略可保持为策略206的一部分。如果实用 程序确定可应用于应用程序的策略不存在,则实用程序通知操作系统可应用策略不 存在。在步骤806,操作系统拒绝对载入/执行应用程序的请求,并返回一出错情形。 在拒绝该请求之后,操作系统继续到对该请求的结束步骤。
或者,如果在步骤804,实用程序确定可应用于应用程序的策略的确存在,则 在步骤808,实用程序分析该可应用策略以确定与载入/执行应用程序相关联或由其 导致的可能安全风险的级别。实用程序可使风险级别基于根据策略中各规则而批准 的授权的级别或范围。例如,如果各规则授予应用程序对很多资源或众多固有危险 资源的权利,则实用程序可将危险级别设置得比如果规则仅授予应用程序一些相对 安全资源的权利的要高。该实用程序通知操作系统,可应用策略的确存在,并继续 到结束步骤。
图9示出根据某些实施实用程序在检测到异常之后施加更严格策略的方法 900的流程图。作为示例,运行在计算机上的实用程序可具有两种策略,都可应用 于应用程序的PolicyA和PolicyB。此外,PolicyA比PolicyB限制较少,因为PolicyA 批准对更多数量资源的授权。
从启动步骤开始,在步骤902实用程序施加限制较少的PolicyA。在步骤904, 实用程序可在执行于计算机上的应用程序实例中检测异常状态。继续以上示例,应 用程序的实例可在计算机上执行,且实用程序可监视执行中的应用程序进程。在监 视应用程序进程时,实用程序可检测进程中的异常情形或状态。例如,应用程序可 通过跟踪先前的运行于计算机上的应用程序实例来产生有向图,该有向图表示通常 由应用程序发出的系统调用,并从与当前应用程序进程进行的系统调用的比较和有 向图中确定异常状态的显现。
在步骤906,实用程序响应于检测到异常状态来施加更严格的PolicyB,并继 续到结束步骤。在一实施例中,实用程序在检测到异常状态的应用程序进程上施加 更严格的PolicyB。或者,实用程序可在应用程序(例如应用程序的所有实例或进 程)上施加更严格的PolicyB。此外,取决于检测到的异常、应用程序,和/或特定 策略,实用程序可在整个计算机上施加更具限制性的策略集,例如将更具限制性的 策略应用于在计算机上执行的所有进程。
图10示出根据某些实施例实用程序在检测到异常后施加一策略的方法1000 的流程图。作为示例,运行在计算机上的实用程序可具有可应用于web应用程序 的策略PolicyA。从开始步骤开始,实用程序在步骤1002不对web应用程序施加 策略。因而,PolicyA是休眠的,且不应用于在计算机上执行的web应用程序的实 例。在步骤1004,实用程序可在计算机上执行的web应用程序的实例中检测到异 常状态。
继续以上示例,web应用程序的一个实例可在计算机上执行,且实用程序可 监视执行中的web应用程序进程。在监视应用程序进程时,实用程序可检测进程 中的异常情形或状态。例如,应用程序可监视web应用程序进程所产生或导致的 网络通信量,并从该网络通信量确定异常状态在web应用程序进程中出现。在步 骤1006,实用程序可在web应用程序上(例如在检测到异常的web应用程序进程 上)施加一休眠策略PolicyA,并继续到结束步骤。或者,实用程序可在web应用 程序的所有实例或进程中施加PolicyA。因而,休眠策略被激活并应用于web应用 程序。
图11是示出在某些实施例中由实用程序用来在目标进程上设置策略的通信流 的框图。作为示例,在计算机上执行的网络服务器进程可能想要设置侦听器进程的 策略,该策略被配置成代表服务器进程侦听并接收网络信息包。在该实例中,服务 器进程可被视为主控进程,而侦听器进程被视为目标或受控进程。
如图11所示,主控进程1102向在计算机上运行的操作系统1104发送对受控 进程1108设置策略的请求(阶段1)。该策略可与请求一起发送,或可在先发送, 在该情形中请求可包括标识策略的标识符。请求通过访问控制API 1106作出。通 常访问控制API 1106的作用是公开各个接口并使其可用,这些接口可由应用程序 开发者用来设置并取消策略。在一实施例中,访问控制API 1106提供调用约定, 通过这些约定应用程序访问操作系统1104以设置并取消策略。
响应于接收设置策略的请求,操作系统1104检查以确定主控进程1102是否 有足够的特权来对目标进程设置策略(阶段2)。例如,操作系统1104可能需要主 控进程1102在比受控进程1108所执行的更高特权级别上执行。或者,操作系统 1104可能仅允许进程在子进程上设置策略。如果操作系统1104确定主控进程1102 具有足够的特权,则操作系统1104对受控进程1108设置策略。如果请求包括策略, 则操作系统1104将接收到的策略存储在例如策略206中,并设置应用该策略的指 示。如果请求包括标识该策略的标识符,则操作系统1104使用该标识符来标识(例 如定位)例如策略206中的该策略,并设置应用该策略的指示。否则,如果操作系 统1104确定主控进程1102不具有足够特权,则操作系统1104不对受控进程1108 设置策略。操作系统1104向主控进程1102返回对受控进程1108设置策略的请求 的结果(阶段3)。
随后,当受控进程1108向操作系统1104请求访问资源时(阶段4),操作系 统1104执行访问控制检查以确定受控进程1108是否具有访问该资源的授权(阶段 5)。例如,操作系统1104可利用授权模块202来确定是否有可应用策略并将规则 应用于可应用策略中,以确定受控进程1108是否有访问该资源的授权。
取决于访问控制检查的结果,操作系统1104对访问资源的请求提供服务。例 如,如果操作系统1104通过应用可应用策略确定该受控进程1108具有访问该资源 的授权,则操作系统1104继续进一步处理访问资源的请求。否则,操作系统1104 不对访问资源的请求作进一步处理。操作系统1104向受控进程1108返回对访问资 源的请求的结果(阶段6)。
即使主控进程1102和操作系统1104在以上和随后示例中被视为在同一计算 机上运行,这并非想要作出限制,如本领域技术人员可理解的,主控进程1102无 需与操作系统1104在同一计算机上运行。例如,设置策略的请求可通过通信网络 来发送。此外,可以理解,受控进程1108在请求对受控进程1108设置策略时可存 在或不存在。
图12是示出由实用程序在某些实施例中用来对目标进程设置可取消策略的通 信流的框图。主控进程1202通过访问控制API 1106向在计算机上运行的操作系统 1104发送对受控进程1204设置可取消策略的请求(阶段1)。响应于接收设置策略 的请求,操作系统1104检查以确定主控进程1202是否有足够的特权来对目标进程 设置可取消策略(阶段2)。如果操作系统1104确定主控进程1202具有足够的特 权,则操作系统1104设置对受控进程1204应用该策略的指示。否则,如果操作系 统1104确定主控进程1202不具有足够特权,则操作系统1104不对受控进程1204 设置策略。
操作系统1104向主控进程1202返回对受控进程1204设置可取消策略的请求 的结果(阶段3)。如果可取消策略被成功设置,则操作系统1104在例如“cookie” 中返回对主控进程1202的标识符。在一实施例中,该标识符验证设置可取消策略 的进程,并用来标识并取消该可取消策略。换言之,该标识符类似于取消该可取消 策略的特权或授权,并随后向操作系统1104发送对取消该策略的请求。在其它实 施例中,cookie还可包括状态信息,诸如标识先前有效的策略的标识符。
随后,当受控进程1204向操作系统1104请求访问资源时(阶段4),操作系 统1104执行访问控制检查以确定受控进程1204是否具有访问该资源的授权(阶段 5)。取决于访问控制检查的结果,操作系统1104对访问资源的请求提供服务。例 如,如果操作系统1104通过应用可应用策略确定该受控进程1204具有访问该资源 的授权,则操作系统1104继续进一步处理访问资源的请求。否则,操作系统1104 不对访问资源的请求作进一步处理。操作系统1104向受控进程1204返回对访问资 源的请求的结果(阶段6)。
然后主控进程1202可通过访问控制API 1106向操作系统1104发送对取消先 前设置在受控进程1204上的可取消策略的请求(阶段7)。或者,主控进程1202 可向受控进程1204发送包含标识符的cookie(阶段8),且受控进程1204随后可 通过访问控制API 1106向操作系统1104发送对取消先前设置在受控进程1204上 的可取消策略的请求(阶段9)。在两个实例中,cookie都与对取消可取消策略的 请求一起发送。
响应于接收对取消可取消策略的请求,操作系统1104使用包含于cookie中的 标识符来验证请求者是具有对取消可取消策略的授权的进程。操作系统1104还可 使用该标识符来标识要取消的策略。在验证请求者-主控进程1202(阶段7)或受 控进程1204(阶段9)-之后,操作系统1104取消当前应用于受控进程1202的可 取消策略。在另一实施例中,操作系统1104可以在应用刚刚取消的可取消策略之 前应用一个应用于受控进程1204的策略。例如,标识先前有效的策略的标识符可 在‘cookie’中传递给操作系统1104,该‘cookie’与对取消可取消策略的请求一 起发送。或者,操作系统1104在应用该可取消策略之前将状态信息保留在例如计 算机上的持久存储装置中。
图13是示出由实用程序在某些实施例中用来对进程设置自施加策略的通信流 的框图。作为示例,计算机上的用户刚刚才激活web浏览器应用程序。作为初始 化进程的一部分,web浏览器应用程序进程1302可通过访问控制API 1106向运行 于计算机上的操作系统1104发送将我的策略设置为PolicyA的请求(阶段1)。作 为响应,操作系统1104将进程1302的策略设置为PolicyA(阶段2)。如果该请求 包括PolicyA,则操作系统1104将PolicyA存储在例如策略206中,并设置对应用 PolicyA的指示。如果该请求包括标识PolicyA的标识符,则操作系统1104使用该 标识符来标识(例如定位)例如策略206中的PolicyA,并设置应用该策略的指示。 操作系统1104向进程1302返回将我的策略设置为PolicyA的请求的结果(阶段3)。
随后,进程1302继续处理激活的PolicyA(阶段4)。该处理可涉及与操作系 统1104的交互。例如,用户可使用进程1302来上载一个或多个web应用程序。 在已经上载了一个web应用程序之后,用户可请求通过进程1302来处理上载的 web应用程序。响应于用户的请求,进程1302通过访问控制API 1106向操作系统 1104发送将我的策略设置为PolicyB的请求(阶段5)。例如,进程1302不信任上 载的和用户启动的web应用程序的完整性,请求将策略设置为更严格的PolicyB。 作为响应,操作系统1104将进程1302的策略设置为PolicyB(阶段6)。操作系统 1104向进程1302返回将我的策略设置为PolicyB的请求的结果(阶段7)。
取决于对将策略设置为PolicyB的请求的返回结果,进程1302继续处理(阶 段8)。例如,如果对将策略设置为PolicyB的请求成功,则进程1302开始执行所 请求的web应用程序。在此,更严格的PolicyB被应用于web应用程序进程。或 者,如果对将策略设置为PolicyB的请求不成功,则进程1302不开始执行web应 用程序,并向用户通知错误情形,例如不运行该web应用程序的原因。
在某些实施例中,PolicyB应用于web应用程序进程中而PolicyA实际上被取 消。在此情形中,PolicyA是可取消策略。在某些实施例中,PolicyA和PolicyB都 应用于web应用程序进程。此时,PolicyA是不可取消的,因而与PolicyB一起有 效。
图14是示出由实用程序在某些实施例中用来对进程设置可取消的自施加策略 的通信流的框图。作为示例,计算机上的用户可运行一应用程序,且正好要执行一 个宏。知道了要由该宏执行的处理,应用程序进程1402可通过访问控制API 1106 向运行于计算机上的操作系统1104发送将我的可取消策略设置为PolicyA的请求 (阶段1)。例如,PolicyA可以是比当前应用于进程1402的策略更严格的策略。
作为响应,操作系统1104将进程1402的策略设置为PolicyA(阶段2),并向 主控进程1402返回将我的可取消策略设置为PolicyA的请求的结果(阶段3)。如 果PolicyA成功设置,则操作系统1104还可向进程1402返回包含标识符和/或状态 信息的cookie,该状态信息与先于PolicyA应用的任何先前策略有关。该标识符用 于验证持有者是具有取消该可取消策略的授权的进程。
取决于对将可取消策略设置为PolicyA的请求的返回结果,进程1402继续处 理(阶段4)。例如,如果对将可取消策略设置为PolicyA的请求成功,则进程1402 继续执行该宏。在此,更严格的PolicyA被应用于该宏。或者,如果对将可取消策 略设置为PolicyA的请求不成功,则进程1402不继续执行该宏。
随后,例如在检测该宏已完成执行之后,进程1402可通过访问控制API 1106 向操作系统1104发送对取消我的策略(例如PolicyA)的请求(阶段5)。进程1402 提交先前从操作系统1104与取消我的策略的请求一起接收的‘cookie’。响应于接 收对取消我的策略的请求,操作系统1104使用包含于cookie中的标识符来验证请 求者是具有对取消该策略的授权的进程。在验证进程1402之后,操作系统1104 取消PolicyA,并将在该cookie中标识的策略应用于进程1402(阶段6)。操作系 统1104向进程1402返回请求取消我的策略的结果(阶段7),且进程1402继续处 理(阶段8)。在另一实施例中,取消我的策略的请求可标识在取消当前可取消策 略之后要应用的策略。
图15是示出由实用程序在某些实施例中用来执行客户机-服务器访问控制检 查的通信流的框图。作为示例,电子邮件客户机进程1502可调用电子邮件服务器 进程1504来向目的接收者发送电子邮件消息(阶段1)。客户机进程1502发送其 标识符(例如ClientID)作为对服务器进程1504调用的一部分。作为响应,在尝 试将电子邮件消息发送给目的接收者之前,服务器进程1504执行一检查以确定客 户机进程1504是否有执行所请求动作的足够特权,例如在该情形中,将电子邮件 发送给目的接收者。因而,服务器进程1504通过取得客户机进程1502的身份来模 拟客户机进程1502(阶段2)。
在已取得了客户机进程1502的身份之后,服务器进程1504通过访问控制API 1106向操作系统1104发送对执行访问控制检查的请求(阶段3)。该请求包括客户 机进程1502的身份(例如ClientID)和所请求的动作(例如向收件人发送电子邮 件消息)。操作系统1104执行访问控制检查并向服务器进程1504发送对客户机进 程1502是否具有执行所请求动作的授权的指示。在某些实施例中,操作系统1104 可检查策略206中的可应用策略以确定客户机进程1502是否具有执行所请求动作 的授权。在某些实施例中,操作系统1104可利用授权模块202来确定客户机进程 1502是否具有执行所请求动作的授权。取决于访问控制检查的结果,服务器进程 1504继续处理电子邮件消息(例如向目的接收者发送电子邮件消息),或停止处理 该电子邮件消息并向客户机进程1502发送出错消息。尽管在以上示例中服务器进 程1504向操作系统1104发送对执行访问控制检查的请求,可以理解,服务器进程 1504可直接调用授权模块202以执行访问控制检查。
图16示出根据某些实施例提取嵌入应用程序的策略的过程。这使得策略能作 为包括应用程序的软件包的一部分来传送,且策略在组成应用程序的任何代码开始 执行之前被提取并应用。因而,使用该方法,如果代码包含由恶意代码利用的缺陷, 攻击危害可被降低和/或遏制。
在步骤1602,策略被嵌入,作为应用程序代码的一部分。该内嵌策略被限定 于应用程序代码中。在某些实施例中,代码中的策略例如通过在可执行代码中置入 标记来划分,该标记向适于在策略出现时提取内嵌策略的操作系统或其它进程提供 指示。在步骤1604,应用程序代码被签名以保护最后的映像。代码签名提供了对 被签名映像来自数字签名的提供者(例如代码的签名者)的保证。使用公钥和私钥 的数字签名通常对本领域技术人员是众所周知的,在此不再赘述。
随后,在步骤1606,请求在例如计算机上载入应用程序映像。在步骤1608, 操作系统或操作系统的载入器组件检查应用程序映像的完整性。如果操作系统确定 应用程序映像的完整性不可接受(步骤1610),则在步骤1618操作系统不在计算 机上载入应用程序映像。该操作系统还可生成出错情形并提供对错误的指示。
或者,如果操作系统确定应用程序映像的完整性可接受(步骤1610),则在步 骤1612操作系统在计算机上载入应用程序映像。在步骤1614,操作系统检查内嵌 策略的出现,且如果检测到内嵌策略,则从应用程序映像中提取该策略。在某些实 施例中,操作系统可将已提取的策略存储在由操作系统提供的策略表格或库中(例 如策略206)。在步骤1616,操作系统将已提取的策略应用于载入的应用程序映像。
图17是实用程序根据某些实施例载入策略并将其应用于遗留应用程序的方法 1700的流程图。作为示例,遗留应用程序可存储在计算机上。等待将策略应用于 遗留应用程序,而不招致与修改遗留应用程序代码相关的的风险或与卸载、重新安 装以及重新配置可能大量的遗留应用程序的麻烦和成本,遗留应用程序的策略可通 过不依赖于遗留应用程序的进程来传递。
从开始步骤开始,在计算机上执行的提供遗留应用程序的操作系统在步骤 1702接收来自进程的对加载遗留应用程序的策略的请求。例如,该进程可以是在 计算机上执行的更新程序的实例。此外,除了可包括在策略中的规则之外,策略还 可包括基于信息而相关并可应用的规则,这些信息诸如遗留应用程序代码的版本、 结合在遗留应用程序代码中的补丁级别等。在步骤1704,操作系统接收来自进程 的策略,并载入遗留应用程序的策略。操作系统可验证该进程被授权传送可应用于 遗留应用程序的策略。操作系统还可在接收并存储该策略之前验证进程和策略的完 整性。在某些实施例中,操作系统载入策略表格或库中的策略,并使该策略与遗留 应用程序相关联。该关联由策略的元数据指示。
随后,在步骤1706,操作系统接收对载入遗留应用程序的请求。在步骤1708, 操作系统检查以确定是否有可应用于遗留应用程序的策略。如果遗留应用程序不具 有可应用策略,则在步骤1704,操作系统不载入遗留应用程序。在该实例中,操 作系统可被配置成仅载入并执行具有有效可应用策略的应用程序。操作系统可返回 指示载入遗留应用程序失败的一错误。在提供错误指示之后,操作系统继续处理。
如果在步骤1708,操作系统确定遗留应用程序具有可应用策略,则在步骤 1710,操作系统载入遗留应用程序。在步骤1712,操作系统在其执行期间将策略 应用于遗留应用程序,并继续处理。
从前述内容,可以理解,尽管为进行说明已对本发明的特定实施例进行了描 述,但可作各种更改而不背离本发明的精神和范围。因此,本发明并不受限制,除 了根据在所附权利要求书中阐明的各个元素。
相关专利内容
标题 发布/更新时间 阅读量
控制对访问对象的访问 2020-05-12 387
一种访问器及访问方法 2020-05-12 981
联盟访问 2020-05-11 978
访问WEB服务 2020-05-13 923
控制访问 2020-05-11 625
载波访问器 2020-05-12 489
域访问系统 2020-05-13 61
访问口 2020-05-11 271
访问机器人 2020-05-12 625
访问系统 2020-05-11 301
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈