恶意代码检测方法与系统与流程

文档序号:12467763阅读:747来源:国知局
恶意代码检测方法与系统与流程

本发明涉及网络安全技术领域,特别是涉及恶意代码检测方法与系统。



背景技术:

在大数据时代背景下,传统的反恶意代码软件厂商所采用的技术较为单一,随着恶意代码技术的发展,APT(Advanced Persistent Threat,高级持续性威胁)组织为了可以进行持续性的黑客渗透活动,恶意代码工具的形态也发生了较大的变化,传统反病毒厂商的产品已经无法满足及应对现有的恶意代码的攻击威胁。

随着网络环境的日趋复杂,面临着越来越多不确定性因素的安全威胁。先进的恶意软件主要考虑的渗透方式且非常活跃的攻击手法就是通过电子邮件恶意载荷投递进行有组织性的鱼叉式网络钓鱼攻击目标网络。此类针对邮件系统渗透攻击通常使用了已知或未知的零日漏洞触发、生成恶意结构的文件文档发起持续性的网络渗透活动。主要目的是为了窃取内网系统的数据信息与邮件系统环境内的敏感数据资产。攻击者可能重新开发或者修改更新恶意代码实体,可有效躲避企业或相关机构部署安装的传统反病毒安全防御产品的扫描检测。

针对新型且未知的恶意软件或家族成员识别检测效率低下,恶意文件攻击如此常见并有效的主要原因是恶意文件更新快且易于变形。尽管国内目前存在很多产品能够对已被标记的恶意文件能够扫描查杀,但是这些产品往往并不能检测出新型变种的恶意文件。



技术实现要素:

基于此,有必要针对一般恶意文件检测方法检测效果不佳的问题,提供一种检测效果好的恶意代码检测方法与系统。

一种恶意代码检测方法,包括步骤:

分析待分析样本对象的结构,结构包括PE可执行文体结构与文档结构;

当待分析样本对象为PE可执行文体结构时,对待分析样本进行静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,获得第一分析结果;

当待分析样本对象为文档结构时,对待分析样本进行静态分析,获得第二分析结果;

根据第一分析结果或第二分析结果,采用恶意代码分类器,检测是否存在恶意代码。

一种恶意代码检测系统,包括:

结构分析模块,用于分析待分析样本对象的结构,结构包括PE可执行文体结构与文档结构;

第一分析模块,用于当待分析样本对象为PE可执行文体结构时,对待分析样本进行静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,获得第一分析结果;

第二分析模块,用于当待分析样本对象为文档结构时,对待分析样本进行静态分析,获得第二分析结果;

检测模块,用于根据第一分析结果或第二分析结果,采用恶意代码分类器,检测是否存在恶意代码。

本发明恶意代码检测方法与系统,分析待分析样本对象的结构,当为PE可执行文体结构时,对待分析样本进行静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,获得第一分析结果,当为文档结构时,对待分析样本进行静态分析,获得第二分析结果,根据第一分析结果或第二分析结果,采用恶意代码分类器,检测是否存在恶意代码。整个过程中,分析不同样本对象类型的数据结构,采用静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,具备可靠的分析识别能力并且可对网络攻击事件溯源。

附图说明

图1为本发明恶意代码检测方法第一个实施例的流程示意图;

图2为本发明恶意代码检测方法第二个实施例的流程示意图;

图3为本发明恶意代码检测系统第一个实施例的结构示意图;

图4为本发明恶意代码检测系统第二个实施例的结构示意图。

具体实施方式

如图1所示,一种恶意代码检测方法,包括步骤:

S200:分析待分析样本对象的结构,结构包括PE可执行文体结构与文档结构。

获取待分析样本,并且识别待分析样本对象,再进一步分析待分析样本对象的结构,其中,待分析样本对象的结构包括PE(Windows Preinstallation Environment,Windows预安装环境)可执行文体结构和文档结构。PE是Windows这个计算机系统所预先安装的数据。针对不同待分析样本对象的结构需要采用不同的检测、分析方式进行更进一步处理。

S400:当待分析样本对象为PE可执行文体结构时,对待分析样本进行静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,获得第一分析结果。

针对待分析样本对象为PE可执行文体结构时,需要对待分析样本进行静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,最终获得第一分析结果。非必要的,上述静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析可以是依次进行的,并行同步处理的。在其中一个实施例中,当待分析样本对象为PE可执行文体结构时,对待分析样本进行静态分析的步骤具体包括:当待分析样本对象为PE可执行文体结构时,采用恶意代码API(Application Programming Interface,应用程序编程接口)序列威胁因子分析引擎TFAE(Threat Factor Analysis Engine,威胁因素分析引擎)技术、可机读威胁情报指标技术以及恶意代码家族归类FCSH(Family Classify Sequence Hash,家族分类序列归类)技术,对待分析样本进行静态分析。

下面将着重针对静态分析中恶意代码API序列威胁因子分析引擎TFAE技术、可机读威胁情报指标技术与恶意代码家族归类FCSH技术进行展开说明。

恶意代码API序列威胁因子分析引擎TFAE是一种基于非传统病毒库特征的无特征码新型分析技术手段,属于前摄性威胁侦测。其主要侧重如何提升识别未知类型恶意软件样本的能力。可用于解决传统反病毒厂商在检测新型且未知恶意样本方面的技术不足及检测的滞后性。包括Exploit漏洞利用程序、木马病毒、后门程序、勒索软件等。其弥补了传统反病毒技术在面对新型且未知类型的恶意软件样本所遵循的“先入库、后更新、点查杀”滞后性模式。优先做到及时分析识别潜在威胁价值的恶意代码样本对象。能够快速、有效的提高了恶意代码分析的效率和覆盖面。在面临传统领域安全威胁的样本对象和新型领域安全威胁的渗透活动过程采用的后门隧道、密码提取工具及远程控制管理工具等都具有足够的应对处理能力。

IOC可机读威胁情报指标,是一套威胁情报共享的标准且灵活的格式,把数据表示成可机读(MRTI)的形式,用于发现已知类型或未知的恶意代码,可以通过训练筛选出检测程度较高的规则模型,在恶意代码分析阶段实现自动生成机读IOC威胁指标的数据规范。其重点关注的方向是APT高级持续性威胁样本的发现、检测到输出完整威胁评估报告的过程,可以直接转化成恶意样本大数据威胁模型的核心数据源之一。也为日后的威胁情报共享平台的建立奠定数据基础。

面向恶意代码家族归类技术FCSH搜索同一个威胁群可能已经创建和使用新的、类似的样本数据。为了证明这一分析方法的有效性,已经就相关的APT报告的恶意软件家族进行了研究测试,能够发现更多的恶意软件样本,进一步的分析表明是相同的恶意软件家族的一部分,归属于同一个威胁群。其与任何其他的分析方法相比,恶意代码家族归类是通过一种低成本,高效率和有价值的方式来分析潜在的恶意软件样本,采用这种方法也能够在分析跟踪结果中,随着时间的推移来验证攻击者所使用的后门程序,可以揭露后门威胁团体之间的组织关系。

下面将着重针对杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析技术进行详细说明。

杀毒软件接口分析

基于云端多引擎查杀接口,利用第三方扩展资源协同检测样本对象数据,集成国内外众多安全厂商的反病毒产品查杀服务,增强了恶意代码检测服务的侦测能力,分析结果只作为参考权重的组成部分。

虚拟环境沙箱动态分析

虚拟环境沙箱动态分析主要包括如下四个方面:1、文件基础结构信息,文件类型识别和加壳程序识别,详细信息包括,文件导入表、文件导出表以及资源目录在内的PE/COFF(Common Object File Format,通用对象文件格式)文件头部值;2、字符串特征数据,从恶意软件样本中提取出的任意可读字符串。若样本文件被加壳,可自动转储提取其中的字符串信息;3、记录敏感操作行为特征,跟踪恶意软件执行过程中所使用的Windows API函数和输入参数及输出返回值。完整记录API调用、程序与操作系统之间的会话,并产生恶意软件的活动记录。也可识别反模拟器检测、反虚拟化调试检测技术等;4、分析环境差异化比较,日志记录恶意软件在活动周期内造成的沙箱环境的差异性。获取程序执行前和执行后的文件系统变化列表和注册表变化列表信息,以快速获得相关恶意软件能力的动态行为分析特征。简单来说,动态分析主要是利用虚拟环境触发恶意文件在被激活过程中的所有行为记录与网络流量数据包解析;由此产生的报告将会包括文件敏感特征分析、反调试,反跟踪分析、字符串分析、文件结构分析,行为分析。

网络数据分析

内嵌于虚拟沙箱动态分析环境,实时捕获恶意软件在触发阶段活动的网络通讯状况,对通讯的数据报文协议进行深入解析分析,实现对恶意代码网络行为的完整且详细的流量监控。

S600:当待分析样本对象为文档结构时,对待分析样本进行静态分析,获得第二分析结果。

当待分析样本对象为文档结构时,主要对其进行静态分析。具体来说,文档结构具体可以Office办公文档结构,采用的静态分析方式以及所采用的技术可以与S400中的相同也可以不同。更进一步来说,针对待分析样本对象为文档结构这种情况静态分析主要采用IOC(Indicator of Compromise,可机读威胁情报指标)、恶意文档结构Payload数据提取。主要解决DOC、DOCX、XLS、XLSM、PPT及RTF(Rich Text Format,多信息文本格式)等文档类型结构内的恶意代码分析识别与恶意数据的转储工作。涵盖了常见办公文档格式类型的分析检测能力,分析穿透方面可与机读威胁情报IOC指标进行共享性的资源调用。对于内部结构可能存在的利用已知(CVE编号)或未知安全漏洞捆绑内嵌类型的恶意文档的分析检测能力具备了较高的可扩展性与IOC资源共享性。

S800:根据第一分析结果或第二分析结果,采用恶意代码分类器,检测是否存在恶意代码。

恶意代码分类器根据第一分析结果或第二分析结果,检测待分析样本中是否存在恶意代码。非必要的,恶意代码分类器可以采用具有学习功能的恶意代码分类器。通过机器学习恶意代码的威胁建模评估分类器研究,可以基于多个威胁分析模型的决策算法对样本数据进行相关统计,提取出恶意软件的分类标签;能够识别新型恶意软件,还能找到相似的样本进行关联,并扩大的恶意代码库。

本发明恶意代码检测方法,分析待分析样本对象的结构,当为PE可执行文体结构时,对待分析样本进行静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,获得第一分析结果,当为文档结构时,对待分析样本进行静态分析,获得第二分析结果,根据第一分析结果或第二分析结果,采用恶意代码分类器,检测是否存在恶意代码。整个过程中,分析不同样本对象类型的数据结构,采用静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,具备可靠的分析识别能力并且可对网络攻击事件溯源。

在其中一个实施例中,采用恶意代码API序列威胁因子分析引擎TFAE技术对待分析样本进行静态分析的步骤包括:

步骤一:对大数据原始恶意软件样本集进行特征工程试验研究。

步骤二:对特征工程试验研究的数据进行清洗及加工,生成基于恶意API序列威胁因子的数据模型。

恶意样本特征工程的数据清洗及加工,通过海量的大数据原始恶意样本集的特征工程实验研究,清洗可能存在白名单数据集的API序列因子杂质,筛选合适的特征向量进行泛化处理。通过训练多批次(N+批次)API序列数据,及迭代的工程参数调整,可生成一套基于恶意API序列威胁因子的数据模型。

步骤三:以JSON(avaScript Object Notation,轻量级的数据交换格式)接口交互方式,将基于恶意API序列威胁因子的数据模型存储。

JSON是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯,这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。通过原始恶意样本集训练输出的恶意API序列因子分析模型,以JSON接口交互方式存储于远程数据库服务器,以MongoDB作为数据存储介质。易于长期的数据维护管理、数据检索及关联数据模型分析处理等。

步骤四:验证初始阶段不同批次生成的恶意API序列因子数据模型,判断测试样本对象是否存在恶意API序列威胁检测的标注指标。

输入多批次的已知或者未知样本数据对象,验证初始阶段多批次生成的恶意API序列因子数据模型,判断测试样本对象是否存在恶意API序列威胁检测的标注指标。实验研究结果表明,数据模型针对已知的恶意样本数据集合(黑名单恶意样本及良性样本集合)的分析侦测率达到预期标准。未知样本数据集(主要验证数据包含,利用零日漏洞及CVE(Common Vulnerabilities&Exposures,公共漏洞和暴露)漏洞编号开发的木马病毒、WEB服务中间件应用程序及Windows系统提权工具)的分析侦测率也达到预期结果。

步骤五:根据标注指标,生成恶意API序列威胁数据模型。

可通过技术研究,逐步实现在已有的训练模型基础上进行自我构建生成恶意API序列威胁的数据模型,并自动导入数据模型至远程数据库服务端进行存储。优势是具有更加快速、可靠的分析识别能力。

在其中一个实施例中,采用恶意代码家族归类FCSH技术,对待分析样本进行静态分析包括步骤:

步骤一:获取并导入待分析样本对象的地址表,生成FCSH数据值。

步骤二:对FCSH数据值进行检测,提取待分析样本对象的FCSH数据值作为每个分组成员名称。

步骤三:将待分析样本对象的FCSH数据值与预设的数据库存档恶意代码FCSH分类工作组对应的FCSH数据值进行比较。

步骤四:将待分析样本对象的FCSH数据值与预设的数据库存档恶意代码FCSH分类工作组对应的FCSH数据值相同的分类组成员归属于同一团体的威胁家族群。

基于函数的源文件中的特定顺序导入待分析样本对象的地址表,生成特定FCSH数据值,在FCSH数据值检测阶段,首先提取出待分析样本对象的FCSH数据值作为每个分组成员名称,然后执行待分析样本对象的FCSH数据值与数据库存档的恶意代码FCSH分类工作组进行数据值比较。如果等于其中任何一个分类成员组,即金额将该待分析样本与该分类成员组归属于同一个团体的威胁家族群。

非必要的,还可以进行模糊哈希处理,具体处理过程为:自动提取恶意软件样本文件上下结构相关的分段哈希值,能够找到同一系列的变种代码,计算其相似度,可确定文件是否存在被加壳或进行了源代码自修改模块。

如图2所示,在其中一个实施例中,步骤S800之后还包括:

S920:当存在恶意代码时,提取恶意代码的特征。

S940:根据恶意代码的特征,生成可机读威胁情报IOC数据标准。

如果恶意代码分类器标注的样本对象属于恶意文件标签,则自动提取样本文件对象特征规则,自动生成可机读威胁情报数据交互共享格式。来源不同阶段分析任务已分类完成恶意性指标的样本对象,实现自我递增规则模型数据流程。

如图3所示,一种恶意代码检测系统,包括:

结构分析模块200,用于分析待分析样本对象的结构,结构包括PE可执行文体结构与文档结构。

第一分析模块400,用于当待分析样本对象为PE可执行文体结构时,对待分析样本进行静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,获得第一分析结果。

第二分析模块600,用于当待分析样本对象为文档结构时,对待分析样本进行静态分析,获得第二分析结果。

检测模块800,用于根据第一分析结果或第二分析结果,采用恶意代码分类器,检测是否存在恶意代码。

本发明恶意代码检测系统,结构分析模块200分析待分析样本对象的结构,当为PE可执行文体结构时,第一分析模块400对待分析样本进行静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,获得第一分析结果,当为文档结构时,第二分析模块600对待分析样本进行静态分析,获得第二分析结果,检测模块800根据第一分析结果或第二分析结果,采用恶意代码分类器,检测是否存在恶意代码。整个过程中,分析不同样本对象类型的数据结构,采用静态分析、杀毒软件接口分析、虚拟环境沙箱动态分析以及网络数据分析,具备可靠的分析识别能力并且可对网络攻击事件溯源。

在其中一个实施例中,第一分析模块400具体用于当待分析样本对象为PE可执行文体结构时,采用恶意代码API序列威胁因子分析引擎TFAE技术、可机读威胁情报指标技术以及恶意代码家族归类FCSH技术,对待分析样本进行静态分析。

在其中一个实施例中,第一分析模块400包括:

研究单元,用于对大数据原始恶意软件样本集进行特征工程试验研究。

威胁因子数据模型单元,用于对特征工程试验研究的数据进行清洗及加工,生成基于恶意API序列威胁因子的数据模型。

存储单元,用于以JSON接口交互方式,将基于恶意API序列威胁因子的数据模型存储。

判断单元,用于验证初始阶段不同批次生成的恶意API序列因子数据模型,判断测试样本对象是否存在恶意API序列威胁检测的标注指标。

威胁数据模型单元,用于根据标注指标,生成恶意API序列威胁数据模型。

在其中一个实施例中,第一分析模块400包括:

获取单元,用于获取并导入待分析样本对象的地址表,生成FCSH数据值。

检测单元,用于对FCSH数据值进行检测,提取待分析样本对象的FCSH数据值作为每个分组成员名称。

比较单元,用于将待分析样本对象的FCSH数据值与预设的数据库存档恶意代码FCSH分类工作组对应的FCSH数据值进行比较。

处理单元,用于将待分析样本对象的FCSH数据值与预设的数据库存档恶意代码FCSH分类工作组对应的FCSH数据值相同的分类组成员归属于同一团体的威胁家族群。

如图4所示,在其中一个实施例中,恶意代码检测系统还包括:

提取模块920,用于当存在恶意代码时,提取恶意代码的特征。

生成模块940,用于根据恶意代码的特征,生成可机读威胁情报IOC数据标准。

具体来说,在实际应用中采用本发明恶意代码检测方法与系统不同实施例的技术方案可以实现如下显著的效果与利用价值。

1、解决传统安全技术体系在识别日趋复杂网络安全环境下出现的新型未知恶意样本的滞后性,也覆盖了主流可能被利用生成捆绑的恶意文件结构,做到可及时分析检测包括Open-Source(开源)后门样本源代码同源性编译生成、已公开CVE漏洞利用样本或者利用了未知零日漏洞编译生成的Exploit-Toolkit、木马程序等。

2、可覆盖主流的文件样本格式,全面分析不同样本对象类型的数据结构,提供更加深入、快速有效的检测与提取文件结构内部恶意攻击载荷数据,实现不同阶段完成的不同任务处理的核心功能指标,包括:基于训练算法的恶意样本数据预测分类、同源性恶意家族样本自动化归类、恶意样本数据关联分析且转化成威胁情报服务,可对网络攻击事件溯源。

3、具备更加快速、可靠的分析识别能力,包括恶意样本变种、已知的同源性家族成员与未知的新型恶意软件等,最大化提升分析文件及评估文件的潜在威胁的效率,科学且合理的根据分析结果对文件进行恶意性判断。

4、解决了在恶意代码家族归类过程中如何能够低成本、高效率且有价值的方式在分析跟踪结果中,随着时间的推移来验证攻击者所使用的后门程序,可以揭露后门威胁团体之间的组织关系。

5、以“自动化流程、批量化处理”的工厂模式作业线特点,优化了文件分析结构层的处理能力,使其结构更加简洁方便,大大减少了人工干预的可能性。

6、在功能性方面,极大的增强了与杀毒分析接口、信息系统应用交互接口的灵活性、共享性。例如,邮件系统接口调用,可以根据业务需要进行基于邮件系统IMAP(Internet Mail Access Protocol,交互邮件访问协议)交互接口或基于BCC规则(Blind Carbon Copy,密文抄送)邮件副本分析,实现可能针对企业或政府内部邮件系统进行的附件数据恶意载荷投送的高级持续性威胁渗透活动,提供恶意文件数据分析检测服务,做到实时响应分析。

7、逐渐积累的恶意代码数据资产库可在研究APT(Advanced Persistent Threat,高级持续性威胁)攻击及漏洞利用提供源数据支持,利用恶意文件样本的分析报告提供的资料溯源可以收集整理威胁情报提供案例,通过增加的恶意样本库帮助或支撑其他项目的展开。

8、基于大数据恶意样本信息资产发展方向,可以通过科学有效的数据分析、数据提取及数据清洗技术方案,协助机器自动化生成符合业界标准规范的恶意分析指标,提升整合可利用威胁样本资源,做到以“关联分析”为核心的威胁情报服务,进行可操作性推理的APT高级持续性威胁网络溯源、高威胁预警的网络安全态势感知分析报告。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1