应用程序身份和评定服务的制作方法

文档序号:7636407阅读:105来源:国知局
专利名称:应用程序身份和评定服务的制作方法
应用程序身份和评定服务发明领域本发明的各方面涉及在安装或执行软件代码之前在其中建立信任。 发明背景尽管用户和操作系统努力工作来阻止个人计算机成为恶意软件的温床,但情况仍是如此。所谓的恶意软件(例如,蠕虫、木马、自动下载(download)等)可 攻击计算机、删除文件、窃取个人信息、将其自身传播给用户的联系人、并且一般 使得没有疑心的用户感到困难。当计算机被恶意软件感染时,用户生产率因工作成 果的损失、计算机性能的损失、以及花费来试图清除混乱的时间而减少。这样的生 产率损失每年都花费个人和企业大量的时间和金钱。图2示出了计算机209的各个软件入口点。每一入口点呈现了恶意软件和其 它不合需要的软件被复制或安装到计算机209上的可能渠道。术语恶意软件用来指 有意恶意软件,且可包括计算机病毒(例如,蠕虫、特洛伊木马)、键击记录器、 广告软件、间谍软件、以及可能具有违背计算机209所属用户或公司的利益的邪恶 目的的其它程序。不是所有不合需要的软件都必然是恶意软件。这样的软件可能不具有邪恶的 目的,但可能具有不合需要的副作用。例如,某些公司不允许其雇员使用即时消息 通信软件,因为这样的软件可能会造成分心。父母和其它组织可能会觉得对等文件 交换网络不宜于在其计算机上,可能因为存在从下载感染计算机病毒的可能性。其 它善意软件可能被认为不合需要的其它理由包括过大的文件大小、过大的网络通信 量、系统不兼容、年龄不宜素材、或程序可能仅单单是令人讨厌的。回到图2,存在可经其下载、复制可执行代码或将可执行代码安装到计算机 209上的众多入口点。可能恶意软件和其它不合需要软件的最普遍来源就是因特网 201,无论其是未被过滤还是由防火墙202部分过滤的。可执行代码可经由web浏 览器、电子邮件程序、文件交换网络、即时消息程序、因特网中继聊天(IRC)和 连接至因特网的其它程序有意或无意地下载。通常,用户无意地启动从因特网下载
恶意软件(或可有意下载其它不合需要软件),尽管某些恶意软件可由黑客或另一计算机经由计算机209上的现有软件易受攻击性被注入到计算机209上。作为网络上的一员的计算机209的另一软件入口点是第二计算机203,它可经 由LAN连接直接或间接地连接。用户可启动从第二计算机203的文件复制,或第 二计算机203可自动将文件复制给计算机209。第二计算机203可以是由网络连接 的服务器或任何其它约定(compromised)计算设备。用户更可能信任来自其自身 网络内部的可执行代码,这是某些恶意软件所利用的潜在易受攻击性。恶意软件和其它不合需要软件的其它来源可包括个人数字助理204或其它同 步设备,诸如音乐播放器或蜂窝电话(未示出)。而且,诸如USB驱动器205或 外置硬盘驱动器(未示出)等便携式存储器设备也可以是软件的来源。软件的常规 来源,诸如DVDROM206、 CD ROM、软盘等也可包含不合需要的代码。最终, 甚至是有足够经验的用户210也有可能将恶意或不合需要的代码直接输入到计算 机210内,而不需要复制单个文件。这样的用户210可键入例如脚本,并执行它来 跟踪计算机209上所使用的所有键击或信用卡号。基于各自对计算机安全的注意程度,个人计算机用户的范围可被分成三个类 别。 一端是极端勤勉的用户。他们是运行防火墙和反病毒程序、迅速地应用补丁、 检查下载的数字证书、并在安装软件之前对其进行研究的用户。另一端则是毫不介 意的用户。他们是安装任何东西和每个东西、在不可信网络上交换文件、忽略安全 消息、其机器成为有益和恶意软件的名副其实的收藏馆的用户。在这些极端之间,存在总体上最大的一群用户。这些尽责的用户想要保持其 计算机安全,但或者没有时间致力于研究新软件或恶意软件,或者不能足够理解每 一安装决策的暗示。尽管这些用户有良好的意愿,但可轻易地哄骗他们来安装恶意 软件,有时甚至是在其不知情的情况下。甚至是避免了已知恶意软件骗局的用户也 因恶意软件的快速进化而不能避免某些软件。 一旦被感染,这些用户难以发现并移 除所有恶意软件的痕迹。最终,个人计算机的尽责的用户需要用于针对恶意软件来防护其计算机的新 方法和系统。他们需要能够作出关于安装新程序的可靠的决策,而不必浪费大量时 间来研究每一发布者和应用程序。他们需要可靠保持其计算机处于该机器在离开计 算机工厂时可能所处的已知的良好状态的方式。他们需要能够避免恶意软件制作者 所采用的欺骗和/或随软件而产生的其它问题,而不必成为软件专家。就对恶意软 件和其它不合需要软件问题的解决方案能够起效而言,必须能够保护计算机110 免受通过上述入口点中即使不是所有也是大多数而到达的软件的影响。 发明概述以下呈现了简化的概述以便提供对本发明的某些方面的基本理解。该概述不 是本发明宽泛的概观。它不旨在标识本发明的重要或关键元素,也不旨在描绘本发 明的范围。以下概述仅按照简化的形式呈现本发明的某些概念来作为以下更详细描 述的序言。本发明的第一方面允许对包含计算机可执行代码的文件授权。可建立授权策 略,它可包括对文件的一个或多个内容评定、文件的来源和发布者信息、和/或其 它证据的评估。内容评定可通过例如创建文件的密码散列并基于该散列查询评定服 务来寻找。除文件的散列以外,可为文件使用一个标识符或标识符的组合(例如, 公钥、应用程序名等)。本发明的第二方面考虑提供文件的评定。接收评定请求,它包括文件的密码 散列、其它标识符、或标识符的组合。可使用散列作为内容评定搜索的搜索关键字。 可基于任何找到的内容评定来生成回复。回复也可包括来源和/或发布者评定。以下将结合附图在说明性实施例的详细描述中讨论本发明的这些和其它方面。附图简述可通过结合附图参考以下描述来获取对本发明及其优点的更完整的理解,附 图中相同的参考标号指示相同的特征,附图中

图1是可用于本发明的说明性实施例的一个或多个方面的操作环境的功能框图;图2描述了本发明的说明性实施例提供的各种软件入口点;图3描述了本发明的说明性实施例提供的使用密码散列来创建内容专用标识符;图4描述了本发明的说明性实施例提供的排除不合需要的软件的分层方式;图5描述了本发明的说明性实施例提供的对软件评定服务的使用;图6是示出本发明的说明性实施例提供的用于对文件授权的方法的流程图;图7是示出本发明的说明性实施例提供的用于使用策略来评估文件授权的方 法的流程图8描述了本发明的说明性实施例提供的包括第三方评定的示例授权对话框;以及图9是示出如本发明的说明性实施例提供的用于为文件提供评定的方法的流 程图。说明性实施例的详细描述在对各个说明性实施例的以下描述中,对附图进行了参考,附图构成各个说 明性实施例的一部分,且其中经由说明来示出可在其中实现本发明的各个实施例。 可以理解,可利用其它实施例,且可进行结构上或功能上的修改,而不背离本发明 的范围和精神。尽管以下描述中的某些项目被说成连接或彼此连接,但应理解,这 些项目可被直接或间接连接。说明性操作环境图1示出了可在其中实现本发明的各方面的合适的计算系统环境100的示例。 计算系统环境100只是合适的计算环境的一个示例,并不旨在对本发明的使用范围 或功能提出任何限制。也不应该把计算系统环境100解释为对说明性计算系统环境 100中示出的任一组件或其组合有任何依赖性或要求。本发明可用众多其它通用或专用计算系统环境或配置来操作。适合与本发明 一起使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机(PC);服务器计算机;手持或其它便携式设备,诸如个人数字助理(PDA)、 图形输入板PC或膝上型PC;多处理器系统;基于微处理器的系统;机顶盒;可 编程消费者电子产品;网络PC;小型机;大型机;包含上述系统或设备中的任一 个的分布式计算机环境等。本发明的各方面可在诸如程序模块等由计算机执行的计算机可执行指令的通 用上下文中描述。 一般而言,程序模块包括例程、程序、对象、组件、数据结构等, 它们执行特定任务或实现特定抽象数据类型。本发明也可以在分布式计算环境中实 现,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程 序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。参考图1,说明性计算系统环境包括计算机IIO形式的通用计算设备。计算机 IIO的组件可以包括,但不限于,处理单元120、系统存储器130和将包括系统存 储器130在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121 可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围
线和使用各种总线体系结构中的任一种的局部总线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、扩 展的ISA (EISA)总线、视频电子技术标准协会(VESA)局部总线、高级图形端 口 (AGP)总线、和外围部件互连(PCI)总线(也被称为Mezzanine总线)。计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算 机110访问的任何可用介质,诸如易失性和非易失性、可移动和不可移动介质。作 为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机 存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、 程序模块或其它数据等信息的易失性、非易失性、可移动和不可移动介质。计算机 存储介质包括,但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电 可擦可编程ROM(EEPROM)、闪存或其它存储器技术、紧致盘ROM(CD-ROM)、 数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存 储设备、或能用于存储所需信息且可以由计算机UO访问的任何其它介质。通信介 质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、 数据结构、程序模块或其它数据,且包含任何信息传递介质。术语"已调制数据信 号"指的是这样一种信号,其一个或多个特征以在信号中对信息编码的方式被设定 或更改。作为示例,而非限制,通信介质包括诸如有线网络或直接线连接的有线介 质,以及诸如声学、射频(RF)(例如,蓝牙、WiFi、 UWB)、光学(例如,红外线)和其它无线介质的无线介质。任何单个计算机可读介质以及多个计算机可读 介质的任何组合也旨在被包括在术语计算机可读介质的范围之内。系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,诸 如ROM 131和RAM 132。基本输入/输出系统133 (BIOS)包含有助于诸如启动 时在计算机110中元件之间传递信息的基本例程,它通常被存储在ROM 131中。 RAM132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序 模块。作为示例,而非限制,图l示出了计算机可执行指令形式的软件,包括操作 系统134、应用程序135、其它程序模块136和程序数据137。计算机110也可以包括其它计算机存储介质。仅作为示例,图1示出了从不 可移动、非易失性磁介质中读取或向其写入的硬盘驱动器141,从可移动、非易失 性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如CD-ROM、 DVD或 其它光学介质等可移动、非易失性光盘156中读取或向其写入的光盘驱动器155。 可以在说明性操作环境下使用的其它计算机存储介质包括,但不限于,盒式磁带
闪存卡、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由诸如接 口 140的不可移动存储器接口连接至系统总线121,磁盘驱动器151和光盘驱动器 155通常由诸如接口 150的可移动存储器接口连接至系统总线121。以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算机 110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在 图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块 146和程序数据147。注意,这些组件分别可以与操作系统134、应用程序135、其 它程序模块136和程序数据137相同或不同。操作系统144、应用程序145、其它 程序模块146和程序数据147在图1中被分配了不同的参考标号是为了说明它们可 以是不同的副本。用户可以通过输入设备,诸如键盘162和定点设备161 (通常指 鼠标、跟踪球或触摸垫)向计算机110输入命令和信息。这样的输入设备可提供压 力信息,不仅提供输入位置也提供点击或触摸设备时所施加的压力。其它输入设备 (未示出)可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些 和其它输入设备通常由耦合至系统总线121的用户输入接口 160连接至处理单元 120,但也可以由其它接口或总线结构,诸如并行端口、游戏端口、通用串行总线 (USB)、或IEEE 1394串行辟线(FIREWIRE)连接。监视器184或其它类型的 显示设备也经由接口,诸如视频接口 183连接至系统总线121。视频适配器183除 其本身的专门处理器和存储器以外,还可具有高级2D或3D图形能力。计算机110也可包括允许用户使用指示笔186来提供输入的数字化仪185。数 字化仪185可被集成到监视器184或另一显示设备内,或作为诸如数字化仪板等单 独设备的一部分。计算机110也可包括诸如扬声器189和打印机188等其它外围输 出设备,它们可通过输出外围接口 187连接。计算机110可使用至一个或多个远程计算机,诸如远程计算机180的逻辑连 接在网络化环境下操作。远程计算机180可以是个人计算机、服务器、路由器、网 络PC、对等设备或其它常见网络节点,且通常包括以上相对于计算机110描述的 许多或所有元件,尽管在图1中只示出存储器存储设备181。图1中所示逻辑连接 包括局域网(LAN) 171和广域网(WAN) 173,但也可以或者替换地包括其它网 络,诸如因特网。这样的联网环境在家庭、办公室、企业范围计算机网络、内联网 和因特网中是常见的。当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连接至 LAN 171。当在WAN联网环境中使用时,计算机110可包括调制解调器172或用
于在诸如因特网等WAN173上建立通信的另一装置,它可以是内置或外置的,可 以通过用户输入接口 160或其它合适的机制连接至系统总线121。在网络化环境中, 相对于计算机110描述的程序模块或其部分可以被远程存储,诸如存储在远程存储 设备181中。作为示例,而非限制,图1示出了远程应用程序182驻留在存储器设 备181上。可以理解,所示的网络连接是说明性的,且可以使用在计算机之间建立 通信链路的其它手段。应用程序身份对计算机可执行代码的准确识别允许与文件名无关地正确标识软件。计算机 110上的计算机可执行代码实际上总是被存储在常规计算机文件中,无论是存储在 硬盘驱动器141上还是被存储在另一形式的存储器中。每一文件可配备文件名,文 件名一般是可读的,且提供关于文件内容的某些引导。然而,文件名可被轻易改变 而不是标识文件内所存储的可执行代码的可靠方式。甚至具有相同文件名的相同文 件可具有更新和修订,使得相同名字的文件(例如,winword.exe)的内容可包含 完全不同的可执行代码。而且,熟悉的应用程序内的代码可被数字地修改和损害, 将恶意代码直接注入到底层程序内。使用文件内容的散列提供了标识文件的更可靠、内容专用的方式。更可靠地标识文件的其它方式可包括使用文件名、文件大小、相关联公钥、或其某些组合。密码散列是计算机安全专业人士之间公知的一个内容专用工具。它们通常被用于创建数字签名、用于保证报文和文件确实来自其声称的来源。密码散列实质上是数字指纹,其可基于文件的内容。文件名可被忽略。尽管黑客可轻易地模仿文件名,但 实际上不可能以经修改的版本来模仿文件内容同时维持相同的密码散列。图3示出本发明的说明性实施例提供的使用密码散列来创建内容专用标识符。所利用的散列可以是诸如SHA-1或MD-5等任何公知散列函数的产物,或可以是任何实际上唯一的内容专用散列函数的产物。这些散列函数取得一报文,即文件的数字内容,使其通过标准化的数学函数来创建摘要(digest),即数字指纹,它可以是128位、160位或任何其它大小的数据块。报文中的小量改变将创建完全不同的摘要,而摘要除文件身份以外不提供关于文件内容的任何有用信息。具有完全相同的内容的两个文件(不附带任何其它数据)将产生完全相同的摘要。两个不同的文件具有完全相同的摘要的可能性无穷小,以便创建实际上唯一的依赖于内容的标识符。为包含可执行代码的文件创建唯一摘要的过程和产物此处可被称为应用程序 身份。在图3中所示的说明性实施例中,报文301是具有某一大小和内容的文件 "GoodFile.exe"。该文件的数字内容包括可执行代码,它们是被认为是善意的代 码。使文件内容通过散列函数305产生128位的摘要311。伪造报文302是名为 "GoodFile.exe"的文件,但不确定它是否是同一文件。首先,伪造报文302具有 不同的大小,这是其内容与报文301不相同的容易的指示。当伪造报文302的内容 运行通过相同的散列函数305时,它产生完全不同的摘要302。由于摘要中的这种 差异,现在可确定伪造报文302不包含与报文301相同的内容。伪造报文303提出 了更大的挑战。该文件具有相同的文件名,以及以字节计完全相同的大小。它甚至 与报文30内的代码看上去非常像。然而,恶意代码段320被注入到该文件内,替 换某些代码,使得文件大小相同。然而,使该代码运行通过相同的散列函数305 将产生不同的摘要313。再一次,由于摘要中的这种差异,确定伪造报文303不是 与报文301相同的"GoodFile.exe"。可对已知包含善意可执行代码的所有计算机文件计算这样的散列函数。摘要 的这种列表此处被称为允许列表。同样地,可对已知包含恶意可执行代码的所有文 件计算散列函数,此处被称为排除列表。这些列表可能不仅包括已知的应用程序, 也可包括包含动态链接代码的文件、包含脚本的文档以及包含潜在不合需要的计算 机指令的任何其它文件。拥有己知可执行代码的允许列表和排除列表使计算机能够 生成最近下载或复制的文件的摘要,并将其与已知摘要的目录进行比较。以此方式, 可不必逐行分析文件内所包含的指令或依赖于其它证据而将伪造应用程序和已知 坏代码排除在执行之外。仅拥有已知摘要列表可能不足以将所有坏代码排除在被安装在计算机上或在 计算机上执行之外。在世界各地的因特网服务器和CD ROM上驻留着数百万个包 含可执行代码的文件。每天都编写了新的可执行代码,有好的有坏的。维护已知摘 要的列表是起点,但需要附加证据来判断所下载或以其它方式安装在计算机上的可 执行代码是否不合需要。这样的附加证据可包括下载软件的位置,诸如网络地址或其部分(例如,因 特网协议(IP)地址或IP地址的一部分)和/或域或域的一部分(例如,malware.com)。 证据也可包括所下载或复制的任何经数字签署的代码的公钥。关于代码来源的每一 证据也可与各种允许列表和/或排除列表进行比较,这些列表用于己知为好或坏的 IP地址(或IP地址的一部分)、已知为好或坏的域(或域的一部分)、和/或已知
为好或坏的证书签署者。尽管不如评估文件本身来得可靠,但是检査可执行代码的 来源和签名可提供关于是否应运行、下载或复制代码的进一步证据。此外,关于文 件标识符(或多个标识符)的证据的组合可用于提供更强有力形式的证据。最终,各个计算机用户可基于应用程序身份、来源、和签名以及其它证据为 自己制定策略。他们可将其计算机配置成自动排除某些文件和自动安装其它文件。 未达到某些阈值的那些文件可能需要向用户示出对话框来要求他或她来决定他们 是否信任该安装。然而,如果运气好的话,这些对话框将是最小限度的,以便不打 扰用户以及丢失所有有效性。以下描述了更多关于这样的信任策略的内容。图4示出了本发明的说明性实施例提供的从计算机110排除不合需要的软件的分层方法的示例。公司计算机用户405正使用计算机110,该计算机经由公司服 务器401并经由因特网服务供应商(ISP) 402连接至因特网403。所示连接仅是代 表性的,因为其它计算机、路由器、网络设备、调制解调器等可被连接在所示设备 之间。每一设备402、 401、 110具有软件412、 411和410,并实现了排除策略, 各自使用关于软件从因特网403进入的证据。各自可使用如上所述的应用程序身份 以创建摘要,然后将摘要与各个允许列表和排除列表进行比较。每一设备上的软件 412、 411、 410也可使用关于每一传入软件的来源和公钥的证据,再次使用可包括 选择性允许或排除文件的相关联证据的允许列表和排除列表。可在不同级别上制定 不同的策略以便考虑各种因素,诸如更新的频率、处理能力等。文件A-E各自或者为计算机110所请求或者被发送给计算机110,或者作为 电子邮件的附件或者作为这种或那种的因特网下载。在ISP402处,可对安装在一 个或多个服务器上的软件检查在传递给其顾客的所有因特网通信之间是否有特定 的文件。该软件可对所有文件执行散列,并评估来源IP地址或IP地址的一部分、 公钥和域。然而,考虑到ISP 402处理的通信量,可能仅能评估IP地址和域。为 每个传入文件建立摘要的计算上的要求对ISP 402而言可能过大而无法处理,因此 可与其它文件标识符组合来利用其它形式的证据。此外,这样的计算所引起的延迟 可能不合乎最终用户405的需要,尤其对用户特别请求的下载而言。在了解到从特 定IP地址传入的所有东西总是恶意的情况下,即使使用粗略的搜索,ISP402也能 够排除文件B。在ISP级进行的任何文件过滤可能仅是最乐观的,允许大多数文件, 而仅排除其证据与允许它们相比是压倒性的那些文件。这可包括例如电子邮件蠕虫 和特洛伊木马。一旦文件A和C-E由公司服务器401接收,可再次基于摘要、来源和/或公钥
来评估它们。在此级别上,计算上的要求可允许散列计算,且可将文件与包括附加 形式的证据的各个允许列表和/或排除列表进行比较。公司服务器401可不仅排除 己知的坏文件,也可为公司策略原因而排除某些文件。例如,使用应用程序身份,公司服务器401可作为规则来排除因特网聊天程序或即时消息程序。以此方式,公 司服务器401首先就阻止用户405下载被禁文件,更不用说安装它了。此外,在公 司级别,在允许列表或排除列表上均未出现的应用程序可被传递给用户。此处,可 为策略原因而排除文件A,可能因为它是游戏。而未在任何列表上识别出文件D, 因此它被允许通过。最后,在文件C和D到达计算机110时,它们已经由另外两层保护在粗略的 水平上进行了评估。在计算机110上操作的软件410能够评估关于文件C和D的 进一步证据。应用程序C被允许安装在计算机110的存储415上,因为其摘要出 现在可安装应用程序的允许列表上。未被公司服务器401识别的文件D可能不出 现在计算机110上的任何已知列表上。然而,由于地址的来源域被认为是可疑的, 因此设置在计算机IIO上的策略排除了文件D。评定服务尽管图4中所提供的设置因其多级别的保护而被优选,但可能不向驻留在小 型企业、家庭以及落后公司中的计算机给予附加层次的保护。这些机器上的软件可 能必须迸行与允许和排除文件相关联的所有工作。因此,这些计算机需要关于文件、 IP地址(IP地址的一部分)、公钥、和域(或域的一部分)的可信信息源。图5示出本发明的说明性实施例提供的计算机110对软件评定服务的使用。 计算机用户405意欲允许计算机110上的软件使用允许列表和排除列表,以便选择 性地排除或允许软件被安装或复制到计算机110上。计算机用户405刚下载了包含 可执行代码的可疑文件501 "Unknown.dll"。计算机110使用散列函数305生成数 字指纹502。此外,计算机110收集下载的时间和日期、来源IP地址(或IP地址 的一部分)和来源域名(或域的一部分)形式的关于可疑文件501的一个或多个证 据。这样的附加证据可包括关于可疑文件501的公钥的信息。在将文件从不位于因 特网上的另一设备复制到计算机110的情况中,关于来源的可用信息可能较少。计算机用户405当安装软件来过滤可执行代码时,可能从经由诸如内联网或 因特网等网络提供的评定服务510、 511、 512的总体中选择了一评定服务。或者, 该软件可能己经在计算机110从工厂装运之前由原始设备制造商(OEM)安装。 在任一情况中,可为用户或由用户预选了评定服务。评定服务是各个软件文件和/或软件来源的信任建议的提供者。评定服务可向 计算机110提供完整的允许列表和/或排除列表。或者,计算机110可査询评定服 务,提供关于文件的标识符和大量证据,并从评定服务得到带有建议的回复。在任一情况中,用户、OEM或公司的IT部门选择了评定服务,因为他们信任评定服务 的所有者将作出准确且可信的选择。评定服务可由连接提供者510、软件或硬件厂商511、或第三方提供者512 (计 算机110与之没有关系)来创建和维护。评定服务的连接提供者可包括计算机110 所属公司的公司IT部门、提供因特网连接的因特网服务供应商、或诸如防火墙厂 商等网络软件厂商。基于其与计算机110的现有关系,软件或硬件厂商511可以是 评定服务的提供者。操作系统(OS)厂商可随操作系统一起提供过滤文件的软件、 且可使用允许列表和/或排除列表预填充计算机110。此外,OS厂商(例如, Microsoft、 RedHat、 Apple)可对列表提供更新以及处理评定服务查询。同样地, OEM厂商(例如,Dell、 Toshiba)可提供这样的软件并提供评定服务。最后,可 单独封装用于过滤文件的软件,销售该软件的厂商可提供评定服务。在每一情况中, 计算机110应具有在先信任关系的组织可承担向计算机110提供更新后的评定服务 的责任。评定服务的第三方提供者512可包括用户405信任的在线团体和出版者。这 可包括己经对软件和产品评定的出版者(例如,CNET、 PC Magazine、 Consumer Reports、 Jack & Jill Magazine)、在线利益团体(例如,MSDN、 Slashdot、教会、 专业社团等),或其它可信信息提供者(例如,Symantec、 McAfee)。此外,用 户群体可联合在一起并形成他们自己的评定服务,使用白列表和排除列表。评定服务510、 511、 512向计算机110提供关于包含可执行代码的各个文件 以及文件来源的信息。这种信息可被存储在数据库、平面文件、网页、或其它结构 化的存储介质中。可基于所计算出的散列摘要或其它标识符来对文件进行索引。当 计算机110查询评定服务时,该查询包括该可疑文件的摘要(这可由计算机110 计算)或其它标识符,可能附带来源和公钥信息。响应于该查询,评定服务可将从 计算机110接收的摘要用作搜索关键字来执行对该文件的建议的搜索。基于其自身 的信息源(例如,其它用户的反馈或经验、社论性和/或技术上的评估等),评定 服务可提供内容评定形式的建议作为响应。评定服务也可对数据库(或其它结构化存储)搜索来源IP地址或其部分、域、
或发布者(从证书中得到)、或公钥。基于其自己的信息来源(例如,对来自该来 源的其它文件、原产地、保密策略等的经验),评定服务可提供来源评定作为内容 评定的替换(或附加)。可预期肯定或反对特定文件的坚实的内容评定将比来源建议更有力,但来源评定可提供足够的信息供计算机110和/或用户405来决定是否要安装或运行该文件。评定服务可能能够提供可由授权策略在确定是否要安装或运行时使用的关于文件的附加信息。这可包括以下该文件是否被推荐?该文件是否没有病毒?该文 件是否提供标准化的添加/移除选项?该文件是否重写如防火墙端口或文件关联等 系统设置?该文件是否默认自动更新?该文件是否使用保密保证?该发布者是否 被推荐?与该文件相关联的风险多大?该文件是否为传入连接监听端口?该文件 是否会自动改变防火墙设置来监听端口?是否存在该应用程序社论性的评论?是 否存在关于发布者的保密准则的更多的信息?评定服务所面对的一个难点在于在用户安装应用程序之后发生的软件的持续更新和打补丁。例如诸如Windows XPTM等操作系统可请求定期的更新和补丁以提供新功能或修补隐错和安全漏洞。每一新补丁可具有新的依赖于内容的标识符, 极大地扩张了所跟踪的软件的数据库的大小,这有可能是不必要的。评定服务可跟 踪一系列相关软件,而不跟踪个别更新或补丁。例如,所接收的査询可不仅包括更 新的标识符,还包括被更新的软件的标识符。此外,所接收的查询可包括更新或补 丁以及底层软件的签署发布者。如果这些软件均由同一发布者签署,且该发布者可 信,则可向更新提供肯定的评定而无需实际对其评估。这可使评定服务免于评估每 一补丁或更新。图6示出本发明的说明性实施例提供的使用评定服务对文件授权的方法。当 在计算机110内检测到包含可执行代码的新文件时,在步骤601处存储关于该文件 的信息,这可包括关于发布者、来源、下载时间、文件大小以及可协助安装或应用 程序执行决策的其它证据的信息。在步骤602处,计算机110确定该文件的一个或 多个依赖于内容的标识符,可能使用SHA-1、 MD-5、或类似的散列函数来生成实 际上唯一的依赖于内容的标识符。在步骤603处,汇编査询以发送给一个或多个评 定服务,以便获得内容评定。该查询可包括XML或HTML段,它包括依赖于内 容的标识符、来源和公钥信息、下载时间等。查询中所提供的信息可主要用于确认 该可疑文件的身份,且有希望从一个或多个评定服务取得最准确的评定。査询可替 换地采用众多其它形式之一,包括预定文本或二元査询。 一个或多个评定服务可按
照响应的形式提供关于该文件的证据。在步骤604处,计算机110针对安装或执行策略来评估文件。这些策略可由用户、公司所有者、硬件厂商、操作系统厂商、或某些其它相关方配置。在某些情况中,策略可包括用户查询。如果在判定605处使用策略来对该文件授权,则将存 储授权的事实。存储该授权可能是重要的,因为当实际取回可执行代码来运行或实 际处理可执行代码时,可重新检查该可执行代码来查看它是否被授权。因为不是进 入计算机110的每个可执行代码都必然被发觉(例如,当它由用户经由键盘输入 时),因此每当代码运行时可能需要对代码检査其授权。这样的检査可被安装在计 算机内的较低层次上,诸如操作系统中。具有这样一个步骤将确保将仅运行预授权 的代码。如果授权策略未对文件授权,则在步骤607处,将对该文件进行检疫。这 可能意味着它将被删除或对其进一步检查恶意代码。无论如何,该文件在没有进行 更多调查的情况下不能运行,或在没有附加形式的证据的情况下仅能够在受限模式 中运行。图7示出本发明的说明性实施例提供的使用策略来评估文件授权的方法。此 处,计算机IIO收集了关于最近被添加的文件的证据。在步骤701处,计算机IIO 检查第一大量证据来确定授权。可能存在证据的分级。例如,可首先检查步骤702 处的内容评定,接着可检查步骤703处的发布者,然后可检查步骤704处的源地址。 可使用附加证据,诸如以上列出的评定服务所提供的附加信息。在判定705处,针 对所实行的策略评估每一单独证据或证据的组合。如果所检査的第一证据是基于内 容的一个或多个评级,且所查询的评级服务均未提供任何有用证据,则可能需要附 加证据。在判定710处,如果存在可挽救(salvage)程序的可用的附加证据,则计 算机110可重新评估该策略。如果没有可用的其它证据,则在步骤709处该文件不 被授权。回到判定705处,如果确定基于策略要对该文件授权,则在步骤706处, 该文件被授权。如果策略确定不清楚是否应对文件授权,则在步骤707处,可向用 户呈现对话框,来提供包括所述文件的内容评级在内的信息。在判定708处,用户 然后决定是否要对文件授权。策略可由个别用户制定或可在企业级别上制定以实施公司软件策略。策略也 可默认由计算机制造商或者操作系统或文件过滤软件的供应商来制定。而且,用户 或企业管理者可通过访问多个评级服务网站或提供对若干不同评级服务的访问的 单个网站来与评定服务签约。对策略进行配置可要求向用户提供复杂的界面,该界面足够灵活以提供复杂规则的分层结构。经配置的安全策略的示例可如以下(1)
信任Microsoft签署的所有软件,(2)信任为PC Magazine所知且推荐的所有软件 (不需要签名),(3)向用户提示其它经签署的软件,以及(4)拒绝所有其它未 经签署的软件。当然会产生多个评定服务之间的评定冲突(例如,CNET说一软件 是好的,但Slashdot说它是坏的)。协调这些冲突可要求可配置策略,诸如上述优 先权系统。替换策略可包括,仅允许所有订阅的评定服务均批准的软件、对来自特 定评定服务的评估或特定出版者的评估加权等。图8示出了根据本发明的说明性实施例,计算机110所提供的包括第三方评 定在内的示例授权对话框801。当用户的授权策略需要时,对话框801将询问他们 是否愿意对特定文件803授权。如果运气好的话,对这样的对话框的使用将是最小 限度的,以便不干扰用户。对话框801包括关于文件803的信息、程序的评定服务 评论802、以及授权或拒绝安装的按钮804、 805。当先前未被授权的可执行代码正 首次试图执行、正被安装在计算机110上、或正被传递给计算机110时,可使用类 似于对话框801的对话框。此外,当可执行代码首次试图访问或修改计算机110 的敏感方面,包括但不限于改变浏览器起始页、访问一网络、写入特定注册表键项 等时,可使用这样的对话框。图9示出本发明的说明性实施例所提供的用于为文件提供评定的方法。评定 服务可使用类似于此处所述的方法的一种方法来提供内容和来源评定。如上所述, 评定服务将维护评定数据库。当用户想要安装或运行文件时,计算机110可使用预 定格式(例如,XML或HTML)向评定服务发出查询,查询包括一个或多个实际 上唯一的依赖于内容的标识符。查询也可包括文件来源信息。在步骤卯1处,评定 服务接收查询,在步骤902处,使用该一个或多个依赖于内容的标识符作为搜索关 键字来搜索内容评定。如果在判定903处找到评定,则在步骤904处,将内容评定 信息添加到回复。如果在判定905处,有关于文件来源的信息可用,则在步骤906 处,将来源信息添加到回复。在步骤907处,上述种类的任何附加信息被添加到回 复。而在步骤908处,该回复被发回到计算机110。尽管关于包括实现本发明的目前的优选模式在内的特定示例描述了本发明, 但本领域的技术人员可以理解,存在落入如所附权利要求书中所述的本发明的精神 和范围内的上述设备和技术的众多变型和排列。除非在权利要求元素中包括了短语 "装置用于"、"步骤用于"、或"多个步骤用于",否则该元素不应被解释为按 照装置加功能格式。而且,方法权利要求中数字标记的步骤仅用于标记的目的而不 应被解释为要求步骤的特定顺序。
权利要求
1.一种用于对包含计算机可执行代码的文件授权的计算机实现方法,所述方法包括建立授权策略;确定所述文件的依赖于内容的标识符;搜索关于所述文件的证据,其中所述搜索包括基于所述依赖于内容的标识符的搜索;使用所述授权策略确定所述文件是否被授权。
2. 如权利要求l所述的方法,其特征在于,所述搜索证据包括査询一个或多 个评定服务。
3. 如权利要求1所述的方法,其特征在于,所述搜索证据包括搜索允许列表 或排除列表的至少之一。
4. 如权利要求l所述的方法,其特征在于,还包括搜索关于所述文件的证据,其中所述搜索是基于所述文件的签名发布者的。
5. 如权利要求l所述的方法,其特征在于,还包括 搜索关于所述文件的证据,其中所述搜索是基于所述文件的源地址的。
6. 如权利要求5所述的方法,其特征在于,所述搜索证据的集合包括搜索IP 地址的至少一部分。
7. 如权利要求5所述的方法,其特征在于,所述搜索证据的集合包括搜索域 名的至少一部分。
8. 如权利要求l所述的方法,其特征在于,所述依赖于内容的标识符包括对 所述文件的内容的密码散列。
9. 如权利要求l所述的方法,其特征在于,还包括 响应于所述文件被计算机接收,评估所述授权策略。
10. 如权利要求l所述的方法,其特征在于,还包括响应于所述文件被授权的判断,存储所述经授权文件的授权。
11. 一种用于提供文件评定的计算机实现方法 接收包括所述文件的依赖于内容的标识符的评定请求;搜索关于所述文件的证据,所述搜索包括基于所述依赖于内容的标识符的搜索;以及提供对所述评定请求的回复,所述回复包括对所述文件的所述评定。
12. 如权利要求9所述的方法,其特征在于,所述依赖于内容的标识符包括 对所述文件的所述内容的密码散列。
13. 如权利要求9所述的方法,其特征在于,所述评定请求还包括所述文件 的源地址,所述方法还包括-搜索对所述源地址的评定,所述搜索是基于所述文件的所述源地址的。
14. 如权利要求9所述的方法,其特征在于,所述评定请求还包括作为所述 文件的信息、用于签名所述文件的所述公钥,所述方法还包括搜索对所述文件发布者的评定,其中所述搜索是基于所述公钥信息的。
15. 如权利要求9所述的方法,其特征在于,所述回复还包括关于所述文件 的保密信息、关于所述文件的卸载信息、关于所述文件的病毒信息、或关于所述文 件的自动更新信息的至少之一。
16. —种用于对包含计算机可执行代码的文件授权的系统,所述系统包括 存储元件,被配置成存储所述文件和关于所述文件的信息;以及 耦合至所述存储元件的处理器,被配置成确定所述文件的依赖于内容的标识符,使用所述依赖于内容的标识符在证据的集合中搜索关于所述文件的信息,并基 于搜索结果和授权策略确定所述文件是否被授权。
17. 如权利要求16所述的系统,其特征在于,所述依赖于内容的标识符是对 所述文件的所述内容的密码散列。
18. 如权利要求16所述的系统,其特征在于,所述处理器还被配置成在所述 存储元件中存储关于所述文件来源的信息,搜索关于所述文件来源的信息,并基于 来源搜索结果和授权策略确定所述文件是否被授权。
19. 如权利要求16所述的系统,其特征在于,所述处理器还被配置成在所述 存储元件中存储关于所述文件发布者的信息,其中所述发布者是基于与所述文件相 关联的公钥来确定的。
20. 如权利要求19所述的系统,其特征在于,所述处理器还被配置成形成包 含所述依赖于内容的标识符的查询,将所述查询发送给一个或多个评定服务,并从 所述一个或多个评定服务接收对所述文件的评定。 -
全文摘要
允许使用计算机上的文件的密码散列或其它标识符来找到一个或多个内容评定来对该文件授权。内容评定结合来源和发布者评定,被用于针对用户、制造商、或公司IT部门设置的授权策略对文件进行评估。因低评定而受到怀疑的文件不被授权运行在计算机上。只能找到很少信息的文件被留给用户来决定是否授权。评定服务基于社论性或用户的评论来提供聚集的内容评定,并基于正被评估的文件的密码散列来对其可搜索评定进行索引。评定服务提供允许列表和排除列表,或可提供对包含文件的密码散列的查询的个别响应。
文档编号H04N7/173GK101164333SQ200680006936
公开日2008年4月16日 申请日期2006年3月9日 优先权日2005年3月22日
发明者A·G·古纳雷斯, A·库普萨米, E·E·S·墨菲, R·E·安德斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1