在虚拟机中针对恶意性对文件进行分析的系统和方法技术方案

技术编号:18668496 阅读:27 留言:0更新日期:2018-08-14 20:41
本发明专利技术涉及在虚拟机中针对恶意性对文件进行分析的系统和方法。一种示例性方法包括:通过处理器在虚拟机中打开并执行文件;拦截在打开所述文件时所创建的进程的线程的执行过程中出现的事件;停止执行所述线程;读取所述处理器的上下文,其中在所述处理器上正在执行所述线程;将所述处理器的所述上下文与一个或多个规则相比较;以及基于所述比较的结果,执行如下项中的至少一者:将所述文件识别为恶意的;停止执行在打开所述文件时所创建的所述进程;改变所述处理器的所述上下文;以及等待下一个拦截的事件。

System and method for analyzing files based on maliciously in virtual machine

The invention relates to a system and method for analyzing files in a virtual machine for malicious purposes. An exemplary method includes opening and executing a file in a virtual machine through a processor; intercepting events occurring during execution of a thread of a process created when the file is opened; stopping executing the thread; reading the processor context where the thread is executing on the processor; and The context of the processor is compared to one or more rules; and, based on the result of the comparison, at least one of the following items is performed: identifying the file as malicious; stopping executing the process created when the file is opened; changing the context of the processor; and waiting An interception event.

【技术实现步骤摘要】
在虚拟机中针对恶意性对文件进行分析的系统和方法
本专利技术总体涉及网络安全的领域,以及更具体地涉及在虚拟机中针对恶意性对文件进行分析的系统和方法。
技术介绍
目前,设计成既对用户的数据又对被恶意程序入侵的电子设备的实际用户造成伤害的恶意程序(诸如计算机病毒、特洛伊(Trojan)木马、网络蠕虫)的量日益增加。该伤害可以通过损害或删除用户文件、将用户的计算设备的资源用于加密货币的“开采”、盗用电子机密用户数据(通信、图像、登录名、密码、银行卡信息)和其它动作来引起。此外,恶意软件不断改变,这是因为恶意软件的创造者采用常新的对抗安全应用程序的攻击和防御机制。使用各种机制,诸如恶意代码的模糊处理(换言之,例如,将程序的源文本或可执行代码转换为保留其功能但抵抗分析的形式、理解工作算法、以及对反编译的修改)或模拟抵抗机制的使用(例如,向恶意程序给出识别其何时在模拟器中被执行的能力,且该恶意程序不显现其有害的活动)。此外,恶意程序经常不立刻显现其恶意活动,而是该恶意程序执行大量(以百万的级别)的API函数调用、庞大的周期(以十亿次迭代的级别),以及紧接在被启动之后的特定时间(例如使用“Sleep()”函数的1小时)内停止其工作。用户的现代计算设备具有高性能、多核处理器(也称为多处理器系统),因此用户可以不注意或不关注多核之一的工作负荷。此外,在设备已被开启达1小时以上之后,用户正常地使用该设备。因此,如果该设备已被启动,则对于恶意程序来说无需立刻显示其活动。为了应对提及的技术,安全应用程序(诸如防病毒应用程序)的制造者为了文件的安全执行而采用使用孤立环境形式的虚拟机的检测方法。经常,这类虚拟机被称为沙盒。这类虚拟机在其控制下运行的管理程序包含用于拦截由其中执行的应用程序所进行的功能的机制。应当注意,安全应用程序采用用于确定恶意程序的各种方法,诸如签名技术和/或启发式分析技术。如果在分析的过程中未将文件确定为恶意的,则可以通过用于分析文件行为的安全应用程序将该文件移交到前文提及的虚拟机(例如,如果该文件不具有可信软件制造商的数字签名)。然后在虚拟机中执行移交的文件,以及在其执行过程中拦截由不同函数调用所进行的该文件的动作和事件,所拦截的事件和动作被保存在日志中且之后被安全应用程序或信息安全方面的专家分析。因此,已知的用于拦截和聚集事件和动作的系统在两个步骤中工作。在第一步骤中,采集信息;在第二步骤中,分析信息。已知的系统和方法的缺点在于,它们在文件的执行过程中不影响执行过程。例如,如果从被分析的文件(或从打开被分析的文件的应用程序)发起的进程已停止其执行达1小时或通过利用保存的密码访问文件而攻击特定电子邮件客户端或报信者(用于交换消息的程序),则被攻击的程序将缺席虚拟机,以及文件行为的恶意性将不被发现(因为还未找到具有密码的所需文件,恶意文件自身将终止其执行且将不显现其恶意活动)。
技术实现思路
公开了在虚拟机中针对恶意性对文件进行分析的系统和方法。所公开的系统和方法的一个技术效果和改进在于:当针对恶意性对文件进行分析时,这些系统和方法影响虚拟机中的文件执行的过程。在一个示例性方面中,一种用于针对恶意性对文件进行分析的方法包括:通过处理器在虚拟机中打开并执行文件;通过所述处理器拦截在打开所述文件时所创建的进程的线程的执行过程中出现的事件;在拦截所述事件时停止执行所述进程的所述线程;读取所述处理器的上下文,其中在所述处理器上正在执行在打开所述文件时所创建的所述进程的所述线程;通过所述处理器将所述处理器的所述上下文与一个或多个规则相比较,所述一个或多个规则检测:所述文件的路径、所述文件的类型、所述文件的扩展、在打开所述文件时所创建的所述进程的所述线程的行为、通过所述进程的所述线程对所述文件的属性的改变、以及所述进程的所述线程对因特网的访问;以及基于所述比较的结果,执行如下项中的至少一者:将所述文件识别为恶意的;停止执行在打开所述文件时所创建的所述进程;改变所述处理器的所述上下文;以及等待下一个拦截的事件。在一个示例性方面中,拦截的所述事件包括如下项中的一者或多者:由所述线程对API函数的调用;来自API函数的返回;系统调用;来自系统调用的返回;以及来自操作系统的通知。在一个示例性方面中,拦截事件还包括:确定被所述线程调用的API函数的编码约定。在一个示例性方面中,所述处理器的所述上下文至少包含所述处理器的寄存器值。在一个示例性方面中,拦截的事件和读取的所述处理器的所述上下文被保存在日志中。在一个示例性方面中,所述规则包含用于所述分析的深度的条件或所述事件的聚集深度的条件。在一个示例性方面中,所述规则包含用于增大周期的变量的条件。在另一个示例性方面中,一种用于针对恶意性对文件进行分析的系统包括:硬件处理器,所述硬件处理器配置成:在虚拟机中打开并执行文件;拦截在打开所述文件时所创建的进程的线程的执行过程中出现的事件;在拦截所述事件时停止执行所述进程的所述线程;读取所述处理器的上下文,其中在所述处理器上正在执行在打开所述文件时所创建的所述进程的所述线程;将所述处理器的所述上下文与一个或多个规则相比较,所述一个或多个规则检测:所述文件的路径、所述文件的类型、所述文件的扩展、在打开所述文件时所创建的所述进程的所述线程的行为、通过所述进程的所述线程对所述文件的属性的改变、以及所述进程的所述线程对因特网的访问;以及基于所述比较的结果,执行如下项中的至少一者:将所述文件识别为恶意的;停止执行在打开所述文件时所创建的所述进程;改变所述处理器的所述上下文;以及等待下一个拦截的事件。在又一个示例性方面中,一种其上存储用于在虚拟机中针对恶意性对文件进行分析的计算机可执行指令的非易失性计算机可读介质包括用于如下操作的指令:通过处理器在虚拟机中打开并执行文件;拦截在打开所述文件时所创建的进程的线程的执行过程中出现的事件;在拦截所述事件时停止执行所述进程的所述线程;读取所述处理器的上下文,其中在所述处理器上正在执行在打开所述文件时所创建的所述进程的所述线程;将所述处理器的所述上下文与一个或多个规则相比较,所述一个或多个规则检测:所述文件的路径、所述文件的类型、所述文件的扩展、在打开所述文件时所创建的所述进程的所述线程的行为、通过所述进程的所述线程对所述文件的属性的改变、以及所述进程的所述线程对因特网的访问;以及基于所述比较的结果,执行如下项中的至少一者:将所述文件识别为恶意的;停止执行在打开所述文件时所创建的所述进程;改变所述处理器的所述上下文;以及等待下一个拦截的事件。以上对本专利技术的示例性方面的简要概述用于提供对本专利技术的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键的要素或主要的要素,也不旨在勾画本专利技术的任何方面或所有方面的范围。为了实现前述内容,本专利技术的一个或多个方面包括在权利要求中所描述的且特别指出的特征。附图说明并入本说明书中并构成本说明书的一部分的附图示出了本专利技术的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。图1示出在虚拟机中针对恶意性对文件进行分析的示例。图2示出用于在虚拟机中针对恶意性对文件进行分析的示例性系统。图3示出用于在虚拟机中针对恶意性对文件进行分析的本文档来自技高网
...

【技术保护点】
1.一种用于针对恶意性对文件进行分析的方法,所述方法包括:通过处理器在虚拟机中打开并执行文件;通过所述处理器拦截在打开所述文件时所创建的进程的线程的执行过程中出现的事件;在拦截所述事件时停止执行所述进程的所述线程;读取所述处理器的上下文,其中在所述处理器上正在执行在打开所述文件时所创建的所述进程的所述线程;通过所述处理器将所述处理器的所述上下文与一个或多个规则相比较,所述一个或多个规则检测:所述文件的路径、所述文件的类型、所述文件的扩展、在打开所述文件时所创建的所述进程的所述线程的行为、通过所述进程的所述线程对所述文件的属性的改变、以及所述进程的所述线程对因特网的访问;以及基于所述比较的结果,执行如下项中的至少一者:将所述文件识别为恶意的;停止执行在打开所述文件时所创建的所述进程;改变所述处理器的所述上下文;以及等待下一个拦截的事件。

【技术特征摘要】
2017.02.08 RU 2017104135;2017.03.07 US 15/451,8501.一种用于针对恶意性对文件进行分析的方法,所述方法包括:通过处理器在虚拟机中打开并执行文件;通过所述处理器拦截在打开所述文件时所创建的进程的线程的执行过程中出现的事件;在拦截所述事件时停止执行所述进程的所述线程;读取所述处理器的上下文,其中在所述处理器上正在执行在打开所述文件时所创建的所述进程的所述线程;通过所述处理器将所述处理器的所述上下文与一个或多个规则相比较,所述一个或多个规则检测:所述文件的路径、所述文件的类型、所述文件的扩展、在打开所述文件时所创建的所述进程的所述线程的行为、通过所述进程的所述线程对所述文件的属性的改变、以及所述进程的所述线程对因特网的访问;以及基于所述比较的结果,执行如下项中的至少一者:将所述文件识别为恶意的;停止执行在打开所述文件时所创建的所述进程;改变所述处理器的所述上下文;以及等待下一个拦截的事件。2.如权利要求1所述的方法,其中,拦截的所述事件包括如下项中的一者或多者:由所述线程对API函数的调用;来自API函数的返回;系统调用;来自系统调用的返回;以及来自操作系统的通知。3.如权利要求1所述的方法,其中,拦截事件还包括:确定被所述线程调用的API函数的编码约定。4.如权利要求1所述的方法,其中,所述处理器的所述上下文至少包含所述处理器的寄存器值。5.如权利要求1所述的方法,其中,拦截的事件和读取的所述处理器的所述上下文被保存在日志中。6.如权利要求1所述的方法,其中,所述规则包含用于所述分析的深度的条件或所述事件的聚集深度的条件。7.如权利要求1所述的方法,其中,所述规则包含用于增大周期的变量的条件。8.一种用于针对恶意性对文件进行分析的系统,所述系统包括:硬件处理器,所述硬件处理器配置成:在虚拟机中打开并执行文件;拦截在打开所述文件时所创建的进程的线程的执行过程中出现的事件;在拦截所述事件时停止执行所述进程的所述线程;读取所述处理器的上下文,其中在所述处理器上正在执行在打开所述文件时所创建的所述进程的所述线程;将所述处理器的所述上下文与一个或多个规则相比较,所述一个或多个规则检测:所述文件的路径、所述文件的类型、所述文件的扩展、在打开所述文件时所创建的所述进程的所述线程的行为、通过所述进程的所述线程对所述文件的属性的改变、以及所述进程的所述线程对因特网的访问;以及基于所述比较的结果,执行如下项中的至少一者:将所述文件识别为恶意的;停止执行在打开所述文件时所创建的所述进程;改变所...

【专利技术属性】
技术研发人员:弗拉季斯拉夫·V·皮恩提斯基丹尼斯·V·阿尼金丹尼斯·Y·科比切夫马克西姆·Y·戈洛夫金维塔利·V·布图佐夫德米特里·V·卡拉索夫斯基德米特里·A·基尔萨诺夫
申请(专利权)人:卡巴斯基实验室股份制公司
类型:发明
国别省市:俄罗斯,RU

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

1