集成访问授权的制作方法

文档序号:6649433阅读:186来源:国知局
专利名称:集成访问授权的制作方法
技术领域
本发明涉及计算机安全,尤其涉及控制对计算机系统上资源的访问。
背景技术
随着对计算机和计算机网络的依赖性的增加,以及对计算机和计算机网络的攻击频率和复杂度的增加,计算机安全的主题在本行业中变得越来越突出。当前的计算机安全技术不足以保护应用程序和操作系统免遭例如病毒、蠕虫和特洛伊木马等恶意软件(“malware”)的破坏,这些恶意软件是特别设计成破坏或扰乱计算机系统,以及其它不良动作。
现有的访问控制安全模型通常都依赖于用户的证书来授权对计算机上资源的访问。在这些模型中,具有相同证书运行或执行的每个进程都被给予相同的访问权限,而不管该进程是否需要访问用户可用的所有资源。此外,需要访问资源(例如读、写等)的进程,在访问资源时指定所需访问。
例如,用户通过用户帐户登录到个人计算机上,并期望能够访问存储在该个人计算机上并使用特定的字处理程序创建的所有字处理文档。为了满足该期望,常规的访问控制安全系统准许在用户的上下文许可中运行的所有程序访问所有前述字处理文档。然而,这是过度级别许可的准许,因为实际上除字处理程序之外很少有在用户的上下文许可中运行的程序会需要访问任一字处理文档。
通常,恶意软件利用代码缺陷来感染进程。一旦恶意软件在受害进程中运行,它就继承进程在其中运行的用户上下文的访问权限,并得以访问用户可用的所有资源,这可比原始进程所需的多得多。
因此,一种改进并增强计算机上资源的安全性的访问授权的集成方法将具有重大的效用。


图1是示出实用程序在其上执行的至少部分计算机系统中所包含的选定组件的框图。
图2是示出根据某些实施例的实用程序的选定组件的框图。
图3示出根据某些实施例适于由实用程序使用的示例策略。
图4示出根据某些实施例实用程序执行对拒绝访问请求的审核的方法的流程图。
图5示出根据某些实施例实用程序执行对固有危险操作的审核的方法的流程图。
图6示出根据某些实施例实用程序执行学习以便于策略微调的方法的流程图。
图7示出根据某些实施例实用程序提供分层的访问控制检查的方法的流程图。
图8示出根据某些实施例实用程序确定应用程序的安全风险级别的方法的流程图。
图9示出根据一实施例实用程序在检测到异常之后施加更严格策略的方法的流程图。
图10示出根据一实施例实用程序在检测到异常之后施加策略的方法的流程图。
具体实施例方式
描述了用于防止计算机系统受到有害影响的软件实用程序(“实用程序”),这些有害影响会从对计算机系统上应用程序和操作系统程序的利用中产生。在某些实施例中,实用程序被实现为操作系统的整体部分,并将逻辑驱动的访问控制层加在操作系统上。例如,实用程序以对操作系统访问控制机制所必需的方式来实现。
该实用程序可提供一授权模块,该授权模块接收对各种安全敏感资源访问的授权查询,并基于集中式策略返回允许或拒绝资源访问的决定。策略是确定如何比如通过网络、文件系统、应用程序等来管理并保护资源的一系列规则和实践。在集中式策略库中,策略中的各规则可集中放置,这使得各规则和/或策略可集中取消并集中设置。这与分布式或每对象访问控制模型相反,通常使用绑定到物理对象的访问控制列表来实现。
授权模块可通过各个操作系统组件直接查询,这些组件对由用户模式程序,例如在用户上下文中执行的应用程序发出的资源访问请求提供服务。或者,授权模块可通过位于这些操作系统组件之上的“拦截层”来查询。该拦截层是拦截由用户模式程序用于访问资源的系统调用函数,并将“包装”应用于所拦截的系统调用函数的代码。该授权模块基于当事者的身份以及应用于该当事者的策略来作出其访问控制决定(即允许或拒绝),当事者的身份可以是尝试进行资源访问的应用程序-例如应用程序进程-的身份,或应用程序身份和应用程序代表其来执行的用户身份的组合。
在某些实施例中,实用程序提供一审核特征。例如,策略可指示特定动作为审核的主题,不管允许(例如批准)还是拒绝(例如阻拦)授权,从而将条目加入审核日志。该条目可包括对失败规则、资源或对象,以及原理的指示。对于某些操作,诸如固有危险操作,该条目可包括对规则(不管是允许或拒绝该规则)、资源或对象,以及当事者的指示。实用程序还可基于审核触发各事件。例如,实用程序可被配置成向当事者(例如应用程序和/或用户)或其它感兴趣方提供对失败规则或固有危险操作的通知或指示。
在某些实施例中,实用程序提供一学习模式特征,其中应用程序对规则进行测试或报告。例如,策略中的规则可指定对执行动作的授权的请求被拒绝。如果学习模式被例如策略的创作者激活用于规则,则实用程序不拒绝对执行动作的请求授权,而允许或批准对执行该动作的授权,并生成表示对执行该动作的授权的请求将被拒绝的事件。实用程序可生成一报告,它指示例如本该拒绝的规则、在请求该动作之前应用程序的状态等。学习模式特征便于微调策略。例如,策略的创作者可分析该报告并确定策略或策略中的规则是否需要更具限制性或限制性较小。
在某些实施例中,实用程序作为分层访问控制检查的一部分执行。在此,实用程序执行其策略检查作为一系列访问控制检查的一部分。例如,当作出资源请求时,常规访问控制机制开始时可被调用以确定对所请求资源是否授权。在常规访问控制机制开始确定有所请求资源的授权之后,实用程序可被调用以检查其策略以确定对所请求资源是否有授权。随后,可另外调用一个或多个其它访问控制检查,以最终确定对所请求资源是否有授权。
参照附图的图1-10,实用程序的各个实施例及其优点可得到最佳的理解。附图的元件并不必然成比例,而是着重于清晰地说明本发明的各个原理。贯穿各个附图,相似标号用于各个附图的相似和相应组件。
图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应用程序。
从前述内容,可以理解,尽管为进行说明已对本发明的特定实施例进行了描述,但可作各种更改而不背离本发明的精神和范围。因此,本发明并不受限制,除了由所附权利要求书限定。
权利要求
1.一种系统,用于审核对访问计算系统上所提供资源的授权的请求,所述系统包括集中式策略存储器,具有至少一个策略,所述策略具有一个或多个规则;以及授权组件,可操作以作为适合在所述计算系统上执行的操作系统的组件执行,所述授权组件还可操作以标识当事者对访问资源的请求;将所述策略应用于当事者以确定是否要拒绝对访问所述资源的授权;以及响应于确定要拒绝对访问所述资源的授权,返回拒绝对访问所述资源的授权的拒绝决定,并将授权的拒绝记录在审核日志中。
2.如权利要求1所述的系统,其特征在于,所述授权组件还可操作以响应于确定要拒绝对访问所述资源的授权,而将所述当事者的指示记录在审核日志中。
3.如权利要求1所述的系统,其特征在于,所述授权组件还可操作以响应于确定要拒绝对访问所述资源的授权,而将所述策略中规则的指示记录在审核日志中,所述规则致使拒绝对访问所述资源的授权。
4.如权利要求1所述的系统,其特征在于,所述授权组件还可操作以响应于确定要拒绝对访问所述资源的授权,而将所述请求的资源的指示记录在审核日志中。
5.如权利要求1所述的系统,其特征在于,所述授权组件还可操作以基于所述审核日志中的条目来触发事件。
6.如权利要求5所述的系统,其特征在于,所述事件是对实体而非当事者的拒绝请求的指示。
7.如权利要求5所述的系统,其特征在于,所述事件是对当事者应用第二策略
8.如权利要求1所述的系统,其特征在于,所述授权组件还可操作以将所述策略应用于当事者,以确定是否要允许对访问所述资源的授权;以及响应于确定允许对访问所述资源的授权,返回一允许决定,以允许对访问资源的授权,并将允许授权记录在审核日志中。
9.如权利要求8所述的系统,其特征在于,所述授权组件还可操作以确定对资源的访问是否涉及固有危险操作;以及响应于确定对资源的访问涉及固有危险操作,将对访问涉及所述固有危险操作的资源的授权记录在所述审核日志中。
10.一种在计算系统中用于微调策略的方法,所述方法包括提供集中式策略存储器,所述集中式策略存储器包括至少一个策略,所述策略包括具有对是否要激活所述规则的学习模式的指示的至少一个规则,从而如果所述规则失败并导致拒绝对访问资源的授权并激活学习模式,则批准对访问所述资源的授权;以及将所述授权的批准和所述规则的失败记录在日志中;以及如果所述规则失败并导致拒绝对访问资源的授权并未激活学习模式,则拒绝对访问所述资源的授权,从而所述方法由在所述计算系统上执行的操作系统的构成组件执行。
11.如权利要求10所述的方法,其特征在于,还包括如果所述规则允许对访问资源的授权并激活学习模式,则批准对访问所述资源的授权;以及将所述授权的批准和负责允许对访问所述资源的授权的规则的指示记录在日志中。
12.一种计算机可读存储介质,其内容使计算机接收一授权查询,所述查询与对在计算机执行操作的请求有关;标识请求执行所述操作的当事者;执行访问控制检查以确定是否要允许对执行所述操作的授权,所述访问控制检查基于所述当事者和可应用于所述当事者的策略,其中所述策略为保持为集中式策略库的一部分,且所述策略包括一个或多个规则;响应于确定要允许对执行所述操作的授权,确定所请求操作是否是固有危险操作;以及响应于确定所请求操作是固有危险操作,将条目输入审核日志,所述条目记录所述对执行固有危险操作的授权,从而所述计算机指令作为适于在所述计算机上执行的操作系统的构成组件执行。
13.如权利要求12所述的计算机可读存储介质,其特征在于,还包括使所述计算机基于所述审核日志中的条目触发事件的内容。
14.一种计算机可读存储介质,其内容使计算机接收对将应用程序映像载入存储器的请求;确定所述应用程序映像是否试图访问预定资源;以及响应于确定所述应用程序映像试图访问所述预定资源,拒绝对载入所述应用程序映像的请求。
15.如权利要求14所述的计算机可读存储介质,其特征在于,对访问所述预定资源的意图的确定是基于对可应用于所述应用程序映像的策略的分析。
16.一种用于执行访问控制检查的系统,包括授权查询组件,可操作以接收有关对资源访问的授权查询;当事者标识组件,可操作以标识请求对所述资源的访问的当事者;策略标识组件,可操作以标识可应用于所述当事者的策略,所述策略由一个或多个规则组成,所述策略是集中式策略组的一部分;以及访问控制检查组件,可操作以执行作为当事者功能的访问控制检查,所述策略可应用于当事者以及资源。
17.如权利要求16所述的系统,其特征在于,所述访问控制检查还根据所述资源上的请求动作来执行。
18.如权利要求16所述的系统,其特征在于,当事者是在计算机上运行的应用程序实例。
19.如权利要求16所述的系统,其特征在于,当事者是在计算机上运行的应用程序实例和代表其运行的应用程序实例的用户身份的组合。
20.一种在计算系统中用于查询应用程序的安全风险的方法,所述方法包括确定是否有可应用于应用程序映像的策略;响应于确定有可应用策略,处理所述应用程序映像;以及响应于确定可应用策略不存在,不处理所述程序映像。
21.如权利要求20所述的方法,其特征在于,还包括,响应于确定有可应用策略,确定与所述应用程序映像相关联的可能安全风险。
22.如权利要求20所述的方法,其特征在于,还包括,分析所述可应用于策略以确定所述应用程序映像的意图,从而所述应用程序映像的进一步处理基于所述应用程序映像的意图。
23.如权利要求20所述的方法,其特征在于,处理所述应用程序映像包括载入所述应用程序映像。
24.如权利要求20所述的方法,其特征在于,处理所述应用程序映像包括执行所述应用程序映像。
25.一种计算机可读存储介质,其内容使计算机监视计算机以检测所述计算机中的异常状态;以及响应于在所述计算机中检测到异常状态,激活策略在所述计算机内的应用。
26.如权利要求25所述的计算机可读存储介质,其特征在于,所述异常状态在所述计算机上执行的进程中检测,且所述策略根据所述进程激活。
27.如权利要求25所述的计算机可读存储介质,其特征在于,所述异常状态在一个进程组中检测,且所述策略根据所述进程组激活。
28.如权利要求25所述的计算机可读存储介质,其特征在于,所述策略根据在所述计算机上执行的所有进程激活。
29.如权利要求25所述的计算机可读存储介质,其特征在于,还包括的内容使计算机监视计算机以检测所述计算机中异常状态的终止;以及响应于检测所述计算机中异常状态的终止,终止策略在所述计算机内的应用。
30.如权利要求25所述的计算机可读存储介质,其特征在于,所述计算机指令被集成到适合在所述计算机上执行的操作系统中,并作为其一部分执行。
31.如权利要求25所述的计算机可读存储介质,其特征在于,所述策略被保持为集中式策略库的一部分。
32.一种在计算系统中用于应用策略的方法,所述方法包括将第一策略应用于计算机内;监视计算机以检测所述计算机中的异常状态;以及响应于在所述计算机中检测到异常状态,将第二策略应用于所述计算机内。
33.如权利要求32所述的方法,其特征在于,所述第一和第二策略应用于在所述计算机上执行的进程。
34.如权利要求32所述的方法,其特征在于,所述第一和第二策略应用于在所述计算机上执行的应用程序的实例。
35.如权利要求32所述的方法,其特征在于,所述第一和第二策略应用于在所述计算机上执行的所有进程。
36.如权利要求32所述的方法,其特征在于,所述第一策略比所述第二策略的限制性较小。
37.如权利要求32所述的方法,其特征在于,所述策略包括用于管理所述计算机上资源的至少一个规则。
38.如权利要求32所述的方法,其特征在于,所述第一和第二策略被保持为集中式策略库的一部分。
39.如权利要求32所述的方法,其特征在于,还包括监视计算机以检测所述计算机中异常状态的结束;以及在检测到所述计算机中异常状态的终止之后,终止所述第二策略在所述计算机内的应用。
40.如权利要求39所述的方法,其特征在于,还包括将所述第一策略再应用于所述计算机。
41.一种用于应用策略以确定对访问资源的授权的系统,所述系统包括可应用于当事者的第一策略;可应用于当事者的第二策略;以及授权模块,可操作以将所述第一策略应用于当事者,以确定所述当事者是否具有对以非异常状态在计算机上执行请求动作的授权,所述授权模块还可操作以将所述第二策略应用于当事者,以确定当事者是否具有对以异常状态在计算机上执行请求动作的授权。
42.如权利要求41所述的系统,其特征在于,所述当事者是在计算机上运行的应用程序进程。
43.如权利要求41所述的系统,其特征在于,所述当事者是在计算机上运行的应用程序进程和在其中运行应用程序进程的用户环境的组合。
44.如权利要求41所述的方法,其特征在于,所述第一和第二策略应用于在所述计算机上执行的应用程序的一个进程。
45.如权利要求41所述的系统,其特征在于,所述第一和第二策略应用于在所述计算机上执行的应用程序的所有进程。
46.如权利要求45所述的系统,其特征在于,所述第一策略和所述第二策略被保持为集成式策略的一部分。
全文摘要
提供了一种用于执行访问控制检查作为操作系统的构成组件并利用集中式策略库的实用程序。该实用程序作为在计算机上执行的操作系统的构成组件在计算机上执行,并接收授权查询,以确定当事者是否具有访问资源的授权。实用程序应用保持在集中式策略库中的可应用于当事者的策略来确定访问资源的授权是否存在。如果授权不存在,则实用程序拒绝授权查询,并在审核日志中记录授权拒绝的指示。实用程序可基于授权查询的审核触发事件。实用程序还在审核日志中记录对访问资源的授权的指示。实用程序还可确定授权查询是否是对执行固有危险操作的授权的请求,并在审核日志中记录对执行固有危险操作的授权的指示。
文档编号G06F1/00GK1782943SQ20051010886
公开日2006年6月7日 申请日期2005年9月30日 优先权日2004年10月1日
发明者G·戈兰, M·韦曼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1