[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN103839003B - 恶意文件检测方法及装置 - Google Patents

恶意文件检测方法及装置 Download PDF

Info

Publication number
CN103839003B
CN103839003B CN201210478566.6A CN201210478566A CN103839003B CN 103839003 B CN103839003 B CN 103839003B CN 201210478566 A CN201210478566 A CN 201210478566A CN 103839003 B CN103839003 B CN 103839003B
Authority
CN
China
Prior art keywords
file
sample
journal
journal file
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210478566.6A
Other languages
English (en)
Other versions
CN103839003A (zh
Inventor
李萌萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210478566.6A priority Critical patent/CN103839003B/zh
Publication of CN103839003A publication Critical patent/CN103839003A/zh
Application granted granted Critical
Publication of CN103839003B publication Critical patent/CN103839003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种恶意文件检测方法及装置,其方法包括:获取待检测的样本文件;运行样本文件,并监控样本文件的运行行为,生成日志文件;分析日志文件,并基于预置的匹配规则进行恶意文件检测。本发明通过在虚拟机中运行样本文件,然后在虚拟机中运行监控程序,记录样本文件的运行行为,以此生成日志文件,然后再通过提取的特征规则对这些日志文件进行匹配,最终实现样本文件的恶意检测,本发明可大大提高病毒分析效率,并可及时找出当前反病毒软件无法检测出的新样本或某类有特定行为类型的样本,从而提高了病毒样本的检测准确率。

Description

恶意文件检测方法及装置
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种基于运行行为日志分析的恶意文件检测方法及装置。
背景技术
目前,随着病毒、恶意软件的大肆泛滥,病毒样本分析技术也得到不断提高,通过病毒样本分析,使病毒分析人员可快速鉴定病毒并了解其行为,从而制定相应的反病毒策略,对病毒进行有效拦截,保护用户系统免受破坏。
目前基于云的反病毒系统可及时有效的获取到最新的样本,同时也带来了海量的样本库。由于人工分析病毒比较费时费力,单靠人工分析无法应对当前飞速增长的大量病毒,因此需要结合各种病毒自动化分析技术来提高病毒分析的效率。
现有的病毒分析技术主要包括:启发式病毒分析技术、抗静态病毒分析技术、虚拟机检测病毒技术以及主动防御(实时防御)检测技术,其中:
启发式病毒分析是利用病毒运行和程序正常运行时的行为模式的不同来判断一个程序是否是病毒,这种方式是通过总结大量病毒的运行行为而得出分析结果,比如通过病毒自启动、传播、盗号等行为总结出一定的行为模式规则,以此来检测病毒。但是这种病毒分析效率不高,而且病毒检测不够准确。
对于抗静态病毒分析技术,启发式分析中静态分析技术比较简单且检测速度快,但是不能对付加壳、混淆、变形以及多态病毒,因为这类病毒通过各种技术模糊了自身的代码,而静态分析无法处理这类样本来了解病毒行为从而判断其恶意属性。
对于虚拟机检测病毒技术,可以用来应对加壳或加花指令、混淆、变形病毒,虚拟机一般通过模拟CPU和文件、内存管理系统以及系统API进而模拟代码的执行过程,病毒程序在虚拟机的虚拟环境中执行而不是被真实的执行,监控系统内软件运行时的行为,根据这些行为日志匹配一些规则,如果匹配到则说明发现了可疑样本。但是,由于虚拟系统比较耗费系统资源,因此这类虚拟机并没有完全的模拟整个系统。病毒可以运行一些特殊指令,此时如果虚拟机没有模拟这条指令,病毒就能检测到自己运行到虚拟机下,则会改变执行流程,比如不执行恶意行为等,从而逃过反病毒软件检测。此外,这类虚拟技术不够稳定,在客户端使用时比较耗费系统资源,导致用户机器运行缓慢。
主动防御(实时防御)检测技术是通过对系统中的一些关键API进行hook,记录下哪些程序调用了这些API以及调用时的参数,通过一个进程运行时调用的API序列可大致了解该程序的行为,判断其恶意属性,经判断为恶意程序则可及时阻止该恶意程序执行。这种检测技术虽然耗费资源较小,但是,在检测到病毒时,病毒可能已在系统中运行并对系统造成了损害。而且,如果病毒采用一些反病毒软件未hook的API来实现其功能,则可绕过主动防御系统。
因此,现有的病毒样本分析技术对病毒的检测存在较大风险,易被病毒发现而绕过,使得检测准确率不高,而且病毒分析效率也不高。
发明内容
本发明的主要目的在于提供一种恶意文件检测方法及装置,旨在提高病毒检测准确率及病毒分析的效率。
为了达到上述目的,本发明提出一种恶意文件检测方法,包括:
获取待检测的样本文件;
运行所述样本文件,并监控所述样本文件的运行行为,生成日志文件;
分析所述日志文件,并基于预置的匹配规则进行恶意文件检测。
本发明还提出一种恶意文件检测装置,包括:
获取模块,用于获取待检测的样本文件;
运行监控模块,用于运行所述样本文件,并监控所述样本文件的运行行为,生成日志文件;
分析检测模块,用于分析所述日志文件,并基于预置的匹配规则进行恶意文件检测。
本发明提出的一种恶意文件检测方法及装置,通过在虚拟机中运行样本文件,然后在虚拟机中运行监控程序,记录样本文件的运行行为,以此生成日志文件,然后再通过提取的特征规则对这些日志文件进行匹配,最终实现样本文件的恶意检测,本发明可大大提高病毒分析效率,并可及时找出当前反病毒软件无法检测出的新样本或某类有特定行为类型的样本,从而提高了病毒样本的检测准确率。
附图说明
图1是本发明恶意文件检测方法较佳实施例的流程示意图;
图2是本发明恶意文件检测方法较佳实施例中运行所述样本文件,并监控所述样本文件的运行行为,生成日志文件的流程示意图;
图3是本发明恶意文件检测方法较佳实施例中分析所述日志文件,并基于预置的匹配规则进行恶意文件检测的流程示意图;
图4是本发明恶意文件检测装置较佳实施例的结构示意图;
图5是本发明恶意文件检测装置较佳实施例中运行监控模块的结构示意图;
图6是本发明恶意文件检测装置较佳实施例中分析检测模块的结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
本发明实施例的解决方案主要是:通过在虚拟机中运行样本文件,然后在虚拟机中运行监控程序,记录样本文件的运行行为,包括对样本文件、注册表、网络、进程相关的读写、修改信息记录,由此生成日志文件,然后再通过提取的特征规则对这些日志文件进行匹配,如果匹配到则表明该样本文件为恶意样本,从而实现病毒的自动化行为分析。
如图1所示,本发明较佳实施例提出一种恶意文件检测方法,包括:
步骤S101,获取待检测的样本文件;
待检测的样本文件可以不限定其获取来源,比如可以从指定位置下载。
获取的待检测样本文件将被输入至自动化监控系统。
以病毒为例,本实施例所设置的自动化监控系统用于批量的自动化运行病毒并记录病毒运行时的行为得到日志文件,供分析人员查看,从而快速了解病毒行为,节省人力。
其中,自动化监控系统只能运行exe程序,而下载的样本文件可能有很多压缩包(rar、zip、7z等)、dll、sys等文件。因此首先需要对下载下来的所有样本文件进行格式识别、解压缩及筛选处理,如果是压缩包则使用解压工具解压,然后筛选出样本中的exe文件和解压后的exe文件放到固定的文件夹,作为自动化监控系统运行的样本来源。
步骤S102,运行所述样本文件,并监控所述样本文件的运行行为,生成日志文件;
如前所述,待检测的样本文件本被输入至自动化监控系统,由自动化监控系统运行样本文件并监控样本文件的运行行为得到日志文件,供分析人员查看,以便快速了解病毒等恶意文件的行为。
本实施例在自动化监控系统中,使用了虚拟软件VMware和监控工具ProcessMonitor工具,在虚拟机中通过AutoIt脚本程序来控制上述工具的运行,自动化控制系统输出的文件是每个样本文件运行行为的日志文件(ProcessMonitor监控得到的日志文件)。
其中,样本文件的运行行为包括:对文件、注册表、进程和网络信息的相关操作,如生成、访问、删除了什么文件;设置、新建、删除了哪些注册表项;开启、关闭了哪些进程;、连接了哪些ip地址等信息。
此外,由于很多恶意程序在运行后会释放别的恶意程序,因此也需要对这些恶意程序释放的文件进行计算,获取其MD5,并构成自动化监控系统输出的日志文件的一部分内容。通常情况下,如果母体文件判断是恶意的,那么其释放的子体文件也很可能是恶意的。
现有技术采用的虚拟机检测技术大多是放在客户端执行,而且使用的是简易的虚拟机,并未完整模拟操作系统,本实施例使用的自动化监控系统在后台运行样本,而且使用虚拟软件VMware,可以比较完整的模拟操作系统,而且可以减少被病毒发现而绕过的风险。
步骤S103,分析所述日志文件,并基于预置的匹配规则进行恶意文件检测。
每个样本文件运行后都会生成一个ProcessMonitor的日志文件,通过分析该日志文件可以了解到样本文件运行时的行为,主要包括文件、注册表、进程、网络信息等的相关操作,比如生成、访问、删除了什么文件;设置、新建、删除了哪些注册表项;开启、关闭了哪些进程;连接了哪些ip地址等信息。
本实施例预先对一些特定的样本提取日志匹配规则,以此来匹配过滤当前样本文件的日志文件。将样本文件运行后生成的日志文件与上述预先设置的匹配规则进行匹配,如果某个样本文件的日志文件的恶意属性匹配到了某条规则,则表明该样本文件是这条规则对应的特定的恶意文件。
具体地,如图2所示,作为运行所述样本文件,并监控所述样本文件的运行行为,生成日志文件的一种实施例,上述步骤S102可以包括:
步骤S1021,对运行样本文件的虚拟机进行环境初始化操作;
在自动化监控系统中运行样本文件并监控样本文件的运行行为时,首先需要对自动化监控系统中对运行样本文件的虚拟机进行环境初始化操作,即恢复虚拟机快照,该快照是之前配置好的虚拟机环境,在虚拟机环境中设置有控制程序、bat文件等,对虚拟机进行环境初始化操作,即是使虚拟机做好运行样本文件的准备工作。
步骤S1022,将所述样本文件复制到虚拟机的固定目录;
步骤S1023,在所述虚拟机中运行所述样本文件,并通过监控工具对运行过程中所述样本文件的运行行为进行监控,生成日志文件。
本实施例需要将样本文件复制到虚拟机中运行并使用ProcessMonitor工具来监控样本文件的运行行为。因此,在监控时,需要枚举之前筛选出的所有可执行样本程序,每枚举一个样本文件则完成一次自动监控过程。该过程使用VMware自带的工具vmrun.exe的一些控制命令来通过物理机控制虚拟机的运行。
首先将枚举到的一个样本文件复制到虚拟机的一个固定目录,然后运行虚拟机中的监控程序,该程序的功能是设置ProcessMonitor过滤器,用于过滤掉一些系统程序,然后运行预定时间(比如10s)后关闭进程,接着保存ProcessMonitor的日志文件,并初步分析日志文件,查看其释放的文件并计算其md5保存到指定文件。
步骤S1024,将所述日志文件从所述虚拟机复制到物理机的固定目录。
最后将ProcessMonitor的日志文件,包括行为日志和释放文件的md5列表,从虚拟机复制到物理机的固定目录,以便对日志文件进行分析。
如图3所示,作为分析所述日志文件,并基于预置的匹配规则进行恶意文件检测的一种实施例,上述步骤S103可以包括:
步骤S1031,从所述物理机的固定目录获取所述日志文件;
步骤S1032,分析所述日志文件的运行行为;
以病毒为例,每个病毒程序运行后都会生成一个ProcessMonitor的日志文件,通过分析该日志文件可以了解到病毒运行时的行为,主要包括文件、注册表、进程、网络信息等相关操作。如生成、访问、删除了什么文件;设置、新建、删除了哪些注册表项;开启、关闭了哪些进程;连接了哪些ip地址等信息。
步骤S1033,将所述日志文件的运行行为与预置的匹配规则中的恶意日志进行匹配;
步骤S1034,若匹配成功,则检测出所述日志文件对应的样本文件为恶意文件。
对于一些特定的样本可以提取日志规则来过滤日志,如果某个样本的日志文件匹配到了某条规则,则说明该样本是这条规则对应的特定的病毒。比如对于QQ盗号木马,可以提取一条特征是:删除QQ的自动登录文件,因此,如果发现一个样本的行为日志里有这样的日志记录,即可判断该样本是QQ盗号木马。
以即时通讯QQ为例,目前在实际应用中,会涉及到QQ刷钻程序的筛选和QQ盗号木马的筛选,QQ刷钻程序运行后会在界面上显示QQ业务的各种钻的类别,然后提示用户输入QQ号码和密码,并开通各种钻(简称刷钻)的业务,其实质是欺骗用户,盗取用户的QQ号码和密码,因为这些应用程序实际上不能刷钻。
由于QQ刷钻程序主要是利用社会工程学方法欺骗用户,一般没有采用技术方法来盗取QQ密码,没有特定的行为特征,但是这类刷钻程序的主程序界面上有一些特定的关键字,可以通过这些关键字来匹配这类样本,因此对于QQ刷钻程序,是通过匹配窗口的关键字来实现恶意样本的检测。
样本文件在虚拟机中运行后,运行一个QQ刷钻检测程序,该程序会枚举到系统中的所有窗口和这些窗口的子窗口的文字,然后查找是否包含如下关键字:刷钻、刷 钻、刷Q、红钻、Q业务、QQ密码、Q币、QB,如果发现则表明该样本是一个QQ刷钻程序。
对于QQ盗号木马的筛选则是通过提取行为规则来筛选。因为这类QQ盗号木马是通过技术方法来盗取QQ密码,比如替换QQ的一些文件等,常用的QQ盗号木马的筛选规则如下:
(1)关闭了QQ.exe进程;
(2)访问(释放)了QQ\bin目录下的文件;
(3)删除了QQ的Registry.db文件(该文件保存QQ自动登录信息,很多QQ盗号木马会删除该文件使得QQ自动登录失效,以便让用户再次输入QQ密码来实现盗号);
(4)修改了QQ.lnk快捷方式文件,使得该lnk文件指向QQ盗号木马。
在对应筛选规则进行匹配判断时,读取日志文件的每一行,然后判断每行是否有以下四个字符串中的任一个:同时存在QQ.exe 和 Process Exit、QQ\Bin、Registry.db、QQ.lnk。
如果包含上述四个行为中的任一个,那么就判断该日志文件对应的样本文件为QQ盗号木马,并将其md5记录到指定的文本文件中。
在实际应用中,可以通过配置计划任务,每天运行一次自动化监控系统,从前一天的样本文件中得到QQ刷钻程序和QQ盗号木马,通过不断监控这些样本文件的热度和广度,从而得到热度和广度最大的样本文件,以便进行重点处理。
本实例通过测试自动化监控系统获取到如下实验数据。其中,设定自动化监控系统监控一个样本文件的平均时间是45s,通过测试几批样本(一天中“刷钻关键字过滤”和“QQ目录监控”得到的所有样本,QQ目录监控是监控在QQ目录释放的文件,由于很多盗号木马是在该目录释放DLL实现盗号,而这里的自动化是用于自动运行EXE程序,实际上找到的EXE程序大部分是QQ盗号木马),随机抽取四批数据,如下:
刷钻关键字过滤样本数据如下表1所示:
样本数量 检测到的刷钻样本数量 刷钻样本比例
328 110 33.5%
607 252 41.5%
370 138 37.3
308 152 49.3%
表1
QQ目录监控样本数据如下表2所示:
表2
本实施例通过在虚拟机中运行样本文件,然后在虚拟机中运行监控程序,记录样本文件的运行行为,以此生成日志文件,然后再通过提取的特征规则对这些日志文件进行匹配,最终实现样本文件的恶意检测,可大大提高病毒分析效率,并可及时找出当前反病毒软件无法检测出的新样本或某类有特定行为类型的样本,从而提高了病毒样本的检测准确率。
此外,对于后续挖掘特定样本的需求中,均可以通过试图分析样本的日志文件来实现,因此本实施例方案应用范围广泛,对于从海量样本文件中挖掘特定的样本文件或最新样本均有借鉴及参考作用。
如图4所示,本发明较佳实施例提出一种恶意文件检测装置,包括:获取模块401、运行监控模块402以及分析检测模块403,其中:
获取模块401,用于获取待检测的样本文件;
运行监控模块402,用于运行所述样本文件,并监控所述样本文件的运行行为,生成日志文件;
分析检测模块403,用于分析所述日志文件,并基于预置的匹配规则进行恶意文件检测。
其中,待检测的样本文件可以不限定其获取来源,比如可以从指定位置下载。
获取模块401获取的待检测样本文件将被输入至自动化监控系统。
以病毒为例,本实施例所设置的自动化监控系统用于批量的自动化运行病毒并记录病毒运行时的行为得到日志文件,供分析人员查看,从而快速了解病毒行为,节省人力。
其中,自动化监控系统只能运行exe程序,而下载的样本文件可能有很多压缩包(rar、zip、7z等)、dll、sys等文件。因此首先需要对下载下来的所有样本文件进行格式识别、解压缩及筛选处理,如果是压缩包则使用解压工具解压,然后筛选出样本中的exe文件和解压后的exe文件放到固定的文件夹,作为自动化监控系统运行的样本来源。
如前所述,待检测的样本文件本被输入至自动化监控系统,由自动化监控系统运行样本文件并监控样本文件的运行行为得到日志文件,供分析人员查看,以便快速了解病毒等恶意文件的行为。
本实施例在自动化监控系统中,使用了虚拟软件VMware和监控工具ProcessMonitor工具,在虚拟机中通过AutoIt脚本程序来控制上述工具的运行,自动化控制系统输出的文件是每个样本文件运行行为的日志文件(ProcessMonitor监控得到的日志文件)。
其中,样本文件的运行行为包括:对文件、注册表、进程和网络信息的相关操作,如生成、访问、删除了什么文件;设置、新建、删除了哪些注册表项;开启、关闭了哪些进程;、连接了哪些ip地址等信息。
此外,由于很多恶意程序在运行后会释放别的恶意程序,因此也需要对这些恶意程序释放的文件进行计算,获取其MD5,并构成自动化监控系统输出的日志文件的一部分内容。通常情况下,如果母体文件判断是恶意的,那么其释放的子体文件也很可能是恶意的。
现有技术采用的虚拟机检测技术大多是放在客户端执行,而且使用的是简易的虚拟机,并未完整模拟操作系统,本实施例使用的自动化监控系统在后台运行样本,而且使用虚拟软件VMware,可以比较完整的模拟操作系统,而且可以减少被病毒发现而绕过的风险。
每个样本文件运行后都会生成一个ProcessMonitor的日志文件,通过运行监控模块402分析该日志文件可以了解到样本文件运行时的行为,主要包括文件、注册表、进程、网络信息等的相关操作,比如生成、访问、删除了什么文件;设置、新建、删除了哪些注册表项;开启、关闭了哪些进程;连接了哪些ip地址等信息。
本实施例预先对一些特定的样本提取日志匹配规则,以此来匹配过滤当前样本文件的日志文件。分析检测模块403将样本文件运行后生成的日志文件与上述预先设置的匹配规则进行匹配,如果某个样本文件的日志文件的恶意属性匹配到了某条规则,则表明该样本文件是这条规则对应的特定的恶意文件。
具体地,如图5所示,作为运行所述样本文件,并监控所述样本文件的运行行为,生成日志文件的一种实施例,所述运行监控模块402可以包括:初始化单元4021、复制单元4022以及运行监控单元4023,其中:
初始化单元4021,用于对运行样本文件的虚拟机进行环境初始化操作;
复制单元4022,用于将所述样本文件复制到虚拟机的固定目录;
运行监控单元4023,用于在所述虚拟机中运行所述样本文件,并通过监控工具对运行过程中所述样本文件的运行行为进行监控,生成日志文件。
所述复制单元4022还用于将所述日志文件从所述虚拟机复制到物理机的固定目录。
在自动化监控系统中运行样本文件并监控样本文件的运行行为时,首先需要对自动化监控系统中对运行样本文件的虚拟机进行环境初始化操作,即恢复虚拟机快照,该快照是之前配置好的虚拟机环境,在虚拟机环境中设置有控制程序、bat文件等,对虚拟机进行环境初始化操作,即是使虚拟机做好运行样本文件的准备工作。
本实施例需要将样本文件复制到虚拟机中运行并使用ProcessMonitor工具来监控样本文件的运行行为。因此,在监控时,需要枚举之前筛选出的所有可执行样本程序,每枚举一个样本文件则完成一次自动监控过程。该过程使用VMware自带的工具vmrun.exe的一些控制命令来通过物理机控制虚拟机的运行。
首先将枚举到的一个样本文件复制到虚拟机的一个固定目录,然后运行虚拟机中的监控程序,该程序的功能是设置ProcessMonitor过滤器,用于过滤掉一些系统程序,然后运行预定时间(比如10s)后关闭进程,接着保存ProcessMonitor的日志文件,并初步分析日志文件,查看其释放的文件并计算其md5保存到指定文件。
最后将ProcessMonitor的日志文件,包括行为日志和释放文件的md5列表,从虚拟机复制到物理机的固定目录,以便对日志文件进行分析。
如图6所示,作为分析所述日志文件,并基于预置的匹配规则进行恶意文件检测的一种实施例,所述分析检测模块403可以包括:获取单元4031、分析单元4032、匹配单元4033以及检测单元4034,其中:
获取单元4031,用于从所述物理机的固定目录获取所述日志文件;
分析单元4032,用于分析所述日志文件的运行行为;
匹配单元4033,用于将所述日志文件的运行行为与预置的匹配规则中的恶意日志进行匹配;
检测单元4034,用于当所述日志文件的运行行为与预置的匹配规则中的恶意日志匹配成功时,检测出所述日志文件对应的样本文件为恶意文件。
以病毒为例,每个病毒程序运行后都会生成一个ProcessMonitor的日志文件,通过分析该日志文件可以了解到病毒运行时的行为,主要包括文件、注册表、进程、网络信息等相关操作。如生成、访问、删除了什么文件;设置、新建、删除了哪些注册表项;开启、关闭了哪些进程;连接了哪些ip地址等信息。
对于一些特定的样本可以提取日志规则来过滤日志,如果某个样本的日志文件匹配到了某条规则,则说明该样本是这条规则对应的特定的病毒。比如对于QQ盗号木马,可以提取一条特征是:删除QQ的自动登录文件,因此,如果发现一个样本的行为日志里有这样的日志记录,即可判断该样本是QQ盗号木马。
以即时通讯QQ为例,目前在实际应用中,会涉及到QQ刷钻程序的筛选和QQ盗号木马的筛选,QQ刷钻程序运行后会在界面上显示QQ业务的各种钻的类别,然后提示用户输入QQ号码和密码,并开通各种钻(简称刷钻)的业务,其实质是欺骗用户,盗取用户的QQ号码和密码,因为这些应用程序实际上不能刷钻。
由于QQ刷钻程序主要是利用社会工程学方法欺骗用户,一般没有采用技术方法来盗取QQ密码,没有特定的行为特征,但是这类刷钻程序的主程序界面上有一些特定的关键字,可以通过这些关键字来匹配这类样本,因此对于QQ刷钻程序,是通过匹配窗口的关键字来实现恶意样本的检测。
样本文件在虚拟机中运行后,运行一个QQ刷钻检测程序,该程序会枚举到系统中的所有窗口和这些窗口的子窗口的文字,然后查找是否包含如下关键字:刷钻、刷 钻、刷Q、红钻、Q业务、QQ密码、Q币、QB,如果发现则表明该样本是一个QQ刷钻程序。
对于QQ盗号木马的筛选则是通过提取行为规则来筛选。因为这类QQ盗号木马是通过技术方法来盗取QQ密码,比如替换QQ的一些文件等,常用的QQ盗号木马的筛选规则如下:
(1)关闭了QQ.exe进程;
(2)访问(释放)了QQ\bin目录下的文件;
(3)删除了QQ的Registry.db文件(该文件保存QQ自动登录信息,很多QQ盗号木马会删除该文件使得QQ自动登录失效,以便让用户再次输入QQ密码来实现盗号);
(4)修改了QQ.lnk快捷方式文件,使得该lnk文件指向QQ盗号木马。
在对应筛选规则进行匹配判断时,读取日志文件的每一行,然后判断每行是否有以下四个字符串中的任一个:同时存在QQ.exe 和 Process Exit、QQ\Bin、Registry.db、QQ.lnk。
如果包含上述四个行为中的任一个,那么就判断该日志文件对应的样本文件为QQ盗号木马,并将其md5记录到指定的文本文件中。
在实际应用中,可以通过配置计划任务,每天运行一次自动化监控系统,从前一天的样本文件中得到QQ刷钻程序和QQ盗号木马,通过不断监控这些样本文件的热度和广度,从而得到热度和广度最大的样本文件,以便进行重点处理。
本实例通过测试自动化监控系统获取到如下实验数据。其中,设定自动化监控系统监控一个样本文件的平均时间是45s,通过测试几批样本(一天中“刷钻关键字过滤”和“QQ目录监控”得到的所有样本,QQ目录监控是监控在QQ目录释放的文件,由于很多盗号木马是在该目录释放DLL实现盗号,而这里的自动化是用于自动运行EXE程序,实际上找到的EXE程序大部分是QQ盗号木马),随机抽取四批数据,其中,刷钻关键字过滤样本数据如上表1所示。QQ目录监控样本数据如上表2所示。
本实施例通过在虚拟机中运行样本文件,然后在虚拟机中运行监控程序,记录样本文件的运行行为,以此生成日志文件,然后再通过提取的特征规则对这些日志文件进行匹配,最终实现样本文件的恶意检测,可大大提高病毒分析效率,并可及时找出当前反病毒软件无法检测出的新样本或某类有特定行为类型的样本,从而提高了病毒样本的检测准确率。
此外,对于后续挖掘特定样本的需求中,均可以通过试图分析样本的日志文件来实现,因此本实施例方案应用范围广泛,对于从海量样本文件中挖掘特定的样本文件或最新样本均有借鉴及参考作用。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种恶意文件检测方法,其特征在于,包括:
获取待检测的样本文件;
运行所述样本文件,并监控所述样本文件的运行行为,生成日志文件;所述运行行为包括:对文件、注册表、进程和/或网络信息的相关操作;所述日志文件包括:行为日志和样本文件运行后释放的子体文件的MD5列表;
分析所述日志文件,并基于预置的匹配规则判断母体文件是否为恶意文件以及子体文件是否为恶意文件;所述分析包括提取预设的日志规则来过滤日志文件,如果某个样本的日志文件匹配到了某条规则,则说明该样本是这条规则对应的特定的病毒,或,提取预设的日志规则匹配样本运行窗口的关键字来实现恶意样本的检测。
2.根据权利要求1所述的方法,其特征在于,所述获取待检测的样本文件的步骤之后还包括:
对所述样本文件进行格式识别、解压缩和\或筛选处理,得到可运行的样本文件。
3.根据权利要求1所述的方法,其特征在于,所述运行样本文件,并监控所述样本文件的运行行为,生成日志文件的步骤包括:
对运行样本文件的虚拟机进行环境初始化操作;
将所述样本文件复制到虚拟机的固定目录;
在所述虚拟机中运行所述样本文件,并通过监控工具对运行过程中所述样本文件的运行行为进行监控,生成日志文件。
4.根据权利要求3所述的方法,其特征在于,所述运行样本文件,并监控所述样本文件的运行行为,生成日志文件的步骤还包括:
将所述日志文件从所述虚拟机复制到物理机的固定目录。
5.根据权利要求4所述的方法,其特征在于,所述分析日志文件,并基于预置的匹配规则进行恶意文件检测的步骤包括:
从所述物理机的固定目录获取所述日志文件;
分析所述日志文件的运行行为;
将所述日志文件的运行行为与预置的匹配规则中的恶意日志进行匹配;
若匹配成功,则检测出所述日志文件对应的样本文件为恶意文件。
6.一种恶意文件检测装置,其特征在于,包括:
获取模块,用于获取待检测的样本文件;
运行监控模块,用于运行所述样本文件,并监控所述样本文件的运行行为,生成日志文件;所述运行行为包括:对文件、注册表、进程和/或网络信息的相关操作;所述日志文件包括:行为日志和样本文件运行后释放的子体文件的MD5列表;
分析检测模块,用于分析所述日志文件,并基于预置的匹配规则判断母体文件是否为恶意文件以及子体文件是否为恶意文件;所述分析包括提取预设的日志规则来过滤日志文件,如果某个样本的日志文件匹配到了某条规则,则说明该样本是这条规则对应的特定的病毒,或,提取预设的日志规则匹配样本运行窗口的关键字来实现恶意样本的检测。
7.根据权利要求6所述的装置,其特征在于,所述获取模块还用于对所述样本文件进行格式识别、解压缩和\或筛选处理,得到可运行的样本文件。
8.根据权利要求6或7所述的装置,其特征在于,所述运行监控模块包括:
初始化单元,用于对运行样本文件的虚拟机进行环境初始化操作;
复制单元,用于将所述样本文件复制到虚拟机的固定目录;
运行监控单元,用于在所述虚拟机中运行所述样本文件,并通过监控工具对运行过程中所述样本文件的运行行为进行监控,生成日志文件。
9.根据权利要求8所述的装置,其特征在于,所述复制单元还用于将所述日志文件从所述虚拟机复制到物理机的固定目录。
10.根据权利要求8所述的装置,其特征在于,所述分析检测模块包括:
获取单元,用于从物理机的固定目录获取所述日志文件;
分析单元,用于分析所述日志文件的运行行为;
匹配单元,用于将所述日志文件的运行行为与预置的匹配规则中的恶意日志进行匹配;
检测单元,用于当所述日志文件的运行行为与预置的匹配规则中的恶意日志匹配成功时,检测出所述日志文件对应的样本文件为恶意文件。
CN201210478566.6A 2012-11-22 2012-11-22 恶意文件检测方法及装置 Active CN103839003B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210478566.6A CN103839003B (zh) 2012-11-22 2012-11-22 恶意文件检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210478566.6A CN103839003B (zh) 2012-11-22 2012-11-22 恶意文件检测方法及装置

Publications (2)

Publication Number Publication Date
CN103839003A CN103839003A (zh) 2014-06-04
CN103839003B true CN103839003B (zh) 2018-01-30

Family

ID=50802488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210478566.6A Active CN103839003B (zh) 2012-11-22 2012-11-22 恶意文件检测方法及装置

Country Status (1)

Country Link
CN (1) CN103839003B (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653947B (zh) * 2014-11-11 2019-09-13 中国移动通信集团公司 一种评估应用数据安全风险的方法及装置
CN105791250B (zh) * 2014-12-26 2020-10-02 北京奇虎科技有限公司 应用程序检测方法及装置
CN105897807A (zh) * 2015-01-14 2016-08-24 江苏博智软件科技有限公司 一种基于行为特征的移动智能终端异常代码云检测方法
US9852295B2 (en) * 2015-07-14 2017-12-26 Bitdefender IPR Management Ltd. Computer security systems and methods using asynchronous introspection exceptions
CN105184162B (zh) * 2015-08-18 2019-01-04 安一恒通(北京)科技有限公司 程序监控方法和装置
CN105204973A (zh) * 2015-09-25 2015-12-30 浪潮集团有限公司 云平台下基于虚拟机技术的异常行为监测分析系统及方法
CN106611122A (zh) * 2015-10-27 2017-05-03 国家电网公司 基于虚拟执行的未知恶意程序离线检测系统
CN105224867A (zh) * 2015-10-27 2016-01-06 成都卫士通信息产业股份有限公司 一种基于虚拟化环境下的主机安全加固方法
CN105608374B (zh) * 2015-12-18 2019-04-19 北京奇虎科技有限公司 虚拟机逃逸的检测方法及装置
CN105631320B (zh) * 2015-12-18 2019-04-19 北京奇虎科技有限公司 虚拟机逃逸的检测方法及装置
CN105590059B (zh) * 2015-12-18 2019-04-23 北京奇虎科技有限公司 虚拟机逃逸的检测方法及装置
CN106599684A (zh) * 2015-12-30 2017-04-26 哈尔滨安天科技股份有限公司 一种无实体文件恶意代码的检测方法及系统
CN105574205B (zh) * 2016-01-18 2019-03-19 国家电网公司 分布式计算环境的日志动态分析系统
CN107231245B (zh) * 2016-03-23 2021-04-02 阿里巴巴集团控股有限公司 上报监控日志的方法及装置、处理监控日志的方法及装置
CN105912932A (zh) * 2016-04-08 2016-08-31 周宏斌 一种威胁行为检测系统和方法
CN105791323B (zh) * 2016-05-09 2019-02-26 国家电网公司 未知恶意软件的防御方法和设备
CN106055976B (zh) * 2016-05-16 2021-05-28 新华三技术有限公司 文件检测方法及沙箱控制器
CN106130960B (zh) * 2016-06-12 2019-08-09 微梦创科网络科技(中国)有限公司 盗号行为的判断系统、负载调度方法和装置
CN106130966B (zh) * 2016-06-20 2019-07-09 北京奇虎科技有限公司 一种漏洞挖掘检测方法、服务器、装置和系统
CN106446689A (zh) * 2016-09-02 2017-02-22 中科信息安全共性技术国家工程研究中心有限公司 一种对android应用进行自动化安全检测的方法
CN106709326A (zh) * 2016-11-24 2017-05-24 北京奇虎科技有限公司 一种可疑样本的处理方法和装置
CN106682513A (zh) * 2016-11-28 2017-05-17 北京奇虎科技有限公司 一种目标样本文件的检测方法和装置
CN106557701B (zh) * 2016-11-28 2019-09-06 北京奇虎科技有限公司 基于虚拟机的内核漏洞检测方法及装置
CN106778246A (zh) * 2016-12-01 2017-05-31 北京奇虎科技有限公司 沙箱虚拟化的检测方法及检测装置
CN108256325A (zh) * 2016-12-29 2018-07-06 中移(苏州)软件技术有限公司 一种恶意代码变种的检测的方法和装置
US10546120B2 (en) * 2017-09-25 2020-01-28 AO Kaspersky Lab System and method of forming a log in a virtual machine for conducting an antivirus scan of a file
CN108363919B (zh) * 2017-10-19 2021-04-20 北京安天网络安全技术有限公司 一种病毒专杀工具生成方法及系统
CN108804916B (zh) * 2017-12-19 2022-01-28 安天科技集团股份有限公司 恶意文件的检测方法、装置、电子设备及存储介质
CN110210218B (zh) * 2018-04-28 2023-04-14 腾讯科技(深圳)有限公司 一种病毒检测的方法以及相关装置
CN109766700A (zh) * 2018-05-04 2019-05-17 360企业安全技术(珠海)有限公司 访问文件的控制方法及装置、存储介质、电子装置
CN111277539B (zh) * 2018-11-16 2022-09-02 慧盾信息安全科技(苏州)股份有限公司 一种服务器勒索病毒防护系统和方法
CN110399720B (zh) * 2018-12-14 2022-12-16 腾讯科技(深圳)有限公司 一种文件检测的方法以及相关装置
CN111368295A (zh) * 2018-12-26 2020-07-03 中兴通讯股份有限公司 恶意样本检测方法、装置、系统及存储介质
CN109815701B (zh) * 2018-12-29 2022-04-22 奇安信安全技术(珠海)有限公司 软件安全的检测方法、客户端、系统及存储介质
CN111027062A (zh) * 2019-03-29 2020-04-17 哈尔滨安天科技集团股份有限公司 一种靶场应用失陷状态的评估方法及装置
CN112580041B (zh) * 2019-09-30 2023-07-07 奇安信安全技术(珠海)有限公司 恶意程序检测方法及装置、存储介质、计算机设备
CN110889113A (zh) * 2019-10-30 2020-03-17 泰康保险集团股份有限公司 一种日志分析方法、服务器、电子设备及存储介质
CN111143839A (zh) * 2019-12-30 2020-05-12 厦门服云信息科技有限公司 一种基于虚拟化行为分析技术的恶意代码检测方法及装置
CN112527672B (zh) * 2020-12-21 2021-10-22 北京深思数盾科技股份有限公司 一种针对加壳工具的检测方法及设备
CN112560018B (zh) * 2020-12-23 2023-10-31 苏州三六零智能安全科技有限公司 样本文件检测方法、装置、终端设备以及存储介质
CN112699176B (zh) * 2021-02-06 2023-06-30 北京拓普丰联信息科技股份有限公司 一种快速随机抽取方法、系统、终端以及存储介质
CN112989344B (zh) * 2021-03-16 2022-07-05 北京理工大学 基于硬件追踪技术的恶意程序智能检测方法、装置及系统
CN116861429B (zh) * 2023-09-04 2023-12-08 北京安天网络安全技术有限公司 一种基于样本行为的恶意检测方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818823A (zh) * 2005-02-07 2006-08-16 福建东方微点信息安全有限责任公司 基于程序行为分析的计算机防护方法
CN101231682A (zh) * 2007-01-26 2008-07-30 李贵林 计算机信息安全的方法
CN101593249A (zh) * 2008-05-30 2009-12-02 成都市华为赛门铁克科技有限公司 一种可疑文件分析方法及系统
CN101788915A (zh) * 2010-02-05 2010-07-28 北京工业大学 基于可信进程树的白名单更新方法
CN101986323A (zh) * 2009-10-01 2011-03-16 卡巴斯基实验室封闭式股份公司 用于检测先前未知的恶意软件的系统和方法
CN102314561A (zh) * 2010-07-01 2012-01-11 电子科技大学 基于api hook的恶意代码自动分析方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058420B2 (en) * 2008-06-20 2015-06-16 Vmware, Inc. Synchronous decoupled program analysis in virtual environments

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818823A (zh) * 2005-02-07 2006-08-16 福建东方微点信息安全有限责任公司 基于程序行为分析的计算机防护方法
CN101231682A (zh) * 2007-01-26 2008-07-30 李贵林 计算机信息安全的方法
CN101593249A (zh) * 2008-05-30 2009-12-02 成都市华为赛门铁克科技有限公司 一种可疑文件分析方法及系统
CN101986323A (zh) * 2009-10-01 2011-03-16 卡巴斯基实验室封闭式股份公司 用于检测先前未知的恶意软件的系统和方法
CN101788915A (zh) * 2010-02-05 2010-07-28 北京工业大学 基于可信进程树的白名单更新方法
CN102314561A (zh) * 2010-07-01 2012-01-11 电子科技大学 基于api hook的恶意代码自动分析方法和系统

Also Published As

Publication number Publication date
CN103839003A (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
CN103839003B (zh) 恶意文件检测方法及装置
US11423146B2 (en) Provenance-based threat detection tools and stealthy malware detection
Galal et al. Behavior-based features model for malware detection
US11210390B1 (en) Multi-version application support and registration within a single operating system environment
US8484727B2 (en) System and method for computer malware detection
Mosli et al. Automated malware detection using artifacts in forensic memory images
US9237161B2 (en) Malware detection and identification
KR102160659B1 (ko) 하드웨어-기반 마이크로-아키텍처 데이터를 이용한 이상 프로그램 실행의 검출
US9424426B2 (en) Detection of malicious code insertion in trusted environments
Sabhadiya et al. Android malware detection using deep learning
US11847214B2 (en) Machine learning systems and methods for reducing the false positive malware detection rate
EP3211558B1 (en) Multi-threat analyzer array system and method of use
EP2975873A1 (en) A computer implemented method for classifying mobile applications and computer programs thereof
KR101132197B1 (ko) 악성 코드 자동 판별 장치 및 방법
US10237285B2 (en) Method and apparatus for detecting macro viruses
Choi et al. Toward extracting malware features for classification using static and dynamic analysis
Carlin et al. Dynamic analysis of malware using run-time opcodes
Sun et al. Malware virtualization-resistant behavior detection
CN107644161A (zh) 样本的安全测试方法、装置和设备
Sharma et al. Survey for detection and analysis of android malware (s) through artificial intelligence techniques
CN114547610A (zh) 一种文件检测方法、装置及设备
Nandagopal et al. Classification of Malware with MIST and N-Gram Features Using Machine Learning.
Ratyal et al. On the evaluation of the machine learning based hybrid approach for android malware detection
Саприкін Models and methods for diagnosing Zero-Day threats in cyberspace
Gumaa Graph approach for android malware detection using machine learning techniques

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant