CN102999719B - 一种基于硬件模拟器的恶意代码在线分析方法及系统 - Google Patents
一种基于硬件模拟器的恶意代码在线分析方法及系统 Download PDFInfo
- Publication number
- CN102999719B CN102999719B CN201110278249.5A CN201110278249A CN102999719B CN 102999719 B CN102999719 B CN 102999719B CN 201110278249 A CN201110278249 A CN 201110278249A CN 102999719 B CN102999719 B CN 102999719B
- Authority
- CN
- China
- Prior art keywords
- sample
- malicious code
- server
- module
- application server
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于硬件模拟器的恶意代码在线分析方法及系统,分析方法如下:1)用户通过浏览器提交待分析恶意代码样本;2)响应服务器响应用户的提交请求,存储待分析恶意代码样本,启动应用服务器;3)启动后的应用服务器将样本运行参数组织为配置文件;4)应用服务器按照配置文件将待分析恶意代码样本发送到对应的镜像系统中,然后在硬件模拟器中加载镜像系统并在镜像系统中运行恶意代码样本;5)样本运行结束后应用服务器生成样本分析报告。本发明的系统包括响应服务器,数据库服务器,文件服务器和至少一台应用服务器,所述应用服务器上包括硬件模拟器。本发明过程全自动化,极大地改善了恶意代码分析的便携性与效率性。
Description
技术领域
本发明主要涉及网络环境下的恶意代码分析方法,更确切地是涉及一种基于硬件模拟器的恶意代码在线分析方法和系统。
背景技术
我国的互联网正处于快速发展阶段,各种互联网应用层出不穷,互联网规模不断膨胀。第27次中国互联网络发展状况统计报告显示,截至2010年12月,中国网民规模达到4.57亿;互联网普及率攀升至34.3%,较2009年提高5.4个百分点。互联网迅速发展的背后,蠕虫(Worm)、僵尸网络(Botnet)、间谍软件(SpyWare)、计算机病毒(Computer Virus)等恶意代码在互联网上也以爆发性的速度进行传播,对商业组织,政府机构以及网络服务提供商都造成了巨大的损失,并且引发难以估量的安全风险。金山网络发布的《2010-2011中国互联网安全研究报告》显示,2010年病毒集团横行互联网,80%的病毒传播渠道被病毒集团所操控,而作为互联网最直接的经济交易平台,网购人群也成为了病毒集团攻击的主要目标。
恶意代码的广泛传播,更新速度的大大加快和对抗手段的不断提高,对现有的检测和分析技术带来了严峻的挑战。其特征主要表现在:
(1)恶意代码版本更新越来越快。由于当前反病毒厂商普遍使用特征码匹配技术检测病毒,恶意代码编写人员开始尝试使用短时间内快速修改代码特征的方法来躲避查杀。
(2)恶意代码对抗检测和分析的技术能力不断提高,生存能力不断增强。恶意代码编写者普遍使用代码变形、加壳等技术来对自身进行混淆,同时使用底层技术破坏恶意代码检测工具和调试工具的工作机理,以干扰工具检测和研究人员的分析。
(3)恶意代码行为相似性越来越高,同族变种层出不穷。恶意代码编写者通过使用快速修改特征码和代码混淆的方法升级恶意代码,使恶意代码族群不断出现变种。同时恶意代码作者通过模块化设计,通过更新局部模块的方法产生新的变种,导致同族恶意代码之间的行为相似程度越来越高。
目前应对恶意代码的解决方案仍然是使用杀毒软件、防火墙等传统的基于特征码匹配的恶意代码检测和防护手段。如何针对未知恶意代码样本展开分析引起了国内外学者的广泛关注,并且提出了一系列的解决思路和方法。主要可以分为如下三个研究重点:一是恶意代码分析研究,通过对恶意代码进行静态分析和动态分析,分析恶意代码的行为模式,提取恶意代码的特征;另一方面是同族恶意代码识别研究,通过研究二进制文件结构或恶意代码外部行为的相似性,试图判定或划分恶意代码的族类并以族类为目标进行分析和研究,提取族类特征以解决当前分析和检测针对单个样本的问题;最后一方面是恶意代码检测研究,通过改进恶意代码检测手段提高检测的准确性,通过使用族类特征提高检测恶意代码族类变种的能力。然而针对恶意代码的分析往往需要专业人员携带专业设备进行人工分析,这种分析方法便利性差、且耗费人力物力,因此,在互联网普及的当下环境中,如何能够提供一种即准确又方便的在线恶意代码机理分析服务成为了当下较为迫切的需求。
发明内容
针对上述问题,本发明提出一种基于硬件模拟器的恶意代码在线分析方法,其目的在于提供一种只需要用户在互联网环境下就可以获得恶意代码机理分析服务的方法。利用该方法,当用户需要分析一种恶意代码时,只需提交该代码到响应服务器,由服务器通过负载平衡算法等方法自动从应用服务器机群中选择应用服务器,启动硬件模拟平台,运行并分析该恶意代码,运行结束后形成恶意代码分析报告并返回给用户。在这种方式下,可以满足用户在各种条件下分析恶意代码的需求,节约大量的人力物力,同时,本发明中所采用的虚拟化平台恶意软件动态分析方法是近年来国际学术界研究的重要思路之一,具有分析透明性好、分析粒度细、分析可控性高等优点,对于恶意代码分析准确性提供了重要的保障。
根据以上目的,本发明的具体方案为:一种基于硬件模拟器的恶意代码在线分析方法,其步骤如下:
1)用户通过浏览器提交待分析恶意代码样本;
2)响应服务器响应用户的提交请求,存储待分析恶意代码样本,启动应用服务器;
3)启动后的应用服务器将样本运行参数组织为配置文件;
4)应用服务器按照配置文件将待分析恶意代码样本发送到对应的镜像系统中,然后在硬件模拟器中加载镜像系统并在镜像系统中运行恶意代码样本;
5)样本运行结束后应用服务器生成样本分析报告,并向响应服务器发送完成信号。
在步骤2)中,所述被启动的应用服务器采用负载平衡方法选出。
所述负载平衡方法的步骤为:
a)查找运行样本数最小的应用服务器;
b)将a)步骤找到的应用服务器的样本数与应用服务器的运行阈值比较;
c)选择应用服务器样本数小于阈值的应用服务器启动。
所述镜像系统的版本和存放样本的具体目录由配置文件确定。
所述的样本运行参数由用户提交或按缺省值进行配置。
通过下述方法执行步骤4):
a)将待分析恶意代码样本发送到镜像系统中,镜像系统的系统版本、以及存放样本的具体目录由样本运行参数指定;
b)将配置文件存储到a)步骤中所述的镜像系统C盘根目录;
c)启动硬件模拟器,加载a)步骤中所述的镜像,在镜像系统中运行恶意代码样本;
d)硬件模拟器监控恶意代码样本的运行。
硬件模拟器监控恶意代码样本的运行是指硬件模拟器在样本运行过程中记录样本运行信息包括调用的系统API、启动的进程和线程及加载的模块。硬件模拟器监控到的这些信息经过条理化就形成了样本分析报告。
所述样本分析报告包括恶意代码调用的系统API信息,启动的进程和线程信息以及加载的模块信息。
所述恶意代码调用系统API的信息包括API的调用时间、传入参数、传出参数和返回值。
样本启动的进程、线程包括样本启动的线程、子进程。
加载的模块信息包括加载的模块的创建与销毁信息。
本发明还提供一种恶意代码在线分析系统,包括响应服务器,数据库服务器,文件服务器和至少一台应用服务器,所述应用服务器上包括硬件模拟器;响应服务器响应用户提交待分析恶意代码样本的请求;数据库服务器存储待分析恶意代码样本的运行参数;文件服务器存储待分析恶意代码样本,应用服务器中的硬件模拟器运行待分析恶意代码样本并进行分析。
所述应用服务器上包括数据库操作模块、通信模块、文件操作模块、操作员模块和样本启动模块,数据库操作模块负责在数据库服务器中读取和更新样本运行参数,文件操作模块负责在文件服务器中读取待分析恶意代码样本和上传样本分析报告;通信模块接收和反馈响应服务器的信号,并将样本运行参数和待分析恶意代码样本发送到操作员模块上,操作员模块控制硬件模拟器的启动、运行和结束,样本启动模块负责启动待分析恶意代码样本并按照样本运行参数要求为样本模拟运行环境。
样本启动模块运行于硬件模拟器加载的镜像系统中。
与现有技术相比,本发明的优点在于:
提供恶意代码在线分析服务,分析过程全自动化,极大地改善了恶意代码分析的便携性与效率性,使得用户只需要在接入互联网情况下就可以满足分析恶意代码机理的需求,而不需要配备高性能专业性分析系统,同时后台应用服务器使用硬件模拟器技术,在硬件模拟器环境下恶意代码运行全过程一览无余,全面记录恶意代码的真实运行行为,包括调用系统API信息包括API的调用时间、传入参数、传出参数、返回值等和样本进程、模块的创建与销毁等信息,提供完善的信息供后续的特征提取,同时硬件模拟器技术的特性保证了在运行恶意代码样本后系统不会被样本的恶意行为所危害,很好地保护了系统的一致性和可用性。
附图说明
图1为基于硬件模拟器的恶意代码在线分析系统总体结构图;
图2为基于硬件模拟器的恶意代码在线分析方法的流程图;
图3为基于硬件模拟器的恶意代码在线分析系统中的模块关系图;
图4为负载平衡方法的流程图。
具体实施方式
下面详细说明本发明的技术方案:
本发明的恶意代码在线分析系统如图1所示由3大部分组成,分别是用户、服务器、应用服务器集群,其中服务器包括响应服务器、文件服务器和数据库服务器,响应服务器响应用户的请求,将待分析恶意代码样本和样本运行参数(即图中的样本信息)分别发送到文件服务器和数据库服务器中存储,并将样本和运行参数提取后分发到应用服务器。数据库服务器存储样本运行参数,文件服务器存储待分析恶意代码样本。
图2和图3具体显示了恶意代码的在线分析方法:
1)用户可以从浏览器端上传样本文件及其样本运行参数,当样本运行不需要特殊参数时,用户也可以不提交样本运行参数;
2)服务器由响应服务器、数据库服务器和文件服务器组成,其中响应服务器负责响应用户请求、存储样本和样本运行参数、分发提交样本到应用服务器;
3)应用服务器至少为一台,在本实施例中为应用服务器集群,应用服务器主要负责提供恶意代码分析服务。应用服务器端主要由5个模块组成,分别是Launcher模块(样本启动模块)、通信模块、SQL操作模块(数据库操作模块)、文件操作模块和Operator模块(操作员模块)。应用服务器还包括硬件模拟器,硬件模拟器加载镜像系统并在镜像系统中运行待分析恶意代码样本。
a)Launcher模块运行在Guest OS(镜像系统)中,功能是启动样本并按照样本运行参数要求为样本模拟运行环境。除了Launcher模块,其余四个模块均运行在Host OS(宿主系统)中;
b)通信模块负责等待、执行响应服务器发来的命令,并向响应服务器反馈执行结果;
c)SQL操作模块负责从数据库中获取和更新数据库中样本运行参数;
d)文件操作模块负责从文件服务器中获取待分析恶意代码样本,以及向文件服务器中上传样本处理结果分析报告文件;
e)Operator模块负责启动、操作和结束硬件模拟器。
具体实现方式如下:
1)用户提交待分析样本
由用户从浏览器端提交待分析恶意代码样本可以同时提交样本运行需要的参数,如用户不提交运行参数,则系统以缺省参数启动样本。此处参数的选择建立在观察大量恶意代码运行参数基础上,包括系统类别、样本运行前存放的位置、系统启动后的样本运行延时、启动样本的父进程等,如表1所示:
表1样本运行参数表
本发明采用响应服务器接收用户提交的样本,并可接收用户指定的样本运行参数,以实现在指定运行参数下的恶意代码分析功能。
2)响应用户请求并平衡负载
本发明构建数据库存储恶意代码样本以及运行参数。响应服务器对用户的提交请求响应,将恶意代码样本以及运行参数存储到数据库中,供应用服务器及响应服务器获取。
本发明采用负载平衡方法,自动选择应用服务器。负载平衡方法如图4所示,由系统维护的应用服务器信息列表L中选取负载最轻的应用服务器S,本发明中的服务器信息包括:服务器IP地址、在运行样本数目n、运行样本ID和运行样本数目阈值。
如果负载最轻的服务器S未达到负载极限,发送启动分析信息到该服务器S,并更新服务器信息;否则返回服务器忙的信息稍后再重试。通过该负载平衡方法,响应服务器选择空闲的应用服务器发送启动分析命令,由此实现应用服务器资源的合理配置。
3)获取样本信息
应用服务器S收到启动命令后,从数据库服务器取出样本环境配置参数组织为SAMPLE结构,并从文件服务器取出待分析样本文件。本发明中SAMPLE结构定义如下:
4)自动配置样本运行环境
本发明通过将步骤3所述的SAMPLE结构体组织成Config配置文件协助样本运行环境的自动配置。本发明中的Config配置文件包括样本唯一标识符、样本名称、实时处理状态、系统版本要求、父进程名称、运行参数、特定存储路径和运行延时等。通过构建Config配置文件,灵活地满足样本的各种运行环境需求。
调用操作员(Operator)模块按照步骤3所述Config配置文件的要求将样本文件放入硬件模拟器镜像的指定目录,启动硬件模拟器,加载镜像系统,发送监控命令,硬件模拟器开始监控镜像系统运行。由此实现样本运行的系统环境的搭建;
5)自动启动待分析样本
完成如第4步所述的环境搭建后,本发明中的样本自启动是通过构建Launcher模块完成的,由Launcher读取Config配置文件,然后按照Config中的内容来启动样本,运行要求包括父进程、运行延时、运行参数等。构造Launcher实现启动的优势是Launcher可以完成样本之间关联性较强的样本启动工作,由此可满足多个样本复合运行的需求。本发明中恶意代码运行过程中由基于硬件模拟器的恶意代码分析平台全程监控其运行,运行结束后生成分析报表,本发明中的报表包括调用系统API信息包括API的调用时间、传入参数、传出参数、返回值等和样本进程、模块创建和销毁信息等;
6)结束分析平台并反馈完成情况
分析平台运行完毕后,再次调用操作员(Operator)模块结束分析平台运行,并由操作员(Operator)模块向响应服务器发回完成信号,并将报告传回文件服务器。完成信号如CMD结构所示:
上述步骤完全自动化,完成以上步骤后,用户便可在运行完成的第一时间查看分析样本的分析报告,通过样本运行时调用系统API信息包括API的调用时间、传入参数、传出参数、返回值等和样本进程、模块创建和销毁信息了解其运行机理、关键操作特性等。
Claims (9)
1.一种基于硬件模拟器的恶意代码在线分析方法,包括如下步骤:
1)用户通过浏览器提交待分析恶意代码样本及样本运行参数;
2)响应服务器响应用户的提交请求,通过数据库服务器存储待分析恶意代码样本的运行参数,通过文件服务器存储待分析恶意代码样本,启动应用服务器;所述应用服务器上包括数据库操作模块、通信模块、文件操作模块、操作员模块和样本启动模块,数据库操作模块用于从数据库服务器中读取和更新待分析恶意代码样本,文件操作模块用于从文件服务器中读取样本运行参数和上传样本分析报告;通信模块用于接收和反馈响应服务器的信号,并将样本运行参数和待分析恶意代码样本发送到操作员模块上;操作员模块用于控制硬件模拟器的启动、运行和结束,样本启动模块用于启动待分析恶意代码样本并按照样本运行参数为样本模拟运行环境;
3)启动后的应用服务器将样本运行参数组织为配置文件;
4)应用服务器按照配置文件将待分析恶意代码样本发送到对应的镜像系统中,然后在硬件模拟器中加载镜像系统并在镜像系统中运行恶意代码样本;
5)样本运行结束后应用服务器生成样本分析报告,并向响应服务器发送完成信号。
2.根据权利要求1所述的基于硬件模拟器的恶意代码在线分析方法,其特征在于,在步骤2)中,所述被启动的应用服务器采用负载平衡方法选出。
3.根据权利要求2所述的基于硬件模拟器的恶意代码在线分析方法,其特征在于,所述负载平衡方法的步骤为:
a)查找运行样本数最小的应用服务器;
b)将a)步骤找到的应用服务器的样本数与应用服务器的运行阈值比较;
c)应用服务器的样本数小于运行阈值时启动该应用服务器。
4.根据权利要求1所述的基于硬件模拟器的恶意代码在线分析方法,其特征在于,所述的样本运行参数由用户提交或按缺省值进行配置。
5.根据权利要求1所述的基于硬件模拟器的恶意代码在线分析方法,其特征在于,所述样本分析报告包括恶意代码调用的系统API信息,启动的进程和线程信息,和加载的模块信息。
6.根据权利要求5所述的基于硬件模拟器的恶意代码在线分析方法,其特征在于,所述恶意代码调用系统API的信息包括API的调用时间、传入参数、传出参数和返回值。
7.根据权利要求5所述的基于硬件模拟器的恶意代码在线分析方法,其特征在于,所述加载的模块信息包括模块的创建与销毁信息。
8.一种恶意代码在线分析系统,其特征在于,包括响应服务器,数据库服务器,文件服务器和至少一台应用服务器,所述应用服务器上包括硬件模拟器;响应服务器响应用户提交待分析恶意代码样本的请求;数据库服务器存储待分析恶意代码样本的运行参数;文件服务器存储待分析恶意代码样本,应用服务器中的硬件模拟器运行待分析恶意代码样本并进行分析;所述应用服务器上包括数据库操作模块、通信模块、文件操作模块、操作员模块和样本启动模块,数据库操作模块从数据库服务器中读取和更新待分析恶意代码样本,文件操作模块从文件服务器中读取样本运行参数和上传样本分析报告;通信模块接收和反馈响应服务器的信号,并将样本运行参数和待分析恶意代码样本发送到操作员模块上;操作员模块控制硬件模拟器的启动、运行和结束,样本启动模块启动待分析恶意代码样本并按照样本运行参数为样本模拟运行环境。
9.根据权利要求8所述的恶意代码在线分析系统,其特征在于,所述样本启动模块运行于硬件模拟器加载的镜像系统中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110278249.5A CN102999719B (zh) | 2011-09-19 | 2011-09-19 | 一种基于硬件模拟器的恶意代码在线分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110278249.5A CN102999719B (zh) | 2011-09-19 | 2011-09-19 | 一种基于硬件模拟器的恶意代码在线分析方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102999719A CN102999719A (zh) | 2013-03-27 |
CN102999719B true CN102999719B (zh) | 2015-08-26 |
Family
ID=47928274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110278249.5A Active CN102999719B (zh) | 2011-09-19 | 2011-09-19 | 一种基于硬件模拟器的恶意代码在线分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102999719B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113841B (zh) * | 2014-07-11 | 2017-08-08 | 北京信息科技大学 | 一种针对移动互联网Botnet的虚拟化检测系统及检测方法 |
CN106095446A (zh) * | 2016-06-14 | 2016-11-09 | 深圳市彬讯科技有限公司 | 软件源代码在线检测系统及其检测方法 |
CN106548074A (zh) * | 2016-12-09 | 2017-03-29 | 江苏通付盾科技有限公司 | 应用程序分析监测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN101770551A (zh) * | 2008-12-30 | 2010-07-07 | 中国科学院软件研究所 | 一种基于硬件模拟器的处理隐藏进程的方法 |
CN102088379A (zh) * | 2011-01-24 | 2011-06-08 | 国家计算机网络与信息安全管理中心 | 基于沙箱技术的客户端蜜罐网页恶意代码检测方法与装置 |
-
2011
- 2011-09-19 CN CN201110278249.5A patent/CN102999719B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770551A (zh) * | 2008-12-30 | 2010-07-07 | 中国科学院软件研究所 | 一种基于硬件模拟器的处理隐藏进程的方法 |
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN102088379A (zh) * | 2011-01-24 | 2011-06-08 | 国家计算机网络与信息安全管理中心 | 基于沙箱技术的客户端蜜罐网页恶意代码检测方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102999719A (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI524206B (zh) | 提供程式解析驗證服務系統及其控制方法、控制程式、使電腦發揮作用之控制程式、程式解析驗證裝置、程式解析驗證工具管理裝置 | |
CN106503558B (zh) | 一种基于社团结构分析的Android恶意代码检测方法 | |
US9621571B2 (en) | Apparatus and method for searching for similar malicious code based on malicious code feature information | |
US20190034632A1 (en) | Method and system for static behavior-predictive malware detection | |
RU2615316C2 (ru) | СПОСОБ, УСТРОЙСТВО И СИСТЕМА ВХОДА В Unix-ПОДОБНЫЙ ВИРТУАЛЬНЫЙ КОНТЕЙНЕР | |
CN109586282B (zh) | 一种电网未知威胁检测系统及方法 | |
CN101923617B (zh) | 一种基于云的样本数据库动态维护方法 | |
CN111639337B (zh) | 一种面向海量Windows软件的未知恶意代码检测方法及系统 | |
CN103839003A (zh) | 恶意文件检测方法及装置 | |
CN102413142A (zh) | 基于云平台的主动防御方法 | |
CN102591696A (zh) | 一种手机软件行为数据提取方法及系统 | |
CN104182688A (zh) | 基于动态激活及行为监测的Android恶意代码检测装置和方法 | |
JP2017511923A (ja) | ウイルス処理方法、装置、システム、機器及びコンピュータ記憶媒体 | |
US20160098390A1 (en) | Command history analysis apparatus and command history analysis method | |
US11916937B2 (en) | System and method for information gain for malware detection | |
CN103942491A (zh) | 一种互联网恶意代码处置方法 | |
CN113268739A (zh) | 一种Docker镜像安全性检测方法 | |
CN112688966A (zh) | webshell检测方法、装置、介质和设备 | |
CN113778616A (zh) | 一种电力物联网终端虚拟化模拟仿真平台及仿真方法 | |
CN102999719B (zh) | 一种基于硬件模拟器的恶意代码在线分析方法及系统 | |
CN103475671A (zh) | 恶意程序检测方法 | |
Liu et al. | Using g features to improve the efficiency of function call graph based android malware detection | |
CN113656183B (zh) | 任务处理方法、装置、设备及存储介质 | |
CN114428705A (zh) | 一种网络数据的监测方法、装置、设备以及存储介质 | |
CN114490273A (zh) | 数据处理方法以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |