对软件程序集的本机图像进行防病毒检查的系统和方法_4

文档序号:9922226阅读:来源:国知局
persky . dl 1存在,且在装置上对其创建图像Kaspersky .ni . dll。形成 Kaspersky, dll. tmpl模板,使得有可能建立父程序集与图像之间的对应关系。则在装置上, 更新软件和硬件(即,操作系统、.NET框架、进程器替换等的更新),且使图像 Kaspersky. ni . dl 1的版本不再是当前的。因此,不可使用图像,且该图像的更新开始,且创 建不同于之前版本的图像的新图像Kasper sky. n i . d 11。在使用模板时,发现了更新的图像 对应于父程序集(即,机器代码的执行的逻辑仍相同)。在另一个情况中,恶意程序安装在装 置上,其改变图像Kaspersky. ni . dl 1。在此情况中,当使用模板时,确定了由恶意程序改变 的图像不对应于父程序集(例如,机器代码的执行的逻辑不同于嵌入父程序集的逻辑)。
[0107] 再次参看图4,在确定父程序集之后,建立程序集的信任类别(步骤430)。程序集的 信任类别为装置的保护系统的部分上的程序集(如,防病毒应用)中的信任度(信任或不信 任)。在一个示例性方面中,存在两个可能的程序集类别:信任的程序集或不信任的程序集。 在本公开内容的上下文中,人们应当将程序集的种类的概念与程序集的危险状态的概念区 分开。本公开内容的上下文中的程序集的危险状态可为:危险或不危险。还存在其危险状态 并未确定的未知程序集。程序集的危险状态确定程序集对程序集安装到其上的装置的危险 性。在一个示例性方面中,程序集对装置的危险性包括在执行程序集的代码期间从装置窃 取数据、置换数据或对装置的软件未授权修改的可能性。
[0108] 信任程序集包括由保护系统确定为不危险的程序集。具体而言,该装置的保护系 统,在为程序集分配信任类别时,在设备上当前状态的上下文中并且基于关于该程序集的 信息在本地这样做。在一个特定方面中,此信息为程序集的危险状态。程序集的危险状态可 通过使用程序集的标识信息确定,如,程序集的MVID、程序集的强名称、程序集的校验和等。 为此,在步骤431中,对信誉数据库组织请求。一方面,数据库存在于程序集储存在其上的装 置上,而另一方面,数据库位于远程。如果程序集是已知的(即,关于其的信息包含在信誉数 据库中),则程序集已经相应地取决于来自信誉数据库的信息具有不危险或危险的危险状 态。如果程序集的标识信息未包含在数据库中,则程序集认作是未知的,即,程序集不具有 状态(即,状态未确定)。如果程序集具有不危险状态,则在一个特定方面中,程序集接收信 任的类别。在另一个特定方面中,程序集的种类由关于程序集的其它实际和统计信息确定, 例如,通过将程序集安装在危险状态已知的带有安装程序包的装置上或其附属物上。
[0109] 在特定方面中,关于程序集的实际信息是关于数字签名(例如,签名的强名称或 X. 509)的信息。在此情况下,应当验证数字签名。对于步骤432中的验证,获取关于程序集的 数字签名的标识信息,例如,其包含关于制造者的信息或文件或其部分的哈希值。签名可位 于程序集中或目录(即,目录签名)中。程序集的数字签名的危险状态通过使用签名的标识 信息确定,由此组织对信誉数据库的查询。如果签名已知(即,关于签名的信息包含在信誉 数据库中),则签名已经具有不危险或危险的状态。如果签名的标识信息未包含在数据库 中,则签名认作是未知的,即,签名没有状态(即,状态未知)。在特定方面中,如果签名具有 不危险的状态,则在特定方面中,对程序集给予信任类别,且如果签名具有危险状态,则在 特定方面中,对程序集给予不信任类别。
[0110]状态以多种方式分配至签名。在一个特定方面中,签名的状态取决于制造者。另一 方面,签名的状态由其签名状态已知的安装程序的承继(inheritance)来分配。另一方面, 签名的状态取决于签名的普及性分配,例如,签名越普及,则分配越高水平的信任。
[0111] 在一个示例性方面中,在步骤433处,信任类别由程序集的防病毒检查来确定,为 此,各种方法用于检测恶意程序,包括签名、启发式、统计等。在此方面,如果从防病毒检查 的结果中发现程序集不危险,则程序集接收信任的类别。否则,程序集被认作是不受信任 的。
[0112] 在确定程序集的信任类别之后,在步骤440中,确定图像的信任类别。在特定方面 中,对图像分配针对父程序集确定的信任类别。在另一个方面中,图像的类别由上文针对步 骤410所述的方法确定。
[0113]根据示例性方面,当保护系统安装在装置上时,示例性系统和方法确认图像的存 储库并未且将不会在未授权情况下改变。
[0114] 图6示出了用于将类别分配至图像的示例性方法。如图所示,在步骤600中,限制了 对图像的存储库或至少一个图像的访问。一方面,限制包括仅允许信任进程或有限数目的 某些信任程序(如,仅进程ngen.exe)改变图像,所有其它进程仅允许读取访问。在另一个特 定方面中,限制包括完全阻止访问写入作为整体的库中或至少一个图像中。
[0115] 接下来,在步骤610中,确定用于创建其访问已经被限制的图像的父程序集。在步 骤620中,更新至少一个图像(例如,由另一个图像替换)。在一个特定方面中,更新包括移除 之前创建的图像和由操作系统创建新图像(例如,通过在父程序集上运行ngen.exe或通过 自动图像创建服务)。另一方面,更新图像数据的仅一部分,如,机器代码,且更新通过信任 的程序来完成。在第一种情况中,在其移除之后重新创建图像。在一个特定方面中,这立即 执行,且在另一个情况中,创建推迟一定时间长度,例如,直到如步骤610中确定的那样,运 行更新的图像的父程序集。在步骤630中,将父程序集的类别分配至图像。
[0116] 防病毒应用在其运行中使用信任类别,例如,其除去具有信任或不信任的类别的 本机图像,或大致限制其使用,例如,防病毒应用限制其对由操作系统提供的资源的访问。
[0117] 在一个示例性方面中,防病毒应用可执行检测到的父程序集的防病毒扫描,且从 防病毒分析中排除机器代码的本机图像,但使父程序集的防病毒扫描的结果与机器代码的 本机图像相关联。在仅扫描的父程序集时,这改善了计算机系统的防病毒分析的性能,同时 由其创建的机器代码的本机图像将承继程序集的信任类别和/或危险状态(判定)。因此,未 执行本机图像的防病毒扫描。
[0118] 图7示出了公开的系统和方法可根据示例性方面在其上实施的通用计算机系统 (其可为个人计算机或服务器)的实例。如图所示,计算机系统包括中央处理单元21、系统存 储器22和连接各种系统构件(包括与中央处理单元21相关联的存储器)的系统总线23。系统 总线23实现为从现有技术中获知的任何总线结构,依次包括总线存储器或总线存储器控制 器,外围总线和本地总线,其能够与任何其它总线构架交互。系统存储器包括永久性存储器 (R0M)24和随机存取存储器(RAM)25。基本输入/输出系统(BI0S)26包括确保信息在个人计 算机20的元素之间传输的基本进程,如,借助于R0M24加载操作系统时的那些程序。
[0119] 个人计算机20继而又包括用于读取和写入数据的硬盘27、用于在可移动磁盘29上 读取和写入的磁盘驱动器28以及用于在可移动光盘31,如⑶-R0M、DVD-R0M和其它光学信息 介质上读取和写入的光学驱动器30。硬盘27、磁盘驱动器28和光学驱动器30分别穿过硬盘 接口 32、磁盘接口 33和光学驱动器接口 34连接到系统总线23上。驱动器和对应的计算机信 息介质为用于个人计算机20的计算机指令、数据结构、程序模块和其它数据的储存的功率 独立模块。
[0120] 本公开内容提供了使用硬盘27、可移动磁盘29和可移动光盘31的系统的实施方 式,但应当理解的是,有可能使用其它类型的计算机信息介质56(固态驱动器、闪存卡、数字 盘、随机存取存储器(RAM)等),其能够储存可由计算机可读的形式的数据,其经由控制器55 连接到系统总线23上。
[0121]计算机20具有文件系统36,所记录的操作系统35、以及附加的程序应用37、其它程 序模块38和程序数据39被存储在其中。用户能够通过使用输入装置(键盘40、鼠标42)将命 令和信息输入个人计算机20中。其它输入装置(未示出)可使用:麦克风、操纵杆、游戏控制 器、扫描仪等。此类输入装置通常经由继而又连接到系统总线上的串行端口 46插入计算机 系统20中,但它们可以以其它方式连接,例如,借助于并行端口、游戏端口或通用串行总线 (USB)。显示器47或其它类型的显示装置也穿过接口如视频适配器48连接到系统总线23上。 除显示器47之外,个人计算机可配备有其它外围输出装置(未示出),如,扬声器、打印机等。
[0122] 个人计算机20能够在网络环境中使用,使用网络连接到一个或多个远程计算机 49。远程计算机(或多个计算机)49也是个人计算机或服务器,其
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1