CN104346570A - 一种基于动态代码序列跟踪分析的木马判定系统 - Google Patents
一种基于动态代码序列跟踪分析的木马判定系统 Download PDFInfo
- Publication number
- CN104346570A CN104346570A CN201410711782.XA CN201410711782A CN104346570A CN 104346570 A CN104346570 A CN 104346570A CN 201410711782 A CN201410711782 A CN 201410711782A CN 104346570 A CN104346570 A CN 104346570A
- Authority
- CN
- China
- Prior art keywords
- module
- analysis
- program
- virtual
- decision
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
Abstract
本发明提供一种基于动态代码序列跟踪分析的木马判定系统,包括交互模块、判定模块、虚拟分析模块、恶意性判定子模块、加解密模块和报告生成与存储模块。交互模块为用户与服务器之间的交互的载体;判定模块用于判定用户上传的程序是否为PE可执行程序、是否曾经被分析过;虚拟分析模块用于静态、动态分析可疑程序的行为操作,及判定程序的恶意性、所属归类;恶意性判定子模块用于完成对待测程序的恶意性判定;加解密模块用于虚拟分析模块与服务器系统之间的通讯及文件、数据传输加解密;报告生成与存储模块用于生成分析报告,储蓄分析结果数据和已经分析的可疑程序样本。本发明实现了高效率化的检测,同时具有识别新变种木马的效果。
Description
技术领域
本发明涉及计算机系统领域,更具体地,涉及一种基于动态代码序列跟踪的木马分析系统。
背景技术
随着互联网的快速发展,木马的数量和传播速度也随之发生几何性的增长。数量众多的木马程序无疑给传统的分析方式带来巨大的冲击,传统的静态扫描存在不能及时发现木马变种等诸多问题。而目前基于沙箱、虚拟机的动态分析需要人工介入严重影响了分析效率,判定的方法不够有效,存在大量的主观因素,往往基于已有的特征来进行匹配,难于有效监测未知木马和特种木马。因此判定程序是否具有恶意性是一项困难的任务。
发明内容
为了解决背景技术中存在的上述的主要问题,本发明实现了一种基于动态代码序列跟踪分析的木马判定系统,解决了已知木马的快速定位以及未知木马的判定分析问题,显著提高了检测分析效率。
本发明提供了一种基于动态代码序列跟踪分析的木马判定系统,该系统包括。
1)判定模块。
用于判定上传分析样本是否为可执行PE类程序,是否之前已经经过分析。
2)加解密模块。
该模块用于虚拟分析模块与服务器系统之间的通讯及文件、数据传输加解密。
3)虚拟分析模块。
分析虚拟机系统运行在服务器之上,是程序执行的场所。每次分析先启用快照运行,然后将待分析程序上传至虚拟机执行;虚拟机的系统层经过优化处理,可以防止具备反虚拟化能力的木马程序识别;系统分析结果包括文件操作、注册表操作、进程服务、网络行为及运行截图五个方面,虚拟机系统可以有效的避免木马在执行过程中的逃逸破坏。
4)恶意性判定子模块。
该模块是虚拟分析的子模块;恶意性判定功能主要是完成对待测程序的恶意性判定,给用户提供最直观的判定结果;通过一定的算法,将获取的API调用序列编码后与特征库中木马行为规则运算,判断程序是否属于木马或者其变种。
5)报告生成与存储模块。
在虚拟分析模块完成分析后,会将分析数据生成一份XML文件;这份XML文件将回传到物理服务器上,经过读取生成分析报告,并将过程存储在数据库中。
6)交互模块:交互模块可以与报表生成与存储模块和虚拟分析模块直接交互。其作用是为用户提供上传待测样本、查询、查看和下载功能。
与现有技术相比,本发明的优点是。
第一,本发明实施例中设计的系统架构采用的是虚拟化与API技术相结合的双层隔离动态分析系统,可以记录程序执行时的各种操作和API调用序列;相对于基于沙箱的分析系统而言,这种模式更能有效的获得最贴近于实际环境的API调用序列,因为其所需的系统资源不是模拟出来的,更重要的是此模式可以有效防范最新出现的具有穿透沙箱功能的木马程序,避免对物理环境造成破环。
第二,为使虚拟执行环境更加适合木马的动态分析,有效应对木马程序的反虚拟化和隐藏技术,提高其分析的针对性和实用性,特意在虚拟机操作系统层上做了一些优化;具体如下。
1)采用虚拟隐藏技术,改变默认的虚拟机器运行程序的基址,使运行环境对木马来说识别难度大大提高,增加虚拟执行环境的透明度,应对木马的反虚拟化。
2)为避免感染型木马遍历磁盘拷贝大量主机文件副本对系统性能造成巨大影响,通过拦截系统调用,在调用返回结果中只保留少量文件(每种文件类型都保留至少一个文件),其它的都删去,既可以保证拦截到木马行为,又不至于给系统造成很大的资源消耗。
3)通过运行典型的软件,减少软件运行的个数和窗口,优化软件运行模式,避免木马程序由于找不到软件进程而造成行为的不完全体现。
第三,分析过程全自动化完成,支持多个木马并行分析,无需人工干预,提高了分析效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对具体实施方式描述中所需要使用的附图作简单地介绍。
图1 是本发明实施例提供的一种基于动态代码序列跟踪分析的木马判定系统的结构示意图。
图2 是本发明实施例提供的一种基于动态代码序列跟踪分析的木马判定系统的模块关系示意图。
图3 是本发明实施例提供的一种基于动态代码序列跟踪分析的木马判定系统的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明提供了一种基于动态代码序列跟踪分析的木马判定系统的结构示意图,包括。
整个系统分为三层四业务体系,三层分为支撑层,处理层,服务层。四业务分为查询、在线分析、分析结果查看和报告及下载;其中。
100支撑层:提供数据库、网络服务、WEB服务、虚拟化和数据传输接口几类,为其它层次提供基础服务,作为整个系统的支撑,考虑到性能,对WEB服务还提供了WEB缓存,加快系统的响应速度。
101处理层:负责整个系统后台的分析和储存;包括:基本特征分析、恶意特征分析、文件操作分析、进程操作监控、注册表操作监控、网络操作监控、样本运行截图和结果储存等;其中每个步骤都对应一次分析,有任务管理模块负责监控动作的执行过程。
102服务层:也是展示层和功能层,包含查询、在线分析、分析结果查看和报告及下载四个流程,向使用人员提供全程的上传样本、自动化分析与结果查看等功能。
在服务层中包含了四种业务体系,分别是。
103查询:查询功能提供历史数据查询、用户输入查询和历史分析结果查看三类;历史数据查询可以列出当前登陆用户上传所有程序的程序列表,包括程序名、特征码、分析时间等基本要素;用户输入查询即支持用户输入程序名称或者MD5校验码进行查询,若之前该程序曾被系统分析过,则会显示分析结果;历史分析结果查看可以列出当前登陆用户上传所有程序的分析结果。
104在线分析:在线分析业务支持用户通过WEB服务的形式上传未知木马至分析服务器,服务器接收后会自动分析并生成检测结果。
105分析结果查看:可以显示用户最近一次提交的上传程序分析结果,内容包括文件名、MD5值、安全等级、分析时间和详细结果。
106报告及下载:提供分析结果报告的下载和分析样本的下载;但是,为了避免木马传播造成危害,分析样本需要进行权限验证后才能下载,一般只提供给专业的安全分析师使用。
参见图2,本发明实施例提供了一种基于动态代码序列跟踪分析的木马判定系统的模块关系示意图。
本发明系统执行分为服务器端与虚拟机端两部分,其中。
200服务器:作为整个系统的基础资源,也承担用户交互服务的功能;服务器上运行 202判定模块、205加解密模块、206报表生成与存储模块与 207交互模块。
201虚拟机:是分析系统的核心部分,其运行着 203虚拟分析模块和 204恶意性判定子模块。
201虚拟机和 200服务器之间的通讯是通过虚拟通讯接口实现的;通过在服务器上模拟出虚拟网卡,使用 205加解密模块完成待测程序的送传与检测结果的回传。
202判定模块:用于判定上传分析样本是否为可执行PE类程序,是否之前已经经过分析。
203虚拟分析模块:作为可疑木马程序执行的场所;每次分析先启用快照运行,然后将待分析程序上传至虚拟机执行;系统分析结果包括文件操作、注册表操作、进程服务、网络行为及运行截图五个方面,虚拟分析模块可以有效的避免木马在执行过程中的逃逸破坏。
204恶意性判定子模块:该模块是虚拟分析的子模块;恶意性判定功能主要是完成对待测程序的恶意性判定,给用户提供最直观的判定结果;通过一定的算法,将获取的文件操作、注册表操作、进程服务和网络行为数据整合后与特征库中典型木马行为规则运算,判断程序是否是木马程序。
205加解密模块:该模块用于虚拟分析模块与服务器系统之间的通讯及文件、数据传输加解密。
206报表生成与存储模块:在 203虚拟分析模块完成分析后,会将分析数据生成一份XML文件;这份XML文件将通过加密方式回传到 200服务器上,经过解密读取生成分析报告,并将过程存储在数据库中。
207交互模块:交互模块可以与 206报表生成与存储模块和 203虚拟分析模块直接交互;其作用是为用户提供上传恶意程序样本、查询、查看和下载功能。
参见图3,本发明实施例提供了一种基于动态代码序列跟踪分析的木马判定系统的流程示意图;流程包括。
300:系统开始对程序进行分析之前,虚拟机系统先开始完成系统的初始化,主要是获取操作系统的基本信息、设置API的重定向路径、挂钩函数等,然后等待用户上传待分析程序。
301:用户将待分析程序上传后,服务器接收程序后先储存于临时目录,并检测分析进程是否空闲;若分析进程达到最大并发数,则排入请求队列;若分析进程空闲,则开始分析;分析系统首先获取程序的MD5值,进行数据库的查询工作。
302:若数据库中已经存在该程序的分析结果则终止分析过程,跳转至 303结束状态,这么设定的优点是可以避免对程序进行重复分析。
304:如果经 302数据库查询得出文件未经分析,则获取文件名、文件大小、类别及建立时间等信息并在窗口进行显示,同时判定程序是否为PE文件(系统不受理非PE文件);若该上传样本不是PE文件则终止分析过程,跳转至 303结束状态。
305:若该上传样本是PE文件,则开启虚拟机快照,将其上传至虚拟执行环境下进行动态分析。
306:在虚拟机中,可以分析上传程序的行为。
307:分析开始时,首先进行基本的静态分析,包括PEID特征值、SSDEEP特征值和加壳特征等;进行静态分析的目的是为了更全面的了解上传检测程序的信息,若上传样本是一种已知的木马程序,通过检测这些基本特征就能得出其归属种类,增加了分析结果的准确性。
308:静态分析结束后,程序会自动开始动态分析;通过监控上传程序对系统的API调用(包括文件操作、注册表操作、进程服务、网络行为),并将其进行编码,形成API调用序列;动态分析中还支持运行截图功能,可以更加直观的观察到程序的全貌。
需要指出的是,在虚拟机中进行的一切操作行为都不会影响宿主服务器的安全,并且能保证每次分析开始时都是一个干净的系统,前一次的分析不会影响下次分析结果的判断。
309:接下来,恶意性判定子系统将编码后API调用序列与规则库中的序列进行相似度计算,对程序的恶意性大小进行量化,然后按照给定区间的范围,对程序的恶意性进行定性判断,若判断结果为中危及以上,还会列出最相似的5种木马类别,至此分析过程结束。
310:虚拟机系统中获取的程序操作行为、判定结果会以加密通信协议回传到服务器上;虚拟分析系统和服务端之间的通讯是通过虚拟通讯接口实现的;通过在服务器上模拟出虚拟网卡,使用加密协议完成检测结果的回传。
311:在收到虚拟机系统分析完后的XML文件后,服务器会进行一系列的并行处理,之后会生成一份测试报告。
312:结果生成后,服务器会将其存入MySQL数据库,MySQL数据库作为系统存储程序信息的“大本营”,按程序的基本文件信息、静态扫描结果和动态分析结果各特征值进行储存,并将每一列设定一个主键,便于对数据库的查询。
至此,整个系统运行流程到此结束,用户可以通过用户界面,对木马的基本信息,操作行为和恶意性判定进行查看。
本发明实例只是用来举例说明,以解释本发明,并不用于限定本发明。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述程序可以存储于一个计算机可读取存储介质中。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内;因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种基于动态代码序列跟踪分析的木马判定系统,其特征在于,该系统包括交互模块、判定模块、虚拟分析模块、恶意性判定子模块、加解密模块和报告生成与存储模块;
所述交互模块作为用户与服务器之间的交互的载体;
所述判定模块用于判定用户上传的程序是否为PE可执行程序、是否曾经被分析过;
所述虚拟分析模块用于静态、动态分析可疑程序的行为操作,及判定程序的恶意性、所属归类,虚拟分析模块可以有效的避免木马程序在执行过程中的逃逸破坏;
所述恶意性判定子模块是虚拟分析的子模块,其主要用于完成对待测程序的恶意性判定,给用户提供最直观的判定结果;
所述加解密模块用于虚拟分析模块与服务器系统之间的通讯及文件、数据传输加解密;
所述报告生成与存储模块用于生成分析报告,储蓄分析结果数据和已经分析的可疑程序样本。
2.如权利要求1 所述的系统,其特征在于:所述交互模块,交互模块可以与报表生成与存储模块和虚拟分析模块直接交互,其作用是为用户提供上传程序样本、查询、查看和下载功能。
3.如权利要求1 所述的系统,其特征在于:所述虚拟分析模块,是通过初始化已内置分析组件和程序的虚拟机来实现的;虚拟机运行在分析服务器之上,是程序执行的场所;每次分析先启用快照初始化,然后将待分析程序上传至虚拟机执行;虚拟分析模块第一步先进行静态分析,获取程序识别特征;再接着执行动态分析,获取程序运行中的行为数据和运行截图。
4.如权利要求3 所述的虚拟机,在操作系统层上经过了一些优化,其目的是为使虚拟执行环境更加适合恶意程序的动态分析,有效应对木马程序的反虚拟化和隐藏技术,提高分析的针对性和实用性。
5.如权利要求4 所述的优化方法,具体实现如下:
1)为避免感染型木马遍历磁盘拷贝大量主机文件副本对系统性能造成巨大影响,通过拦截特定系统调用,在调用返回结果中只保留少量文件(每种文件类型都保留至少一个文件),其它的都删去,既可以保证拦截到木马行为,又不至于给系统造成很大的资源消耗;
2)通过运行典型的软件,减少软件运行的个数和窗口,优化软件运行模式,避木马程序由于找不到软件进程而造成行为的不完全体现。
6.如权利要求4 所述的应对木马的反虚拟化和隐藏技术,具体是改变了默认虚拟机器运行程序的基址,使木马程序对运行环境的识别难度大大提高,增加虚拟执行环境的透明度,应对反虚拟化。
7.如权利要求1 所述的系统,其特征在于:所述恶意性判定子模块,是虚拟分析的子模块;所述模块对木马程序行为特征进行打分,根据分值与预先设定的阀值范围的比较结果来判断木马程序的安全等级;最后还能根据计算的结果判定木马的归属分类。
8.如权利要求1 所述的系统,其特征在于:所述报告生成与存储模块,用于存储分析过的木马程序的运行行为、特征序列、分析结果,同时将上述数据生成报告并输出,供用户查看下载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410711782.XA CN104346570A (zh) | 2014-12-01 | 2014-12-01 | 一种基于动态代码序列跟踪分析的木马判定系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410711782.XA CN104346570A (zh) | 2014-12-01 | 2014-12-01 | 一种基于动态代码序列跟踪分析的木马判定系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104346570A true CN104346570A (zh) | 2015-02-11 |
Family
ID=52502150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410711782.XA Pending CN104346570A (zh) | 2014-12-01 | 2014-12-01 | 一种基于动态代码序列跟踪分析的木马判定系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104346570A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156621A (zh) * | 2016-06-30 | 2016-11-23 | 北京奇虎科技有限公司 | 一种检测虚拟机逃逸的方法及装置 |
CN106203104A (zh) * | 2016-06-27 | 2016-12-07 | 北京金山安全软件有限公司 | 一种恶意代码查杀方法、装置及设备 |
CN108595240A (zh) * | 2018-04-20 | 2018-09-28 | 北京天融信网络安全技术有限公司 | 屏幕快照的抓取方法、装置、设备及可读存储介质 |
CN110069936A (zh) * | 2019-03-29 | 2019-07-30 | 合肥高维数据技术有限公司 | 一种木马隐写方法和检测方法 |
CN112347479A (zh) * | 2020-10-21 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 恶意软件检测的误报纠正方法、装置、设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034050A (zh) * | 2011-01-25 | 2011-04-27 | 四川大学 | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 |
-
2014
- 2014-12-01 CN CN201410711782.XA patent/CN104346570A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034050A (zh) * | 2011-01-25 | 2011-04-27 | 四川大学 | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 |
Non-Patent Citations (1)
Title |
---|
吴晨等: "一种虚拟化恶意程序检测系统的实现", 《西安邮电大学学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203104A (zh) * | 2016-06-27 | 2016-12-07 | 北京金山安全软件有限公司 | 一种恶意代码查杀方法、装置及设备 |
CN106156621A (zh) * | 2016-06-30 | 2016-11-23 | 北京奇虎科技有限公司 | 一种检测虚拟机逃逸的方法及装置 |
CN108595240A (zh) * | 2018-04-20 | 2018-09-28 | 北京天融信网络安全技术有限公司 | 屏幕快照的抓取方法、装置、设备及可读存储介质 |
CN108595240B (zh) * | 2018-04-20 | 2021-12-14 | 北京天融信网络安全技术有限公司 | 屏幕快照的抓取方法、装置、设备及可读存储介质 |
CN110069936A (zh) * | 2019-03-29 | 2019-07-30 | 合肥高维数据技术有限公司 | 一种木马隐写方法和检测方法 |
CN112347479A (zh) * | 2020-10-21 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 恶意软件检测的误报纠正方法、装置、设备和存储介质 |
CN112347479B (zh) * | 2020-10-21 | 2021-08-24 | 北京天融信网络安全技术有限公司 | 恶意软件检测的误报纠正方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101593249B (zh) | 一种可疑文件分析方法及系统 | |
CN107004088B (zh) | 确定装置、确定方法及记录介质 | |
CN104346570A (zh) | 一种基于动态代码序列跟踪分析的木马判定系统 | |
US8336100B1 (en) | Systems and methods for using reputation data to detect packed malware | |
WO2019222261A4 (en) | Cloud based just in time memory analysis for malware detection | |
US9652616B1 (en) | Techniques for classifying non-process threats | |
US8458232B1 (en) | Systems and methods for identifying data files based on community data | |
CN105760787B (zh) | 用于检测随机存取存储器中的恶意代码的系统及方法 | |
JP6282217B2 (ja) | 不正プログラム対策システムおよび不正プログラム対策方法 | |
US10701087B2 (en) | Analysis apparatus, analysis method, and analysis program | |
KR101228902B1 (ko) | 클라우드 컴퓨팅 기반 악성코드 분석 지원 시스템 | |
US10970392B2 (en) | Grouping application components for classification and malware detection | |
CN113190838A (zh) | 一种基于表达式的web攻击行为检测方法及系统 | |
US9946853B1 (en) | Techniques for application code obfuscation | |
JP2012083909A (ja) | アプリケーション特性解析装置およびプログラム | |
Vimala et al. | Vape-bridge: Bridging openvas results for automating metasploit framework | |
JP2012008777A (ja) | アプリケーション判定システムおよびプログラム | |
CN111241547B (zh) | 一种越权漏洞的检测方法、装置及系统 | |
US11620129B1 (en) | Agent-based detection of fuzzing activity associated with a target program | |
CN116226865A (zh) | 云原生应用的安全检测方法、装置、服务器、介质及产品 | |
CN102982280B (zh) | 阻止计算机辅助设计cad病毒感染的方法及装置 | |
US10997292B2 (en) | Multiplexed—proactive resiliency system | |
CN114186222A (zh) | 一种勒索病毒的防护方法及系统 | |
CN114553563B (zh) | 无回显漏洞的验证方法、装置、电子设备及可读存储介质 | |
CN115455475B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150211 |