实体信誉评分的简化传送的制作方法

文档序号:6594013阅读:245来源:国知局
专利名称:实体信誉评分的简化传送的制作方法
实体信誉评分的简化传送相关申请的交叉引用本申请涉及于2006年12月四日提交的名称为“基于保健的计算机安全”的美国申请号11/618,215,该申请通过引用以其全文结合在此。
背景技术
本发明总体上涉及计算机安全,并且更具体地涉及为用户提供对已评估的风险的一种衡量方法,这些风险表现能够潜在地危害计算机的计算机文件、网站、和/或其他实体。存在着能够攻击现代计算机的多种多样的恶意软件。恶意软件威胁包括计算机病毒、蠕虫、特洛伊木马程序、间谍软件、促销软件、犯罪软件、以及钓鱼网站。现代的恶意软件经常被设计为向攻击者提供财务收益。例如,恶意软件能够秘密地获取重要信息,例如登录名、密码、银行账户标识符、以及信用卡号码。类似地,恶意软件可以提供隐藏接口,这些隐藏接口允许攻击者访问并控制受危害的计算机。虽然传统的恶意软件通常被大量分发给许多计算机,但是现代恶意软件经常有针对性地只投送到相对少数的计算机上。特洛伊木马程序可以被设计为针对特定公司的特定部门中的计算机。同样,虚假邮件可以包括仅仅针对某个银行的客户或其他电子商务网站的钓鱼攻击。常规的安全软件经常可以检测到大量分发的恶意软件并使其失效。安全软件使用例如签名扫描和行为监测试探法来检测恶意软件。然而,这些技术对于检测定向威胁不是那么有效,因为同一个恶意软件的实例较少,并且安全软件可能没有被配置为来辨认它。而且,甚至大量分发的恶意软件也正在变得越来越难检测。恶意网站可能每隔几个访问者就自动地生成的新的恶意代码。其结果是,恶意软件被大范围地散布,但是只有少量的用户具有完全相同的代码,因此产生用于检测它的签名(并且使用基于签名扫描的技术)的做法变得不切实际。有时,恶意软件的不同版本执行不同的功能,这也使得恶意软件难以通过试探法以及其他技术检出。因此,在本领域中对于检测恶意软件的新方法存在一种需要。另外,对恶意软件进行分析以开发签名法、试探法、以及其他检测恶意软件技术的安全公司接收到大量的恶意软件的提交项。这些安全公司有时没有办法有效地衡量由所提交的恶意软件构成的威胁。例如,这些安全公司可能不知道所提交的软件是否为真正恶意的或者恶意软件的一个特定片段被分布了多么广泛。其结果是,这些安全公司很难对这些恶意软件的提交项进行分级或分类以便集中于分析构成最大威胁的提交项。在本领域中对于评估由潜在恶意软件构成的威胁、并将这些威胁有效地传送给用户的方法存在一种需要。使用基于信誉的系统,例如在于2006年12月四日提交的美国申请号11/618,215中说明的那些,对于一个软件应用程序或其他实体的信誉是基于一个用户群体的使用模式来得出的。然后一个实体的信誉可以由另一个来使用以便(由用户手动地或由用户的客户端系统自动地)做出是否使用该实体的决定。然而,如果未得到有效传送,信誉评分可能使得它们试图帮助的用户感到困惑。因此,存在着一种需要来以用户能够清楚地理解的方式将一个应用程序或其他实体的信誉展现给用户。

发明内容
使用特殊用户(例如,“大型用户”、“奇才(geek) ”、或应当被信任的用户的其他表述)的概念,本发明的多个实施方案有效地传送了一个实体的信誉,这是通过详细描述该实体与安全或专家计算机用户的关联,这些用户应当比普通用户更可信任。该实体可以是用户已经下载或安装或者试图下载或安装的一个应用程序或其他文件,这样该实体的信誉是其他特定用户如何信任该文件的一种衡量。可替代地,该实体可以是一个网站或在一种计算环境中客户端系统能够与之交互并且可能构成恶意软件威胁的任何其他实体。所传送的信誉允许用户决定是否在该用户自身的客户端上信任该实体。在一个实施方案中,为多个客户端中的每一个确定保健评分,其中这些保健评分代表对这些客户端的可信任度的评估。当这些客户端之一遇到一个实体时,计算出对于该实体的一个信誉评分并将其提供给该客户端。这种信誉评分可以是仅仅根据具有高于某个阈值的保健评分的那些客户端来计算的。所计算的信誉评分代表就具有高保健评分的这些特殊用户而言该实体是否为恶意的一种评估。然后,遇到该实体的客户端向用户展现该信誉评分连同一条消息,该消息表明该信誉评分是基于具有良好保健评分的多个其他可信任的客户端。以此方式,使用关于具有良好保健程度的可信任的客户端已经与该实体进行交互的程度的信息来通知用户该实体的信誉。在该实体包含可执行程序代码的情况中,当用户下载该实体或试图在用户的客户端上安装该实体时,可以向用户展现该实体的信誉评分。在该实体是一个网站的情况中,当用户访问该网站或用户客户端上的浏览器导航到该网站之前,可以向用户展现这种信誉评分。使用由信誉评分提供的信息,用户可以通过用户的客户端做出关于是否允许与该实体进行交互的更了解情况的决定。


图1是根据一个实施方案的一种计算环境的高级框图。图2是一个高级框图,展示了用作信誉服务器或客户端的一台典型的计算机。图3是一个高级框图,展示了根据一个实施方案的客户端的安全模块的详细视图。图4是一个高级框图,展示了根据一个实施方案的信誉服务器的详细视图。图5是一个流程图,展示了根据一个实施方案由安全模块执行的为一个客户端提供安全的多个步骤。图6是一个流程图,展示了根据一个实施方案由信誉服务器进行的多个步骤。图7是一个流程图,展示了根据一个实施方案由信誉服务器进行的优先处理所提交恶意软件的多个步骤。这些附图描绘了本发明的不同的实施方案,仅用于说明的目的。本领域的普通技术人员将从以下讨论中容易地认识到,可以使用本文所示例的这些结构以及方法的替代性实施方案而不背离本文所描述的本发明的原理。
具体实施例方式图1是根据一个实施方案的一种计算环境100的高级框图。图1展示了由网络 114连接的一个信誉服务器110和三个客户端112。为了简单清晰地说明,在图1中仅示出了三个客户端112。计算环境100的多个实施方案可以具有连接到网络114上的成千上万个客户端112。图1以及其他图示使用类似的参考号来指代相似的要素。参考号后的字母如 “112A”表示该文字专指具有这个具体参考号的要素。该文本中没有后续字母的参考号如 “112”是指图示中包含该参考号的任何或全部要素(例如,文本中的“112”是指图示中的参考号 “112A”、“112B”、和 / 或“112C”)。信誉服务器110通过网络114与这些客户端112进行交互。在一个实施方案中, 信誉服务器110接收这些客户端112的保健评分。一个客户端的保健评分代表对该客户端 112的可信任度的一种评估。在这种背景下的“可信任度”是指对客户端受到恶意软件和其他计算机相关威胁感染的倾向的一种衡量,其中更经常被感染的客户端112是不太可信的。“可信任度”还可以对应于用户避免这些威胁的能力。在一些实施方案中,信誉服务器 110根据从客户端112接收的数据来自己计算保健评分。此外,信誉服务器110接收说明客户端112的状态的数据,例如在这些客户端上存在的、下载的、安装的、或执行的文件、由这些客户端访问的网站、以及在客户端112上检测到的恶意软件。在一个实施方案中,信誉服务器110根据客户端112的信誉评分对这些客户端的集体状态进行分析,并且为具体程序、文件、网站、以及由这些客户端遇到的其他计算机相关实体来计算信誉评分。信誉评分是对一个实体是否恶意(例如,是与计算机相关的威胁) 的一种评估。例如,如果一个特定文件主要被具有低保健评分的客户端112遇到,那么存在一种高风险即该文件是恶意的,因为使用该文件的大多数用户是不善于避免计算机威胁的。因此,该文件可能得到一个低信誉评分。类似地,具有高保健评分的客户端112经常访问的一个网站可能得到一个高信誉评分,因为擅于避免计算机威胁的用户常出入该网站。 信誉服务器110向客户端112提供这些信誉评分,并且这些客户端(以及这些客户端的用户)使用这些评分来指导是否进行某些活动的行为。例如,客户端112可以被配置为阻截具有低于某个阈值的信誉评分的文件下载。同样,在看到文件的低信誉评分时,用户可以拒绝安装或执行该文件。在一个实施方案中,客户端112是由一个或多个用户用来进行多种活动的一台计算机,这些活动包括下载、安装、和/或执行文件以及在网络114上浏览网站。例如,客户端 112可以是执行网络浏览器程序的一台个人计算机,该网络浏览器程序允许用户从网络服务器以及网络114上的其他计算机中检索并显示内容。在其他的实施方案中,客户端112 是一个能够联网的装置而不是一台计算机,如个人数字助理(PDA)、移动电话、传呼机、电视 “机顶盒”,等等。出于说明的目的,术语“客户端”还包括遇到可能构成恶意软件或其他威胁的文件和其他实体的计算机,如服务器和网关。例如,客户端112可以是位于企业网和互联网之间的一个网络网关。客户端112还可以是存储文件的邮件服务器或网络服务器,其他客户端可以访问这些文件。在一个实施方案中,客户端112执行监测客户端状态的安全模块116。这种状态包
7括在客户端上进行的活动,例如安装的、执行的、以及下载的文件、访问的网站等等。此外, 安全模块116的一个实施方案还在客户端112上监测恶意软件的检测。安全模块116向信誉服务器110提供说明这种状态的数据。另外,安全模块116的一个实施方案是基于一个客户端的状态来计算它的保健评分并且将这个值提供给信誉服务器110。保健评分中经常存在巨大的不一致性。某些类型的用户(例如青少年)基本上比其他用户更可能参与危险的在线行为。例如,青少年和其他年轻人更有可能从对等网络以及经常发现恶意软件的其他地方下载文件。这些活动增加了对恶意软件的检测,其结果是,由此类用户使用的客户端经常得到低保健评分。其他用户不参与危险行为,很少遇到恶意软件。这些后一种用户的客户端112得到高保健评分。此外,安全模块116从信誉服务器110接收信誉评分116。在一个实施方案中,安全模块116对一个实体的信誉评分进行评估,例如,这是通过将信誉评分与一个阈值进行比较或向用户显示基于它的一个消息。安全模块116可任选地取消一个活动或响应于该评估的结果执行与该实体相关的另一个操作。安全模块116向信誉服务器110提供由于该评估而进行的操作的说明。以此方式使用保健和信誉评分将用户避免威胁的能力与他们决定参与他们遇到的涉及计算机相关的实体的某些活动进行关联。这种方法权衡用户的集体智慧以便为文件、网站、以及其他实体指定信誉评分,这些信誉评分准确地衡量与这些实体相关联的风险。这些信誉评分是计算出来的,不要求用户明白地评估或判断该实体。另外,不需要对这些文件、网站、或其他潜在恶意实体进行复杂分析就可以计算这些信誉评分。因此,该方法非常适合于一种计算环境,其中使用常规的签名扫描和/或试探法技术可能无法识别出大量恶意软件或其他威胁。网络114代表信誉服务器110和客户端112之间的通信路径。在一个实施方案中,网络114是互联网。网络114还可以使用专用的或私有的通信链路,它们不一定是互联网的一部分。在一个实施方案中,网络114使用多种标准通信技术和/或协议。因此,网络 114可以包括采用例如以太网、802. 11、综合业务数字网(ISDN)、数字用户线路(DSL)、异步传输模式(ATM)等技术的链路。类似地,网络114上所用的网络协议可以包括传输控制协议/互联网协议(TCP/IP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP),等等。可以使用包括超文本标记语言(HTML)、可扩展标记语言(XML)等技术和/ 或格式表示网络114上交换的数据。此外,所有的或部分的链路可以用常规的加密技术进行加密,例如安全套接层(SSL)、安全HTTP和/或虚拟专用网络(VPN)。在另一个实施方案中,这些实体可以使用定制的和/或专门的数据通信技术来替代以上说明的那些或添加到以上说明的那些。图2是一个高级框图,展示了用作信誉服务器110或客户端112的一台典型的计算机200。所展示的是连接到总线204上的一个处理器202。存储器206、存储装置208、键盘210、图形适配器212、指向装置214、以及网络适配器216同样连接到总线204上。显示器218连接到图形适配器212上。处理器202可以是任何通用的处理器,例如INTEL x86可兼容的CPU。在一个实施方案中,存储装置208是硬盘驱动器但也可以是能够存储数据的任何其他装置,例如可写入的高密度磁盘(CD)或DVD、或固态内存装置。内存206可以是例如固件、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、和/或RAM,并且保存处理器202所使用的指令和数据。指向装置214可以是鼠标、轨迹球、或其他类型的指向装置,并且与键盘210—起使用以便将数据输入计算机200中。图形适配器212在显示器218上显示图像和其他信息。 网络适配器216将计算机200连接到网络114上。如本领中所知的,计算机200被调配为执行多个计算机程序模块。如本文所使用的,术语“模块”指用于提供特定功能的计算机程序逻辑和/或数据。模块可以在硬件、固件、和/或软件中实施。在一个实施方案中,模块存储在存储装置208上,载入内存206中, 并且由处理器202执行。图1的实体所使用的计算机系统200的类型可以根据实体使用的实施方案以及处理能力而改变。例如,一个移动电话的客户端112通常具有有限的处理能力,有一个小型显示器218,并且可能没有指向装置214。相比之下,信誉服务器110可以包括多个刀片服务器,这些刀片服务器一起运行以提供本文说明的功能。图3是一个高级框图,展示了根据一个实施方案的客户端112的安全模块116的详细视图。在一些实施方案中,安全模块116结合到客户端112上执行的操作系统中,而在其他实施方案中该安全模块是一个独立的应用程序或另一个产品的一部分。如图3所示, 安全模块116本身包括多个模块。本领域的普通技术人员将会认识到,安全模块116的其他实施方案可以具有不用于在此说明的模块和/或其他模块,并且这些功能能够以不同的方式分布在这些模块中。恶意软件检测模块310在客户端112上检测恶意软件的存在。如以上所提及的, “恶意软件”包括软件,例如计算机病毒、蠕虫、特洛伊木马程序、以及类似的程序。出于说明的目的,“恶意软件”还包括恶意网站,例如试图欺骗用户透露机密信息的“钓鱼”网站。在一个实施方案中,恶意软件检测模块310包括一个签名数据库,该签名数据库描述了已知类型的恶意软件。恶意软件检测模块310使用例如仿真以及签名扫描技术将数据库中的签名与客户端112上的文件和/或其他数据进行匹配。如果一个匹配出现,就假设匹配的数据为恶意软件。此外,恶意软件检测模块310的多个实施方案使用试探法和其他技术检测先前未知的恶意软件。在一些实施方案中,恶意软件检测模块310包括额外的功能以执行多种任务,例如防止恶意软件破坏客户端112以及移除恶意软件。另外,恶意软件检测模块310的一个实施方案将检测到的文件或其他实体提交给信誉服务器110用于后续分析。有时,恶意软件检测模块310将通过试探法或其他技术识别先前未知的恶意软件。在这些情况中,经常希望将恶意软件提交给信誉服务器110以使得与信誉服务器110相关联的专家能够对其进行分析。这种分析可以产生改进的技术以用于检测恶意软件并使其失效、修复被其感染的客户端112、并减少误肯定检测的数量。状态监测模块312对客户端112的状态进行监测以检测客户端112与多个实体 (如与客户端的保健评分或实体的信誉评分相关的文件和网站)之间的相遇。为了这个目的,状态监测模块312的一个实施方案对驻存在客户端的存储装置208上的文件进行识别并对驻存在客户端的内存206中的文件进行处理。此外,状态监测模块312对在客户端112 上进行的活动进行监测,这些活动与客户端的保健评分或实体的信誉评分相关。在一个实施方案中,基于用户配置的参数,由状态监测模块312执行的监测的类型是有限的。例如, 因为隐私或其他类型的担心的缘故,用户可以解除某些类型的监测。此外,状态监测模块312的一个实施方案可以临时将一个活动暂停以便提供机会来取消它。更确切地讲,状态监测模块312的一个实施方案对引入到客户端112或在其上执行的文件相关的活动进行监测。例如,所监测的活动包括在网络114上从网站和/或网络 114上的其他位置下载文件、通过可移除的媒质将文件加载到客户端112上、将文件安装到客户端上、并且在客户端上执行文件。在每个实例中,状态监测模块312记录所进行的活动以及该活动中涉及的一个或多个文件的身份。在一个实施方案中,状态监测模块312通过生成唯一识别一个文件的散列来识别该文件。另外,状态监测模块312的一些实施方案仅监测并识别恶意软件可能驻存在其中的可执行文件或其他文件类型。状态监测模块312的一个实施方案对通过网络114进行的网络浏览和/或其他活动相关的活动进行监测。状态监测模块312的一个实施方案对网络通信进行检测以确定客户端112浏览的网站和/或网站类型(例如,色情或赌博网站)。此外,状态监测模块312 还识别出现在客户端112所浏览的网站上的实体,例如嵌入在这些网站中的特定程序以及其他代码。另外,状态监测模块312对所访问的网站的特征进行监测,例如是否这些网站在客户端浏览器中生成弹出窗口。状态监测模块312的另一个实施方案检查由客户端侧网络浏览器所维护的文件缓存器以确定使用该浏览器访问过的站点。保健计算模块314针对一组测量标准来计算客户端112的保健评分。在一个实施方案中,这些测量标准包括由恶意软件检测模块310执行的恶意软件检测以及由状态监测模块312监测的客户端状态。在一个实施方案中,保健计算模块314将构成这些测量标准的数据发送给信誉服务器110,并且该服务器计算客户端的保健评分。在一个实施方案中,保健计算模块314使用基于某些事件(例如恶意软件检测) 的出现频率的一些测量标准。例如,这些测量标准可以包括在一个时间段内(例如一周、一个月、或三个月间隔)观察到的恶意软件检测的数目。同样,这些测量标准可以包括相对于下载和/或安装在客户端112上的文件数量而测得的恶意软件的检测数目。类似地,这些测量标准所基于的活动可以包括用户浏览已知恶意的或不良网站(例如色情/赌博网站、 有很多弹出窗口的网站、或已知具有钓鱼攻击的网站)的频率,该频率是在一个时间间隔内或相对于所访问网站的总数目所测得的。如果通过这些测量标准测得的事件频率也改变了,客户端112的保健评分可以随着时间而改变。在一个实施方案中,保健评分是通常在一个给定范围(例如0和1)内归一化的数值,以便允许在多个客户端的保健评分之间的直接比较。例如,值0可以代表最不保健,而值1可以代表最为保健。在其他的实施方案中,保健评分被量化为一组有限值中的一个值, 例如,可能保健评分只有0和1。信誉评估模块316从信誉服务器110接收文件、程序、网站、和/或其他实体的信誉评分。在一个实施方案中,信誉评估模块316与状态监测模块312 —起工作以检测何时客户端112遇到具有一个信誉评分的实体。这些相遇可以包括用户不知道的自动进行的活动以及按照用户的意图发生的活动。例如,模块316检测客户端网络浏览器何时试图从网络服务器下载文件、何时试图在客户端112上安装文件、以及用户何时试图执行文件。在一个实施方案中,信誉评估模块316将实体的身份(例如,一个可执行文件的散列或一个网站的URL)发送到信誉服务器110并从其接收一个信誉评分。在另一个实施方案中,信誉评估模块316保留某些程序的信誉评分的缓存,并且在与信誉服务器110接触之前(或之后)查询该缓存以确定该值是否包含在其中。另外,信誉评估模块316的一个实施方案保存一个排除集合,该排除集合识别了信誉评估模块不需要评估的文件或其他实体。使用这些文件的数字签名散列和/或通过其他技术可以识别这些排除的实体。
在一个实施方案中,状态监测模块312暂停与实体相关的活动,同时信誉评估模块316获取该实体的信誉评分。信誉评估模块316对该信誉评分进行评估,并且根据该值取消被暂停的活动。在一个实施方案中,信誉评估模块316参考一个阈值对该信誉评分进行评估并且如果该值在阈值以下则取消该活动(并且/或者如果该值在阈值以上则允许该活动)。例如,信誉评估模块316可以确定浏览器正在试图从一个邮件服务器或网站下载的一个文件具有该阈值以下的信誉评分,从而取消下载,因为该文件有可能是恶意的。在一个实施方案中,阈值由用户来设置。在其他的实施方案中,阈值由客户端112的管理员或信誉服务器110来设置。在一个实施方案中,信誉评估模块316向用户显示描述该信誉评分的一个消息, 并由此根据该值为用户提供取消该活动的机会。如果该信誉评分在信誉阈值以下(或在一个不同的阈值以下),则发生这种显示。例如,信誉评估模块316可以检测到用户正在试图执行的一个文件具有低信誉评分、并且将该信誉评分或一个提醒消息显示给用户以便让用户评估潜在的威胁。在一些实施方案中,显示给用户的信誉评分由一个数值代表,然而在其他的实施方案中使用其他技术来代表它,例如文本说明或图形图标(例如,五颗星中的四颗)。例如, 当用户试图执行一个文件时,信誉评估模块316的一个实施方案在对话框或其他用户接口 (UI)要素中显示该文件的信誉评分。类似地,当用户试图浏览一个网站时,信誉评估模块 316的一个实施方案提供描述该网站的信誉评分的一个图形图标。信誉评估模块316提供的显示可以包括例如具有类似以下消息的一个对话框“这个程序具有不良信誉。您确定要安装它吗?” ;“许多良好保健的客户已经安装了这个程序,所以使用它应当是是安全的”;或者“这个程序经过很少用户试用并且它的信誉是未知的,您想测试它吗?”信誉评估模块316可以将信誉评分转换为用户更有可能理解的一种格式。在一个实施方案中,信誉评分是基于一组“可信任”客户端,其中这些可信任的客户端是基于这些客户端的保健评分来识别的。在一个实施方案中,这些可信任的客户端被定义为以下的一组客户端,它们具有大于一个预定阈值的保健评分。因此,可以根据已经使用过一个特定实体的可信任的客户端来计算该实体的信誉评分。以此方式,这种信誉评分代表就可能已经遇到该实体的可信任的客户端而言该实体是否是恶意的一种评估。一旦计算了信誉评分, 则将其在客户端上展现给遇到该实体的用户。为了帮助用户理解这个信誉评分的含义,客户端还向用户展现一个消息,该消息表明该信誉评分是基于被认为是可信任的多个其他客户端而得出的。这种信誉评分以及伴随的消息可以采取不同的形式。在一个实施方案中,该信誉评分被计算为已经使用过该实体的可信任的客户端与所有客户端之间的分数,或已经使用过该实体的被定义为可信任的客户端的百分比。因此, 这个信誉评分以及伴随的消息对于正在遇到一个新实体的一个新用户通知关于已经遇到该相同实体的其他客户端的总体可信任度。这种伴随的消息可以类似于“在已经安装该应用程序的945个其他用户中,64%的用户是大型用户。”该消息能够以不同的方式提及这些可信任的用户,这些不同的方式有效地传送了这些用户比普通用户更值得信任的信息。这可以包括“大型用户”、“奇才”、“可信任的用户”、或传送相同或类似含义的任何其他术语。 在另一个实施方案中,这种信誉评分被计算为使用该实体的可信任的客户端的数量。因此,这个信誉评分以及伴随的消息通知正在遇到一个新实体的新用户有多少可信任的用户已经使用过该实体。伴随的消息可以类似于“1250个可信任的用户已经下载并安装了此程序。”当看到这条消息时,根据有多少可信任的用户已经这样做的信息,用户可以对是否遵循使用该实体的先例而作出了解情况的决定。在另一个实施方案中,该信誉评分被计算为使用过该实体的客户端保健评分的一种直接数学变换。在一个简单的实例中,该信誉评分是已经遇到并使用过该实体的所有客户端的保健评分的平均数。这种信誉评分向新用户提供了关于使用该实体的典型客户端的组成信息。由于不太可能在“良好保健”的客户端上发现恶意软件,一个较高值告诉用户该实体可以是可信任的。在这种实施方案中,伴随的消息可以类似于“这个应用程序具有五颗星中的4. 3的奇才评分。”即使看到这条消息的用户可能不理解该消息是如何计算的,但基于可信任的用户(例如,“奇才”或“大型用户”)如何信任该应该应用程序的程度,该消息有效地传送了是否应当信任该应用程序。在一个实施方案中,由信誉评估模块316展现的显示还为用户提供取消该活动的机会。因此,由模块316展现的对话框可以包括一组“是/否”或“同意/取消”按钮,这些按钮使用户取消或确认一个文件的安装或执行。信誉评估模块316记忆用户对所展示的信誉评分的响应并且不一定每次用户作出一个动作时都显示该信誉评分。如以上所提及的, 状态监测模块312的一个实施方案监测用户对该信誉评分的响应,确切地讲是用户是否根据该信誉评分选择继续或取消该活动。状态监测模块312将用户的响应通知给信誉服务器 110。服务器110可以使用该响应推敲或调整实体的信誉评分。服务器通信模块318通过网络114与信誉服务器110进行通信。在一个实施方案中,服务器通信模块318向服务器110发送报告,该报告提供了关于客户端112的信息。该信息包括客户端的保健评分、所有已监测到的客户端112与多个实体相遇的描述、以及潜在恶意软件的提交。在一个实施方案中,服务器通信模块318在预定的时间(例如当该保健评分变化时)或定期地将保健评分报告给信誉服务器110。在另一个实施方案中,每当客户端遇到一个实体和/或检测到或提交可能的恶意软件时,服务器通信模块318将保健评分报告给信誉服务器110。例如,当信誉评估模块316请求实体的信誉评分时,服务器通信模块318将包含该实体的保健评分以及标识符的一个元组发送给信誉服务器110。一些实施方案在报告中包括一个唯一客户端标识符或其他数据以允许信誉服务器110将具体的报告与生成这些报告的客户端相关联,并且检测重复的报告。此外,服务器通信模块318的一个实施方案从信誉服务器110接收用于在客户端112上提供安全性的信息。所接收的信息包括多个实体的信誉评分、恶意软件定义、以及对安全模块116的其他更新。图4是一个高级框图,展示了根据一个实施方案的信誉服务器110的详细视图。 在一个实施方案中,信誉服务器110由向客户端112提供安全模块116的相同实体来操作。 如图4所示,信誉服务器110包括多个模块。本领域的普通技术人员将会认识到,信誉服务器110的其他实施方案可以具有与在此描述的这些不同的和/或其他的模块,并且这些功能性能够以一种不同的方式分布在这些模块中。此外,属于信誉服务器110的这些功能可以由多个服务器来执行。
客户端通信模块410通过网络114与客户端112进行通信。在一个实施方案中, 客户端通信模块410从客户端112接收描述保健评分的数据、监测的状态、恶意软件提交、 以及其他信息。另外,客户端通信模块410的一个实施方案向客户端112提供文件、网站、 或其他实体的信誉评分。保健缓存模 块412存储从客户端112接收的保健评分。在以(保健评分、实体标识符)元组的形式接收保健评分的一个实施方案中,保健缓存模块412将这些值存储在一个表中或其他数据结构中,这些数据结构将这些值与它们所涉及的实体关联起来。在保健评分与客户端Il2的标识符一起接收的另一个实施方案中,保健缓存模块412将这些值存储在一个表中或将这些值与客户端关联起来的其他数据结构中。在信誉服务器110计算保健评分的多个实施方案中,保健缓存模块412执行属于上述保健计算模块314的功能。状态信息模块414存储描述活动以及其他状态信息的数据,这些活动或其他状态信息由客户端112中的状态监测模块312来监测。在一个实施方案中,所存储的数据描述客户端112和多个实体之间的相遇。这些相遇包括在客户端112上出现的、下载的、安装的、 和/或由其执行的多个文件、由这些客户端访问的网站等,同时包括执行这些动作的任何尝试。状态信息模块414还存储数据,该数据描述了响应于客户端112上进行的信誉评分评估而执行的操作,例如是否用户在查看描述该程序的信誉评分之后执行一个具体文件。在一个实施方案中,状态信息模块414将这些活动与客户端的保健评分关联起来,在这些活动(以及相遇)发生这些客户端上。在一个实施方案中,状态信息模块414将这些活动与在其上发生这些活动的客户端112的标识符相关联。在一个实施方案中,保健缓存器412的功能和状态信息模块414由一个组合模块执行,该组合模块存储实体标识符以及与实体相遇的客户端112的保健评分。另外,保健评分可以代表为直方图或以另一种有效率的方式。例如,对于一个具体的实体,该组合模块记录了具有高保健评分的5个客户端以及具有低保健评分的25个客户端遇到该实体。该模块并不一定存储遇到该实体的具体客户端112的标识符。基于保健缓存器412中的信息和/或状态信息模块414,信誉计算模块416计算文件、网站、和/或其他实体的信誉评分。在一个实施方案中,信誉评分是类似于保健评分的一个数值。信誉评分在一个给定的范围(例如0和1)内进行归一化以允许不同实体的信誉评分之间的直接比较。例如,值0可以代表最低信誉,而值1可以代表最高信誉。在其他的实施方案中,信誉评分被量化为一组有限值中的一个值。文件或其他实体的信誉评分主要是基于遇到该实体的客户端112的保健评分。例如,在具有高保健评分的客户端112上经常安装和/或执行的文件有可能得到高信誉评分。 相反,在只具有低保健评分的客户端112上经常安装或执行的文件有可能得到低信誉评分。信誉计算模块416的一个实施方案基于数据的交叉混合来计算信誉评分。例如, 假设一组客户端112因为经常在这些客户端上检测到恶意软件而得到低保健评分。信誉计算模块416可以向该组中的客户端经常访问的网站指定低信誉评分。因此,模块416衡量恶意软件检测以便为网站指定信誉评分,即使该网站可能不直接与该恶意软件相关联。在一个实施方案中,信誉计算模块416通过向某些客户端分配权重来计算信誉评分,然后使用这些权重以影响这些客户端所遇到的文件、网站、以及其他实体的信誉评分。被编入特定程序的具有很高保健评分的和/或满足其他标准的某些客户端被设计为“超级客户端”,并且来自这些客户端的数据对它们遇到的实体的信誉评分产生显著的影响。例如,如果一个或多个超级客户端执行具体的文件或访问具体的网站,信誉计算模块416为这些文件或网站指定一个高信誉评分,因为它们很有可能是合法的(即,非恶意的)。为实体指定的信誉评分可能随时间演化。一个实施方案最初为一个先前未知的文件、网站、或其他实体指定一个低信誉评分。这个初始的低值代表一个“试用期”,在此期间该实体被认为是潜在恶意的,直至它遇到足够的客户端以评估它的真实信誉。因此,初始信誉评分有可能改变,因为越来越多的客户端112遇到该实体。具有初始低信誉评分的文件可能得到较高信誉评分,因为具有高保健评分的客户端安装并执行了它。实际上,如果具有高保健评分的客户端112的用户看到一个对话框后选择安装一个文件(该对话框表明该文件具有低信誉评分),那么这就非常明确地表示该文件应当得到较高信誉评分。信誉计算模块416的一个实施方案观察这些类型的活动并且不断地更新实体的信誉评分。恶意软件接收模块418在客户端112中存储由恶意软件检测模块310提交的潜在恶意软件。在一些实施方案中,恶意软件接收模块418在网络114上从客户端112接收大量的提交项。在存在较多提交项的情况下,以每个提交项代表的近似风险量对这些提交项进行分级是较为理想的。这种分级允许安全专家优先处理这些提交项并首先分析最危险的那些。因此,恶意软件接收模块418的一个实施方案至少部分地基于恶意软件的信誉评分和/或使用频率对提交进行分级。所提交的具有低信誉评分并且许多客户端112都遇到的文件比在相对少的客户端上遇到的文件有更高的优先权。所提交的具有良好信誉评分的文件被指定低级别和/或实际上被忽略。图5是一个流程图,展示了根据一个实施方案的由安全模块116执行的为客户端 112提供安全性的步骤。其他实施方案以不同的顺序执行所示步骤、和/或执行不同的或额外的步骤。而且,这些步骤中的一些或全部可以由多个模块而不是安全模块116来进行。在510,安全模块116监测进行恶意软件检测的客户端112的状态、驻存在存储装置208上的文件、和/或活动,例如浏览某些不良网站。在512,安全模块116基于所监测的状态计算客户端112的保健评分。例如,如果许多恶意软件检测在一个给定的时间段内进行,客户端112就有可能得到低保健评分。安全模块116向信誉服务器110提供保健评分, 以作为该服务器的独立报告或者另一个报告的一部分。在某个时刻,在514安全模块116获取由客户端112遇到的一个实体的信誉评分。 例如,安全模块116可能识别存储在存储装置208上的一个具体文件或者客户端浏览器可能试图从网站下载一个文件。安全模块116使用一个标识符(例如该文件的散列)来识别所遇到的实体、将该标识符发送给信誉服务器110、并且作为响应接收该实体的信誉评分。 在516,安全模块116通过例如将该信誉评分与一个阈值进行比较和/或向用户显示关于该信誉评分的消息来对该信誉评分进行评估。在一些实施方案中,在获取并评估其信誉评分的同时,安全模块116可任选地暂停与该实体相关的活动。基于该评估的结果,安全模块 116或用户可任选地取消该活动和/或进行另一个操作。在518处,安全模块116将与该实体的相遇、实体标识符、以及评估的结果(例如,是否用户取消了与该实体相关的活动)报告给信誉服务器110。在一个实施方案中,该报告包括客户端112的保健评分以允许服务器110基于该评估产生的任何动作进一步对该实体的信誉评分进行优化。在一个实施方案中,安全模块116向信誉服务器110报告与实体的相遇,但不一定收到作为响应的信誉评分。例如,安全模块116可以将客户端112上遇到的实体(例如存储装置208 上的静态文件)报告给信誉服务器110以创建客户端112 (以及其保健评分) 与在其上遇到的这些实体之间的关联。这种技术可以用来创建环境100并且产生实体的初始信誉评分。图6是一个流程图,展示了根据一个实施方案的由信誉服务器110执行的多个步骤。本领域的熟练技术人员将会认识到信誉服务器110的多个实施方案可以同时与多个客户端112进行通信并且计算多个实体的信誉评分。因此,信誉服务器110的多个实施方案可以同时执行图6中的多个步骤实例。其他实施方案以不同的顺序执行所示的步骤、和/ 或执行不同的或额外的步骤。而且,这些步骤中的一些或全部可以由多个服务器而非信誉服务器110来执行。在610,信誉服务器110从客户端112接收多个保健评分。如上所述,这些保健评分代表客户端的可信任度的评估。在612,信誉服务器110还接收描述所监测的客户端状态的数据。这些数据描述了与实体(例如文件、程序、以及网站)的相遇。例如,该数据可以描述客户端所下载、安装和/或执行的文件、以及客户端访问的网站。在614,信誉服务器110计算在客户端112上遇到的实体的信誉评分。该信誉评分基于客户端112的保健评分。服务器110可以计算高保健评分的客户端112经常遇到的文件的高信誉评分。同样,服务器110可以计算低保健评分的客户端112遇到次数最多的文件的低信誉评分。在616,信誉服务器110向客户端112提供实体的信誉评分。例如,信誉服务器110 可以接收由一个散列识别的文件信誉评分的请求,并且作为响应提供该值。客户端112和/ 或客户端的用户对这些值进行评估以确定是否实体是合法的。在一个实施方案中,信誉服务器110基于这些相遇和所得的评估不断地更新信誉评分。图7是一个流程图,展示了根据一个实施方案的由信誉服务器110执行的优先处理所提交恶意软件的多个步骤。其他实施方案以不同的顺序执行所示的步骤、和/或执行不同的或额外的步骤。而且,这些步骤中的一些或全部可以由多个服务器而不是信誉服务器110来执行。在710,信誉服务器110接收来自客户端112的具有文件的提交项,在该文件中已检测到或怀疑有恶意软件。这些提交项可以包括具有恶意软件的文件以及包含合法软件的文件,包含合法软件的文件是因为误肯定或其他理由检测而被检查的。在712,信誉服务器基于信誉评分优先处理这些提交项。所提交的具有低信誉评分的和/或在客户端112上经常遇到的文件通常得到高优先权。相反,所提交的具有高信誉评分的和/或在客户端112 上不经常遇到的文件通常得到较低优先权。安全专家使用这些优先次序对所提交的文件进行分级以确定要分析哪些提交项。本发明的这些实施方案的前述说明已经为了进行说明而给出;它并不打算是穷进的或将本发明限于所披露的确切形式。相关领域的技术人员可以认识到对以上披露的许多修改和变更是可能的。本说明的一些部分以算法和符号表示的信息操作形式来描述本发明的这些实施方案。数据处理领域中的技术人员通常使用这些算法描述和表示以将他们工作的实质内容有效率地传送给本领域的其他技术人员。尽管进行了功能性地、计算性地、或逻辑性地描述,但应当理解这些操作可以由计算机程序或等效的电路、微代码等实现。此外,将操作安排认为是模块也已多次证明是方便的,并不失一般性。所述的操作以及它们相关联的模块可以实施在软件、固件、硬件、或它们的任何组合中。在此说明的任何步骤、操作、或过程可以与一个或多个硬件或软件模块、单独地或结合其他装置来执行或实现。在一个实施方案中,使用包括计算机可读媒质(该媒质包含计算机程序代码)计算机程序产品来实现软件模块,该计算机代码可以由计算机处理器执行以实现所述步骤、操作、或过程的任意一个或全部。本发明的多个实施方案还可以涉及一种用于执行在此说明的操作的装置。这种装置可以是为所要求的目的而专门建造的,并且/或者它可以包括由存储在计算机中的计算机程序选择性地启动或重新配置的一种通用计算装置。这类计算机程序可以存储在可见的计算机可读存储媒质或适于存储电子指令的任何类型的媒质中,并且连接到计算机系统总线上。另外,在本 说明书中提及的任何计算系统可以包括一个单一的处理器或可以是为增加计算能力而采用多处理器设计的架构。本发明的多个实施方案还可以涉及包含在载波中的计算机数据信号,其中该计算机数据信号包括本文所述的计算机程序产品或其他数据组合的任何实施方案。该计算机数据信号是一种产品,它存在于有形介质或载波中并且调制或以其他方式在这种载波中进行编码,该计算机数据信号是实际存在的、并且是按照任何适合的传输方法来传输的。最后,在本说明书中的语言主要是为了可读性和指导性而选择的,选择这些语言并非用于描述或限定本发明的主题。因此,在此的意图是本发明的范围不受限于这种详细的说明,而是由基于本申请而授权的任何权利要求所限定。因此,本发明的实施方案的披露是旨在是说明性的、并非限制以下权利要求中给出的本发明的范围。
权利要求
1.一种用于将实体信誉传送给用户的计算机实施的方法,该方法包括确定与多个客户端相关联的多个保健评分,这些保健评分代表对这些客户端的可信任度的评估;该多个客户端之一遇到一个实体;基于这些客户端的保健评分识别一组可信任的客户端;根据已经使用过一个实体的这些可信任的客户端来计算该实体的一个信誉评分,其中所计算的信誉评分代表该实体是否为恶意的一种评估;并且在遇到该实体的客户端上展现该信誉评分,该信誉评分附带有一条信息来表明该信誉评分是基于被认为是可信任的多个其他客户端。
2.如权利要求1所述的方法,其中该信誉评分包括已经使用过该实体的多个可信任的客户端与已经使用过该实体的所有客户端的一个比值的一种衡量。
3.如权利要求1所述的方法,其中该信誉评分包括对已经使用过该实体的一定数目的可信任的客户端的一种衡量。
4.如权利要求1所述的方法,其中该信誉评分包括已经使用过该实体的一组客户端的保健评分的一种数学变换。
5.如权利要求1所述的方法,其中该消息包括对一个或多个可信任的客户端使用该实体的一个统计值。
6.如权利要求1所述的方法,其中该实体是一个文件,并且遇到该实体包括下载或试图下载该实体。
7.如权利要求1所述的方法,其中该实体是一个网站,并且遇到该实体包括浏览或试图浏览该网站。
8.如权利要求1所述的方法,其中这些可信任的客户端是具有保健评分大于一个阈值的一组客户端。
9.一种用于将一个实体的信誉评分传送给用户的计算机实施方法,该信誉基于多个其他客户端,每个客户端具有一个保健评分,该保健评分代表对该客户端的可信任度的一种评估,该方法包括在一个客户端上遇到一个实体;接收一个信誉评分,该信誉评分代表该实体是否为恶意的一种评估,其中该信誉评分包括其他可信任的客户端使用该实体的一种统计性衡量,一个可信任的客户端被定义为具有保健评分大于一个阈值的客户端;通过该客户端的一个输出装置传送该信誉评分;并且传送一条消息,该消息表明该信誉评分是基于被认为是可信任的多个其他客户端。
10.如权利要求9所述的方法,其中该信誉评分包括已经使用过该实体的多个可信任的客户端与已经使用过该实体的所有客户端的一个比值的一种衡量。
11.如权利要求9所述的方法,其中该信誉评分包括对已经使用过该实体的一定数目的可信任的客户端的一种衡量。
12.如权利要求9所述的方法,其中该信誉评分包括已经使用过该实体的一组客户端的保健评分的一种数学变换。
13.如权利要求9所述的方法,其中该消息包括一个或多个可信任的客户端使用该实体的信息。
14.如权利要求9所述的方法,其中该实体是一个文件,并且遇到该实体包括下载或试图下载该实体。
15.如权利要求9所述的方法,其中该实体是一个网站,并且遇到该实体包括浏览或试图浏览该网站。
16.一种用于将一个实体的信誉传送给用户的计算机程序产品,该计算机程序产品包括一种计算机可读存储媒质,该媒质包含以下计算机程序代码以用于确定与多个客户端相关联的多个保健评分,这些保健评分代表这些客户端的可信任度的评估;该多个客户端之一遇到一个实体;基于这些客户端的保健评分确定一组可信任的客户端;根据已经使用过该实体的可信任的客户端来计算该实体的一个信誉评分,其中所计算的信誉评分代表该实体是否为恶意的一种评估;并且在遇到该实体的客户端上展现该信誉评分,该信誉评分附带有一条消息来表明该信誉评分是基于被认为是可信任的多个其他客户端。
17.如权利要求16所述的计算机程序产品,其中该信誉评分包括已经使用过该实体的可信任的客户端与已经使用过该实体的所有客户端的一个比值的一种衡量。
18.如权利要求16所述的计算机程序产品,其中该信誉评分包括对已经使用过该实体的多个可信任的客户端数量的一种衡量。
19.如权利要求16所述的计算机程序产品,其中该信誉评分包括已经使用过该实体的一组客户端的保健评分的一种数学变换。
20.如权利要求16所述的计算机程序产品,其中该消息包括对一个或多个可信任的客户端使用该实体的一个统计值。
21.如权利要求16所述的计算机程序产品,其中该实体是一个文件,并且遇到该实体包括下载或试图下载该实体。
22.如权利要求16所述的计算机程序产品,其中该实体是一个网站,并且遇到该实体包括浏览或试图浏览该网站。
23.如权利要求16所述的计算机程序产品,其中这些可信任的客户端是具有保健评分大于一个阈值的一组客户端。
24.一种用于将一个实体的信誉传送给用户的计算机实施方法,该信誉基于多个其他客户端,每个客户端具有一个保健评分,该保健评分代表该客户端的可信任度的一种评估, 该方法包括在一个客户端遇到一个实体;接收一个信誉评分,该信誉评分代表该实体是否为恶意的一种评估,其中该信誉评分包括其他可信任的客户端使用该实体的一种统计性衡量,一个可信任的客户端被定义为具有保健评分大于一个阈值的客户端;通过该客户端的一个输出装置传送该信誉评分;并且传送一条消息,该消息表明该信誉评分是基于被认为是可信任的多个其他客户端。
25.如权利要求M所述的计算机程序产品,其中该信誉评分包括已经使用过该实体的多个可信任的客户端与已经使用过该实体的所有客户端的一个比值的一种衡量。
26.如权利要求M所述的计算机程序产品,其中该信誉评分包括对已经使用过该实体的多个可信任的客户端数量的一种衡量。
27.如权利要求M所述的计算机程序产品,其中该信誉评分包括已经使用过该实体的一组客户端的保健评分的一种数学变换。
28.如权利要求M所述的计算机程序产品,其中该消息包括一个或多个可信任的客户端使用该实体的信息。
29.如权利要求M所述的计算机程序产品,其中该实体是一个文件,并且遇到该实体包括下载或试图下载该实体。
30.如权利要求M所述的计算机程序产品,其中该实体是一个网站,并且遇到该实体包括浏览或试图浏览该网站。
全文摘要
一台信誉服务器通过网络与多个客户端相联接。每个客户端中的一个安全模块监测客户端与多个实体(例如文件、程序、以及网站)的相遇、并且然后基于这种监测计算一个保健评分。接着,将这些保健评分提供给信誉服务器,该信誉服务器基于这些客户端的保健评分以及这些客户端和该实体之间的交互行为来计算对于这些实体的信誉评分。当一个特定的客户端遇到一个实体时,该安全模块从信誉服务器获取对于该实体的信誉评分。这种信誉评分可以包括一个统计性衡量,该统计性衡量是基于一定数目的其他可信任的或“保健良好的”客户端,这些客户端具有大于一个阈值的保健评分。该客户端将这个信誉评分与一条消息一起传送给一个用户,该消息表示该信誉评分是基于多个被认为可信任的其他客户端。
文档编号G06F11/00GK102171657SQ200980123712
公开日2011年8月31日 申请日期2009年6月23日 优先权日2008年6月30日
发明者C·S·纳琴伯格 申请人:赛门铁克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1