首页> 中国专利> 软件信誉的建立和监控系统及方法

软件信誉的建立和监控系统及方法

摘要

在形成一个模块的信誉时获取对该模块的行为的知识。如果该模块的行为发生了改变,对这个改变进行检测。在一个实施方案中,在确定了该模块的行为已经改变时,则丢失该模块的原始信誉。以此方式,检测并且击败恶意的被信任的模块。

著录项

  • 公开/公告号CN102037472A

    专利类型发明专利

  • 公开/公告日2011-04-27

    原文格式PDF

  • 申请/专利权人 赛门铁克公司;

    申请/专利号CN200980118751.0

  • 发明设计人 W·曹贝乐;B·赫纳克;

    申请日2009-06-09

  • 分类号G06F21/00(20060101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人周亚荣;安翔

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 02:13:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-31

    专利权的转移 IPC(主分类):G06F21/55 登记生效日:20200108 变更前: 变更后: 申请日:20090609

    专利申请权、专利权的转移

  • 2015-07-01

    授权

    授权

  • 2011-06-15

    实质审查的生效 IPC(主分类):G06F21/00 申请日:20090609

    实质审查的生效

  • 2011-04-27

    公开

    公开

说明书

技术领域

本发明涉及计算机系统安全。更具体地讲,本发明涉及一种建立并监控计算机系统的模块信任度的系统和方法。

背景技术

一种行为阻截系统探索式地对模块进行监控、并且阻截该行为阻截系统基于模块的信任等级而认为是恶意性的可疑行为。因此,在对行为进行阻截时评估一个模块的信任等级是非常重要的。

发明内容

根据一个实施方案,在形成一个模块的信誉时获得了对该模块的行为的知识。如果该模块的行为发生了改变,那么这个改变会被检测出来。在一个实施方案中,当确定该模块的行为已经改变时,该模块的原始信誉则被丢失。以此方式,将恶意的被信任模块检测出并且击败。

当通过参见以下的详细说明并且与附图结合进行阅读时,对多个实施方案会有最好的理解。

附图说明

图1是根据一个实施方案的一种客户机-服务器系统的简图,该客户机-服务器系统包括在主计算机系统上执行的一种软件信誉建立和监控应用程序;

图2是根据一个实施方案的一种软件信誉建立过程的流程图;并且

图3是根据一个实施方案的一种软件信誉监控过程的流程图。

贯穿这些附图和详细说明,使用了相同的参考号来表明类似的元件。

具体实施方式

根据一个实施方案,在创建模块的预期行为的信誉清单的运作210(图2)中,当形成一个模块的信誉时获得了该模块的行为的知识。如果该模块的行为发生了改变,这个改变在行为偏离预期行为检查运作306(图3)中被检测出来。在一个实施方案中,当确定该模块的行为已经改变时,在采取保护性动作的运作308(图3)中该模块的原始信誉被丢失。以此方式,将恶意的被信任模块检测出并且击败。

更具体地讲,图1是根据一个实施方案的一种客户机-服务器系统100的简图,该客户机-服务器系统包括在一个主计算机系统102上执行的一种软件信誉建立和监控应用程序106。

主计算机系统(有时被称作客户机或用户装置)典型地包括一个中央处理单元(CPU)108(有时被称作处理器108)、一个输入/输出(I/O)接口110、以及一个存储器114。主计算机系统102进一步包括多个标准装置,如键盘116、鼠标118、打印机120、以及显示装置122,连同一个或多个标准输入/输出(I/O)装置123,比如用于将数据输入主计算机系统102以及从主计算机系统102中输出数据的光盘(CD)或DVD驱动器、软盘驱动器、或者其他的数字的或波形端口。

在一个实施方案中,软件信誉建立和监控应用程序106通过I/O装置123从例如CD、DVD、或软盘中(它包含有软件信誉建立和监控应用程序106)被载入主计算机系统102中。

主计算机系统102通过网络124而连接到计算机系统100的服务器系统130上。服务器系统130典型地包括显示装置132、处理器134、存储器136、以及网络接口138。

主计算机系统102还通过网络124被连接到多个主计算机系统103A,103B,...,103n(统称为主计算机系统103,它们类似于主计算机系统102)上。此外,主计算机系统102通过网络124被连接到软件信誉建立和监控服务器计算机系统140(有时被称作后端信誉系统,它类似于服务器系统130)上。

网络124可以是用户所感兴趣的任何网络或网络系统。在不同的实施方案中,网络接口138和I/O接口110包括模拟调制解调器、数字调制解调器、或网络接口卡。

软件信誉建立和监控应用程序106被存储于(例如)主计算机系统102的存储器114中,并且在主计算机系统102上执行。

主计算机系统102、主计算机系统103、软件信誉建立和监控服务器计算机系统140、以及服务器系统130的具体类型和配置对于本实施方案不是本质性的。

在此处的一个实施方案中,恶意代码被定义为未经授权用户得知和/或没有授权用户的同意而进入计算机系统环境的任何计算机程序、模块、模块集、或代码。

图2是根据一个实施方案的软件信誉建立过程200的流程图。现在一起参见图1和图2,在一个实施方案中,由处理器108执行的软件信誉建立和监控应用程序106导致如以下说明的软件信誉建立过程200的运作。

工作流从进入运作202移动到执行未知模块运作204。在执行未知模块运作204中,执行一个未知模块(有时称之为软件)。

总体上讲,一个模块包括可执行的代码。在一个实施方案中,一个模块是一种应用程序的一部分。例如,一个模块是Internet Explorer应用程序的一个插件(例如,AdobeFlash模块)。在又一个实施方案中,一个模块是一个完整的应用程序。

在一个实施方案中,一个应用程序是为最终用户设计的一个程序或一组程序。更具体地讲,尽管存在着许多不同类型的应用程序,应用程序(也被称作最终用户程序)包括数据库程序、文字处理程序、以及电子表格。

在一个实施方案中,应用程序和/或模块是一个可执行的文件。可执行文件是旨在由计算机将其内容解释为一个程序的一种文件。在一个实例中,可执行文件具有扩展名.exe(一个EXE文件),但是在其他实施方案中它具有其他的扩展名,如.net。一个应用程序和/或模块是使用多项技术中的任意一项来执行的(正如在具有本披露的益处的领域中的普通技术人员将会认识到的),并且所用的具体技术对于本实施方案不是本质性的。

如在此使用的,一个模块或者是一个已知模块或者是一个未知模块。已知模块是具有如以下进一步讨论的一个相关联的信誉清单的模块。相比之下,未知模块是没有一个相关联的信誉清单的模块。

对于执行未知模块运作204,工作流移动到监控并记录模块行为运作206。

在监控并记录模块行为运作206中,对所执行的模块的行为(有时称之为动作)进行监控并且记录。更具体地讲,当在执行未知模块运作204中执行该未知模块时,该未知模块表现出多个动作,并且这些动作被称作行为。一个模块的说明性行为包括:(1)该模块是否改变了系统范围的设置;(2)该模块访问了何种类型的文件;(3)该模块是否是一个启动程序;以及(4)所感兴趣的任何其他模块行为。示意性地,对哪种行为进行监控并记录是可以(例如)由用户或系统管理员来进行配置的。

在一个实施方案中,该模块在多个不同的设施中(例如,在不同的计算机系统和/或运作系统上)被执行、监控并记录。例如,该模块在主计算机系统102、103上被执行、监控并记录。在每个设施上,该模块的行为都被监控并记录。该模块所记录的行为连同该设施的特点是从每个设施(例如,一个后端信誉系统如软件信誉建立和监控服务器计算机系统140)中收集的并被汇总。

在另一个实施方案中,该模块在一个单一的设施上被执行、监控和记录,例如,在一个单一的计算机系统(如主计算机系统102)上和/或一个单一的运作系统上。

工作流从监控并记录模块行为运作206可任选地移动到确定模块信誉运作208。在确定模块信誉运作208中,该模块的信誉例如是从该模块所监控并记录的行为中来确定的。在一个实施方案中,一旦已经监控并记录了该模块足够的副本,该模块已经被执行了足够的次数,和/或已经以其他方式充分地观察了该模块的行为,那么对于该模块的信誉就被建立起来。

信誉是如被一个安全销售商或安全产品所确定的该模块的总体可信任度。在一个实施方案中,信誉是通过一种信誉得分来测量的,尽管可以使用多项技术中的任意一项来测量(正如在具有本披露的益处的领域中的普通技术人员将会认识到的),并且所用的具体技术不是本质性的。

在一个实施方案中,一个模块的特权是直接与该模块的信誉相关的。该模块得到的信任越高,给予该模块的特权就越大。

为了说明这一点,如果发现一个模块安装间谍软件、病毒程序、特洛伊木马程序、或其他的恶意代码,则该模块被确定为是不可信任的,即,该模块的可信任度是该模块是不值得信任的。相反,如果发现一个模块是安全的,则该模块被确定为是值得信任的(受信任的),即,该模块的可信任度是该模块是值得信任的。尽管提供了可信任度的两个实例,但是可信任度可以被定义为具有非常大程度的粒度,这样使其存在许多可信任等级(信任)的等级。

在另一个实施方案中,该模块的信誉是基于多项指标,这些指标不是该模块所监控并记录的行为,并且因此确定模块信誉运作208是一个可任选的运作。为了说明这一点,假设一个软件发行商在一段时间中发行了多个合法的模块的情形。根据这个实例,如果该模块已经被同一软件发行商所发行,则该模块被识别为是值得信任的,即,该模块的信誉是该模块是可信任的。

根据另一个实例,假设以下情形,其中一个知名的合法软件发行商(例如,Microsoft公司)发行了这个模块。由于该模块被一个知名的合法软件发行商所发行,所以该模块被识别为是值得信任的,即,该模块的信誉是该模块是可信任的。

因此,该模块的信誉在确定模块信誉运作208中被建立,或者以其他方式建立。用于建立模块信誉的具体技术不是本质性的。然而,根据一个实施方案,如以下说明的,所建立的信誉是取决于该模块的表现与该信誉被建立时的表现是相同的。

工作流从确定模块信誉运作208(或在不进行确定模块信誉运作208的情况下,从监控并记录模块行为运作206)移动到创建模块预期行为的信誉清单运作210。在创建模块预期行为的信誉清单运作210中,基于该模块被监控并被记录的行为(运作206),创建了该模块的预期行为的一个信誉清单。

更具体地讲,该模块的预期行为是在监控并记录模块行为运作206中监控并记录的该模块的行为。换言之,该模块的预期行为是该模块被观察到的正常行为。

信誉清单是该模块的预期行为的一个集合(例如,列表)。示例性地,根据以上实例,信誉清单包括:(1)若有的话,被该模块改变的系统范围的设置;(2)若有的话,由该模块访问的文件类型;(3)如果为真,则该模块是一个启动程序;以及(4)该模块的任何其他的被监控并被记录的行为。

工作流从创建模块预期行为的信誉清单运作210移动到将信誉清单与信誉相关联运作212。在将信誉清单与信誉相关联运作212中,将在创建模块预期行为的信誉清单运作210中创建的信誉清单与所建立的该模块的信誉相关联。更具体地讲,将该模块的预期行为与所建立的信誉相关联(即,相链接)。

如以下参见图3中的软件信誉监控过程300所展示的,只要该模块表现为与信誉清单中的预期行为相符,则该模块维持该模块所建立的信誉。然而,维持所建立的信誉是取决于该模块以预期的方式来表现(即,符合预期行为)。

在一个具体的实施方案中,当该模块的信誉是在确定模块信誉运作208中基于该模块在监控并记录模块行为运作206中所监控并记录的行为来确定时,维持所建立的信誉是取决于该模块以与该模块的信誉被初始建立时的相同方式来表现。

尽管一个模块在此被说明为表现得与一个信誉清单相符,但是鉴于本披露,本领域的普通技术人员应理解这意味着该模块的行为(动作)与在信誉清单里所列出的或者以其他方式所收集的行为(动作)是相同的或者实质上相似的。

工作流从将信誉清单与信誉相关联运作212移动到退出运作214,并在此中退出。

图3是根据一个实施方案的一种软件信誉监控过程300的流程图。现在一起参见图1和图3,在一个实施方案中,由处理器108执行的软件信誉建立和监控模块106导致如以下所说明的软件信誉监控过程300的运作。

工作流从输入运作302移动到被监控模块的行为的检查运作304。在被监控模块的行为的检查运作304中,对于被监控模块是否正在采取动作(即,被监控模块是否有行为)做出一个确定。

如果被监控模块没有行为,则工作流继续留在被监控模块的行为的检查运作304处。相反,如果被监控模块有行为,工作流从被监控模块的行为的检查运作304移动到行为偏离预期行为检查运作306。在行为偏离预期行为检查运作306中,对于被监控模块的行为是否偏离了该监控模块的预期行为做出一个确定。换言之,对于该模块的行为是否已经从预期行为中发生了改变做出一个确定。

在一个实施方案中,将该模块的预期行为的信誉以及信誉清单从(例如)软件信誉建立和监控服务器计算机系统140中下载到主计算机系统102中。在另一个实施方案中,如以上说明的,在主计算机系统102上创建该模块的预期行为的信誉和信誉清单。

在一个实施方案中,一个被监控的模块是具有已建立的信誉以及相关联的信誉清单(即,被预期以某种方式表现)的一个模块。因此,如果被监控模块有行为,则在行为偏离预期行为检查运作306中将该行为与该模块的预期行为进行比较。

对该行为可以使用多项技术中的任意一项来进行比较(如在具有本披露的益处的领域中的普通技术人员所认识的),并且所用的具体技术不是本质性的。在一个实施方案中,与预期行为的任何偏离都足以得出一个结论,即被监控模块的行为偏离了该被监控模块的预期行为。在另一个实施方案中,在得出被监控模块的行为偏离了被监控模块的预期行为的结论之前允许在行为中一定量的改变。

若做出了该行为未偏离预期行为的确定,则工作流从行为偏离预期行为检查运作306移动并在退出运作310处退出或者返回到被监控模块的行为检查运作304处。在这种情况下,该模块的表现如同预期,并且不进一步采取动作。

相反,若做出了该行为确实偏离了预期行为的确定,则工作流从行为偏离预期行为检查运作306移动到采取保护性动作的运作308。在采取保护性动作的运作308中,采取了保护性动作,例如,撤销该模块已建立的信誉。

在一个实施方案中,该模块丢失了它的信誉,即,它被分配了一个降低的信誉,这样使得与原始信誉相关联的特权也被丢失或者降低了。为了说明这一点,在该模块的原始信誉下可能已经允许对该模块的动作基于这个降低的信誉要经受增强的详细审查和/或阻截,这个降低的信誉是该模块比在原始信誉下是较少值得信任的。

此外,在一个实施方案中,在采取保护性动作的运作308中生成该模块已经丢失它的信誉和/或该模块被改变的行为的提醒。该提醒被发送给一个后端信誉系统(如软件信誉建立和监控服务器计算机系统140)、用户、管理者、或以其他方式进行登录。

基于这个提醒,在一个实施方案中,关于该模块的信誉是未知的一个警告被发送给考虑安装该模块的新用户。例如,该警告是从软件信誉建立和监控服务器计算机系统140发送到主计算机系统103上。这允许(例如)主计算机系统103的新用户对于是否安装该模块做出更为知情的决定。

在另一个实施方案中,在采取保护性动作的运作308中阻截了该模块被改变的行为。尽管以上陈述了保护性动作的某些实例,但是鉴于本披露,本领域的普通技术人员将会理解,在采取保护性动作的运作308中可以采取各种各样的保护性动作。

在某些情况下,该模块的行为中的改变是合法的,即,并非是与恶意代码相关联的。然而,因为这个新的行为未被作为因素考虑进原始的信誉决定中,所以该模块丢失了它的原始信誉。在一个实施方案中,基于这个新的行为并且将其结合而为该模块创建一种新的信誉。

在其他情况下,该模块的行为中的改变是恶意的,即,它是与恶意代码相关联的。为了说明这一点,传统上,使用黑名单防恶意软件的解决方案。更具体地讲,已知恶意代码的一个列表(有时被称作黑名单)被用于确定一个模块是否是恶意的。

更近些时候,白名单防恶意软件解决方案越来越多地得到使用。更具体地讲,已知的被信任模块的一个列表(有时被称作白名单)被用于确定是否允许执行一个模块。这个安全白名单为在一个系统上运行的模块提供了有力的身份。在一个实例中,将一个模块的贡献作者的信誉归属于该模块自身。

然而,当一个被信任的模块(例如,一个白名单上的模块)变成恶意性(即,包含了恶意代码)时会出现问题。这个恶意的被信任模块的问题是一个仅允许执行被信任模块的系统不可改变的后果。攻击者将恶意代码植入一个被信任的模块中从而产生一个恶意的被信任模块,以便利用主计算机系统来(例如)窃取最终用户数据并且将该偷窃套现。

在一个实例中,为了得到信任和信心而被置于白名单上,攻击者持续一段时间发行多个合法模块。一旦被置于白名单上,这些攻击者创建被置于白名单上的一个恶意模块,该白名单是基于发行了多个合法模块的攻击者的过去的记录。

在另一个实例中,攻击者成为一个知名的软件公司的内部人士并且向这个知名的软件公司的模块中插入恶意代码。基于该模块是被该知名的软件公司发行的事实,该恶意模块被置于白名单上。尽管提供了几个实例,但是可以使用多项技术中的任意一项来产生一个恶意的被信任模块(如在具有本披露的益处的领域内的普通技术人员所认识的),并且所用的具体技术不是本质性的。

为了检测并击败恶意的被信任模块,如前所述,在图2的软件信誉建立过程200的创建模块预期行为的信誉清单运作210中,当形成一个模块的信誉时,获得了对该模块的行为的知识。如果该模块的行为改变了,这个改变在图3的软件信誉监控过程300的行为偏离预期行为检查的运作306中被检测出来。在一个实施方案中,如以上所讨论的,当确定该模块的行为已经改变时,该模块的信誉在采取保护性动作的运作308中被改变(例如,丢失)。

作为一个假设的实例,假定一个软件发行商创建了一个新的图像编辑模块Image.exe。这个新的图像编辑模块Image.exe不具有一个被分配的模块预期行为的信誉清单,并且因此是一个未知模块。

因此,再次参见图2,该图像编辑模块Image.exe在执行未知模块运作204中被执行,并且其行为在监控并记录模块行为运作206中被监控并被记录。示意性地,这个新的图像编辑模块Image.exe不对要求用户账号控制(UAC)批准的主计算机系统102做出改变,而是仅修改图像文件。

基于这个行为,在确定模块信誉运作208中,将该图像编辑模块Image.exe确定为是一个被信任的模块。在创建模块预期行为的信誉清单运作210中创建该图像编辑模块Image.exe的一种预期行为的信誉清单(即,在监控并记录模块行为运作206中被监控并被记录的行为)。在将信誉清单与信誉相关联的运作212中,该信誉清单是与信誉相关联的。

现在参见图3,在该图像编辑模块Image.exe的使用过程中,在行为偏离预期行为检查运作306中做出该图像编辑模块Image.exe的行为已经改变的一个确定。示意性地,在该图像编辑模块Image.exe内部的恶意代码(即,一个恶意的被信任模块)钓取系统服务并且改变系统文件。

然而,在采取保护性动作的运作308中阻截这个恶意行为并且发出一个提醒。如这个实例所演示的,根据不同的实施方案,恶意的被信任模块被检测出并且被击败。

再次参见图1,尽管软件信誉建立和监控应用程序106被称为是一个应用程序,这仅是说明性的。软件信誉建立和监控应用程序106应当能够从一个应用程序或运作系统中调用。在一个实施方案中,一个应用程序总体上被定义为是任何可执行的代码。此外,在具有本披露的益处的领域中的普通技术人员将会理解,当所说是一个应用程序或一个运作采取某个动作时,该动作是由一个处理器执行一个或多个指令的结果。

尽管已经说明了用于客户机-服务器配置的多个实施方案,但是一个实施方案是使用任何适当的硬件配置或手段(包括个人计算机、工作站、便携式装置、或计算机装置的网络)来实现的。在其他实施方案中使用了不是客户机-服务器配置的其他网络配置,例如,对等、基于万维网的、内部网、以及互联网的多种网络配置。

在此,根据一个实施方案,计算机程序产品包括被配置为存储计算机可读代码的一种有形的存储媒质。计算机程序产品的一些实例是CD-ROM光盘、DVD、ROM卡、软盘、磁带、计算机硬驱动器、以及网络上的多个服务器。

如图1所示,这个媒质属于计算机系统本身。然而,这个媒质还是从计算机系统上拆下的。例如,软件信誉建立和监控应用程序106被存储在物理地位于与处理器108不同的位置上的一个存储器(例如,服务器系统130的存储器136)中。处理器108应当被连接到存储器136上。这可以在一种客户机-服务器系统中实现,或者可替代地通过经由调制解调器和模拟线路、或者数字接口和数字载波线路到另一个计算机上的连接而实现。

更确切地说,在一个实施方案中,主计算机系统102和/或服务器系统130是便携式计算机、工作站、双向传呼机、蜂窝电话、数字无线电话、个人数字助理、服务器计算机、互联网设施、或者任何其他装置,该装置包括执行根据在此说明的至少一个实施方案的软件信誉建立和监控应用程序106的部件。类似地,在另一个实施方案中,主计算机系统102和/或服务器系统130包括以下各项:多个不同的计算机、无线装置、蜂窝电话、数字电话、双向传呼机、个人数字助理、服务器计算机、或者这些装置的任何希望的组合,这些装置被相互连接以便执行在此所述的多种方法。

鉴于本披露,根据一个实施方案的软件信誉建立和监控应用程序106可以在各种各样的计算机系统配置中实施。此外,软件信誉建立和监控应用程序106可以被存储为在不同装置的存储器中的不同模块。例如,软件信誉建立和监控应用程序106可以最初被存储在服务器系统130中,并且必要时,软件信誉建立和监控应用程序106的一部分可以被传送到主计算机系统102上并且在主计算机系统102上执行。因此,软件信誉建立和监控功能的一部分会在服务器系统130的处理器134上执行,并且另一部分会在主计算机系统102的处理器108上执行。鉴于本披露,本领域的普通技术人员可以在各种各样的物理硬件配置中使用该用户感兴趣的运作系统和计算机编程语言来实施不同的实施方案。

在又一个实施方案中,软件信誉建立和监控应用程序106被存储在服务器系统130的存储器136中。软件信誉建立和监控应用程序106在网络124上被传送给主计算机系统102中的存储器114。在这个实施方案中,网络接口138和I/O接口110将包括模拟调制解调器、数字调制解调器、或网络接口卡。如果使用了调制解调器,则网络124包括一个通信网络,并且软件信誉建立和监控应用程序106是通过该通信网络下载的。

本披露提供了多个示例性实施方案。其范围不限于这些示例性实施方案。无论是由本说明书明确提供的还是由本说明书所暗示的,鉴于本披露,本领域的普通技术人员可以实施众多的变体。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号