CN110968869A - 一种基于深度学习的大规模恶意软件分类系统和方法 - Google Patents

一种基于深度学习的大规模恶意软件分类系统和方法 Download PDF

Info

Publication number
CN110968869A
CN110968869A CN201911154716.6A CN201911154716A CN110968869A CN 110968869 A CN110968869 A CN 110968869A CN 201911154716 A CN201911154716 A CN 201911154716A CN 110968869 A CN110968869 A CN 110968869A
Authority
CN
China
Prior art keywords
malicious software
malware
deep learning
module
classification
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.)
Granted
Application number
CN201911154716.6A
Other languages
English (en)
Other versions
CN110968869B (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201911154716.6A priority Critical patent/CN110968869B/zh
Publication of CN110968869A publication Critical patent/CN110968869A/zh
Application granted granted Critical
Publication of CN110968869B publication Critical patent/CN110968869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Biology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于深度学习的大规模恶意软件分类系统和方法,涉及计算机信息安全技术领域,包括数据库模块、反汇编模块、恶意软件嵌入模块和深度学习模块,数据库模块被配置成周期性地自动从网络空间,特别是各大开源恶意软件平台收集恶意软件信息;反汇编模块对恶意软件进行反汇编分析;恶意软件嵌入模块包含恶意软件嵌入方法,将恶意软件反汇编文件映射到向量空间,输出恶意软件向量;深度学习模块,训练阶段,在有监督的恶意软件样本集上进行学习,得到成熟的模型;检测阶段,在成熟的模型上输入恶意软件的向量,输出恶意软件的家族信息,得到分类结果,通过本方案的实施,提高大规模恶意软件的分类效率和鲁棒性。

Description

一种基于深度学习的大规模恶意软件分类系统和方法
技术领域
本发明涉及计算机信息安全技术领域,尤其涉及一种基于深度学习的大规模恶意软件分类系统和方法。
背景技术
恶意软件分类(malware classification)是一类给定恶意软件样本,从知识库中计算家族标签的问题。近年来,随着多态(ploymorphic),变异(metamorphic)等技术的引入,恶意软件在质和量上都呈爆发式增长,大规模数据样本的恶意性检测任务已经成为当下反病毒产品的主要挑战之一。
基于传统特征提取的恶意软件分类方法
传统恶意软件分类方法主要遵从先手动提取和融合样本特征再选取机器学习分类算法进行分类的技术路线。根据提取特征的形式又可分为动态分析和静态分析两大类。
动态分析通过监控恶意软件在特定环境下的运行来提取相关特征。2005年Vasudevan和Yerraballi等在21st Annual Computer Security ApplicationsConference公开了VAMPiRE隐形断点方法,用以克服恶意软件的反调式技术,能在调式环境下获取恶意软件指令级的信息;2007年Willems等在Towards automated dynamic binaryanalysis[J].IEEE Security and Privacy公开了CWSandbox工具,通过在API hook和DLL注入,在沙箱中监控恶意软件的运行时行为;2015年Ghiasi等在a framework for malwaredetection based on register contents[J].Engineering Applications ofArtificial Intelligence公开了Dynamic VSA框架,通过在VMWware虚拟环境下监控恶意软件的API调用和寄存器等信息来计算恶意软件之间的相似性。
静态分析则是通过分析恶意软件的静态文本来提取相关特征。如,API调用,字节N-grams,字符串(strings),操作码(opcode)和控制流图(control flow graphs,CFGs)等。2016年Ahmadi等在Proceedings of the sixth ACM conference on data andapplication security and privacy公开了一种全面的特征提取和融合方法,并利用决策树算法(decision tree)取得了很高的分类准确率。
类似的基于动静特征提取再分类的方法还有很多,但其固有的复杂性和耗时性决定了这类方法并不适用于大规模恶意软件的分析任务。其一,动态分析本身很难在有限时间内触发恶意软件的所有行为特征,分析时间窗的选择,模拟环境的构建以及行为的触发都需要复杂的系统设计;其二,这类依赖研究人员扎实领域知识的特征提取很难实现自动化,同时提取耗时且难以保证特征的全面性。
所以学者们开始探索用模型自动提取和融合特征的方法。2016年Garcia等在Random Forest for Malware Classification公开了直接利用随机森林(Random forest)算法在恶意软件二进制灰度图上提取特征,进行分类的方法,但模型本身在应对加壳(packing)和混淆(obfuscation)等技术时具有很大的局限性。2017年Raff等在AnAlternative to NCD for Large Sequences,Lempel-Ziv Jaccard Distance公开了基于Lempel-Ziv Jaccard Distance(LZJD)距离和KNN的恶意软件聚类方法,虽极具创新性,但类似的聚类模型在预测时往往需要计算新增样本与所有样本的距离矢量,这种计算开销难以实用。
恶意软件嵌入(malware embedding),恶意软件嵌入是将恶意软件映射到向量空间,以有助于深度学习模型在分析任务中获得更好的性能。类似于自然语言处理(NaturalLanguage Processing,NLP)中的词嵌入(word embedding)方法,这种方法简单有效,一些基于恶意软件嵌入的模型在大型恶意软件数据集上的性能表现已经超过传统基于动静态特征提取的方法。
2011年,Nataraj等在Malware images:visualization and automaticclassification公开了基于二进制文件的恶意嵌入方法,将恶意代码二进制文件直接映射为灰度图,再利用卷积神经网络进行分类。近几年,基于Nataraj工作的分类模型有许多,但加壳(packing)和混淆(obfuscation)等技术能将二进制文件转换为完全不同的形式,使得最后的恶意软件灰度图发生显著性变化,所以基于Nataraj矢量化方法的模型鲁棒性差,易受到攻击。2015年,Andrew等在Deep learning on disassembly data公开了基于反汇编文件(disassembly file)的恶意软件嵌入方法,输出的矢量图具有极佳的视觉可解释性,可惜的是,该方法使用了大量的无效填充,使得模型的整体性能不佳。
因此,本领域的技术人员致力于开发一种基于深度学习的大规模恶意软件分类系统和方法,以解决现有恶意软件分类方法人力成本高、效率低、鲁棒性不强的问题。
发明内容
鉴于现有技术的上述缺陷,本发明所要解决的技术问题是设计鲁棒性强的恶意软件矢量化方法以及构建高效的深度神经网络以解决恶意软件分类中人力成本高、效率低、鲁棒性不强的问题。
为实现上述目的,本发明提供了一种基于深度学习的大规模恶意软件分类系统和方法,大大提高了大规模恶意软件的分类准确率和性能。同时系统模型结构简单,鲁棒性强,能很好的满足已知或变体恶意软件大规模分类任务的性能需求。为了简化系统的开发和使用,整个系统采用浏览器/服务器架构,核心功能在服务器实现。系统模型受词嵌入(word embedding)的启发,对恶意软件分类任务进行重新建模,创新性地设计了一种基于反汇编文件(disassembly file)的恶意软件嵌入(malware embedding)方法,赋予了嵌入向量的指令级(instruction-level)可解释性,增强了恶意软件嵌入的鲁棒性。同时,系统基于自然语言处理(Natural Language Processing,NLP)中语句级(sentence-level)分类任务的思想设计了一种新的深度神经网络以满足大规模恶意软件分析的性能需求。
本发明提供了一种基于深度学习的大规模恶意软件分类系统,包括数据库模块、反汇编模块、恶意软件嵌入模块和深度学习模块,数据库模块被配置成周期性地从网络空间收集恶意软件,并对恶意软件进行已知家族标注,构建恶意软件分类数据集;反汇编模块用于对收集到的恶意软件进行反汇编分析,并输出恶意软件反汇编文件;恶意软件嵌入模块将恶意软件反汇编文件映射到向量空间,并输出恶意软件向量;深度学习模块,在训练阶段,在有监督的恶意软件样本集上进行学习,得到成熟模型,在检测阶段,在成熟模型上输入恶意软件向量,并输出恶意软件的家族信息,从而得到分类结果。
进一步的,分类系统包括报告生成模块,报告生成模块根据数据库模块中的信息和深度学习模块的结果生成分类结果报告。
进一步的,反汇编模块包含反汇编工具,通过输入恶意软件二进制文件,输出恶意软件反汇编文件,恶意软件反汇编文件包含恶意软件节区、地址、指令、操作码和操作数信息。
进一步的,采用浏览器/服务器架构,在服务器端配置各模块,完成恶意软件分类数据集的构建,成熟模型的训练和对恶意软件的分类任务;浏览器端被配置为面向用户上传恶意软件和呈现分类结果报告。
进一步的,深度学习模块利用有限层卷积神经网络对恶意软件向量中的特征进行提取和泛化,并利用批量归一化和全局最大采样方法对卷积神经网络进行加速。
本发明还提供了一种基于深度学习的大规模恶意软件分类方法,包括以下步骤:
S1、恶意软件进入数据库模块进行查询、分析和存档;
S2、恶意软件二进制文件进入反汇编模块,输出恶意软件反汇编文件;
S3、将恶意软件反汇编文件映射到向量空间,输出恶意软件向量;
S4、使用带标注的恶意软件向量训练深度学习网络,输出训练成熟的深度学习网络;
S5、输入恶意软件向量,使用训练成熟的深度学习网络进行分类,输出家族标签,并在数据库模块中归档结果;
S6、根据数据库模块中的归档结果生成分类结果报告。
进一步的,恶意软件进入数据库模块的查询包括以下步骤:
S1-1、恶意软件样本计算散列值作为指纹信息,在数据库模块中进行匹配;
S1-2、若无法匹配,则进行多杀毒引擎扫描和家族标注,并更新数据库模块中的信息。
进一步的,恶意软件反汇编文件映射到向量空间包括以下步骤:
S3-1、选择一种Unicode字符编码对恶意软件反汇编文件进行编码,输出编码值向量;
S3-2、对每个编码值进行高8位截断,输出灰度值向量;
S3-3、将灰度值向量变换到(m,64)维度。
进一步的,使用带标注的恶意软件向量训练深度学习网络包括以下步骤:
S4-1、数据库模块通过自动收集恶意软件样本,基于多杀毒引擎进行已知家族标注,构建带标注的恶意软件分类样本集;
S4-2、周期性地使用带标注的恶意软件对深度学习网络进行更新训练,得到最新的训练成熟的深度学习模型。
进一步的,基于训练成熟的深度学习网络进行用户上传恶意软件的分类包括以下步骤:
S5-1、保存用户上传的恶意软件样本,计算散列值,作为全局指纹;
S5-2、在数据库模块中匹配步骤S5-1中的得到的恶意软件指纹;
S5-3、如果步骤S5-2的匹配结果存在,进行步骤S5-7,否则进行步骤S5-4;
S5-4、对步骤S5-1中保存的恶意软件进行反汇编,得到反汇编文件;
S5-5、将步骤S5-4中得到的反汇编文件输入恶意软件嵌入模块,输出恶意软件向量;
S5-6、将步骤S5-5中得到恶意软件向量送入深度神经网络,输出恶意软件的家族信息,并在数据库中归档结果。
进一步的,采用的深度学习网络具有以下特征:
采用通道堆叠,将输入的(m,64)向量变换到(
Figure BDA0002284497240000041
64,k)维度,以实现汇编指令在通道方向的堆叠;
采用有限层卷积模块,每层卷积模块包含一个卷积单元、一个批量归一化单元、一个激活单元和一个最大采样单元;
采用全局最大采样对卷积模块输出的特征向量进行全局最大采样;
采用2层全连接层模块(fully connected block),每层全连接模块包含,一个全连接单元,一个批量归一化单元,一个激活单元。
与现有技术相比,本发明提供的基于深度学习的大规模恶意软件分类系统和方法具有如下优势:系统自动从网络空间收集恶意软件样本,基于多杀毒引擎进行已知家族标准,可保证深度学习网络的周期性更新;系统基于反汇编文件,在指令级构建恶意软件嵌入向量,包含恶意软件最本质的、指令级特征,向量的鲁棒性也较强;同时,深度神经网络利用卷积神经网络在恶意软件向量中自动提取和泛化高维特征,并利用批量归一化和全局最大采样进行神经网络加速,确保了模型收敛速度。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的基于深度学习的大规模恶意软件分类系统的一个实例架构图;
图2a是本发明的一个较佳实施例的基于深度学习的大规模恶意软件分类方法的流程图;
图2b是本发明的一个较佳实施例的恶意软件进入数据库模块查询方法的流程图;
图2c是本发明的一个较佳实施例的恶意软件反汇编文件映射到向量空间的方法的流程图;
图2d是本发明的一个较佳实施例的使用带标注的恶意软件向量训练深度学习网络的方法的流程图;
图2e是本发明的一个较佳实施例的基于深度学习的大规模恶意软件分类系统进行软件分类的流程图;
图3是本发明的一个较佳实施例的基于深度学习的大规模恶意软件分类系统的深度神经网络示意图;
图4是本发明的一个较佳实施例的基于深度学习的大规模恶意软件分类系统的恶意软件嵌入模块示意图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
如图1所示,是本发明的一个较佳实施例的基于深度学习的大规模恶意软件分类系统的一个实例架构图,整个系统采用浏览器/服务器架构,服务器端包括数据库模块、反汇编模块、恶意软件嵌入模块、深度学习模块、报告生成模块,以完成恶意软件数据集的构建、成熟深度神经网络模型的训练和恶意软件的分类任务。核心功能在服务器端实现。基于深度学习的大规模恶意软件分类系统的服务器端包括:
数据库模块:数据库模块被配置成周期性地自动从网络空间,特别是各大开源恶意软件平台收集恶意软件信息,基于多杀毒引擎进行已知家族标注,构建恶意软件分类数据集,以及保存各个模块的分析结果;
反汇编模块:包含反汇编工具,对恶意软件进行反汇编分析,输入恶意软件二进制文件,输出恶意软件的反汇编文件,输出包含恶意软件节区(section),地址(address),指令(instruction),操作码(opcode)和操作数(oprand)信息的反汇编文件;
恶意软件嵌入模块:包含本发明设计的恶意软件嵌入方法,输入恶意软件的反汇编文件(disassembly file),输出恶意软件的向量(vector)。将恶意软件反汇编文件映射到向量空间,输出恶意软件向量;
深度学习模块:包含本发明针对恶意软件嵌入方法设计的深度神经网络架构。在训练阶段,深度学习模块在有监督的恶意软件样本集上进行学习,得到成熟的模型;在检测阶段,在成熟的模型上输入恶意软件的向量,输出恶意软件的家族信息,得到分类结果。整个深度神经网络架构利用4层卷积神经网络对恶意软件向量中的指令等特征进行提取和泛化,并利用批量归一化和全局最大采样方法对神经网络进行加速;通过数据库模块构建的带家族标注恶意软件数据集进行学习,得到成熟的模型;输入恶意软件向量到学习成熟的模型,输出恶意软件的家族信息。
报告生成模块:根据数据库模块中信息和深度学习模块结果生成分类结果报告,报告生成模块为非必要模块,分类结果的呈现可以通过对接其他软件或者接口或者以其他方式呈现。
基于深度学习的大规模恶意软件分类系统的浏览器端,被配置为面向用户上传恶意软件和呈现生成的分类结果报告。用户只需采用任意带浏览器功能的电子设备上网即可实现上传恶意软件,以及查看基于深度学习的大规模恶意软件分类系统输出的分类结果报告。
如图2a所示,是本发明的一个较佳实施例的基于深度学习的大规模恶意软件分类方法的流程图,包括如下步骤:
S1、恶意软件进入数据库模块查询、分析和存档;
S2、恶意软件二进制文件进入反汇编模块,输出恶意软件反汇编文件;
S3、将恶意软件反汇编文件映射到向量空间,输出恶意软件向量;
S4、使用带标注的恶意软件向量训练深度学习网络,输出训练成熟的深度学习网络;
S5、输入恶意软件的向量,使用训练成熟的深度学习网络进行分类,输出家族标签,并在数据库中归档结果;
S6、根据上述结果生成分类结果报告。
如图2b所示,是本发明的一个较佳实施例的恶意软件进入数据库模块查询方法的流程图,包括如下步骤:
S1-1、恶意软件样本计算散列值(hash),作为指纹信息,在数据库中进行匹配;
S1-2、若不存在,则进行多杀毒引擎扫描和家族标注,更新数据库。
如图2c所示,是本发明的一个较佳实施例的恶意软件反汇编文件映射到向量空间的方法的流程图,包括如下步骤:
S3-1、编码(encode),选择一种Unicode字符编码对反汇编文件进行编码,输出编码值向量;
S3-2、截断(truncate),对每个编码值进行高8位截断,输出灰度值(gray value)向量;
S3-3、变换(reshape),将灰度值向量变换到(m,64)维度。
如图2d所示,是本发明的一个较佳实施例的使用带标注的恶意软件向量训练深度学习网络的方法的流程图,包括如下步骤:
S4-1、数据库模块通过自动收集恶意软件样本,基于多杀毒引擎进行已知家族标注,构建海量的带标注的恶意软件分类样本集;
S4-2、周期性地实用数据库中带标注的恶意软件对深度学习网络进行更新训练,得到最新的训练成熟的深度学习模型。
如图2e所示,是本发明的一个较佳实施例的基于深度学习的训练成熟的深度学习网络进行分类的流程图,使用训练成熟的深度神经网络进行分类,包括如下步骤:
S5-1、用户上传的恶意软件的恶意样本,如WannaCry.exe,计算散列值md5,作为全局指纹;
S5-2、在数据库中匹配步骤S5-1中的得到的恶意软件指纹;
S5-3、如果步骤S5-2的匹配结果存在,进行步骤S5-7,否则进行步骤S5-4;
S5-4、对步骤S5-1中保存的WanaCry.exe进行反汇编,得到反汇编文件WanaCry.asm;
S5-5、将步骤S5-4中得到的反汇编文件输入恶意软件嵌入模块,输出向量WanaCry.npy;
S5-6、将步骤S5-5中得到恶意软件向量送入深度神经网络,输出恶意软件的家族标签,如WanaCry,并在数据库中归档结果。
如图3所示,是本发明的一个较佳实施例的基于深度学习的大规模恶意软件分类系统的深度神经网络示意图,深度神经网络具有如下特点:
(1)采用通道堆叠(channel stacking)。将输入的(m,64)图像向量变换到(
Figure BDA0002284497240000071
64,k)维度,以实现汇编指令在通道方向的堆叠;
(2)采用4层卷积模块(convolution block)。每层卷积模块包含,一个卷积单元,一个批量归一化(batch normalization)单元,一个激活单元(activation)和一个最大采样单元(max pooling);
(3)采用全局最大采样(global max pooling)对卷积模块输出的特征向量进行全局最大采样,并使用Dropout算法。
(4)采用2层全连接层模块(fully connected block)。每层全连接模块包含,一个全连接单元,一个批量归一化单元,一个激活单元。
如图4所示,是本发明的一个较佳实施例的基于深度学习的大规模恶意软件分类系统的恶意软件嵌入模块示意图,包括如下步骤:
SE3-1、编码(encode),选择一种Unicode字符编码对反汇编文件(malwaredisassembly file)进行编码,该文件包含恶意软件节区(section)、地址(address)、16进制指令(hex instruction)、操作码(opcode)和操作数(operand)信息,输出编码值向量(ecoded value vector);
SE3-2截断(truncate),对每个编码值进行高8位截断,输出灰度值向量(grayvalue vecotr);
SE3-3变换(reshape),将灰度值向量变换到(m,64)维度。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (10)

1.一种基于深度学习的大规模恶意软件分类系统,其特征在于,包括数据库模块、反汇编模块、恶意软件嵌入模块和深度学习模块,所述数据库模块被配置成周期性地从网络空间收集恶意软件,并对恶意软件进行已知家族标注,构建恶意软件分类数据集;所述反汇编模块用于对收集到的恶意软件进行反汇编分析,并输出恶意软件反汇编文件;所述恶意软件嵌入模块将所述恶意软件反汇编文件映射到向量空间,并输出恶意软件向量;所述深度学习模块,训练阶段,在有监督的恶意软件样本集上进行学习,得到成熟模型,检测阶段,在所述成熟模型上输入所述恶意软件向量,并输出恶意软件的家族信息,从而得到分类结果。
2.如权利要求1所述的基于深度学习的大规模恶意软件分类系统,其特征在于,所述分类系统包括报告生成模块,所述报告生成模块根据所述数据库模块中的信息和所述深度学习模块的结果生成分类结果报告。
3.如权利要求1所述的基于深度学习的大规模恶意软件分类系统,其特征在于,所述反汇编模块包含反汇编工具,通过输入恶意软件二进制文件,输出所述恶意软件反汇编文件,所述恶意软件反汇编文件包含恶意软件节区、地址、指令、操作码和操作数。
4.如权利要求1所述的基于深度学习的大规模恶意软件分类系统,其特征在于,采用浏览器/服务器架构,在服务器端配置各模块,完成所述恶意软件分类数据集的构建,所述成熟模型的训练和对恶意软件的分类任务;浏览器端被配置为面向用户上传恶意软件和呈现分类结果报告。
5.一种基于深度学习的大规模恶意软件分类方法,包括以下步骤:
S1、恶意软件进入数据库模块进行查询、分析和存档;
S2、恶意软件二进制文件进入反汇编模块,输出恶意软件反汇编文件;
S3、将所述恶意软件反汇编文件映射到向量空间,输出恶意软件向量;
S4、使用带标注的恶意软件向量训练深度学习网络,输出训练成熟的深度学习网络;
S5、输入所述恶意软件向量,使用所述训练成熟的深度学习网络进行分类,输出家族标签,并在所述数据库模块中归档结果;
S6、根据所述数据库模块中的归档结果生成分类结果报告。
6.如权利要求5所述的基于深度学习的大规模恶意软件分类方法,其特征在于,恶意软件进入所述数据库模块的查询包括以下步骤:
S1-1、恶意软件样本计算散列值作为指纹信息,在所述数据库模块中进行匹配;
S1-2、若无法匹配,则进行多杀毒引擎扫描和家族标注,并更新所述数据库模块中的信息。
7.如权利要求5所述的基于深度学习的大规模恶意软件分类方法,其特征在于,所述恶意软件反汇编文件映射到向量空间包括以下步骤:
S3-1、选择一种Unicode字符编码对所述恶意软件反汇编文件进行编码,输出编码值向量;
S3-2、对每个编码值进行高8位截断,输出灰度值向量;
S3-3、将所述灰度值向量变换到(m,64)维度。
8.如权利要求5所述的基于深度学习的大规模恶意软件分类方法,其特征在于,所述使用带标注的恶意软件向量训练深度学习网络包括以下步骤:
S4-1、所述数据库模块通过自动收集恶意软件样本,基于多杀毒引擎进行已知家族标注,构建带标注的恶意软件分类样本集;
S4-2、周期性地使用带标注的恶意软件对深度学习网络进行更新训练,得到最新的训练成熟的深度学习模型。
9.如权利要求5所述的基于深度学习的大规模恶意软件分类方法,其特征在于,基于所述训练成熟的深度学习网络进行所述用户上传恶意软件的分类包括以下步骤:
S5-1、保存用户上传的恶意软件样本,计算散列值,作为全局指纹;
S5-2、在所述数据库模块中匹配步骤S5-1中的得到的恶意软件指纹;
S5-3、如果步骤S5-2的匹配结果存在,进行步骤S5-7,否则进行步骤S5-4;
S5-4、对步骤S5-1中保存的恶意软件进行反汇编,得到反汇编文件;
S5-5、将步骤S5-4中得到的反汇编文件输入恶意软件嵌入模块,输出恶意软件向量;
S5-6、将步骤S5-5中得到恶意软件向量送入深度神经网络,输出恶意软件的家族信息,并在数据库中归档结果。
10.如权利要求5所述的基于深度学习的大规模恶意软件分类方法,其特征在于,采用的深度学习网络具有以下特征:
采用通道堆叠,将输入的(m,64)向量变换到
Figure FDA0002284497230000021
维度,以实现汇编指令在通道方向的堆叠;
采用有限层卷积模块,每层卷积模块包含一个卷积单元、一个批量归一化单元、一个激活单元和一个最大采样单元;
采用全局最大采样对所述卷积模块输出的特征向量进行全局最大采样。
CN201911154716.6A 2019-11-22 2019-11-22 一种基于深度学习的大规模恶意软件分类系统和方法 Active CN110968869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911154716.6A CN110968869B (zh) 2019-11-22 2019-11-22 一种基于深度学习的大规模恶意软件分类系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911154716.6A CN110968869B (zh) 2019-11-22 2019-11-22 一种基于深度学习的大规模恶意软件分类系统和方法

Publications (2)

Publication Number Publication Date
CN110968869A true CN110968869A (zh) 2020-04-07
CN110968869B CN110968869B (zh) 2023-06-13

Family

ID=70031374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911154716.6A Active CN110968869B (zh) 2019-11-22 2019-11-22 一种基于深度学习的大规模恶意软件分类系统和方法

Country Status (1)

Country Link
CN (1) CN110968869B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783093A (zh) * 2020-06-28 2020-10-16 南京航空航天大学 一种基于软依赖的恶意软件分类和检测方法
CN112417448A (zh) * 2020-11-15 2021-02-26 复旦大学 一种基于api关系图谱的恶意软件检测模型抗老化增强方法
CN113254935A (zh) * 2021-07-02 2021-08-13 北京微步在线科技有限公司 恶意文件识别方法、装置及存储介质
CN113434858A (zh) * 2021-05-25 2021-09-24 天津大学 基于反汇编代码结构和语义特征的恶意软件家族分类方法
CN113691492A (zh) * 2021-06-11 2021-11-23 杭州安恒信息安全技术有限公司 违法应用程序的确定方法、系统、装置及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177215A (zh) * 2013-03-05 2013-06-26 四川电力科学研究院 基于软件控制流特征的计算机恶意软件检测新方法
US20170068816A1 (en) * 2015-09-04 2017-03-09 University Of Delaware Malware analysis and detection using graph-based characterization and machine learning
CN106845224A (zh) * 2016-12-16 2017-06-13 华东师范大学 一种恶意程序识别系统
US20170262633A1 (en) * 2012-09-26 2017-09-14 Bluvector, Inc. System and method for automated machine-learning, zero-day malware detection
CN108920954A (zh) * 2018-06-28 2018-11-30 中国科学院软件研究所 一种恶意代码自动化检测平台及方法
WO2019075338A1 (en) * 2017-10-12 2019-04-18 Charles River Analytics, Inc. CYBERVACCIN AND METHODS AND SYSTEMS FOR DEFENSE AGAINST PREDICTIVE MALICIOUS SOFTWARE

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170262633A1 (en) * 2012-09-26 2017-09-14 Bluvector, Inc. System and method for automated machine-learning, zero-day malware detection
CN103177215A (zh) * 2013-03-05 2013-06-26 四川电力科学研究院 基于软件控制流特征的计算机恶意软件检测新方法
US20170068816A1 (en) * 2015-09-04 2017-03-09 University Of Delaware Malware analysis and detection using graph-based characterization and machine learning
CN106845224A (zh) * 2016-12-16 2017-06-13 华东师范大学 一种恶意程序识别系统
WO2019075338A1 (en) * 2017-10-12 2019-04-18 Charles River Analytics, Inc. CYBERVACCIN AND METHODS AND SYSTEMS FOR DEFENSE AGAINST PREDICTIVE MALICIOUS SOFTWARE
CN108920954A (zh) * 2018-06-28 2018-11-30 中国科学院软件研究所 一种恶意代码自动化检测平台及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SITALAKSHMI VENKATRAMAN: "A hybrid deep learning image-based analysis for effective malware detection" *
ZHAO YUNTAO: "MalDeep: A Deep Learning Classification Framework against Malware Variants Based on Texture Visualization" *
芦效峰: "基于API序列特征和统计特征组合的恶意样本检测框架" *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783093A (zh) * 2020-06-28 2020-10-16 南京航空航天大学 一种基于软依赖的恶意软件分类和检测方法
CN112417448A (zh) * 2020-11-15 2021-02-26 复旦大学 一种基于api关系图谱的恶意软件检测模型抗老化增强方法
CN112417448B (zh) * 2020-11-15 2022-03-18 复旦大学 一种基于api关系图谱的恶意软件检测模型抗老化增强方法
CN113434858A (zh) * 2021-05-25 2021-09-24 天津大学 基于反汇编代码结构和语义特征的恶意软件家族分类方法
CN113691492A (zh) * 2021-06-11 2021-11-23 杭州安恒信息安全技术有限公司 违法应用程序的确定方法、系统、装置及可读存储介质
CN113254935A (zh) * 2021-07-02 2021-08-13 北京微步在线科技有限公司 恶意文件识别方法、装置及存储介质

Also Published As

Publication number Publication date
CN110968869B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
CN110968869B (zh) 一种基于深度学习的大规模恶意软件分类系统和方法
CN109005145B (zh) 一种基于自动特征抽取的恶意url检测系统及其方法
US11463473B2 (en) Large-scale malware classification system
CN111931935B (zh) 基于One-shot 学习的网络安全知识抽取方法和装置
CN113434858B (zh) 基于反汇编代码结构和语义特征的恶意软件家族分类方法
CN110738049B (zh) 相似文本的处理方法、装置及计算机可读存储介质
CN115168856B (zh) 二进制代码相似性检测方法及物联网固件漏洞检测方法
Ma et al. How to make attention mechanisms more practical in malware classification
CN113051356A (zh) 开放关系抽取方法、装置、电子设备及存储介质
CN115238670B (zh) 信息文本抽取方法、装置、设备及存储介质
CN112989831A (zh) 一种应用在网络安全领域的实体抽取方法
CN116258137A (zh) 文本纠错方法、装置、设备和存储介质
CN114942879A (zh) 一种基于图神经网络的源代码漏洞检测与定位方法
CN116527357A (zh) 一种基于门控Transformer的Web攻击检测方法
CN115563627A (zh) 一种基于人机协同的二进制程序漏洞静态分析方法
Zhang et al. Malware detection based on opcode sequence and resnet
CN112989829A (zh) 一种命名实体识别方法、装置、设备及存储介质
CN117009968A (zh) 恶意代码的同源分析方法、装置、终端设备及存储介质
CN116701574A (zh) 文本语义相似度计算方法、装置、设备及存储介质
CN112861131B (zh) 基于卷积自编码器的库函数识别检测方法及系统
CN115098857A (zh) 一种可视化恶意软件的分类方法及装置
CN115344563A (zh) 数据去重方法及装置、存储介质、电子设备
CN110413909B (zh) 基于机器学习的大规模嵌入式设备在线固件智能识别方法
CN113343235A (zh) 基于Transformer的应用层恶意有效负载检测方法、系统、设备及介质
CN111860662B (zh) 一种相似性检测模型的训练方法及装置、应用方法及装置

Legal Events

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