用于检测先前未知的恶意软件的系统和方法

文档序号:6605853阅读:131来源:国知局
专利名称:用于检测先前未知的恶意软件的系统和方法
技术领域
本发明涉及反恶意软件技术,且更具体地,涉及基于实时自动事件检测未知恶意 软件威胁以及分析对象的行为模式。
背景技术
恶意程序的持续繁殖对世界范围内的计算机产生了相当大的损害。给独立个人计 算机和企业网络提供保护的现有方法主要集中于处理已经知道的计算机威胁。一般而言,自20世纪80年代末以来存在的反病毒程序以下述两种方式检测病毒 和相关的敌意软件(1)针对匹配那些已知病毒(“病毒签名(signature)”)的二进制代 码串扫描文件;和(2)针对已知的像病毒一样的代码扫描文件(“启发式扫描”)。其它技 术包含阻止类病毒的行为(“行为阻止”)或针对某些修改校验文件(“完整性校验”)。第6,016,546号美国专利披露了一种检测该数据串中存在任何第一组已知数据 特性(trait)的概率的方法,其使用第二组一般特征和第三组签名,并且其中一般特征和 签名是第一组数据特性的典型特征。第6,338,141号美国专利披露了一种可以实时地在独立的计算机系统上或者在 联网的机器上执行的方法。该方法使用有关数据的集合来检测计算机文件中的计算机病 毒。该有关数据的集合包括由病毒生成的各种有关特征对象。使正在针对病毒而被校验 的计算机文件经历生成有关特征对象的过程。在作为文件扫描的结果而生成了特征对象之 后,将它们与有关数据的集合相检查,并且依据结果,可认为该文件是被感染的并阻止其在 系统上运行。然而,该处理病毒的方法只可以在恶意对象已经进入计算机系统或网络上的一个 节点之后识别恶意对象,并且其对带有新的未知特征的未知威胁或者对表现出未知行为模 式的计算机病毒是无效的。据此,在本领域内需要一种系统和方法,用于在未知病毒进入所保护的计算机系 统或计算机网络之前检测未知计算机威胁的更为有效而主动的途径。

发明内容
本发明旨在提供一种基于各种标准进行风险分析和风险评估的检测未知恶意软 件的方法和系统,其基本上避免了一个或多个现有技术的缺点。本发明的一个方面提供一种用于检测先前未知的恶意软件的系统、方法和计算机 程序产品,所述方法包括(a)从远程计算机接收事件信息和文件元数据;(b)识别所述事 件信息或所述文件元数据是表示已知恶意软件、还是表示未知恶意软件、亦或是表示恶意
4软件不存在;(C)如果所述事件信息或所述文件元数据表示已知恶意软件或者表示恶意软 件不存在,则过滤所述事件信息和所述文件元数据;(d)对剩余事件信息和剩余文件元数 据进行风险分析和风险评估,以确定所述事件信息和所述文件元数据是否表示先前未知的 恶意软件存在;以及(e)进行风险分析和风险评估,其中,所述风险分析和风险评估包括基 于文件的调用的“父类-子类”分级结构的构造,并且其中,对父类评估的风险是基于与子 类相关联的风险。文件元数据可以是文件名、文件扩展名、文件大小、文件链接状态、不论文件是否 被数字签名、是否为下载的实体程序、是否被打包、文件源、文件调用频率、文件路径、从其 接收文件的URL和访问文件的端口中的任一项。被分析的事件信息可以包括有关对象的行为模式的信息或、与事件相关联的统计 数据、对象源的名称稳定性、对象源的IP地址稳定性和对象的活跃性以及与事件的类型有 关的信息,所述事件的类型例如文件下载、文件投放和文件链接等等。所述系统能够实时地自动检测先前未知的恶意软件,或者可以与分析人员合作针 对这类恶意软件的存在进行多级分析。所述系统维护已知或者被认为是安全的对象的所谓的白名单、以及已知或者被确 定为恶意的对象的所谓的黑名单。一旦文件被添加到黑名单中,安装在用户计算机上的反病毒软件就开始将对象检 测为恶意的,并防御用户计算机不受该恶意对象侵害。该反病毒软件也阻止用户访问被放 入黑名单的域和URL。对于域,该系统还计算所谓的“声望(r印utation) ”参数,该参数示 出了访问给定互联网资源的危险程度。本发明的附加功能和优点将在如下的说明中阐述,还有部分通过描述是显而易见 的,或由本发明的实践可以得知。通过在书面的描述、权利要求书和附图中特别指出的结 构,将实现并获得本发明的优点可以理解的是,无论是上述的总体描述还是如下的详细描述都是示例性和解释性 的,并且旨在提供对所述的本发明进一步的解释。


附图提供对本发明进一步的理解,并且并入此说明书中构成其中的一部分,这些 附图示出了本发明的实施例并与描述一起用于解释本发明的原理。附图中图1示出了本发明一个实施例的未知威胁检测的流程图。图2示出了用于识别一类未知威胁而生成的示例性DS(下载启动器图)图。图3示出了根据本发明一个实施例的作为各种标准的评估结果而生成的示例性 权重系数树。图4示出了根据本发明一个实施例的聚合权重计算的图示。图5示出了根据本发明一个实施例的新标准的生成。图6示出了本发明一个实施例的各种组件之间的数据流。图7示出了在其上可以实施反恶意软件发明的示例性计算机系统的示意图。
具体实施例方式现在,将根据本发明的优选实施例进行详细描述,其示例图示于附图中。本发明旨在作为一种用于检测下列种类的先前未知的恶意软件的方法和系统 恶意程序 潜在不受欢迎的程序 恶意网站 流氓网站 经由电子邮件、IM、公共网络等发送的包含恶意对象或其链接的讯息 诸如基于互联网的攻击、不想要的标题(banner)、不想要的内容(与色情、赌 博、吸毒和酗酒有关的广告)等其余类型的计算机威胁。该系统远程追踪在用户计算机上正在执行的各种应用程序所调用的文件,以针对 恶意软件存在测试可执行文件,从而基本消除了相关现有技术的一个或多个缺点。在本发明一个实施例中,提出了一种用于检测未知威胁的系统和方法。示例性系 统可以包括由卡巴斯基实验室提供并维护的卡巴斯基安全网络(KSN)的一部分以及大量 用户,所述用户在日常正常使用他们各自的计算机的过程中连接至KSN。在连接至KSN之前,每个用户都在其计算机上安装了由卡巴斯基实验室提供在示 例性实施例中的反病毒程序。该反病毒产品在后台运行,并且将会潜在伤害用户计算机系 统的任何活动报告给KSN。该活动可以是用户第一次访问或下载特定文件或在用户计算机 上调用的可执行文件、或者用户连接至不熟悉的互联网资源,例如,会散播恶意文件的网站寸。由KSN收集的信息包括事件信息和对象信息。事件信息描述发生在远程用户的计 算机上的特定类型的事件,例如,对象下载、对象投放(dropping)、文件链接、文件调用的情 况。事件信息也可以包括与事件相关联的统计数据、对象源的名称稳定性、对象源的IP地 址稳定性、与事件相关联的对象的活动和对象的某些行为模式。由KSN收集的对象信息包 括描述特定文件的文件元数据,例如,文件名、文件扩展名、文件大小、文件链接状态、文件 是否被数字签名、文件是否为可执行文件、下载的实体程序(utility)或文件是否被打包、 文件源、文件调用频率、文件路径、从其接收文件的URL和访问文件的端口。关于所收集的 信息,KSN维护已知为善意的或“干净的”或者被认为不可能为恶意的事件和对象的知识库 (白名单、或WL)。KSN还维护已知为恶意的或者被认为可能为恶意的事件和对象的知识库 (黑名单、或BL)。该系统也能够保护用户免于通过即时通讯(IM)发布给用户的恶意URL的链接。基 于存储在KSN数据库中的信息,可以判断发布IM的某些触点(contact)为不值得信任的。 该系统检测通过IM从不值得信任的触点接收的超文本链接,并且该系统对链接是否具有 恶意特性做出判定,并将该链接目标放入黑名单。图1中示出了描述从参与的用户接收的信息的处理的高级流程图。在第一级处理 过程中,使用存储在WL和BL知识库中的信息来过滤由用户报告的关于各种事件和文件元 数据的输入信息(步骤101)。过滤算法针对关于输入的事件信息和对象信息的任何数据的 存在来校验WL和BL两者,并且滤除已知的事件信息和对象信息。剩余信息由系统处理,其为剩余事件信息和剩余文件元数据进行风险分析和风险
6评估,以确定事件和文件元数据是否表示先前未知的恶意软件存在。在步骤102中,实时 地进行这些风险分析和风险评估。使用各种标准和各种技术来进行风险分析,以确定风险 (例如,基于URL的分析为一个风险因素,文件大小分析为另一个因素,等等)。通过集合 各种不同的规格(metrics)来进行风险评估,以判定例如风险为高、中等还是为低。在步 骤103中,计算诸如活跃性、危险性、重要性这样的各种参数并将其用于生成下载启动器图 (DS 图)。基于DS图的分析,系统判定是否已经检测到恶意软件事件或对象。如果已经遇到 恶意对象或事件,或者如果已经高度肯定其为该情形,则在步骤105A中用关于此先前未知 的威胁的信息来更新BL。然而,如果事件信息或对象信息被确定为善意的,则在步骤105B 中系统相应地更新WL。图2中示出了在图1的步骤103中生成的DS图的示例。近几年来,带有木马投放 器(Trojan-Dropper)和木马下载器(Tro j an-Down loader)类型的行为的恶意程序已广为 散播。木马投放器用于在用户不知道的情况下将其它恶意软件安装在受害机器上。投放器 在不显示任何通知或不显示错误的错误消息的情况下将其有效载荷(payload)安装在存 档文件或操作系统中。新的恶意软件被投放到本地磁盘上的指定位置,然后载入运行。投 放器功能包含用以安装并执行全部有效载荷文件的代码。木马下载器将新的恶意软件或恶 意广告软件下载并安装在受害机器上。然后,下载器运行新的恶意软件或者对其进行注册, 使其能够根据本地操作系统需求自动运行。这全部都是在用户不知道或未同意的情况下完 成的。将要下载的恶意软件的名称和位置被编入木马中或者从指定网站或其它互联网位置 下载。考虑当用户调用浏览器并下载可执行文件TubeCOdeC934. exe时的示例。此事件 被报告给KSN。当执行时,Tubecodec934. exe下载若干其它文件,并且这些事件也将报告 给KSN。在此情形下,Tubecodec934. exe是下列五个文件的“父类” =SvchOst. exe、Ntkml. dll、Cale. exe、l. exe 和 Hosts, vbs,这五个文件是 Tubecodec934. exe 的“子类”文件。 该系统继续进行实时风险分析和风险评估,包括基于文件的调用次序构造“父类-子类 (parent-child) ”分级结构。对“父类”文件评估的风险是基于与该文件的“子类”或“子 类们”相关联的风险。在此情形下,KSN数据库没有任何与这些文件的前三者(the first three)有关的信息,并且KSN的分析模块开始对这些文件进行分析,以便评估与这些文件 相关联的危险性级别。为了检测由“父类”和“子类”表示的未知威胁,该系统建立与图2中 的一个图形表示相似的图形表示。一旦建立该图形,系统就对每一个“父类”计算所谓的X因素(X-factor)。X因素 定义了给定“父类”的危险性级别并且基于与其“子类”相关的数据。X因素示出了给定对 象趋于为下列何种类型的程序例如,文件管理器或木马投放器、浏览器和合法下载或木马 下载器。用于评估给定可执行文件的危险性级别的另一方法是分析文件调用的恶意程序 中的“干净的”比率。作为示例,对于本领域任何普通技术人员而言将显而易见的是,文件 "explorer, exe",即众所周知的浏览器的可执行文件,调用“干净的”文件而非恶意的文件, 因此将会具有非常低的危险性级别。该系统还计算描述图中的每一个要素的活跃性级别、危险程度和重要性的参数。
7“重要性”参数是考虑了事件的活跃性级别和危险程度的函数,并且如下计算重要性= (活跃性*危险性)。基于某一时间段内下载数目或给定对象被调用的次数相关的数据来 计算“活跃性”参数。特定算法用以将该参数减小至便于分析的形式。利用此算法,将对象的“活跃性”减小至特定形式的概率分布。这允许减小在很久 以前发生的事件的重要性并揭示该参数的变化趋势。“活跃性”参数如下来计算活跃性=命中数* F(At),其中,“命中数(Hit)”是下 载、程序开始、网络攻击尝试等的数目,并且At是自发生最近一次事件起的时间段。然而, 因为还需要考虑活跃性的趋势,所以程序的高活跃性本身并不能必要地指示该程序是恶意 的(参见以下表格1)。表格1中提供了由系统进行的“活跃性”计算的示例。表格1.活跃性计算和趋势分析
#总命中数增加Δ t, min活跃性趋势11010010上升225151527,5上升380551568,75上升41658515129,38上升52458015138, 69稳定63167115140稳定7336201592,7下降8351151561,4下降9352110519下降1035311751,73下降基于所谓的权重系数决策树来计算“危险性”参数,其大部分随知识数据库中所积 累的信息而动态地变化。权重系数树是各种标准的测试结果,所述各种标准是在发明人的 反病毒实验室中针对各种类型的检测对象而开发的。下面,说明计算“危险性”的详细示例。示例 1在图3中示出的该示例中,系统接收通知报文,即,带有哈希值MD5 = 0xl2A91C1CB575D154BAA9AAD1759F6EC8 的可执行文件 http:**soho. eom. server911. ch/us/usl. exejpg已被用户下载。在处理该报文时,作为风险分析和风险评估的一部分,系统将由大 量标准建立决策树,每个标准实现特定的逻辑。例如,来源于校验主机名并确定屏蔽存在的 测试组的标准,将被赋值为最大权重100,这是因为主机名合并了来自白名单的主机,soho. com。针对双扩展名的存在进行校验的另一标准将被赋值为权重92,这是因为该里Mi文件 具有两个扩展名exe和jpg,并且伪装成通用的图像格式。如果这两个文件扩展名被空格分开,则将会赋值最大权重。对象的“危险性”在数值上等于决策树的权重系数的聚合(aggregate)。示例 2系统接收可执行文件已被下载的通知。如果这是参考该对象的第一讯息,则系统 将建立决策树。现在考虑负责URL分析的标准的分支。假设收到的数据包的URL域(field)为 URL = http:氺氺yahoo, com. server911. ch/us/us" ;2. exe. jpg。使用特定标准来分析i亥 URL 串的每个部分(域名、主机名、文件名、端口等),从而最终得到图4中所示的决策树。剖析主机名(yahoo, com. server911. ch),系统将识别出该URL试图伪装成来自白 名单“yahoo, com,,的域。标准3. 1. 1. 1将被赋值为权重80。该字符串的一部分SerVer911. ch并不匹配任何已知的域名,因此“与发音匹配算 法(SoundEX-algorithm)的相似性”标准的权重将等于0。“(屏蔽、伪装、伪饰、掩饰)名”标准的合成(resulting)权重W3.n = F(W3. 1. 1. 1, W3. 1. 1. 2) = 80。每当注册互联网资源或新的域名时,注册方都有责任提供某些信息,例如,电子邮 件地址和附加强制性信息。KSN可以使用此注册信息来识别参与散播恶意软件的资源。系 统将校验是否存在与注册方的电子邮件地址相关联的散播恶意文件的任何历史。尽管在一 些情形下电子邮件地址可以是虚构的,但大多数注册授权机关都要求在注册资源之前验证 电子邮件地址。系统还将校验资源的使用期限。许多恶意软件的创作者利用注册授权机关所提供 的免费试用期。他们同时注册许多网站,将尽可能多的通信量(traffic)重新定向到这些 网站并散布尽可能多的恶意软件,直到免费试用期届满且网站自动关闭为止。一些注册授权机关提供授权机关本身的代理域注册,并且“代理注册”被KSN用作 指示该域可能与恶意网站有关联。从服务WhoIs(或类似的)获得注册信息,系统可以确定此域仅已存在6天,并且 在此期间服务器的名称和IP地址被改变了三次。此类行为具有恶意网站的特性,因此,“名 称服务器的稳定性”和“IP地址的稳定性”标准将分别被赋值为权重70和75。"WhoIs信息”标准的合成权重等于W3^2 = F(Wm^Wm3) =87。然后,系统为 “主机名”计算聚合权重=W3.! = F (W3. L1,W3. L2) = 93。文件名“us~ ;2”无论是在恶意程序中还是在干净文件当中都不普及。因此,标准 (3. 1. 1. 2)对聚合权重将不会做出任何贡献。字符串; ”存在于文件的名称中,这对于干 净对象并不典型并且建议随机产生文件名。因此,标准3. 2. 2将被赋值为权重43。用于测试伪装的扩展名的标准(3. 2. 3. 1. 1和3. 2. 3. 1. 2)之和将具有权重92。被
9校验的文件为IMi文件并具有两个扩展名(3. 2. 3. 1. 1)。此外第二扩展名jPg,指示试图 将该文件掩饰为图像文件。如果用空格将两个扩展名分开,则将获得最大权重。对象具有 扩展名,因而“遗漏的扩展名”标准的权重等于0。基于以上所述,评估文件名的全部标准的 聚合权重为W3.2 = 95。在此情形下,并未对端口进行规定,即,标准HTTP协议端口被使用并且不是可疑 的。因此,“端口”标准的权重W3.3等于0。"URL字符串的分析”标准合成的值W3 = F(W3. 1,W3. 2,W3. 3) = 98指示此URL主 办(host)恶意对象的概率为0. 98或98%。示例 3参照图4,考虑计算“危险性”的另一示例。系统接收可执行文件被识别为木马下 载器的通知报文。已从列入在白名单中的域下载了 Win32. Agent, yyy。为了解决此冲突,系 统将建立决策树。下面,对负责分析URL的标准的分支的附加细节进行描述。假设收到的数据包 白勺 URL 区域为 URL = http:氺氺www. nokia. com/files/support/nseries/phones/software/ Nokia_Lifeblog_2_5_224_en_uk. exe。使用特定标准来分析该URL字符串的每个部分(域 名、主机名、文件名、端口等)。剖析主机名http nokia. com,系统将确定不存在任何试图将域伪装成白名 单中的域。因此,标准3. 1. 1. 1和3. 1. 1. 2将具有权重0,从而导致“伪装名称”标准的聚合 权重 Wu1 = F(WU1TWUl2) =O0从服务WhoIs获得注册信息,系统将确定此域名已存在于过去18年,并且在此时 间期间名称服务器从未改变,且IP地址在过去4年改变了一次。此类行为类型具有干净网 站的特性,因此,“名称服务器的稳定性”和“ IP地址的稳定性”标准将分别被赋值为权重0 和1。“Whols信息”标准的合成权重等于W3.= F(ff3.L2.2, W3.L2.3) = 1。然后,系统为 “主机名,,计算聚合权重=W3. ! = F (W3. L i,W3. L 2) = 1。文件名“Nokia_Lifeblog_2_5224_en_uk”在恶意程序当中并不普及。由此,标准 (3. 1. 1. 2)对聚合权重将不会做出任何贡献。文件名包括未提出任何怀疑的字符。形成文件名的单词具有意义并且与“干净”程 序中的名称相符。因此,标准3. 2. 2的权重将等于0。用于测试伪装的扩展名的标准(3. 2. 3. 1. 1和3. 2. 3. 1. 2)的权重将赋值为0,这 是因为正在被分析的文件是可执行的,并且具有用于可执行文件的典型扩展名,exe。因而, W, 2. 3. 1.1 = 0。对象具有扩展名,因而“遗漏的扩展名”标准的权重等于0。基于以上所述,评估文件名的全部标准的聚合权重为W3.2 = 95。并未对端口进行规定。这意味着使用不可疑的标准HTTP协议端口。因此,“端口” 标准的权重W3.3等于0。"URL字符串的分析”标准合成的值V3 = F(W3. 1,W3. 2,W3. 3) = 1指示此URL主 办恶意对象的概率小到可以被忽略。显然,决策树的剩余标准也将具有最小值。此情形将被归为错误警报,并且系统将 自动校正反病毒知识数据库。
10
决策树可以通过增加新的标准容易地扩展,所述新的标准将提 高由系统做出的判 决的充分性。本发明的此特征将在示例4中描述并示出在图5中。示例 4已经完成用于收集统计信息的系统的更新。系统开始接收与系统中的各种对象的 行为相关的新信息。增加两个新标准“驱动器安装”和“对磁盘的直接写入”,将会导致对决 策树进行修改,如图5中用圆角方框突出标出的。在对决策树进行该修改之后,标准5. 3的最大权重将不会改变。然而,此标准将变 得更加丰富且精确,而这又将正面影响判决的质量。下面是系统用以分析输入信息的标准的几个示例1)由给定归档程序打包的被感染的文件中“干净的”比率。考虑到在通知报文流 中,系统收到由打包器X压缩的与200个被感染的文件和5个干净的文件相关的信息。做出 支持子系统的判决(DSS, ” http://en. wikipedia. org/wiki/Decision_support_system") 得出将打包器X用以在大多数时间打包恶意文件的结论。系统在用打包器X打包的输入流 中接收到的文件受感染越多,则对用打包器X打包的文件赋值的危险性级别越高。应当注 意的是,这也适用于没有被所述系统检测的文件。系统还考虑关于文件打包器的其它相关 信息开源或商业售卖、有声望的软件开发公司的数字签名或者未签名的客户开发的归档 软件。系统足够智能从而不会自动将从其下载了一个或两个恶意程序的主机列入黑名 单。重要的是在由特定主机发布的恶意文件中“干净的”比率。例如,系统将不会在用户在 许多其它“干净的”讯息当中收到其电子邮件中源自主机mail, google, com的病毒之后自 动将该主机列入黑名单。另一方面,如果在从特定主机接收的恶意文件中“干净的”比率向 恶意文件倾斜,则系统得出结论,即,该主机主要运行用于发布恶意软件。2)文件对象的名称中特定单词的出现的评估。系统从文件的名称中提取最常在恶 意对象中出现的单词。如果这些单词其中之一出现在文件对象的名称中,则相关标准将会 被赋值适当的权重。3)另一示例是具有若干扩展名的文件,文件名后的第一个扩展名是众所周知的非 可执行但普及的扩展名,其后接着是一系列空格。这样的其中文件名标准将会被赋值最大 权重的文件名示例为:"Sex Girls.avi.exe”。4)用于检测恶意对象的一个有效标准是基于在大量不同名称下对相同文件的检 测。当恶意对象的名称已随机产生时,这对于由系统接收的这些对象而言是典型的。尽管 进行了分析,但系统从选择当中排除了临时文件,这是因为这样的行为具有临时系统文件 的特性。为了实现此排除,系统以如下方式使用来自用户计算机的链接数据和文件生成数 据 如果文件未驻留在临时目录中且经常具有不同名称,则此行为被认为是可疑 的。 不论文件所处的目录如何,如果文件的链接状态为“最近链接的”则也被认为是 可疑的。链接日期是由obj文件生成exe文件的日期。链接数据是文件标题中的记录并且 反病毒程序从文件标题收集该信息并将其转送至KSN。5)文件是可执行的,但具有“伪装的”扩展名或者根本没有任何扩展名。在不同主机上存在未带有诸如jpg、bmp、avi、mp3、doc、xls、txt、ess等非可执行文件扩展名或者根 本没带任何扩展名的大量恶意程序。即使开启用户防火墙,在某一程序下载“图片”或“音 乐”时也不会产生警报。一些由主机提供的服务(hosting service)禁止上传可执行文件, 并且所述文件扩展名伪装术用以绕开这些限制。6)恶意对象具有Windows系统文件的名称(例如,explorer, exe),但不是从假定 驻留在操作系统中的文件夹中运行的。针对由系统分析的其它类型的对象已开发了类似的标准。全部危险事件都被转送 至系统,用于进一步分析。然后,系统使用决策树,以便对于随后自动检测对象作出判决。与活跃性高但危险性低的事件有关的信息被转送至白名单服务用于分析,以便补 充存储在干净对象知识数据库中的数据。在白名单上意味着软件的来源或软件的类型是那 种即使不进一步校验也不像是包含病毒的软件;在此情况下,剩余的反病毒扫描可以限于 更为基本的种类。如果软件既不在黑名单上又不在白名单上,则应当建议用户利用全部可 用技术进行扫描。另一方面,在黑名单上意味着,因为软件的来源是先验的已知为恶意软件源或早 前这类软件经常被感染,又或者由于其它原因,所以新下载的软件具有相对较高的包含病
毒的概率。系统对其使用的全部风险评估标准的效率连续进行评估。在先前进行的风险评估 上动态地调整风险评估标准的准确度,并且获得该准确度的经验性评估。在风险分析和评 估过程中使用的其它技术为综合风险评估标准的生成和评估、统计分析以及各种启发式检 测算法。在用于评估这些标准中的每一个标准的效率(这些标准中的哪一个应当更加被信 任、这些标准中的哪一个需要校正调整等等)的多维数据库中对DSS系统的判决进行常规 处理。图6中示出了此处理以及循环通过系统的主要组件的各种数据流,这些数据流示出 了在事件流中的数据与专家系统(推理引擎)中的数据之间一直维系的反馈。由防御模块 601从用户收集的原始数据流602被指向实时处理数据库603。处理后的统计信息605被传 递至延迟分析数据库604。延迟分析数据库604将附加信息处理标准606和校正信息607 返回至实时处理数据库603。在实时处理数据库603与白名单服务610之间存在双向信息流(流608和609)。 与未知恶意对象613有关的信息被从实时处理数据库603转送至检测系统612。检测系统 612执行自动信息处理或者熟练分析人员(分析员)的服务,以处理所收到的与未知恶意对 象613有关的信息。将标准效率的合成的评估(流611)送至延迟分析数据库604,以增强 其处理能力。检测系统612将检测到的威胁的记录(流614)送至反病毒记录数据库615。 从反病毒记录数据库615 (黑名单服务),将反病毒模块记录616转送至防御模块601。根 据给定标准的误报(False positive)被用于改进系统的反馈,从而导致减小产生许多误报 的标准的相对重要性。知识数据库还产生用于复杂的综合标准中的附加信息,例如,对恶意互联网资源 的预见性(前向)搜索。以上示例清楚示出了本发明是如何消除现有技术的缺点的。现有的反病毒软件在 已经造成损害之后或者在恶意软件已经被识别出并成为已知威胁之后分析恶意软件的内 容。在专家有机会接收文件、分析其内容、生成校正方法以将其从已被感染的计算机删除并且将其发布给用户以保护尚未感染的计算机之前,恶意软件被释放的时间已经过去了数个 时日。在此期间,恶意程序会散播到世界范围内的上百万计算机。另一方面,由于与可执行文件有关的某些信息(例如,来源、文件名、文件扩展名、 文件大小等)、互联网资源(例如,使用期限、活跃性等)或者相关事件,所以所提出的系统 可以自动且实时地对未知威胁进行检测。该系统不仅基于文件的内容而且还基于从上百万 用户收集的统计信息来识别未知威胁。应当注意的是,根据用户协定的条款,KSN不收集任 何与用户有关的私人信息。一旦文件被添加到黑名单中,安装在用户计算机上的反病毒软件就开始将对象检 测为恶意的,并防御用户计算机不受该恶意对象侵害。反病毒程序通知用户检测到了恶意 软件。反病毒软件也阻止用户访问被放入黑名单的域和URL。对于域,该系统还计算所谓的 “声望”参数,该参数向用户示出了与访问给定互联网资源相关联的危险程度。本发明的系统能够使分析多级化。作为自动机器分析的结果,将某些文件、事件和 资源放入白名单和黑名单。可以利用分析人员的帮助,他/她的知识和经验,在随后第二级 分析过程中分析剩余文件。将人工分析的结果添加至维护白和黑名单的专家系统的知识数 据库,并且机器分析和人工分析可以前后进行或者彼此互补进行,以便提高未知威胁检测 的准确度。将认识到的是,同样预期针对各种其它类型的病毒的其它形式的检测。例如,不仅 可以基于行为而且还可以基于其在系统中的位置、有无数字签名、有无被压缩等来检测延 迟的活性病毒。对于这类情形,可以根据需要校正DS图。一旦对象被放入黑名单,其就被各种反病毒/反垃圾邮件/反恶意软件产品认为 是恶意的,并且会被删除或阻止(在URL的情形下)。用户会被告知在其计算机上发现恶意 对象。一般而言,目的之一是增加恶意对象的校正检测数目并缩短用于识别恶意对象的时 间。参照图7,用于实施本发明的示例性系统包括以个人计算机或服务器20等的形式 的通用计算设备,其包括处理单元21、系统存储器22和连接各种系统组件包括将系统存储 器连接至处理单元21的系统总线23。系统总线23可以为数种类型的总线结构中的任何一 种,包括存储总线或存储控制器、使用任一各种总线架构的外围总线和本地总线。系统存储 器包括只读存储器(ROM) 24和随机存取存储器(RAM) 25。ROM 24中存储有基本输入/输出 系统26 (BIOS),其包含帮助在个人计算机20内的元件之间例如在启动过程中传送信息的 基本例程。个人计算机20可以进一步包括用于从未示出的硬盘中读取和对其写入的硬盘驱 动27、对可移动磁盘29中读取和对其写入的磁盘驱动28以及用于从可移除光盘31读取和 对其写入的光盘驱动30,例如,⑶-ROM、DVD-ROM或其它光学介质。硬盘驱动27、磁盘驱动 28和光盘驱动30各自分别通过硬盘驱动接口 32、磁盘驱动接口 32和光盘驱动接口 34连 接至系统总线23。这些驱动及相关联的计算机可读取介质为个人计算机20提供计算机可 读取指令、数据结构、程序模块/子例程以及其它数据的非易失性存储,其中,在所述程序 模块/子例程中,上述每个步骤都可以是单独的模块、或者数个步骤聚合到单个模块中。虽 然这里所描述的示例性环境采用硬盘、可移除磁盘29和可移除光盘31,但本领域技术人员 应当理解的是,可以存储可由计算机访问的数据的其它类型的计算机可读取介质,例如,盒
13式磁带、快闪式存储卡、数字视频磁盘、伯努利盒式磁带、随机存取存储器(RAM)、只读存储 器(ROM)等也可以用于示例性操作环境中。可以在硬盘、可移动磁盘29、光盘31、ROM 24或RAM 25上存储大量程序模块,包 括操作系统35。计算机20包括与操作系统35相关联的或者被包括在其内的文件系统36、 一个或多个应用程序37、其它程序模块38和程序数据39。用户可以通过诸如键盘40和指 示设备42这类输入设备将命令和信息输入到个人计算机20中。其它输入设备(未示出) 可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通过连 接系统总线的串行接口 46连接到处理单元21,并且可通过其它接口例如并行端口、游戏端 口或通用串行总线(USB)连接。监视器47或其它类型的显示设备也经由接口例如视频适 配器48连接到系统总线23。除了监视器47之外,个人计算机通常还包括其它外围输出设 备(未示出),例如扬声器和打印机。计算机20可以使用与一个或更多的远程计算机49的逻辑连接而运行在网络环境 中。远程计算机49可由其它计算机、服务器、路由器、网络PC、对等设备(peer device)或 其它公共网络节点代表,并且虽然仅示出了存储设备50,但通常包括对于计算机20所描述 的多数或全部元件。逻辑连接包括局域网(LAN)51和广域网(WAN)52。这样的网络环境在 办公室、企业范围内的计算机网络、内网和互联网上是普遍的。当用于LAN局域网环境中时,计算机20通过网络接口或适配器53连接到本地网 络51中。当用于WAN广域网环境中时,计算机20通常包括调制解调器54或其它用于在广 域网52,例如互联网,上建立通信的装置。调制解调器54通过串行接口 46连接到系统总 线23上,该调制解调器54可以既是内部的又是外部的。在网络环境中,对于计算机20所 描绘的程序模块或其中的一部分,可能存储在远程存储器存储设备中。应该认识到,示出的 网络连接是示例性的,也可以使用其它在计算机之间建立通信链接的方法。已经结合优选实施例对本发明进行了描述,对于本领域的技术人员而言,所描述 的方法和装置可以获得的某些优点应当是明显的。还应当理解的是,可以在本发明的精神 和范围内对其做出各种修改、适应及替代实施例。本发明由如下的权利要求书进一步限定。
1权利要求
一种由计算机实施的用于检测先前未知的恶意软件的方法,所述方法包括(a)从远程计算机接收事件信息和文件元数据;(b)识别所述事件信息或所述文件元数据是表示已知恶意软件存在、还是表示未知恶意软件存在、亦或是表示恶意软件不存在;(c)如果所述事件信息或所述文件元数据表示已知恶意软件或者表示恶意软件不存在,则过滤所述事件信息和所述文件元数据;(d)对剩余事件信息和剩余文件元数据进行风险分析和风险评估,以确定所述事件信息和所述文件元数据是否表示先前未知的恶意软件存在;以及(e)进行风险分析和风险评估,其中,所述风险分析和风险评估包括基于文件的调用次序的“父类 子类”分级结构的构造,并且其中,对父类评定的风险是基于与子类相关联的风险。
2.如权利要求1所述的方法,其中,所述文件元数据包括文件名、文件扩展名、文件大 小、文件链接状态、文件是否被数字签名、文件是否为下载的实体程序、文件是否被打包、文 件源、文件调用频率、文件路径、从其接收文件的URL和访问文件的端口中的任一项。
3.如权利要求1所述的方法,其中,所述事件信息包括与所述事件相关联的对象的行 为模式中的任一种。
4.如权利要求1所述的方法,其中,进行风险分析和风险评估包括构造决策树。
5.如权利要求3所述的方法,其中,所述事件信息包括与事件相关联的统计数据、对象 源的名称稳定性、对象源的IP地址稳定性和对象的活跃性中的任一项。
6.如权利要求3所述的方法,其中,所述事件信息包括与事件的类型有关的信息,所述 事件的类型包括文件下载、文件投放和文件链接中的任一项。
7.如权利要求1所述的方法,其中,所述风险分析和风险评估是实时地自动执行的。
8.如权利要求1所述的方法,其中,检测先前未知的恶意软件包括启发式检测算法、统 计分析、多维数据库处理、基于先前进行的风险评估动态地调整所述风险评估标准的准确 度、以及经验评估所述风险评估标准、综合风险评估标准和多级风险评估的准确度。
9.一种在其上存储有计算机可执行程序逻辑的计算机可用存储介质,所述计算机可执 行程序逻辑在处理器上执行,用于实施如权利要求1所述的步骤。
10.一种用于检测先前未知的恶意软件的计算机系统,所述计算机系统执行下述功能(a)从远程计算机接收事件信息和文件元数据;(b)识别所述事件信息或所述文件元数据是表示已知恶意软件存在、还是表示未知恶 意软件存在、亦或是表示恶意软件不存在;(c)如果所述事件信息或所述文件元数据表示已知恶意软件或者表示恶意软件不存 在,则过滤所述事件信息和所述文件元数据;(d)对剩余事件信息和剩余文件元数据进行风险分析和风险评估,以确定所述事件信 息和所述文件元数据是否表示先前未知的恶意软件存在;以及(e)进行风险分析和风险评估,其中,所述风险分析和风险评估包括基于文件的调用次 序的“父类-子类”分级结构的构造,并且其中,对父类评定的风险是基于与子类相关联的 风险。
11.如权利要求10所述的计算机系统,其中,所述文件元数据包括文件名、文件扩展 名、文件大小、文件链接状态、文件是否被数字签名、文件是否为下载的实体程序、文件是否 被打包、文件源、文件调用频率、文件路径、从其接收文件的URL和访问文件的端口中的任一项。
12.如权利要求10所述的计算机系统,其中,所述事件信息包括与事件相关联的对象 的行为模式中的任一种。
13.如权利要求10所述的计算机系统,其中,进行风险分析和风险评估包括构造决策树。
14.如权利要求12所述的计算机系统,其中,所述事件信息包括与事件相关联的统计 数据、对象源的名称稳定性、对象源的IP地址稳定性和对象的活跃性。
15.如权利要求12所述的计算机系统,其中,所述事件信息包括与事件的类型有关的 信息,所述事件的类型包括文件下载、文件投放和文件链接中的任一项。
16.如权利要求10所述的计算机系统,其中,所述风险分析和风险评估是实时地自动 执行的。
17.如权利要求10所述的计算机系统,其中,检测先前未知的恶意软件包括启发式检 测算法、统计分析、多维数据库处理、基于先前进行的风险评估动态地调整所述风险评估标 准的准确度、以及经验评估所述风险评估标准、综合风险评估标准和多级风险评估的准确度。
全文摘要
本发明提供了一种用于检测先前未知的恶意软件的系统、方法和计算机程序产品,所述方法包括(a)从远程计算机接收事件信息和文件元数据;(b)识别所述事件信息或所述文件元数据是表示已知恶意软件存在、还是表示未知恶意软件存在、亦或是表示恶意软件不存在;(c)如果所述事件信息或所述文件元数据表示已知恶意软件或者表示恶意软件不存在,则过滤所述事件信息和所述文件元数据;(d)对剩余事件信息和剩余文件元数据进行风险分析和风险评估,以确定所述事件信息和所述文件元数据是否表示先前未知的恶意软件存在;以及(e)进行风险分析和风险评估,其中,所述风险分析和风险评估包括文件的“父类-子类”分级结构,并且其中,对父类评定的风险是基于与子类相关联的风险。
文档编号G06F21/00GK101986323SQ20101022617
公开日2011年3月16日 申请日期2010年7月14日 优先权日2009年10月1日
发明者V·纳梅斯尼科夫 尤里, V·马斯艾维斯基 尤里, V·丹尼斯切卡 尼古拉, A·泽伦斯基 帕维尔 申请人:卡巴斯基实验室封闭式股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1