用于评价安全风险的机制的制作方法

文档序号:6402263阅读:171来源:国知局
专利名称:用于评价安全风险的机制的制作方法
技术领域
该本发明涉及计算机安全系统。更具体地说,本发明涉及用于评价和总计计算系统的安全评估信息的机制。
背景技术
现在,计算机用户可以使用大量不同的应用程序和实用程序。典型的计算机用户在一年中可以在计算机上安装许多计算机程序。多数情况下,计算机用户有意识地将程序安装在他们的计算机上。例如,用户可以购买软件程序然后人工安装。用户有时可能会无意中安装了程序,诸如通过浏览一个特定的被配置成向用户计算机上安装Java程序或小程序的网站。今天,向计算机安装程序已经变得十分普遍,以致一些用户没有意识到与新软件的安装有联系的安全问题。而其他用户虽然一般敏锐地意识到了安全问题,但是其一般不能确定可能围绕特定程序安装的具体问题。
多数用户明白新程序可能会在他们的计算机上引入病毒或其他恶意代码。用户也明白一些软件开发者使程序可自由使用,而这些软件具有明显的功能或目的(诸如增加电子邮件信息)和隐藏功能或目的(诸如记录有关用户的信息,这些信息随后返回给市场实体)。这个特定类型的软件常称为“间谍软件”,因此用户要经常设法以各种方式保护他们自己免受安全威胁。例如,许多用户安装反病毒实用程序来保护他们自己以防病毒。少数用户也安装反间谍软件实用程序以解决间谍软件安全问题。
不幸的是,每个安全实用程序都彼此独立地运行并且互不清楚彼此的结果,因此使用户承担了彻底了解来自于每个安全实用程序的信息的负担。现在的安全防范系统彼此相对的运行在空白中,并且每个都向用户提供它的特定的安全风险。更确切地说,他们只希望他们的安全防范系统工作。现在的安全实用程序的修补性一般让用户担心他们已在他们的防御中留下漏洞,从而恶意的或不受欢迎的程序将溜进来。因为这些担心,许多用户不愿试用新程序,尤其在联机环境中尤其如此。
不幸的是,目前没有可以保护用户免受当下载、安装或执行具体的软件程序所带来的多个不同安全风险的侵害。用于评估安全风险的适当机制已把本领域熟练的技术人员难倒。
发明总述本发明针对的是一种用于总计有关程序的安全评估信息并以适宜的和可用的方式在这些信息上进行操作的系统和方法。
简要地说,主机环境负责装入应用程序。响应应用程序装入的启动,主机环境调用一个信任管理器以评价与该应用程序有关的安全风险。信任管理器调用多个信任评价器,其中每个信任评价器负责对不同的安全风险进行分析和评估。在完成对每个安全风险的评价之后,对这些个体安全风险评价的结果将返回到信任管理器。信任管理器总计安全风险评价结果的种类,并且根据总计的评价结果作出安全决定。这些决定可能是继续装入应用程序,阻止应用程序的装入,或者向用户提示是否继续装入的决定。有利地,如果被提示,用户可以根据该应用程序的总计安全评估来做出决定,通常该安全评估通常向用户提供较大的保护意识。
附图简述

图1是说明可以用于本发明实施中的计算装置的功能方块图。
图2是一个功能方块图,其通常说明执行应用程序的安全评价并向用户提供这些评价的集体安全评估的系统的部件。
图3是一个应用程序的示例性的授权组,该应用程序将特定的权限与该应用程序的上下文中的应用程序的部件关联起来。
图4是一个示例性的用户接口的图示,该用户接口可以用于将集体安全评估信息提供给用户。
图5是一个一般说明评价与应用程序相关的安全风险并将集体安全评估提供给用户的过程的逻辑流程图。
优选具体实施例的详细说明首先,将参考其中可以实施本发明的具体实施例的说明性的计算环境的一个实例来描述本发明。其次,将描述本发明的一个具体实施的详细实例。根据该具体实施的某些细节,还可以包括替换实施。应当理解,本发明的具体实施例并不局限于在此所描述的这些具体实施例。
本发明的示例性计算环境图1是说明可以用于本发明示例性实施中的计算装置的功能方块图。请参考图1,一个用于实施本发明的典型系统包括计算装置,诸如计算装置100。在一个非常基本的结构中,计算装置100一般至少包括一个处理部件102和系统存储器104。根据计算装置的确切结构和类型,系统存储器104可以是挥发性的(诸如RAM),非易失性的(诸如ROM、闪速存储器,等)或两者的某些组合。系统存储器104一般包括操作系统105、一个或多个程序模块106,并且还可以包括程序数据107。计算装置100的基本结构在图1中通过虚线108内部的这些元件来说明。
计算装置100可以具有附加的特征或功能。例如,计算装置100还可以包括附加的数据存储器(可移动的和/或固定的),诸如磁盘、光盘或磁带。这种附加存储器在图1中通过可移动存储器109和固定存储器110来说明。计算机存储器介质可以包括挥发性的和非挥发性的、可移动的和固定的介质。该等介质在信息存储的任何方法或技术中实施,信息诸如计算机可读指令、数据结构、程序模块或其它数据。系统存储器104、可移动存储器109和固定存储器110是计算机存储器介质的全部实例。计算机存储器介质包括(但不限于),RAM、ROM、EEPROM、闪速存储器或其它存储技术,CD-ROM、数字化视频光盘(″DVD″)或其它光存储器、磁带盒、磁带、磁盘存储器或其它磁存储器,或其它任何可用于存储所需信息并可由计算装置100访问的介质。所有的这种计算机存储器介质可以是装置100的一部分。计算装置100还可以具有输入设备112,诸如键盘122、鼠标器123、光笔、声音输入装置、接触式输入设备、扫描仪,等。也可以包括输出装置114,诸如显示器、扬声器、打印机,等。也可以包括输出装置114,诸如显示器、扬声器、打印机,等。这些装置在本领域中是公知的,因此在这里不必详细地论述。
计算装置100还可以包含通信连接116,诸如通过网络其允许计算转置与其它计算装置118通讯。通信连接116是传播介质的一个实例。传播介质一般可以被计算机可读指令、数据结构、程序模块或其它调制数据信号(诸如载波或其它传送机制)形式的其它数据具体化,并且传播介质包括所有的信息分送送介质。术语″调制数据信号″指的是一种具有一个或多个它的特征集合或以这种方式变化以对该信号中的信息编码的信号。举例来说(但不限于),传播介质包括有线媒体,诸如有线网络或直线连接,和无线介质,诸如声波、射频、红外线及其他无线介质。在此使用的术语计算机可读介质包括存储载体和传播介质两者。
具体实施的详述图2是一个通常说明实施本发明的环境的部件的功能方块图。如图2所示,信任评价系统200被配置以评价应用程序201以及识别所有的与应用程序201有关的安全风险。应用程序201可以是计算装置100可用的任何可执行码。在计算装置100上固有地存在与执行应用程序201有关的一些安全风险。例如,应用程序201可以包含一种病毒或其可以组成间谍软件。因此,配置系统200以分析应用程序201,以便以有意义的方式评估和量化这些风险。信任评价系统200然后对有关应用程序201的装入做出决定。
应用程序201可以由结合运行的几个组件组成。例如,应用程序201和202可以包括多个模块或组件,诸如组件A202和组件B203。应用程序201可以包括描述应用程序和其每一个组成部件的元数据。元数据可以包含在清单205中,或者可以与应用程序201相关地保存。元数据可以包括诸如应用程序的名称、版本、应用程序的组成部件所需的资格和权限、隐私策略信息、数字标记信息,等等。
在众多的方式之一中,应用程序201可以首先被装入计算装置100上。例如,可以在上因特网期间下载应用程序201,或者从光盘或其它永久性存储器中获得,又或者可以以电子邮件信息的形式接收,或通过其它的机制。在本实施中,通过主机环境220装入并执行应用程序201。为了描述的目的,主机环境220包括任何在其中将执行应用程序201的环境。例如,主机环境220可以是一个可控制代码运动期环境、外壳程序、另一个应用程序,等等。在这个特定的具体实施例中,主机环境220可以包括基于主机类型的优先级别。例如,可以确定与光盘驱动器有关联的主机环境可以引起的安全风险比与诸如因特网此类的网络会话有关联的主机环境所引起的安全风险低。当将安全计分分配到应用程序201之后,可以使用优先级别。
配置主机环境220以根据与应用程序201有关的元数据建立应用程序描述对象(ADO)221。主机环境220将ADO221充分的有关应用程序201的信息包括在内,以便有效地评价与应用程序201有关的安全风险。因此,ADO221可以在目标形式中包括应用程序的名称、应用程序的版本、应用程序的组成部件所需的资格和权限、隐私策略信息、数字标记信息,等等。进一步地配置主机环境220,以调用信任管理器210执行评价。
信任管理器210可以是一个驻留在计算装置100之上的操作系统的信任部件。在这个特定的具体实施例中,信任管理器210暴露一个接口,其由主机环境220调用以启动应用程序201的安全评价。信任管理器210经由该接口从主机环境220接收ADO221。进一步配置信任管理器201以调用一系列信任评价引擎,以便评估与应用程序201有关的安全风险。配置每个评价引擎以根据ADO221中的信息或应用程序201本身的部件来评价具体的威胁种类。例如;评价引擎240可以是一种计分引擎,该计分引擎评价有关应用程序的凭据(可以包含在ADO221中或别处),以便确定该应用程序在计算装置100之上执行恶意行为的能力。评价引擎241可以是一种病毒检验器,而评价引擎242可以是被进一步配置以评价与应用程序201有关的隐私关系。每一个评价引擎可以衍生基本类;或可以被作为接口来实施。
针对每个评价引擎的具体规则和标准,配置每个评价引擎以评估应用程序201,确定计分245。计分的实例包括最小值和最大值之间的数值;或者包括来自于一组替换的安全级别的离散值。这些仅是实例,并非详细清单。每个评价引擎结束其评估之后,计分245被返回给信任管理器210。进一步配置信任管理器210以将个体计分合计为计分累积250,该计分累积表示在每个为其而存在评价引擎的区域中的应用程序的集体安全评估。可以存在的任何优先权,诸如与主机环境220的具体类型有关的优先权,可以被应用于计分累积250以便进一步改进集体安全评估。根据集体安全评估,信任管理器210可以具有充分的信息来在不涉及用户的情况下做出装入决定。例如,预先确定的阈值(或者缺省设置,或者由用户提供)可以控制什么程序可以不寻求用户认可地装入,或者什么程序在不提示用户的情况下阻止。如果要装入的具体应用程序的集体安全评估落入两个阈值之间,那么可以向用户提示装入确定。
信任管理器210构造一个描述许可级别的信任对象261,即使有的话,可以用其装入应用程序。该信任对象261可以包括在一个部件接一个部件地定义用于应用程序的许可授权组262的数据。图3说明一个示例性许可授权组262的一个实例并且如下所述。如果应用程序201的集体安全评估落于上述的两个阈值之间,那么信任管理器210可以将信任对象261传递到用户接口260,以致可以提示用户。
用户接口260是一种以有意义的方式将集体安全评估提供给用户使得用户可以对有关行动做出理性确定的机制。
用户接口260可以采用多种形式,诸如对话框、听觉信号、形象指示器,等等。图4说明可能的用户接口260的一个实例并且如下所述。本质上,用户接口260为各种不同的安全信息提供的单一点的显示,这在习知系统中并不存在。
用户接口260可以向用户提示可能的允许应用程序转入以进行的安全分支,而且可能向用户提供可以分配给应用程序的各种权限级别。要求用户对是否继续装入应用程序做出决定。用户接口260将用户的反应信息添加到信任对象261并且将其返回给信任管理器210。
每当应用程序201装入或者执行时,它的主机环境220就可以调用信任管理器210检索应用程序201的安全评估。在授权组262已经被建立的情况下,信任管理器210可以将这些授权组262返回至主机环境220。或者,主机环境220可以高速缓存安全评估信息,以用于随后在不涉及信任管理器210的情况下使用。主机环境220于是将在授权组262中已识别的任何访问权限应用于应用程序201。更准确地说,主机环境220可以将访问权限应用于应用程序201的每个独立的部件上,诸如组件202。同样可行的是,主机环境220或者其它的应用程序可以提供部件给信任管理器210,以用于没有执行部件的具体意图情况下的安全评估。
图3是一个示例性授权组301的图示,该授权组可通过本发明的实施而产生。请注意,本文所使用的术语″授权组″指的是任何信息集合,该信息集合用于定义其中可以执行应用程序的安全环境。本文所使用的术语″授权组″并不局限于特定的安全环境,诸如公共语言运动期环境,而是趋向于涵盖用于定义在其内部不考虑特定操作环境地执行应用程序的安全环境的信息。
在这个特定的实例中,授权组301可以是对象内部的数据,对象诸如信任对象等等。在这个实例中,授权组301包括识别应用程序的每个部件的信息。另外,授权组301包括定义应用程序的每个部件权限的信息。在这种情况下,部件表格310识别部件组件A、组件B和组件C,并且将这些部件中的每一个与权限组关联。例如,在授权组301中,组件A被识别为具有权限组PS1。
授权组301中还包括权限表格320,以具体的定义这些权限是与每个许可组相关的安全资格。在这个实例中,权限组PS1包括这些已在实例中被识别为权限1的权限和资格。应当理解,当主机环境220开始装入应用程序的部件时,通过参考授权组301,在应用程序的上下文中可以将适当的权限应用于应用程序的每个部件。换句话说,其它的应用程序也可以包括组件B,但是在其它应用程序的上下文中,组件B可以具有不同的权限组。那样的话,当执行其他应用程序,并且装入组件B时,它应具有由与另一个应用程序相关的授权组定义的权限组。
图4是一个示例性用户接口对话框,可以根据应用程序的安全评估将其提供给用户。在这个具体实例中,根据对具有访问文件系统和网络请求的应用程序的评价来提供对话框401。另外,病毒鉴别器已经确定应用程序没有包含病毒。还可以包括风险级别405的形象指示。向用户提供允许装入进行的选项,诸如通过点击OK按钮410,或者终止装入。图4所示的用户接口仅仅是为了说明,而不应作为限制或者不应是将安全信息提供给用户的唯一机制。甚至,可想象到,根据本文献的教学,将清楚许多各种集体安全评估显示。
图5是一个通常说明识别和以有意义的方式来集体提供有关由应用程序所引起的安全风险的信息的逻辑流程图。步骤开始于起始块501,其中正在装入应用程序以在计算系统上执行。如上所述,通过各种类型的主机,可以多种方式装入应用程序。因此,在起始块501,通过使用特定的主机,正在装入具体的应用程序。步骤进行至块503。
在块503,主机根据有关应用程序的信息构造应用程序描述对象(ADO)。如上所述,信息可以从包括有应用程序的清单中获得,或者通过任何与应用程序有关的其它元数据中获得。ADO包含有关应用程序的描述性信息,诸如应用程序的名称和版本、由应用程序请求的任何资格、由应用程序请求的任何代码访问权限、与应用程序有关的数字标记信息、隐私策略信息,等等。步骤进行至块505。
在块505,主机使用指令调用信任管理器以评价与该应用程序有关的安全风险。主机将ADO传递给信任管理器以便可以在评价中使用。
在块507,信任管理器通地调用一系列信任鉴别器(其每一个都评价具体区域中的安全风险)来评价应用程序的安全风险。例如,可以对病毒鉴别器进行配置,使其为应用程序包含病毒的可能性而检查应用程序的每个部件。隐私鉴别器可以评价由应用程序请求的权限,以便确定对应用程序提供的隐私的威胁级别。还可以使用许多其它信任鉴别器,这对于本领域熟练的技术人员来说是显而易见的。
循环508为系统中的每个信任鉴别器执行。循环508从块509开始,其中当前信任鉴别器检查ADO中的信息和/或应用程序的部件以便评估安全风险。ADO中的信息可以针对一组规则或其它标准来比较,以便建立量化应用程序的安全风险的计分。在一个实例中,计分可以是从0(最大风险)到1(最小风险)中的值。计分还可以包括优先权和串描述符。
应当理解,由每个信任鉴别器执行的评价类似于可以由习知机制执行的类似安全风险评价。但是,根据本发明,每个信任鉴别器评估其各自的安全风险并且将计分累积返回给信任管理器(块511)。当每个信任鉴别器已经将其的计分累积返回给信任管理器时,循环508终止并且步骤进行至块513。
在块513,信任管理器分析来自于信任鉴别器的计分累积。信任管理器可以根据一些预先确定的标准(诸如与具体的信任鉴别器有关的优先权,或其它的优先化方案)给予计分累积以优先权。例如,带来病毒的高风险可以超过可以发生隐私侵害的风险。信任管理器根据已给予优先权的计分累积来确定总计安全在计算系统之上的影响。如果系统上的总计安全影响超过预先确定的阈值,信任管理器可以只须阻止应用程序的装入。如果总计安全影响低于其它的阈值,信任管理器可以只须建立信任对象,其包括充分的应用程序执行权限。然而,如果这些情况都不存在,那么信任管理器可以调用用户接口以提示用户作出决定。
在块515,信任管理器将已给予优先权的计分累积和总计影响信息传递到用户接口,以用于最终评价(如果需要用户最终评价的话)。如果是这样的话,则将总计安全影响提供给用户。该提供可以是对话框的形式,该对话框总结或具体地说明与应用程序的装入有关的安全风险。例如,计分引擎也许已确定应用程序已经请求在计算机上读取和修改文件,以及在网络连接上发送数据的足够权限。根据那样的信息,或许和其他证据一起,隐私鉴别器也许已确定应用程序很可能在网络上共享用户的信息。因此,可以结合信息以通知用户应用程序的装入很可能导致用户成为电话推销活动的目标,或者导致其他用户个人信息的不正当使用。有利的是,向用户提供了收集到诸如对话框等此类的公用告示中的不同安全信息。
在块517,根据来自于用户接口的任何输入,信任管理器修改描述其中可执行应用程序的安全环境的信任对象。在一个具体实施例中,信任对象包括将应用程序,或应用程序的部件与许和授权组相关联的数据。权限授权组描述安全级别,当执行应用程序时,该安全级别将应用于该应用程序。在一个具体的环境中,权限授权组与应用程序的每个部件相关联。在块517,步骤可以停滞,直到应用程序被实际执行为止,藉此使主机开始装入引起的部件。在该点上,步骤进行至块519。
在块519,由主机装入应用程序。作为应用于正在装入的应用程序的安全策略的一部分,主机为了于应用程序有关的信任对象而查询信任管理器。由于是装入应用程序的每个部件,因此应用了与部件有关的权限授权组。以这种方式,根据本发明已装入的应用程序只被允许这些权限,而这些权限已由用户以通知的方式直接并包括地建立。如果执行的足够资格还没有授予应用程序,那么信任管理器可能阻止应用程序的执行。
上述说明,实例和数据提供了本发明的概念和示例性实施的完整叙述。因为发明的许多具体实施例可以在不脱离本发明的精神和范围的情况下作出,因此本发明归属于以下附加的权利要求。
权利要求
1.一种具有计算机可执行组件的计算机可读介质,包括信任管理器,配置以接收应用程序正在被装入的通知,并且作出反应,以使应用程序针对多个安全风险进行评价,所述信任管理器被进一步配置以累计与每个安全风险评价有关的得分,以便基于累积得分确定集体安全评估;以及用户接口,配置以提供由信任管理器确定的集体安全评估。
2.根据权利要求1所述的计算机可读介质,其中应用程序正由主机环境装入,并且其中主机环境发布通知给信任管理器。
3.根据权利要求2所述的计算机可读介质,其中主机环境被配置以建立一包括关于应用程序的描述性信息的应用程序描述对象。
4.根据权利要求3所述的计算机可读介质,其中描述性信息包括应用程序的名称和应用程序的版本。
5.根据权利要求3所述的计算机可读介质,其中描述性信息识别由应用程序的组件所需的权力和许可。
6.根据权利要求3所述的计算机可读介质,其中描述性信息包括隐私策略信息。
7.根据权利要求3所述的计算机可读介质,其中描述性信息包括有关应用程序的数字签名信息。
8.根据权利要求1所述的计算机可读介质,其中由独立的信任鉴别器执行安全风险评估,每个信任鉴别器被配置以分析与应用程序有关的具体的安全风险。
9.根据权利要求8所述的计算机可读介质,其中具体的安全风险包括病毒的存在。
10.根据权利要求8所述的计算机可读介质,其中具体的安全风险包括隐私的侵害。
11.根据权利要求1所述的计算机可读介质,其中集体安全评估识别一个或多个与装入应用程序有关的安全风险。
12.一种使用数据结栬编码的计算机可读介质,包括与应用程序有关的授权组,授权组包括第一表格和第二表格,第一表格包括组成应用程序的组件组件的清单,每个组件与一许可组相关联,第二表格包括各许可组的清单和对每个许可组的描述。
13.一种计算机实现的方法,包括接收应用程序正被主机环境装入的通知;接收包括有关应用程序的信息的应用程序描述对象;促成对应用程序的评价,以确定多个与应用程序有关的安全风险;对来自于多个安全风险的结果进行总计;以及将总计结果作为应用程序的集体安全评估来提供。
14.根据权利要求13所述的计算机实现的方法,其中促成对应用程序的评价进一步包括调用多个信任鉴别器,每个信任鉴别器与不同的可能的安全风险相关联,每个信任鉴别器可运行以评估应用程序遭受相应于信任鉴别器的具体的可能的安全风险损害的可能性。
15.根据权利要求13所述的计算机实现的方法,进一步包括分配许可组给应用程序,该许可组定义有其则应用程序将被被允许执行的许可。
16.根据权利要求15所述的计算机实现的方法,进一步包括响应于执行应用程序的通知,检索许可组并使用适当的许可促使应用程序被执行。
17.根据权利要求15所述的计算机实现的方法,其中任务组定义应用程序的组件的许可。
全文摘要
所描述的是一种用于集体评价与装入应用程序有关的安全风险的机制。与装入应用程序有关的主机环境调用信任管理器来评价安全风险。信任管理器调用多个信任鉴别器,其中每个信任鉴别器负责分析和评估不同的安全风险。依据每个安全风险评估的结束,那些个体安全风险评估的结果被返回给信任管理器。信任管理器对安全风险评估结果的种类进行总计,并且根据总计评估结果作出安全决定。决定可以是继续装入应用程序,可以是阻止装入应用程序,或许是为了确定是否继续装入而提示用户。
文档编号G06F9/00GK1618198SQ03801954
公开日2005年5月18日 申请日期2003年5月17日 优先权日2003年5月17日
发明者A·高德菲德, J·霍金斯, S·考伦, V·拉姆达特米西厄, J·法罗, G·D·费, J·艾普灵, A·白比, 许景阳, T·施萊纳, J·库尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1