用于检测未知恶意软件的系统和方法技术方案

技术编号:7591766 阅读:252 留言:0更新日期:2012-07-21 06:21
本发明专利技术公开了用于检测未知恶意软件的系统、方法和计算机程序产品。该方法包括为已知恶意的和干净的对象生成基因;使用不同的恶意软件分析方法分析对象基因;基于对已知恶意对象的基因的分析来计算通过恶意软件分析方法的一个或组合对恶意对象的成功检测水平;基于对已知干净对象的基因的分析来计算通过恶意软件分析方法的一个或组合对干净对象的误报检测水平;以成功检测水平和误报检测水平的函数来衡量恶意分析方法的每一个或组合的有效性;以及选择最有效的恶意软件分析方法的一个或组合来分析未知对象是否存在恶意软件。

【技术实现步骤摘要】

本专利技术一般涉及计算机安全领域,并且特别地,涉及用于检测未知恶意软件的系统、方法和计算机程序产品。
技术介绍
在过去的十年间,由诸如游戏、新闻、娱乐、购物、银行、社交网络等互联网服务的发展所推动的互联网用户数量的显著增长,已导致新类型恶意软件的出现的显著增加。仅在过去的三年间,所检测到的新的恶意程序的数量已增加了超过十倍。并且该增长率在继续增加。由此,反病毒软件开发人员一直在努力通过开发新的用于检测恶意软件的系统和方法来跟上新种类的恶意软件的激增。作为此开发的结果,恶意软件的签名匹配和启发式(heuristic)分析技术已经广泛普及且极其常用于反病毒应用程序及其他计算机和网络安全产品。然而这些技术具有局限性。签名匹配方法专门面向对已知的软件对象的检测,而不适于检测之前属于未知类型的恶意软件。这与签名匹配方法是基于对来自文件的小型片段的散列函数值进行比较的事实相关联。因此,由于散列函数的加密属性,输入数据中甚至一个比特的改变,也会完全改变输出结果。保护的启发式分析方法也在检测未知恶意软件方面具有缺陷首先,相对于签名方法的更长的操作时间;以及其次,其提供60-70%的检测率,这已经接近其能力的极限。因此,用于检测未知恶意软件的新方法是必要的。
技术实现思路
本专利技术公开了用于检测未知恶意软件的系统、方法和计算机程序产品。在一个示例性实施例中,用于检测未知恶意软件的方法包括确定软件对象是否为已知的恶意的或干净(clean)的对象;以及,如果该对象是未知的,确定该未知对象的文件类型。基于该对象的该文件类型,选择两个或多个不同的恶意软件分析方法来分析该对象是否存在恶意软件。对于每个所选择的恶意软件分析方法,生成相关联的对象基因。该对象基因为含有从对象中检索的或与对象相关联的多个信息元素的数据结构。然后,使用所选择的恶意软件分析方法分析该对象基因是否存在恶意软件。在另一个示例性实施例中,用于检测未知恶意软件的方法包括为多个已知的恶意的和干净的对象中的每一个生成至少一个对象基因。使用一个或多个恶意软件分析方法分析每个对象基因。然后,基于通过所述方法对该已知恶意对象的基因的分析来计算通过一个恶意软件分析方法或者两个或多个恶意软件分析方法的组合对恶意对象的成功检测水平。下一步,基于通过所述方法对已知干净对象的基因的分析来计算通过一个恶意软件分析方法或者两个或多个恶意软件分析方法的组合对干净对象的误报(false positive)水平。然后,以该已知恶意对象的该成功检测水平和该已知干净对象的该误报水平的函数来测量每个恶意分析方法或恶意分析方法的组合的有效性。最后,选择最有效的恶意软件分析方法的一个或组合来分析未知对象是否存在恶意软件。以上对于示例性实施例的简要概括起到了提供对本专利技术的基本理解的作用。此概括并非对本专利技术的所有预期方面的广泛概述,并且既非意图识别所有实施例的重要或关键元素,也非意图描述任何或所有实施例的范围。其唯一的目的是以简化的形式预设一个或多个实施例,作为以下的对于本专利技术的更详细说明的前序。为了前述内容的实现,该一个或多个实施例包括在权利要求书中所说明并特别指出的特征。附图说明并入此说明书并构成此说明书的一部分的附示了本专利技术的一个或多个示例性实施例,并且与详细的说明一起起到解释这些实施例的原理和实施的作用。在附图中图I图示了根据一个示例性实施例的用于检测未知恶意软件的过程的流程图。图2图示了根据一个示例性实施例的用于选择恶意软件分析方法的表格。图3图示了根据一个示例性实施例的用于选择恶意软件分析方法的过程的流程图。图4图示了根据一个示例性实施例的用于选择计算机系统来分析未知对象是否存在恶意软件的表格。图5图示了根据一个示例性实施例的用于实施图3的方法的系统的示意图。图6图示了根据所公开的实施例的用于实施的通用计算机的示意图。图7图示了蠕虫程序的执行路径基因的示例。图8图示了用于木马程序的程序流程图基因的示例。图9图示了用于蠕虫程序的函数调用图表基因的示例。图10图示了可执行文件的可操作区域基因的示例。图11示意性图示了 PDF文件的结构。图12图示了根据一个示例性实施例的用于评估恶意软件分析方法的有效性的表格。图13A图示了修改程序代码,因此逐行比较分析会失败的示例。图13B图示了通过添加虚拟(dummy)指令来抵消对函数调用图表的分析的方法。图14图示了根据一个示例性实施例的单独以及组合来操作每个方法的有效比率的示例。具体实施例方式在此围绕用于检测未知恶意对象的系统、方法和计算机程序产品来描述本专利技术的示例性实施例。本领域普通技术人员应当了解,以下的描述仅仅是示例性的而并非意图以任何方式进行限定。对于受益于本专利技术的本领域技术人员来说,他们将会很容易地想到其他实施例。现将详细参考在附图中图示的本专利技术的示例性实施例的实施方式。贯穿附图和以下的描述将尽可能使用相同的附图标记来指代相同或相似的项。5在一个示例性实施例中,“对象基因组(object genome) ”的概念用于描述软件对象、适应性选择用于分析软件对象的方法、以及检测恶意对象。如本文所使用的软件对象包括不同格式的文件,诸如可执行文件、脚本、文档、库以及其它类型的可执行代码或数据。 对象基因组是含有一组特征的数据结构,每个特征在一般形式下以可能将软件对象的类缘 (affinity)确定至一个类的方式来描述软件对象。在一个示例性实施例中,该对象基因组包括一组所谓的“基因(gene)”(类比于生物),由此,该基因为该对象的特征的类似物。在下文中,为了简要,我们将使用术语“基因”。特别地,对象基因可以定义为含有被研究对象的多个不同信息元素的数据结构,包括但不限于该对象的独特的代码行、其可操作区域、程序执行路径、行为模式、程序流程图、操作系统应用程序接口(API)调用图表以及其它类型的信息。不同类型的对象可以具有不同基因,并且不同基因可以包括从对象提取的不同信息元素。例如,可操作区域基因可以包括在文件执行过程中加载到随机存取存储器中的文件的部分。图10示出了一个用于获得可执行文件的可操作区域的示例,该可执行文件用于 Windows家族中的操作系统环境。这类的文件被称为可移植可执行(protable executable, PE)文件。这些类型的文件具有特定的结构,即数据头(header)、一组片段(section)、导入表、重定位表等。由此,用于此类文件的可操作区域基因可以包括该文件的最重要的元素, 包括其数据头、入口点、指向主函数的指针以及其它服务区域。此外,如图10中所示,在该特定元素之前和之后提取4KB的数据。以此方式,生成32KB的信息,该32KB的信息存储在随机存取存储器中并用于进一步分析。此方法将文件分析时间最小化,这是因为在计算机中对硬盘驱动器上的对象进行直接存取是非常慢的操作,而使用随机存取存储器来作业则要快得多。然而,在处理不同格式的文件,如可移植文档格式(PDF)的过程中,可以选择文件的其他部分作为可操作区域。因此,此类型对象的可操作区域基因会包括与那些在PE 文件中所使用的信息元素不同的信息元素。特别地,在PDF文件的情况下,文件的主动式 (active)内容,比如java脚本(以java脚本语言写的脚本),可以被视为表征文件功本文档来自技高网...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:尤里·V·马舍夫斯基罗曼·瓦西连科
申请(专利权)人:卡巴斯基实验室封闭式股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术