首页> 中国专利> 反恶意软件签名的动态选择和加载

反恶意软件签名的动态选择和加载

摘要

一种反恶意软件系统基于指示什么签名与其当前环境中的主机相关的数据源的集合来动态地加载和卸载附加的恶意软件检测签名。签名选择器组件确定应当加载什么相关的签名。签名选择器组件或个别地、或组合地使用多种数据源来确定可用的恶意软件检测签名的相关性。反恶意软件系统基于可用信息动态地确定可用恶意软件检测签名和签名类中的哪些是相关的并且应被提供给机器。在威胁变得相关时,从一个或多个源自动地获得和加载恶意软件检测签名。可以阻挡程序或应用访问文件,直到相关的恶意软件检测签名已被加载到机器上为止。

著录项

  • 公开/公告号CN104798080A

    专利类型发明专利

  • 公开/公告日2015-07-22

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201380058838.X

  • 申请日2013-11-14

  • 分类号

  • 代理机构上海专利商标事务所有限公司;

  • 代理人段登新

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 10:02:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-18

    授权

    授权

  • 2017-11-03

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

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

  • 2015-08-19

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

    实质审查的生效

  • 2015-07-22

    公开

    公开

说明书

背景

反病毒程序保护计算机平台不受数目不断增加的威胁所攻击,威胁诸 如病毒、蠕虫、特洛伊木马、间谍软件、广告软件及其他恶意软件。恶意 软件一般是被设计成中断或破坏计算机操作、收集个人或机密信息或者提 供对计算机系统的未经授权的访问的软件、代码、脚本或其他内容。反恶 意软件应用,诸如反病毒软件,使用恶意软件检测签名来标识恶意软件并 从受感染的机器中移除恶意软件,或者检测恶意软件并且阻止恶意软件被 加载到机器上。反恶意软件应用使用已存储的恶意软件检测签名的列表来 检测恶意软件。这些签名包括例如用于标识恶意软件的特征,包括可以在 机器上何处找到恶意软件。现有的方案通过加载所有已知威胁的签名或者 使用这些签名的固定子集来解决这一问题。

然而,随着威胁列表的增长,可能难以防御所有潜在的威胁并且标识 哪个子集应当用于特定机器。为了减少恶意软件检测签名所需的存储空间 量,对于给定机器仅防御相关的威胁是有利的。然而,由于许多计算机平 台和体系结构的联网性质,相关威胁的列表通常不仅仅包括能够运行于给 定计算机平台和体系结构上或者被定向至该给定计算机平台和体系结构的 威胁。相关威胁的列表而是还包括对于网络或用户环境中的其他机器的威 胁。

概述

提供该概述以便以简化形式引入概念的选集,这些概念的选集在以下 详细描述中进一步描述。该概述不意图标识所要求保护的主题的关键特征 或必要特征,也不意图用于限制所要求保护的主题的范围。

本文公开的反恶意软件应用改变了加载签名的方式,使得仅相关的恶 意软件检测签名才被该应用使用。已更新签名加载模块不仅与静态本地签 名一起工作;它能够从多个源加载签名。此外,新签名选择器组件确定应 当加什么相关签名。签名选择器组件可以或单独地、或组合地利用多种数 据源来确定可用的恶意软件检测签名的相关性。

在一实施例中,除了监控能运行于给定计算机平台或体系结构上或被 定向至该给定计算机平台或体系结构的威胁之外,反恶意软件系统基于指 示什么签名与其当前环境中的主机相关的数据源的集合来动态地加载和卸 载附加的恶意软件检测签名。确定各个恶意软件检测签名的相关性的信息 包括但不限于:机器操作系统、平台体系结构、已安装的软件、同一网络 中其他机器上的最近检测、机器的补丁级别、管理员选择以及全局威胁数 据。

反恶意软件系统基于可用信息动态地确定可用恶意软件检测签名及签 名类中的哪些是相关的并且应当被提供给机器。当威胁变得相关时,从一 个或多个源自动获得和加载恶意软件检测签名。在一实施例中,阻挡程序 或应用访问文件,直到相关的恶意软件检测签名已被加载到机器上为止。

在各个实施例中,确定什么恶意软件检测签名是相关的可以包括例如: 本地系统配置(诸如硬件和软件简档)、来自同一网络上的其他机器或用 在同一组织内的检测数据、或手动确定或通过遥测自动确定的各威胁间的 相关。来自生态系统的遥测也可用于提供基于云的服务来标识恶意软件检 测签名的全局相关性和地理相关性。

附图简述

为了进一步阐明以上内容以及本发明实施例的其他优点和特征,将参 照附图呈现本发明实施例的更具体描述。可以理解,这些附图仅描述了本 发明的典型实施例,因此不被视为限制其范围。本发明将通过使用附图以 附加的具体和细节来描述和说明,附图中:

图1是根据一实施例的运行基于签名的反恶意软件应用的计算机平台 或机器的框图。

图2是根据一些实施例的用于加载相关恶意软件检测签名的方法或过 程的流程图。

图3说明了在一些实施例中的合适的计算和联网环境的示例,在该计 算和联网环境上可以实现一种用于自动确定和加载相关恶意软件检测签名 的系统。

详细描述

图1是根据一实施例的运行基于签名的反恶意软件应用102的计算机 平台101或者机器的框图。计算机平台或机器101可以是任何基于处理器 的设备,诸如服务器、台式机、或者膝上型计算机、平板计算机、智能电 话、个人数字助理、销售点设备、终端、远程信息处理装备等等。动态签 名加载器103具有基于来自签名选择器105的指令在进行中(on the fly) 将签名添加至恶意软件扫描器104的能力。动态签名加载器103包括通过 搜索一个或多个签名库来定位当前未被加载到恶意软件扫描器104上的签 名的能力。在最简单的情况下,动态签名加载器103自本地存储106加载 签名,本地存储106诸如本地高速缓存、驱动器或盘。动态签名加载器103 还加载使签名可用于扫描所需的任何附加数据。

在其他实施例中,动态签名加载器103能够从多个源获得它所需要的 签名和任何相关数据。动态签名加载器103可以例如在本地盘106处启动, 然后查询附加的位置以便针对相关签名提供更全面和更广阔的搜索。

例如,在ARM机器查找x86恶意软件检测签名的情况下,如果x86 签名在存储106中非本地可用,则动态签名加载器103可以查询本地网络 签名服务器107或联系由反恶意软件提供商所维护的中央签名服务器或存 储108。动态签名加载器103可以甚至发起到本地网络上另一机器109的对 等(peer-to-peer)请求以便从另一机器的本地存储中获得所需的签名。

此外,动态签名加载器103支持加载签名的类或者签名的相关集合。 签名的这些类或相关集合可由与给定签名所检测的恶意软件相关联的平台 来标识。例如,用于Win32平台的签名的类与Win32/Alureon数据偷窃特 洛伊族相关联。另一签名类例如可以基于受恶意软件所影响的软件的类型, 恶意软件诸如利用.docx文件的恶意软件。

相关签名选择器105使用来自机器101(诸如系统配置和简档数据 110)、本地网络(诸如本地服务器107)以及云111的数据来确定动态签 名加载器103应当加载什么签名。签名选择器105可以基于签名的静态和/ 或动态属性来选择要加载的个别签名或者签名类。

云遥测111可用于在全局范围内聚集恶意软件数据。该全局数据可用 于确定应当为当前活动的恶意软件加载哪些签名。在一实施例中,云系统 111聚集恶意软件数据并且将该数据提供给签名选择器105供解译。通过使 用聚集的恶意软件数据,签名选择器105可以作出与加载哪些签名有关的 详细决定并且可以使用该数据来支持其他特性。在其他实施例中,云系统 111分析全局恶意软件数据并且向签名选择器105提供与选择器应当考虑 加载哪些签名有关的建议或指令。聚集的恶意软件数据可以被处理以用于 云系统111中的签名选择。这会消除向每个签名选择器105分发大量恶意 软件数据的需求,并且会最小化专有恶意软件收集和分析数据的分发。

签名选择器105的子组件可以处理特定的数据类。选择器105的机器 硬件和软件子组件标识用于直接影响当前系统101的恶意软件的签名。对 于机器硬件和操作系统,选择准则解决给定恶意软件片段是否在物理上能 运行于当前机器上。例如,x86威胁不能运行于基于ARM的设备上;然而, x86威胁可以运行于64位的上。恶意的web内容可能会运行于 这些设备的任一者上。

一些恶意软件(特别是漏洞和脚本)仅能运行于安装有特定所需软件 的机器上并且可能仅运行于该软件的某些版本上。签名选择器105保持跟 踪已安装的软件类型和版本,且选择器105加载针对能够影响实际加载于 本地机器101上的软件的漏洞和脚本的签名。例如,恶意软件扫描器104 可以检测什么软件已被加载于机器101上,并且然后通知选择器105新软 件已加载。可以阻挡来自该新软件的文件访问,直到已经加载了针对该软 件的相关恶意软件检测签名为止。

在本地检测到的恶意软件的情况下,选择器105会查询其他数据源, 诸如本地签名或基于云的数据,以标识未对其加载签名的相关威胁。一旦 看到第一恶意软件片段,选择器105就查找相关的有关签名以清除系统的 剩余威胁,即使那些威胁不能运行于机器101上。例如,如果在未安装字 处理软件的机器上检测到已知是针对文档文件的基于web的恶意软件,选 择器105就查找相关的签名以阻止将该恶意软件传递至网络上的其他机器 或者保护可能使用所述文档文件的其他非字处理应用。

当同一网络中的其他机器112被恶意软件(特别是蠕虫)感染时,该 恶意软件的副本很可能会传播到该网络上的其他机器,而无论该恶意软件 是否能够运行于该其他机器上。在该情况下,选择器105可以从已感染的 机器112和/或从本地服务器107接收到该恶意软件的报告,其指示该网络 中的所有机器加载针对该恶意软件的签名,直到所有机器都已完成了系统 扫描以使环境摆脱威胁为止。以此方式相关的威胁的通信可以或由中央报 告服务器、针对该网络的云管理服务器处理、或该网络内的对等通信处理。

除了上述相关签名的自动选择以外,本地或网络管理员可以指定除了 签名选择器105作出的任何自动选择以外相关的附加签名。

例如,在具有无反恶意软件保护的智能电话的家庭用户的情况下,用 户可以为机器上用于同步智能电话的智能电话对接软件开启威胁检测,以 防止恶意软件从该机器传播到该智能电话。在另一示例中,在非常异构的 企业中,网络管理员可以为所有机器上的所有普及的硬件\操作系统配置启 用扫描。另外,在黑名单应用和目标攻击的示例中,网络管理员可以向机 器部署本地自定义签名。为了处理所有这些情况,签名选择器105会允许 配置覆写以基于以上准则或总是添加附加的签名。

在广泛扩展的威胁的情况下,与控制恶意软件的扩展有关的“网络” 可以是整个互联网,或者至少是互联网的地理上局部区域。随着机器的环 境变得越来越异构,为了清洁整个网络“生态系统”,标记用于在所有主 机——而不仅仅是可运行恶意软件的那些机器——上检测威胁的能力将变 得重要。在这种情况下,只要云服务111认为签名是相关的,选择器105 就可以将签名视为相关的。此外,云服务111可以基于从运行特定反恶意 软件解决方案的所有客户端的遥测,将威胁和签名自动地添加至相关恶意 软件列表。

使用普遍性数据的另一种变体是针对不再看到的威胁明确地不加载签 名或卸载签名,无论该威胁是否能够实际运行于给定机器上。例如,一些 恶意软件签名可应用于仅在扫描研究人员的收集时看到的威胁,而其他恶 意软件签名可应用于仅在特定国家看到的威胁。尽管这些威胁在消费者空 间中不相关,它们仍可能位于多国企业中。因此,选择器105仅会在被配 置如此时才放弃这些签名。

动态签名加载器103可以在一些情况下加载签名达特定持续期。例如, 签名选择器105可以标识将会持续达特定时段的威胁或潜在威胁。动态签 名加载器103可以加载该有时限的威胁的签名达特定小时数,并且然后在 威胁时段过去后卸载这些签名。

将会理解,机器101、本地服务器107、对等机器109和被感染的机器 112可以是物理机器,诸如服务器、台式机、笔记本或膝上型计算机、智能 电话、个人数字助理(PDA)等等。在一些实施例中,机器101、本地服务 器107、对等机器109和被感染的机器112中的一个或多个可以是虚拟机 (VM)或运行于主机设备上的机器的软件实现。

例如,在一实施例中,机器101、本地服务器107、对等机器109和被 感染的机器112可以是运行于相同或不同服务器(诸如一数据中心内的各 服务器)上的不同的虚拟机。虚拟机可以属于这一数据中心的一个或多个 承租者或客户。这里描述的过程和技术可用于选择运行于虚拟机上的反恶 意软件应用应当使用哪些签名。除了以上讨论的选择准则之外,签名选择 器105可以基于数据中心内的当前的或预期的条件或状态来选择签名,该 条件或状态诸如运行于一个或多个虚拟机或主机设备上的应用的类型、使 用数据中心的承租者的类型(例如,短期承租者、长期承租者或承租者身 份)、承租者或虚拟机所使用的带宽或者所支持的事务数量等等。

图2是根据一些实施例的用于加载相关恶意软件检测签名的方法或过 程的流程图。该过程基于指示哪些签名与其当前环境中的机器相关的多个 数据源,动态地加载和卸载恶意软件检测签名。

在步骤201中,签名选择器确定哪些恶意软件检测签名可用并且与机 器相关。签名选择器例如基于特定机器上的操作系统、体系结构、已安装 软件和补丁级别以及基于同一网络中的其他机器上的最近检测、管理员选 择以及全局威胁数据来确定相关性。该信息可以来自多个信息源,该多个 信息源允许签名选择器动态地确定哪些签名和签名类可用并且与给定计算 机相关。本地系统配置(包括硬件和软件简档)可用于例如确定签名相关 性。此外,可以使用来自同一网络上或同一组织中的其他计算机的检测数 据来确定签名相关性。在其他实施例中,使用或手动标识的或通过遥测自 动标识的威胁之间的相关以确定签名相关性。遥测可以接收自同一网络中 的其他机器或者接收自与反恶意软件应用相关联的中央服务器,以便提供 基于云的服务来确定恶意软件检测签名的全局和地理相关性。

在步骤202中,可以阻挡程序访问文件,直到加载了与程序相关的签 名为止。这阻止程序被恶意软件感染或被恶意软件负面影响。

在步骤203中,动态签名加载器在威胁变得相关时从一个或多个源自 动获得和加载恶意软件签名。这些源可以包括相同的或远程的网络上、或 云上的机器和服务器。在步骤204中,恶意软件签名被动态签名加载器加 载至恶意软件扫描器。

在步骤205中,恶意软件扫描器使用恶意软件检测签名来扫描机器以 寻找威胁。一旦机器已被扫描,任何被阻挡的程序就在步骤206中被解除 阻挡,并然后被允许访问机器上的文件。

将会理解,图2所述的过程的步骤201-206可以同时和/或依序地执 行。还将理解,每个步骤可以以任意次序执行,并且可以被执行一次或被 重复地执行。

图3说明了其上可实现图1和2的示例的合适的计算和联网环境300 的示例。计算系统环境300仅仅是合适的计算环境的一个示例,并且不意 图对本发明的用途或功能的范围作出任何限制。本发明可用于许多其他通 用或专用计算系统环境或配置。可适用于本发明的公知的计算系统、环境 和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持或膝上 型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编 程消费者电子设备、网络PC、小型计算机、大型计算机、包括任一以上系 统或设备的分布式计算环境等等。

本发明可以在由计算机执行的计算机可执行指令(诸如程序模块)的 一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽 象数据类型的例程、程序、对象、组件、数据结构等等。本发明也可以在 分布式计算环境中实现,在该分布式计算环境中,任务由通过通信网络链 接的远程处理设备执行。在分布式计算环境中,程序模块可位于包括存储 器存储设备的本地和/或远程计算机存储介质中。

参照图3,用于实现本发明各方面的示例性系统可以包括形式为计算 机300的通用计算设备。组件可以包括但不限于各种硬件组件,诸如处理 单元301、诸如系统存储器这样的数据存储302、以及将包括数据存储器302 的各个系统组件耦合至处理单元301的系统总线303。系统总线303可以是 使用多种总线体系结构的任一种的若干种总线结构类型中的任一个,包括 存储器总线或存储器控制器、外围总线以及本地总线。通过示例而非限制, 这种体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA) 总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线、以 及也称为Mezzanine总线的外围组件互连(PCI)总线。

计算机300一般包括多种计算机可读介质304。计算机可读介质304 可以是可由计算机300存取的任何可用介质,并且包括易失性和非易失性 介质、以及可移动和不可移动介质、但不包括传播信号。通过示例而非限 制,计算机可读介质304可以包括计算机存储介质和通信介质。计算机存 储介质包括以任何方法或技术实现的用于存储信息的易失性和非易失性、 可移动和不可移动介质,所述信息诸如计算机可读指令、数据结构、程序 模块或其他数据。计算机存储介质包括但不限于:RAM、ROM、EEPROM、 闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存 储、磁性盒带、磁带、磁盘存储或其他磁性存储设备、或者可用于存储期 望信息并且可被计算机300存取的任何其他介质。通信介质一般将计算机 可读指令、数据结构、程序模块或其他数据体现于已调数据信号中,已调 数据信号诸如载波或其他传输介质并且包括任何信息传递介质。术语“已 调数据信号”意指其特征中的一个或多个以对信号中信息进行编码的方式 被设置或改变的信号。通过示例而非限制,通信介质包括诸如有线网络或 直线连接这样的有线介质、以及诸如声音、RF、红外及其他无线介质这样 的无线介质。以上任意的组合也被包括在计算机可读介质的范围内。计算 机可读介质可以体现为计算机程序产品,诸如存储于计算机存储介质上的 软件。

数据存储或系统存储器302包括形式为易失性和/或非易失性存储器的 计算机存储介质,诸如只读存储器(ROM)和随机存取存储器(RAM)。 基本输入/输出系统(BIOS)一般存储于ROM中,该基本输入/输出系统 (BIOS)包含(诸如在启动期间)帮助在计算机300内的多个元件间传送 信息的基本例程。RAM一般包含对于处理单元301立即可存取的以及/或者 处理单元301目前正对其操作的数据和/或程序模块。通过示例而非限制, 数据存储302保持操作系统、应用程序以及其他程序模块和程序数据。

数据存储302也可以包括其他可移动/不可移动、易失性/非易失性的计 算机存储介质。仅通过示例,数据存储302可以是对不可移动、非易失性 磁性介质进行读写的硬盘驱动器;对可移动、非易失性磁盘进行读写的磁 盘驱动器;以及对可移动、非易失性光盘(诸如CD ROM或其他光学介质) 进行读写的光盘驱动器。示例性操作环境中可使用的其他可移动/不可移动、 易失性/非易失性计算机存储介质包括但不限于:磁带盒、闪存卡、数字多 功能盘、数字视频带、固态RAM、固态ROM等等。以上所述且图3所示 的驱动器及其相关联的计算机存储介质为计算机300的计算机可读指令、 数据结构、程序模块及其他数据提供存储。

用户可以通过用户接口305或其他输入设备输入命令和信息,其他输 入设备诸如平板、电子数字化仪、话筒、键盘和/或指示设备,指示设备通 常称为鼠标、轨迹球或触摸垫。其他输入设备可以包括游戏杆、游戏垫、 圆盘式卫星天线、扫描器等等。此外,语音输入、使用手或手指的姿势输 入、或者其他自然用户界面(NUI)也可以与适当的输入设备联用,所述输 入设备诸如话筒、照相机、平板、触摸垫、手套或其他传感器。这些及其 他输入设备通常通过与系统总线303耦合的用户输入界面305连接至处理 单元301,但可以通过其他接口和总线结构链接,诸如并行端口、游戏端口 或通用串行总线(USB)。监视器306或其他类型的显示设备也经由诸如 视频接口这样的接口连接至系统总线303。监视器306也可以与触摸屏面板 等集成。注意到,监视器和/或触摸屏面板可以在物理上耦合至计算设备300 包括于其中的外壳,诸如在平板型个人计算机中。此外,诸如计算设备300 这样的计算机也可以包括诸如扬声器和打印机等其他外围输出设备,所述 其他外围输出设备可以通过输出外围接口等连接。

计算机300可操作于使用到一个或多个远程设备的逻辑连接307的联 网的或云计算环境中,远程设备诸如远程计算机。远程计算机可以是个人 计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且 一般包括以上关于计算机300所述的许多或全部元件。图3所述的逻辑连 接包括一个或多个局域网(LAN)以及一个或多个广域网(WAN),但也 可以包括其他网络。这种联网环境在办公室、企业范围计算机网络、内联 网和互联网中是常见的。

在用于联网的或云计算环境中时,计算机300可通过网络接口或适配 器307连接至公共网络或私有网络。在一些实施例中,是用于通过网络建 立通信的调制解调器或其他装置。调制解调器可以是内部的或外部的,可 以经由网络接口307或其他合适的机制连接至系统总线303。诸如网络接口 和天线的无线联网组件可以通过合适的设备耦合至网络,所述合适的设备 诸如接入点或对等计算机。在联网环境中,关于计算机300所述的程序模 块或者其部分可以被存储在远程存储器存储设备中。可以理解,所示的网 络连接是示例性的,并且可以使用其他用于在计算机之间建立通信链路的 装置。

尽管已经用对于结构特征和/或方法动作特定的语言描述了主题,但应 当理解,所附权利要求中定义的主题不必要限于以上所述的特定特征或动 作。相反,以上所述的特定特征和动作作为实现权利要求书的示例形式被 公开。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号