一种恶意软件的分类方法和装置制造方法
【专利摘要】本发明公开了一种恶意软件的分类方法和装置,用以解决现有技术中在对恶意软件进行分类时存在的准确度较低的问题。该方法包括:根据预先基于已获得的恶意软件的特征行为生成的进程信息,创建与所述进程信息对应的虚拟进程;运行待分类的恶意软件,并记录所述待分类的恶意软件针对创建的虚拟安装记录和所述虚拟进程产生的动态行为;其中,所述虚拟安装记录是根据预先基于已获得的恶意软件的特征行为生成的软件安装信息创建的;将记录的动态行为输出给恶意软件分类工具,以使所述恶意软件分类工具能够根据记录的动态行为对待分类的恶意软件进行分类。
【专利说明】一种恶意软件的分类方法和装置
【技术领域】
[0001]本发明涉及计算机信息安全【技术领域】,尤其涉及一种恶意软件的分类方法和装置。
【背景技术】
[0002]恶意软件用来统称包括病毒、蠕虫、木马和间谍软件在内的各种恶意程序。近年来,由于利益驱动的关系,纯粹的恶意软件(比如仅以恶作剧或实验为目的的恶意软件)越来越少,而出现更多的是那种带有后门、可以使攻击者远程控制被感染的机器的恶意软件,被这种恶意软件感染的机器通常被称为“肉鸡”,因此这种恶意软件通常被称为“肉鸡”型恶意软件,而由“肉鸡”组成的受控网络通常被称为“僵尸网络”,而攻击者通常利用其拥有的“僵尸网络”以分布式拒绝服务(Distributed Denial of Service,DDoS)攻击、银行卡密码窃取、垃圾邮件发送和敏感信息盗窃等攻击方式进行盈利。因为这些原因,恶意软件常被归结为多种威胁的源头,是当前比较严重的威胁之一。
[0003]目前,围绕恶意软件已经形成了一条集开发、销售、分发和运营的完整产业链,而恶意软件的数量也随之而迅速膨胀,比如赛门铁克Symantec公司统计出2012年仅“肉鸡”型恶意软件的数量就增加了 340万,平均每天增加近1万。这种数量上的迅速膨胀增加了对恶意软件分析和研究的难度,传统的逐个样本分析和研究的方式不再有效,恶意软件的分类技术因此被发展出来。由于很多新出现的恶意软件只是已有的恶意软件的变种,它们的特征应该存在很多相似性,因此可以按照恶意软件的静态特征或者动态特征对其进行分类,把对单个样本的研究转化成对一类样本的研究,从而降低分析和研究的难度。其中,静态特征是指恶意软件中特定的字符串或者二进制串,这种分类技术比较成熟,传统的杀毒软件厂商一般都使用这种方法;而动态特征是指恶意软件的特征行为,其中,恶意软件运行过程中的所有行为被称作动态行为,而这些动态行为中恶意软件所特有的、能够用来作为识别特征的行为被称为特征行为。
[0004]基于上述思想,现有的恶意软件的分类技术一般先通过沙盒来获取待分类恶意软件的动态行为,沙盒的特点是对恶意软件运行过程中的动态行为作如实记录,但并不会捕获恶意软件的隐性行为,也就是说如果恶意软件的某种行为依赖沙盒中是否安装或者运行某种软件,而沙盒的配置环境不满足这种条件,那么该恶意软件相应的行为就不会产生,沙盒获得的主机行为就会有缺失,而缺失的很可能正是这种恶意软件所特有的、能够用来作为识别特征的特征行为。而在缺失该特征行为的前提下对这种恶意软件进行分类,一定会使分类结果的准确度大大降低。比如,最近出现的新蠕虫病毒BetaBot,它在运行后会首先检测系统中是否安装了 mire和7zip等软件,如果系统中安装了上述软件,则停止运行。这种行为在恶意软件中比较罕见,可以作为这种恶意软件的特征行为。但是如果系统中没有安装上述软件,则这种特征行为就不会发生,沙盒就不会捕获到该特征行为,从而导致对这种恶意软件进行分类时的准确度比较低。
[0005]为了解决上述准确度低的缺陷,目前的解决方案是在沙盒中预先安装好必要的软件,但是安装的某些软件会对某些恶意软件的运行产生干扰,比如在沙盒中安装某杀毒软件,那么该杀毒软件很可能会对某些恶意软件的运行过程进行阻止,甚至杀掉这些恶意软件的进程,使沙盒捕获不到恶意软件的特征行为,因此该解决方案仍然存在对恶意软件进行分类时准确度低的缺陷。
【发明内容】
[0006]本发明实施例提供一种恶意软件的分类方法和装置,用以解决现有技术中在对恶意软件进行分类时存在的准确度较低的问题。
[0007]本发明实施例采用以下技术方案:
[0008]一种恶意软件的分类方法,包括:
[0009]根据预先基于已获得的恶意软件的特征行为生成的进程信息,创建与所述进程信息对应的虚拟进程;
[0010]运行待分类的恶意软件,并记录所述待分类的恶意软件针对创建的虚拟安装记录和所述虚拟进程产生的动态行为;其中,所述虚拟安装记录是根据预先基于已获得的恶意软件的特征行为生成的软件安装信息创建的;
[0011]将记录的动态行为输出给恶意软件分类工具,以使所述恶意软件分类工具能够根据记录的动态行为对待分类的恶意软件进行分类。
[0012]一种恶意软件的分类装置,包括:
[0013]虚拟进程创建单元,用于根据预先基于已获得的恶意软件的特征行为生成的进程信息,创建与所述进程信息对应的虚拟进程;
[0014]动态行为记录单元,用于运行待分类的恶意软件,并记录所述待分类的恶意软件针对创建的虚拟安装记录和虚拟进程创建单元创建的所述虚拟进程产生的动态行为;其中,所述虚拟安装记录是根据预先基于已获得的恶意软件的特征行为生成的软件安装信息创建的;
[0015]动态行为输出单元,用于将动态行为记录单元记录的动态行为输出给恶意软件分类工具,以使所述恶意软件分类工具能够根据记录的动态行为对待分类的恶意软件进行分类。
[0016]本发明实施例的有益效果如下:
[0017]本发明的技术方案中,在运行待分类的恶意软件之前,能够根据预先基于已获得的恶意软件的特征行为而生成的进程信息和软件安装信息来创建对应的虚拟进程和虚拟安装记录,由于创建的虚拟进程和虚拟安装记录并不是真正的安装和运行了相应的软件,因此不会对待分类的恶意软件的运行产生任何影响,而且该虚拟进程和虚拟安装记录还能为待分类的恶意软件提供其特征行为所依赖的软件已经安装和运行的假象,使该待分类的恶意软件的特征行为能够表现出来,从而大大提高了对该待分类的恶意软件进行分类的准确度。
【专利附图】
【附图说明】
[0018]图1为本发明实施例提供的恶意软件的分类方法的实现流程图;
[0019]图2为本发明实施例提供的用于运行待分类的恶意软件的沙盒的具体结构示意图;
[0020]图3为本发明实施例提供的一种恶意软件的分类方法实现的具体流程图;
[0021]图4为本发明实施例提供的另一种恶意软件的分类方法实现的具体流程图;
[0022]图5为本发明实施例提供的一种恶意软件的分类装置的结构示意图;
[0023]图6为本发明实施例提供的另一种恶意软件的分类装置的结构示意图。
【具体实施方式】
[0024]为了解决现有技术中在对恶意软件进行分类时存在的准确度较低的问题,发明人对现有的恶意软件的分类技术进行了深入研究。现有的依据恶意软件的动态特征对恶意软件进行分类时,分类过程一般为:
[0025]首先获取待分类样本的动态行为,该过程一般在沙盒中完成,也可以通过动态仿真获得;然后将获取的一定数量的待分类样本的动态行为按照特定算法进行统计归类,常用的算法是聚类(cluster)算法;最后将动态行为相似的样本归为一类。
[0026]基于上述的分类过程,分类的准确度跟获取的待分类样本的特征行为的数量以及对动态行为建模的细化程度有关,对待分析样本的特征行为搜集越多、特征行为的描述信息越细,则分类的准确度越高。比如:某个恶意软件运行后会在c: \windows\system32\目录下创建一个scvhost.exe程序,然后将其添加到注册表的自启动项中,如下表1所示,为对创建scvhost.exe程序这个特征行为几种不同细化粒度的描述,级别level越大表示细化程度越高。
[0027]表1:
【权利要求】
1.一种恶意软件的分类方法,其特征在于,包括:根据预先基于已获得的恶意软件的特征行为生成的进程信息,创建与所述进程信息对应的虚拟进程;运行待分类的恶意软件,并记录所述待分类的恶意软件针对创建的虚拟安装记录和所述虚拟进程产生的动态行为;其中,所述虚拟安装记录是根据预先基于已获得的恶意软件的特征行为生成的软件安装信息创建的;将记录的动态行为输出给恶意软件分类工具,以使所述恶意软件分类工具能够根据记录的动态行为对待分类的恶意软件进行分类。
2.如权利要求1所述的方法,其特征在于,所述进程信息为进程名称,且承载所述进程信息的载体为配置文件;则所述进程信息按照如下方式生成:根据已获得的恶意软件的特征行为,确定与已获得的恶意软件的特征行为对应的软件;根据确定的所述软件,生成与确定的软件对应的进程名称,并将所述进程名称承载在配置文件中;以及创建与所述进程信息对应 的虚拟进程,具体包括:读取并解析所述配置文件;根据所述配置文件中承载的所述进程名称,创建与所述进程名称对应的虚拟进程。
3.如权利要求1所述的方法,其特征在于,所述进程信息为可执行文件;则所述进程信息按照如下方式生成:根据已获得的恶意软件的特征行为,确定与已获得的恶意软件的特征行为对应的软件;根据确定的所述软件,生成与确定的软件对应的进程名称,并将所述进程名称承载在配置文件中;根据所述配置文件中承载的所述进程名称,生成与所述进程名称对应的可执行文件;以及创建与所述进程信息对应的虚拟进程,具体包括:运行所述可执行文件,创建与所述可执行文件对应的虚拟进程。
4.如权利要求1所述的方法,其特征在于,所述软件安装信息包括:注册表键值、软件文件名称和软件安装路径,且承载所述软件安装信息的载体为配置文件;则所述软件安装信息按照如下方式生成:根据已获得的恶意软件的特征行为,确定与已获得的恶意软件的特征行为对应的软件;根据确定的所述软件,生成与确定的软件对应的注册表键值、软件文件名称和软件安装路径,并将所述注册表键值、软件文件名称和软件安装路径承载在配置文件中。
5.如权利要求4所述的方法,其特征在于,所述虚拟安装记录包括:注册表文件和软件磁盘文件;则所述虚拟安装记录按照如下方式创建:读取并解析所述配置文件;根据所述配置文件中承载的注册表键值,创建与所述注册表键值对应的注册表文件,以及根据所述配置文件中承载的软件文件名称和软件安装路径,创建与所述软件文件名称和软件安装路径对应的软件磁盘文件。
6.如权利要求1~5任一所述的方法,其特征在于,预先获得的恶意软件的特征行为包括:当检测到存在指定的注册表文件时,则停止运行的行为;当检测到存在指定的注册表文件时,则删除所述指定的注册表文件的行为;当检测到存在指定的软件磁盘文件时,则停止运行的行为;当检测到存在指定的软件磁盘文件时,则删除所述指定的软件磁盘文件的行为;当检测到存在指定的进程时,则停止运行的行为;当检测到存在指定的进程时,则删除所述指定的进程的行为。
7.—种恶意软件的分类装置,其特征在于,包括:虚拟进程创建单元,用于根据预先基于已获得的恶意软件的特征行为生成的进程信息,创建与所述进程信息对应的虚拟进程;动态行为记录单元,用于运行待分类的恶意软件,并记录所述待分类的恶意软件针对创建的虚拟安装记录和虚拟进程创建单元创建的所述虚拟进程产生的动态行为;其中,所述虚拟安装记录是根据预先基于已获得的恶意软件的特征行为生成的软件安装信息创建的;动态行为输出单元,用于将动态行为记录单元记录的动态行为输出给恶意软件分类工具,以使所述恶意软件分类工具能够根据记录的动态行为对待分类的恶意软件进行分类。
8.如权利要求7所述的装置,其特征在于,所述进程信息为进程名称,且承载所述进程信息的载体为配置文件;则所述装置还包括:进程信息第一生成单元,用于根据已获得的恶意软件的特征行为,确定与已获得的恶意软件的特征行为对应的软件;根据确定的所述软件,生成与确定的软件对应的进程名称,并将所述进程名称承载在配置文件中;以及虚拟进程创建单元,具体包括:读取和解析模块,用于读取并解析所述配置文件;创建模块,用于根据读取和解析模块得到的所述配置文件中承载的所述进程名称,创建与所述进程名称对应的虚拟进程。
9.如权利要求7所述的装置,其特征在于,所述进程信息为可执行文件;则所述装置还包括:进程信息第二生成单元,用于根据已获得的恶意软件的特征行为,确定与已获得的恶意软件的特征行为对应的软件;根据确定的所述软件,生成与确定的软件对应的进程名称,并将所述进程名称承载在配置文件中;根据所述配置文件中承载的所述进程名称,生成与所述进程名称对应的可执行文件;以及虚拟进程创建单元,具体用于:运行所述可执行文件,创建与所述可执行文件对应的虚拟进程。
10.如权利要求7所述的装置,其特征在于,所述软件安装信息包括:注册表键值、软件文件名称和软件安装路径,且承载所述软件安装信息的载体为配置文件;则所述装置还包括:软件安装信息生成单元,用于根据已获得的恶意软件的特征行为,确定与已获得的恶意软件的特征行为对应的软件;根据确定的所述软件,生成与确定的软件对应的注册表键值、软件文件名称和软件安装路径,并将所述注册表键值、软件文件名称和软件安装路径承载在配置文件中。
11.如权利要求10所述的装置,其特征在于,所述虚拟安装记录包括:注册表文件和软件磁盘文件;则所述装置还包括: 虚拟安装记录创建单元,用于读取并解析所述配置文件;根据所述配置文件中承载的注册表键值,创建与所述注册表键值对应的注册表文件,以及根据所述配置文件中承载的软件文件名称和软件安装路径,创建与所述软件文件名称和软件安装路径对应的软件磁盘文件。
12.如权利要求7~11任一所述的装置,其特征在于,预先获得的恶意软件的特征行为包括:当检测到存在指定的注册表文件时,则停止运行的行为;当检测到存在指定的注册表文件时,则删除所述指定的注册表文件的行为;当检测到存在指定的软件磁盘文件时,则停止运行的行为;当检测到存在指定的软件磁盘文件时,则删除所述指定的软件磁盘文件的行为;当检测到存在指定的进程时,则停止运行的行为;当检测到存在指定的进程时,则删除所述指定的进程的行为。
【文档编号】G06F21/56GK103646213SQ201310446158
【公开日】2014年3月19日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】刘亚, 周大 申请人:北京神州绿盟信息安全科技股份有限公司, 北京神州绿盟科技有限公司