可执行程序的信誉检查的制作方法

文档序号:6363662阅读:128来源:国知局

专利名称::可执行程序的信誉检查的制作方法可执行程序的信誉检查
背景技术
:可执行程序和需要打开可执行程序的文件对于计算机用户来说是从许多源以各种各样的形式可得到的。这样的程序不仅是可以从诸如云或局域网中的其它计算机那样的远程位置可下载的,而且它们也可以在零售商店购买以及可以由其它计算机用户在诸如压密盘(CD)和DVD那样的计算机可读媒体上提供。这样的程序,特别是那些从除了熟知的售主以外的其它售主得到或购买的程序的一个问题是任何这样的程序可以对用户的计算机造成威胁。例如,用户可以启动这样的程序,且不知不觉地让他或她的计算机感染上病毒或其它恶意软件。经常地,恶意软件甚至伪装成另一个程序,以试图欺骗用户使之相信把该程序安装到他们的计算机上是安全的。已经提出了用于检查从互联网下载的文件的信誉(imputation)的各种方法。虽然这些方法当被施加到已下载的文件时可以是方便的和有效的,然而有利的将是能够在用户把命令输入到计算机的操作系统软件以启动程序、但是在所述程序实际上被运行之前的时间检查可执行程序。
发明内容本概要是为了以简化的形式介绍构思的选择而提供的,这些构思还将在下面的详细说明中进行描述。本概要既不打算确认所要求保护的主题的关键特征或必要特征,也不打算被使用来限制所要求保护的主题的范围。按照所要求保护的主题的一个或多个方面,计算设备执行一种方法,借助于所述方法,发起可执行程序或计算机代码的启动的用户命令使得关于所述程序或代码的信息被发送到在云中的信誉服务。如果信誉服务将所述程序识别为已知是安全的,则它返回指示给计算设备,且程序被允许启动而不用给用户已进行信誉检查的任何通知。如果信誉服务将所述程序识别为不安全或潜在地不安全的,或完全不认识所述程序,则给用户显示适当的消息。在本发明的另一方面中,用户命令使得操作系统首先检查在计算设备上信誉信息的本地高速缓存。如果本地高速缓存可以确认程序或代码已知是安全的,则允许启动,典型地不用给用户已进行信誉检查的任何通知。如果本地信誉高速缓存将所述程序识别为不安全或潜在地不安全的,则给用户显示适当的消息。如果本地高速缓存不认识所述程序,或没有关于该程序的信誉信息,则该方法访问在云中的信誉服务。当结合附图来解释时,这里讨论的主题的目的将从跟随在下面的实施例的详细说明而被更好地理解,附图中同样的数字和字母从始至终是指同样的特征。下面是在附随的详细说明中使用的附图的简要标识。图I示意地图示按照一个或多个实施例的、用于实施可执行程序的信誉检查的系统。图2是按照所要求保护的主题的信誉检查方法的实施例的详细流程图。图3图示按照图2所示的实施例的、可被显示给用户以允许用户选择是否应当进行信誉检查的用户界面的例子。图4是按照图2所示的实施例的、响应于信誉检查而被提供给系统的用户的一种消息类型的例子。本领域技术人员将容易理解,附图在许多方面是示意性的,但无论如何,当结合下面的详细说明解释时,将发现它们对于实现和使用所要求保护的主题是足够的。具体实施例方式图I是按照下面进一步描述的一个或多个实施例的、用于实施当可执行程序被启动时检查它们的信誉的方法的系统100的示意图。图I的系统还可以按照以上提到的共同待决的美国专利申请no.12/880,363来检查所得到的文件的信誉,以及以下的说明突显了在这里描述的方法和设备与在那个共同待决的申请中描述的那些方法和设备之间的重要差另1J。仍旧参考图1,系统100包括计算设备102,它合并有被存储在非瞬态计算机可读存储设备上的操作系统模块104作为用于控制计算设备102的经编码的计算机可执行指令。当被处理器执行时,这些指令使得计算设备按照这里描述的方法实施例执行。计算设备102还包括输入组件106,它在典型的实现中将包括诸如鼠标和键盘那样的常规指向设备,尽管可以使用许多其它的输入组件,诸如通过用户的手或笔、话音命令等等被激活的触摸屏。计算设备的用户典型地经由在诸如计算机监视器那样的显示组件108上显示的图形用户界面、使用输入组件108以已知的方式提供命令给操作系统模块104。当在本说明中使用时,术语“组件”、“模块”、“系统”、“设备”、“界面”等等通常打算指与计算机有关的实体,无论是硬件、硬件与软件的组合、软件,或是执行中的软件。例如,这样的组件可以是,但不限于,在处理器上运行的进程、处理器、对象、可执行文件(executable)、执行的线程、程序和/或计算机。作为举例说明,在控制器上运行的应用和控制器二者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,以及组件可以被局限于一台计算机上和/或被分布在两台或更多台计算机之间,这里描述的任何功能或技术可以通过使用软件、固件、硬件(例如,固定的逻辑电路)、人工处理或这些实现的组合来实施。在软件实现的情形下,模块或组件代表程序代码,当在处理器(例如,一个或多个CPU)上被执行时它完成规定的任务。程序代码可被存储在一个或多个计算机可读存储器设备中。下面详细地讨论的信誉检查技术的特征是与平台无关的,这意味着它们可以在各种各样大量生产的计算平台上被实施。还应理解,当在这里且具体地是在图I上使用时,“模块”不一定是且典型地不是物理上分开的组件。结合图I提及的模块要广义地被理解为采用可执行指令、存储单元等等的形式的信息,其可以且典型地被跨越它们所驻留的存储媒体中的各个存储单元来分布。而且,所要求保护的主题可以被实施为方法、设备或制造品,其使用标准编程和/或工程技术来产生用以控制计算机以实施所公开的主题的软件、固件、硬件或它们的任何组合。当在这里使用时,术语“制造品”打算包括从任何计算机可读设备、载体或媒体可访问的计算机程序。例如,计算机可读媒体可包括,但不限于,磁存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压密盘(⑶)、数字多功能盘(DVD)……)、智能卡和闪速存储器设备(例如,卡、棒、键驱动……)。当然,本领域技术人员将认识到,可以对这里讨论的配置做出许多修改而不背离所要求保护的主题的范围或精神。而且,术语“计算机”或“计算设备”并不意味着以任何方式进行限制。例如,计算设备102可以是台式计算机、移动台、上网本或膝上型计算机、笔记本或平板计算机、娱乐器具、通信地耦合到显示设备的机顶盒、蜂窝电话或其它无线电话、个人数字助理、智能电话、电视机、游戏控制台、汽车用计算机等等。因此,计算设备102的范围可以是从具有大量存储器和处理器资源的完全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持式游戏控制台)。回到图1,计算设备102还包括盘存储装置110,它包括可执行程序模块112和以下面进一步描述的方式与可执行程序模块112合作的信誉模块114。盘存储装置典型地是非瞬态计算机可读存储组件。计算设备的用户可以通过经由以上讨论的图形用户界面以已知的方式使用输入组件108将命令发布到操作系统模块104而启动被存储在可执行程序模块112中的可执行程序。Web浏览器116是特定类型的可执行程序,也是在操作系统模块104的控制下,其允许计算设备102的用户使用Web浏览器116浏览或以别的方式导航到网站和从内容服务器124下载文件。Web浏览器116包括它自己的信誉模块118。计算设备102可以与云120通信,云120可以是各种各样的不同网络,包括互联网、局域网(LAN)、公共电话网、内联网、其它公共和/或私有网络、由内部服务器或由企业提供的信誉服务中的一个或多个、它们的组合等等。换句话说,系统100访问在“远程”的,也就是与计算设备102分开的信誉服务。所述云包括信誉服务模块122,通过它,计算设备102可以经由许多类型的连接、使用各种协议或技术进行通信,诸如常规的互联网连接、通用串行总线(USB)连接、无线USB连接、红外连接、蓝牙连接等等。Web浏览器116使得用户能够从云120中的一个或多个内容服务器模块124下载文件和程序。替换地,文件和程序可以由Web浏览器116从其它源得到,其它源诸如是经由云120或经由另一种类型的连接被耦合到计算设备102的另一个计算设备。另外,计算设备102可以用除了经由Web浏览器116以外的其它方式与信誉服务模块122通信,如下面更详细地讨论的。虽然在图I上图示了单个计算设备102,但应当意识到,信誉服务模块122可以且典型地确实是与类似于设备102的多个计算设备通信。信誉服务模块122可以是维护和提供关于程序和文件的信誉信息的一个或多个计算设备,如下面更详细地讨论的。典型地,信誉服务模块122通过使用一个或多个服务器计算机被实施,虽然各种各样不同类型的计算机(例如,类似于以上相对于计算设备102的讨论)可被使用来实施信誉服务122。如上所谈到的,信誉服务122经由云120或其它连接被访问,且有时在这里也被称为远程信誉服务。在那方面,各种信誉服务模块(所有的信誉服务模块均打算被模块122的表示所包括)可以在物理上紧密接近计算设备102(例如,在同一个房间或建筑物内),或远离计算设备102(例如,在另一个州或国家)。共同待决的美国专利申请no.12/880,363应对了当文件通过计算机的Web浏览器被下载或以别的方式被得到时所采取的行动。在那种情况下,用来标识文件的信息被提供给信誉模块118。这个信息被发送到远程信誉服务122,它识别对于所标识的文件的信誉指示,并把该信誉指示返回给信誉模块118。信誉指示是例如所标识的文件成为恶意软件的风险低还是成为恶意软件的风险高的指示。根据信誉指示,信誉模块118确定用于Web浏览器116的相对于新得到的文件进行显示的适当的用户界面。例如,如果信誉指示将所述文件识别为成为恶意软件的风险低,则Web浏览器可以安装和/或运行在所述文件中的程序而不用显示警告。然而,如果信誉指示将所述文件识别为成为恶意软件的风险高,则Web浏览器可以向用户显示关于安装和/或运行在所述文件中的程序的警告和/或建议。相比之下,信誉模块114响应于用户对操作系统模块104的命令,而启动来自可执行程序模块112的任何可执行程序或计算机代码。广义地说,在接收到来自输入组件106的命令后,操作系统模块104使得信誉模块114按照下面更详细地进一步讨论的原则和方法来发起对于程序的信誉检查。信誉模块114可包含关于程序的信誉信息的本地高速缓存。如果用户想要启动的程序是“可信任的”,也就是,如果本地高速缓存确认所述程序代表引起计算设备102误动作的低风险,则操作系统模块使得程序运行,而不用给用户已进行信誉检查的任何通知。如果本地高速缓存不认识所述程序,或没有关于所述程序的信誉信息,则信誉模块114通过访问在云中的信誉服务模块122而发起信誉检查。如果信誉服务模块122将所述程序识别为已知是安全的(也就是,可信任的),则它把这样的指示返回给操作系统模块,操作系统模块使得该程序运行,再次地不用给用户已进行信誉检查的任何通知。如果信誉服务器122(或本地信誉高速缓存)将所述程序识别为不安全或潜在地不安全的,或根本不认识所述程序,则它在显示组件108上向用户提供适当的消息。该消息可以提示用户输入指示用户想要如何进行下去的命令。例如,所述提示可以允许用户继续进行该程序的启动,或者让该程序被删除或隔离,或发起其它的一个或多个行动。图2是图示按照所要求保护的主题的一个实施例的、用于对可执行程序执行信誉检查的方法的例子的流程图。步骤S200代表由用户(使用鼠标或其它输入组件,诸如触摸屏)做出的行动,其命令操作系统模块104启动被存储在盘存储装置110上的可执行程序,如以上讨论的那样。典型地,当操作系统通过执行操作系统所使用的应用编程接口来响应于用户命令以启动可执行程序时,发起在步骤S202涉及到的信誉检查。如果用户已经选择自动检查他或她希望运行的程序的信誉(正如下面结合图3讨论的),则过程进到步骤S202。步骤S202检查在信誉模块114中的本地信誉高速缓存,以确定它是否包含关于所述程序的信誉信息。如果信誉模块指示该程序是可信任的,则在步骤S204操作系统模块104使得程序启动。如上所述,如果信誉模块发现程序是可信任的,则用户通常不被通知操作系统已检查程序的信誉。然而,如果信誉模块的信誉信息本地高速缓存不能验证程序是可信任的,则流程图进到步骤S206,该步骤开始通过云中的信誉服务122而进行的信誉检查的过程。另一方面,如果本地高速缓存知道程序呈现了引起计算设备误动作的风险,则它可以指令操作系统采取适当的行动。这可以在显示组件上显示提示用户决定如何继续进行的通知。被提供给用户的通知的类型在下面结合图4讨论。信誉模块114应用预定的准则来决定是否进到步骤S206和发起超出信誉信息的本地高速缓存之外的信誉检查。例如,在一个实施例中,操作系统模块102应用标识符,它将使得信誉模块进到步骤S206。这个标识符典型地被应用来指示程序源自用户计算机设备上的盘存储装置以外的位置。例子是源自电子邮件的程序、源自在与用户的计算机设备102相同的局域网上的其它计算机设备的程序、源于LAN送信者(messenger)程序的程序、经由USB连接被装载在计算设备上的程序、源自云(例如,源自内容服务器124)的程序、没有被签署的程序、或可以向用户的计算机设备指示程序可能呈现风险的任何其它准则。步骤S206聚集对于云信誉服务122执行对程序的信誉检查所必须的信息。将会意识到,所提供的特定信息依赖于信誉服务执行信誉检查的方式。信誉模块114将包括软件,其以任何适当的形式来聚集这个信息。被发送到信誉服务的信息的例子是程序类型,它可包括具有扩展.EXE的任何文件、屏幕保护程序、被使用于在盘存储装置上安装、维护和移除软件的软件组件等等。除了程序类型以外,还有唯一地标识被发送的文件的信息,诸如文件散列码、数字签名、文件的名称、或信誉服务在进行它的信誉检查时将使用的其它标识代码。接着,所述过程确定者在步骤S208进行检查,以查看用户是否指示他或她的策略是不执行信誉检查。图3图示了用户界面实例,该用户界面可以在显示组件106上被显示,以允许用户选择信誉模块114是否将自动执行信誉检查。在显示组件108上显示的控制窗口300包括说明302,用来在信誉检查被启用的情况下向用户解释为什么信誉模块114将发送信息到远程信誉服务。到隐私声明的链接304也被显示。如果用户选择链接304,则显示信誉服务122的隐私声明(未示出),向用户解释如何不发送用户标识信息或如何使被发送到远程信誉服务122的信息保持为秘密的。例如,标识程序和/或采取的用户行动的信息可被发送到信誉服务122,但不需要将计算设备102的用户的指示提供到信誉服务122(或如果提供的话,则因此不需要被保留)。另外,用户能够选择单选按钮306,以决定参加信息到远程信誉服务122的发送,或选择单选按钮308,以决定不参加信息到远程信誉服务122的发送。然后用户选择“好(0K)”按钮310,以保存该选择。应当意识到,单选按钮和“好”按钮仅仅是可被呈现给用户来决定参加或决定不参加发送信息到远程信誉服务122的用户界面的例子,以及可以替换地使用各种各样其它常规的用户界面技术。也有可能进一步改善这个步骤,以使得用户可以决定参加或决定不参加特定程序或文件类型的检查。例如,用户可以只想要检查源于电子邮件消息的程序的信誉。典型地,操作系统模块将把信誉模块114设置成如果本地高速缓存不能确认程序是安全的,则自动发送程序信息到信誉服务。然而,如果用户通过使用在图3上显示的控制窗口而决定退出这个操作系统缺省设置,则流程返回到步骤S204,且操作系统模块启动所述程序而不用由信誉服务122进行信誉检查。否则,信息在步骤S210被发送到信誉服务。信誉服务在步骤S212使用由信誉模块114发送的信息来执行信誉检查。按照步骤S212的信誉检查可以牵涉到许多准则,并把各种各样的信息返回给用户。由信誉服务返回的信息的例子包括通知该程序的始发者对于信誉服务来说是未知的,信誉服务不认识该程序,该程序已知是能够引起计算设备误动作的恶意软件,这只是举几个例子。虽然信誉服务可以返回各种各样的信誉信息,但为了举例说明起见,本实施例仅仅进行检查以查看信誉服务是否可以识别程序的始发者。如果程序始发者已为信誉服务122所知是公布可靠的程序,对于用户的计算设备102呈现很少的破坏或损害的风险或没有风险,则该过程进到步骤S214,以启动所述程序。这个步骤实际上是与步骤S204相同的,且通常用户不被告知甚至已经进行了信誉检查。然而,如果信誉服务不能验证程序发布者,则步骤S216把来自信誉检查的信息返回给信誉模块114,它根据由信誉服务122返回的信誉信息,在诸如图4所示的那样的窗口中显示警告。图4的控制窗口用户界面400被显示在显示组件108上,以允许用户选择是否运行所述程序。它包括向用户解释它包含安全性警告的说明402,以及解释潜在威胁的性质的文本404。这个例子包括被启动的程序的名称406、指示程序的发布者不为信誉服务所知的文本408、程序的类型410和程序的源412。界面包括复选框414,用户可以通过该复选框而指令信誉模块总是在发起这个程序的启动时提供警告。如果用户选择当启动相同程序时不再被警告,则在信誉模块114中做出启动该程序而不用在图2的步骤S202执行信誉检查的指示。控制窗口还可包括其它信息416,它对于用户决定是否继续进行程序启动可能是有用的。另外,用户能够选择指令操作系统继续进行程序启动的“运行”按钮418,或取消程序启动的“取消”按钮420。如上所述,图4的控制窗口还可以给用户提供许多其它选项,诸如删除或隔离程序,以使得将来不能访问它。步骤S218反映用户对于“运行”按钮218或“取消”按钮220的选择。如果用户选择“运行”按钮,则过程进到步骤S214以启动程序。如果用户选择“取消”按钮,则过程进到步骤S220,以终止程序启动。信誉模块114还可以把用户的选择传达给信誉服务122。这个信息被信誉服务使用来继续构建对该服务的订户可用的信誉信息。例如,如果多个用户启动未知的程序而不引起他们的计算设备误动作,则信誉服务可以改变被返回给未来用户的所述信息的性质,以指示该程序并未已知为引起误动作。在本发明的另一方面,由信誉服务122返回的信息可包括程序是将引起计算设备102误动作的恶意软件的风险的定量评级。一个这样的实施例将对启动程序所牵涉到的风险赋予比如说I至10之间的数字评级。例如,如果信誉服务具有确定程序几乎肯定不是恶意软件的足够的信息,则它可以给予程序以“I”的评级。在尺度的另一端,如果程序已知是肯定引起计算设备误动作的恶意软件,则信誉服务将给予该程序以“10”的评级。其它例子可以是信誉服务已积累多个用户已启动该程序而对他们的计算设备没有造成破坏的信息,但由信誉服务使用的评级算法确定它所知道的这样的用户数目太少以至于不能给予该程序以“I”的评级。在那种情形下,信誉服务可能给予程序较低的评级,这考虑了信誉服务令它的评级算法所考虑的东西是不完全的信息。如果信誉没有关于该程序的信息,则这可以被反映在相同的评级系统中,或者它可以是被返回到信誉模块114的单独类别的信息。将会理解,这里描述的I到10的数字评级尺度仅仅意味着作为例子,在这方面可以使用其它的评级系统。这个数字评级由操作系统模块104按以下的方式使用。操作系统模块将典型地要求响应于用户命令被启动的任何程序满足一定的特权(privilege)级别。这是被构建到大多数操作系统软件中的安全措施且是本领域技术人员所熟知的。例如,有计算设备的操作系统和其他模块的许多区域,其必须被访问以使得操作系统能够实际上启动特定的可执行程序以及允许它被使用。正如本领域技术人员知道的,这样的区域的数目和性质可以随程序而变化。如果程序是恶意软件,则访问某些区域或模块对于计算设备可以造成比其它的更大的伤害风险。为了增强保护以免受由于完成特定程序的启动以及使用该程序而引起的计算设备误动作的损害,信誉模块114给操作系统104模块提供由信誉服务122返回的数字评级。操作系统然后将该评级匹配于程序的特权要求。操作系统使用策略设置来确定程序的评级满足或超过由它的要求的特权级别所反映的特权要求是否有足够的置信度。将会意识到,在程序的信誉与它的特权要求之间的匹配或多或少是任意的,以及本领域技术人员将能够制定适当的算法,所述算法将为计算设备提供适当的保护。然而,指导原则是评级系统被设计成使得由信誉服务提供的评级反映了程序满足或超过它需要被使用的特权要求的预定置信度水平。如果程序评级与程序所需要的特权级别所要求的最小评级一样高或高于该最小评级,则操作系统模块104继续进行程序的启动而不用通知用户。换句话说,图2所示的方法进到步骤S214,正如以上讨论的。然而,如果程序要求比由所述评级保证的更高的特权级另O,则操作系统可以显示类似于图4上所示的那个通知的通知(如果系统被设立成使得未知的程序不被给予评级,则仍旧使用图4上的屏幕。)。通过类似这里描述的那样的评级系统,这个通知可以给用户提供各种类别的信息和选项。在一个实施例中,通知将显示给予程序的评级、根据该评级应当允许程序访问的最大特权级别以及程序在计算设备上运行所要求的特权级别。(正如以上指出的,本领域技术人员将能够对操作系统编程来在显示组件108上显示这个信息。)通知屏幕可包括单选按钮或复选框,它允许用户选择运行程序而没有限制。这将反映用户的确定程序的信誉评级无论如何是足以保证启动它的。例如,评级可以是“4”,它在一个实施例中可以指示信誉服务具有根据其它用户体验的足够的信息,以及没有关于软件发布者已知为提供恶意软件的信息,不过仍旧没有关于软件发布者的可靠性的详尽信息。反过来,程序可能要求刚好高于程序被授权访问的最大级别的特权级别。在那种情形下,用户无论如何都可以选择启动程序。可以给予用户的另一个选择是在虚拟环境下运行程序。也就是,该程序即使是具有非常差的评级的程序也可以运行,而不用要求访问实际的操作系统模块104的任何部分,且替代地是被准许访问相同模块的虚拟化拷贝。因此,即使程序被证明为事实上是恶意软件,它也将不破坏实际的操作模块104。还应意识到,刚才描述的方法不限于检查可执行程序本身的信誉。例如,许多文件和文档要求启动可执行程序来观看文件或文档。这里讨论的方法和所要求保护的主题在操作系统接收用户命令来打开这样的文件或文档时也是可应用的。也就是,“用于发起可执行代码的启动的用户命令”打算包括用来打开要求这样的代码的启动的文件或文档的用户命令。在这个具体应用中,在以上被讨论为施加到被启动的程序以发起信誉检查的标识符也可以被施加到具有以下的扩展的文件.PDF、·DOC、·DOCX、·ZIP、.INI、.MP3和·WAV,这只是举几个例子。然后,如果这样的文件是源自除了用户的计算机设备上的盘存储装置以外的位置,则可以对它们执行信誉检查,正如在以上列出的例子中那样,诸如是源自电子邮件、源自与用户的计算机设备120相同的局域网上的其它计算机设备的文件,源于LAN送信者程序的文件,源自云的程序(例如,源自内容服务器124),没有被签署的文件,或者是可以指示文件会对用户的计算设备呈现风险的任何其它准则。以上结合图2描述的、用于检查程序的信誉的方法可在以下情况中被应用于这样的文档,即当用户指令操作系统模块在适应于那个目的的程序中打开该文档时。总之,由远程信誉服务维护的信誉信息为可执行程序指示信誉。通常,信誉是程序被信誉服务感知为有多可信赖和/或有多可靠的指示,且可以是基于其它用户对程序采取的行动(诸如,运行程序)。程序的信誉例如可以指示程序是否已知是非恶意软件,程序是否已知是恶意软件,程序被其它用户运行得有多频繁等等。程序的信誉还可以是基于例如程序被运行得有多频繁,程序是否被报告为恶意软件等等。远程信誉服务可以从各种源,诸如运行程序的计算设备、可信任的第三方服务、信誉服务的管理员或其它可信任的用户等等,得到用来为程序确定信誉的信息。由远程信誉服务维护的信誉信息还可以包括其它信息,诸如较新的版本(也就是,更可靠的)是可得到的。由远程信誉服务维护的信誉信息还可以包括到程序的较新版本可被下载的位置的链接,且可以提供这样的链接来作为被返回到信誉模块114的信誉指示的一部分。在一个或多个变例中,远程信誉服务把信誉指示返回到信誉模块114,该信誉指示是包括与特定的信誉相关联的不同值或评级的特定值或评级。表I包括可以由远程信誉服务返回到计算设备102的不同值或评级的例子。应当意识到,在表I中的值或评级是例子,以及替换地可以使用其它值或评级。表I权利要求1.一种在响应于输入用户命令到计算设备的操作系统以便发起可执行代码的启动而由该操作系统执行可执行代码之前,检查所述可执行代码的信誉的方法,所述方法的特征在于以下步骤响应于所述用户命令,发送关于所述代码的信息到远离所述计算设备的信誉服务,其中所述远程信誉服务使用关于所述代码的信息来生成与启动所述代码将引起所述计算设备误动作的风险有关的信誉信息;以及将所述信誉信息从所述远程信誉服务发送到所述计算设备。2.如在权利要求I中的方法,其中所述远程信誉服务作为云服务是多个其它所述计算设备可访问的,以及所述信誉信息至少部分地基于关于由所述其它计算设备的用户提供的所述代码的信息。3.如在权利要求I中的方法,其中所述代码包括可执行程序,以及当所述信誉信息指示所述可执行程序呈现引起所述计算设备误动作的低风险时,所述可执行程序由所述操作系统启动而不用通知该计算设备的用户。4.如在权利要求3中的方法,其特征还在于以下步骤确定在所述计算设备上的本地高速缓存是否包括与启动所述程序将引起所述计算设备误动作的风险有关的本地信誉信息;如果所述本地信誉信息确认启动所述代码代表引起所述计算设备误动作的低风险,则启动所述代码;以及如果所述本地信誉信息未能确认启动所述选择的程序呈现引起所述计算设备误动作的低风险,则将关于所述代码的所述信息发送到所述信誉服务。5.如在权利要求4中的方法,其中当所述确定步骤确认所述程序呈现引起所述计算设备误动作的低风险时,所述可执行程序由所述操作系统启动而不用通知所述计算设备的用户。6.如在权利要求5中的方法,其中当来自所述信誉服务的所述信誉信息或所述本地信誉信息指示所述程序呈现引起所述计算设备误动作的风险时,所述操作系统阻止所述程序的启动,并且提供通知给用户。7.如在权利要求I中的方法,其中所述操作系统在继续进行所述程序的启动之前要求所述可执行程序满足或超过所述操作系统的特权要求的预定的置信度水平;来自所述信誉服务的所述信誉信息包括评级,其指示所述程序具有的特权要求大于所述评级保证的那个特权要求;以及给所述用户的所述通知包括关于所述评级和所述特权要求的信息,并给予用户以继续启动所述程序的选项。8.ー种计算设备,其包括具有用于响应于用户命令而实行操作的可执行指令的操作系统模块;非瞬态计算机可读存储组件,其包括用于存储能通过对所述操作系统模块的用户输入而被启动的可执行计算机程序的可执行程序模块;和输入组件,用于接受用以发起所选择的所述可执行程序的启动的用户命令,所述设备的特征在干所述存储组件包括用干与所述可执行程序模块通信的信誉模块;以及所述信誉模块响应于所述用户命令,发送关于所述选择的程序的信息到远离所述计算设备的信誉服务,以及所述信誉模块从所述信誉服务接收信誉信息,所述信誉信息涉及启动所述程序将引起所述计算设备误动作的风险,且是通过使用由所述信誉模块发送的关于所述选择的程序的所述信息而被生成的。9.如在权利要求8中的计算设备,其中所述信誉模块包括与启动所述可执行程序将引起所述计算设备误动作的风险有关的本地信誉信息的本地高速缓存;如果所述本地信誉信息确认所述选择的程序呈现引起所述计算设备误动作的低风险,则所述操作系统启动所述可执行程序;以及如果所述本地信誉信息未能确认启动所述选择的程序呈现引起所述计算设备误动作的低风险,则所述信誉模块将关于所述选择的程序的所述信息发送到所述信誉服务。10.如在权利要求9中的计算设备,其中当来自所述信誉服务的所述信誉信息或所述本地信誉信息指示所述选择的程序呈现引起所述计算设备误动作的风险时,所述操作系统阻止所述选择的程序的启动,并且在计算设备的输出组件上提供通知。11.一种计算机可读媒体,包括在其上存储的指令,所述指令响应于由计算设备的执行而使得该计算设备执行按照权利要求I一7中任ー项的方法。全文摘要当到计算设备的用户输入发起程序启动时,检查可执行的计算机程序的信誉,因此触发信誉信息的本地高速缓存的检查。如果本地高速缓存确认程序是安全的,则允许启动,典型地不用通知用户已经进行信誉检查。如果本地高速缓存不能确认程序的安全性,则通过访问在云中的信誉服务而进行信誉检查。如果信誉服务将所述程序识别为安全的,则它返回指示给计算设备,且允许所述程序被启动,再次地不用通知用户已经进行信誉检查。如果信誉服务将所述程序识别为不安全或潜在不安全的,或根本就不认识它,则向用户显示警告。文档编号G06F21/00GK102682235SQ20121001854公开日2012年9月19日申请日期2012年1月20日优先权日2011年1月20日发明者A.巴陶德卡,A.戴维森,A.拉瓦特,C.古扎克,C.科万,D.奥利弗,E.J.哈伯,J.戴夫,J.杜利,K.辛赫,P.利奇,R.科尔文,X.土申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1