当前位置: 首页 > 专利查询>暨南大学专利>正文

Windows平台恶意软件的作者组织特征工程方法技术

技术编号:26505356 阅读:18 留言:0更新日期:2020-11-27 15:33
本发明专利技术公开了一种Windows平台恶意软件的作者组织特征工程方法,首先获取样本集;针对于样本集中的各样本,提取多粒度多级别的恶意软件静态特征,包括PE文件特征、文件字节特征、反汇编文件特征、操作数和指令特征、函数特征、程序图特征、以及函数的质心特征;接着对上提取的静态特征,得到数值类型特征后进行拼接,得到样本的特征向量;最后针对于各样本,基于消融实验和互信息法进行特征选择,挑选出最适合用于作者组织溯源分类的特征集合。通过本发明专利技术方法所确定出来的静态特征,对恶意软件作者组织进行溯源分类时,在检测的准确率、精确率、召回率、F1分数上都具有较好的效果,能够大大提高恶意软件作者组织分类的准确率。

【技术实现步骤摘要】
Windows平台恶意软件的作者组织特征工程方法
本专利技术涉及Windows平台恶意软件组织识别分类
,特别涉及一种Windows平台恶意软件的作者组织特征工程方法。
技术介绍
随着互联网的高速发展和应用,恶意软件的数量和种类不断增长。近年来,具有一定组织背景的恶意代码成为Windows平台的重要安全威胁,恶意软件的组织溯源也越来越受到安全分析人员的重视。恶意软件的作者组织溯源是指通过提取和分析恶意软件的相关特征,揭示出恶意软件之间的同源关系,从而定位到恶意软件的作者所属的组织。对恶意软件的组织进行溯源分类不仅有助于理解和认识犯罪组织的手法,从而制定出更好的防御策略;还有助于积累犯罪证据,震慑相关黑客组织,从根本上遏制恶意软件的产生。对于恶意软件作者组织溯源来说,关键就是要找到恶意软件和组织之间的联系,这种联系通常可以通过恶意软件所反映的编程风格特征及开发工具链特征来建立。因此,研究恶意软件的组织特征是非常有意义的。目前,对恶意软件的作者组织进行溯源分类的研究较少,恶意软件的组织特征问题仍是待解决的基本问题。但是,目前没有专门对恶意软件的组织特征进行研究的工作,现有的研究恶意软件组织溯源分类的工作使用的特征又多为动态分析恶意软件得到的特征,或者是动态特征加上少量静态特征,需要借助沙箱等工具运行恶意软件,花费时间较长。
技术实现思路
本专利技术的第一目的在于克服现有技术的缺点与不足,提供一种Windows平台恶意软件的作者组织特征工程方法,基于该方法所确定出来的静态特征对恶意软件作者组织进行溯源分类时,能够大大提高恶意软件作者组织分类的准确率。本专利技术的第二目的在于提供一种Windows平台恶意软件的作者组织特征工程装置。本专利技术的第三目的在于提供一种计算设备。本专利技术的第四目的在于提供一种存储介质。本专利技术的第一目的通过下述技术方案实现:一种Windows平台恶意软件的作者组织特征工程方法,步骤包括:获取一定数量的各个组织的APT恶意软件,构造样本集;针对于样本集中的各样本,提取多粒度多级别的恶意软件静态特征,包括PE文件特征、文件字节特征、反汇编文件特征、操作数和指令特征、函数特征、程序图特征、以及函数的质心特征;在上述提取到的静态特征中:对于特征值类型是字符串类型的特征,进行字符串散列化,映射到一定维度的向量上,得到数值类型的特征;对于特征值类型是字典的特征,将特征散列化,映射到一定维度的向量上,得到数值类型的特征;对于静态特征中特征值类型是数值类型的特征以及上述字符串类型的特征和字典的特征所转换后的数值类型的特征,将各特征值进行拼接,形成特征向量;针对于各样本,基于消融实验和互信息法进行特征选择,挑选出最适合用于作者组织溯源分类的特征集合。优选的,针对于各样本,基于消融实验和互信息法进行特征选择,挑选出最适合用于作者组织溯源分类的特征集合,具体过程如下:首先基于消融实验的特征选择,针对于各样本的上述静态特征中,每次去除某一小类特征,并把剩下的特征输入恶意软件作者组织分类模型,通过十折交叉验证得到分类准确率的平均值,根据该值判断该小类特征对于组织溯源分类的有效性;若去除该类特征后,分类准确率提高,则说明该类特征无效,否则,则说明该类特征有效;然后是基于互信息法的特征选择,针对于步骤S41剔除无效特征后剩余的特征,计算各维度特征和组织类别之间的互信息,然后根据互信息的大小对各维度的特征进行排序,最后分别选择前10%到100%的特征构成的特征集合输入恶意软件作者组织分类模型,利用LightGBM模型进行十折交叉验证得到准确率平均值结果;其中,准确率最高值对应的特征集合即为对作者组织溯源分类最有效的特征集合。优选的,所述PE文件特征包含PE文件基本信息特征、头部信息特征、导入导出函数信息特征、节区信息特征、字符串信息特征、PE文件字节/字节熵直方图;所述文件字节特征为二进制文件字节特征,其中:首先利用hexdump命令把二进制文件转化为十六进制字节文件,然后选取每个组织类别中信息增益高的字节4-gram,最后收集这些信息增益高的字节4-gram并去重,形成特征集合,作为二进制文件字节特征;所述反汇编文件特征包括不同符号在每个文件中的出现次数、不同关键词在每个文件中的出现次数、数据定义信息特征和文件节区信息特征;其中,数据定义信息特征包括:dd、dw、db的指令行在文件中的出现次数及比例、db和参数0的指令行在文件中的比例以及dd、dw、db的指令行在不同节区中的出现次数及比例;文件节区信息特征包括常见节区包含的指令行数及比例以及未知节区包含的指令行数及比例;所述操作数和指令特征包括不同大小的操作数在每个文件中的出现次数、不同类型的操作数在每个文件中的出现次、不同寻址方式的指令在每个文件中的出现次数、文件包含的常量数量、输入寄存器在每个文件中的出现次数、输出寄存器在每个文件中的出现次数、内部寄存器在每个文件中的出现次数、不同类型的跳转指令在每个文件中的出现次数、以及不同寄存器不同类型操作在每个文件中的出现次数;所述函数特征包括不同API在每个文件中的出现次数、不同类型的函数在每个文件中的出现次数、DLL相关特征、函数长度相关特征;所述程序图特征包括函数调用图特征、控制流图特征和寄存器流图特征。更进一步的,所述操作数和指令特征中,常量包括程序中使用的常量和汇编文件中出现的常量;所述操作数和指令特征中,定义基本块的第一条指令的寄存器操作数为输入寄存器,基本块的最后一条指令的寄存器操作数为输出寄存器,剩余指令中出现的寄存器操作数均为内部寄存器。更进一步的,所述函数特征中,不同类型的函数包括静态函数、库函数、有返回值的函数以及无返回值的函数;所述函数特征中,提取DLL相关特征时,首先选取每个类中前N个信息增益高的DLL,形成DLL集合,然后判断每个样本的反汇编文件中是否包含集合中的DLL;所述函数特征中,提取函数长度相关特征时,首先获取样本中包含的所有函数,然后计算每一个函数的长度,最后针对每一个样本,计算所有函数的长度的最大值、最小值、平均值和标准差。更进一步的,所述程序图特征中,函数调用图特征提取的过程如下:S21、首先构造样本程序的函数调用图,S22、然后提取函数调用图的结点的最大度、最小度、宽度、深度、密度、孤立结点的数量、终端结点的数量、跨越两层的结点的数量以及环形复杂度;其中:函数调用图的宽度为同一层的最多结点数量,深度为图的最深层数;孤立结点为入度和出度均为0的结点,表示既没有调用别的函数又没有被别的函数调用的函数;终端结点为入度不为0,但是出度为0的结点;跨越两层的结点为拥有两个或两个以上的前驱结点,并且前驱结点不都在同一层的结点;环形复杂度计算公式为:CC(G)=E-(V-IV)+2;其中,CC(G)表示图形G的环形复杂度,E表示边的数量,本文档来自技高网...

【技术保护点】
1.一种Windows平台恶意软件的作者组织特征工程方法,其特征在于,步骤包括:/n获取一定数量的各个组织的APT恶意软件,构造样本集;/n针对于样本集中的各样本,提取多粒度多级别的恶意软件静态特征,包括PE文件特征、文件字节特征、反汇编文件特征、操作数和指令特征、函数特征、程序图特征、以及函数的质心特征;/n在上述提取到的静态特征中:/n对于特征值类型是字符串类型的特征,进行字符串散列化,映射到一定维度的向量上,得到数值类型的特征;/n对于特征值类型是字典的特征,将特征散列化,映射到一定维度的向量上,得到数值类型的特征;/n对于静态特征中特征值类型是数值类型的特征以及上述字符串类型的特征和字典的特征所转换后的数值类型的特征,将各特征值进行拼接,形成特征向量;/n针对于各样本,基于消融实验和互信息法进行特征选择,挑选出最适合用于作者组织溯源分类的特征集合。/n

【技术特征摘要】
1.一种Windows平台恶意软件的作者组织特征工程方法,其特征在于,步骤包括:
获取一定数量的各个组织的APT恶意软件,构造样本集;
针对于样本集中的各样本,提取多粒度多级别的恶意软件静态特征,包括PE文件特征、文件字节特征、反汇编文件特征、操作数和指令特征、函数特征、程序图特征、以及函数的质心特征;
在上述提取到的静态特征中:
对于特征值类型是字符串类型的特征,进行字符串散列化,映射到一定维度的向量上,得到数值类型的特征;
对于特征值类型是字典的特征,将特征散列化,映射到一定维度的向量上,得到数值类型的特征;
对于静态特征中特征值类型是数值类型的特征以及上述字符串类型的特征和字典的特征所转换后的数值类型的特征,将各特征值进行拼接,形成特征向量;
针对于各样本,基于消融实验和互信息法进行特征选择,挑选出最适合用于作者组织溯源分类的特征集合。


2.根据权利要求1所述的Windows平台恶意软件的作者组织特征工程方法,其特征在于,针对于各样本,基于消融实验和互信息法进行特征选择,挑选出最适合用于作者组织溯源分类的特征集合,具体过程如下:
首先基于消融实验的特征选择,针对于各样本的上述静态特征中,每次去除某一小类特征,并把剩下的特征输入恶意软件作者组织分类模型,通过十折交叉验证得到分类准确率的平均值,根据该值判断该小类特征对于组织溯源分类的有效性;若去除该类特征后,分类准确率提高,则说明该类特征无效,否则,则说明该类特征有效;
然后是基于互信息法的特征选择,针对于步骤S41剔除无效特征后剩余的特征,计算各维度特征和组织类别之间的互信息,然后根据互信息的大小对各维度的特征进行排序,最后分别选择前10%到100%的特征构成的特征集合输入恶意软件作者组织分类模型,利用LightGBM模型进行十折交叉验证得到准确率平均值结果;其中,准确率最高值对应的特征集合即为对作者组织溯源分类最有效的特征集合。


3.根据权利要求1所述的Windows平台恶意软件的作者组织特征工程方法,其特征在于,所述PE文件特征包含PE文件基本信息特征、头部信息特征、导入导出函数信息特征、节区信息特征、字符串信息特征、PE文件字节/字节熵直方图;
所述文件字节特征为二进制文件字节特征,其中:首先利用hexdump命令把二进制文件转化为十六进制字节文件,然后选取每个组织类别中信息增益高的字节4-gram,最后收集这些信息增益高的字节4-gram并去重,形成特征集合,作为二进制文件字节特征;
所述反汇编文件特征包括不同符号在每个文件中的出现次数、不同关键词在每个文件中的出现次数、数据定义信息特征和文件节区信息特征;其中,数据定义信息特征包括:dd、dw、db的指令行在文件中的出现次数及比例、db和参数0的指令行在文件中的比例以及dd、dw、db的指令行在不同节区中的出现次数及比例;文件节区信息特征包括常见节区包含的指令行数及比例以及未知节区包含的指令行数及比例;
所述操作数和指令特征包括不同大小的操作数在每个文件中的出现次数、不同类型的操作数在每个文件中的出现次、不同寻址方式的指令在每个文件中的出现次数、文件包含的常量数量、输入寄存器在每个文件中的出现次数、输出寄存器在每个文件中的出现次数、内部寄存器在每个文件中的出现次数、不同类型的跳转指令在每个文件中的出现次数、以及不同寄存器不同类型操作在每个文件中的出现次数;
所述函数特征包括不同API在每个文件中的出现次数、不同类型的函数在每个文件中的出现次数、DLL相关特征、函数长度相关特征;
所述程序图特征包括函数调用图特征、控制流图特征和寄存器流图特征。


4.根据权利要求3所述的Windows平台恶意软件的作者组织特征工程方法,其特征在于,所述操作数和指令特征中,常量包括程序中使用的常量和汇编文件中出现的常量;
所述操作数和指令特征中,定义基本块的第一条指令的寄存器操作数为输入寄存器,基本块的最后一条指令的寄存器操作数为输出寄存器,剩余指令中出现的寄存器操作数均为内部寄存器。


5.根据权利要求3所述的Windows平台恶意软件的作者组织特征工程方法,其特征在于,所述函数特征中,不同类型的函数包括静态函数、库函数、有返回值的函数以及无返回值的函数;
所述函数特征中,提取DLL相关特征时,首先选取每个类中前N个信息增益高的DLL,形成DLL集合,然后判断每个样本的反汇编文件中是否包含集合中的DLL;
所述函数特征中,提取函数长度相关特征时,首先获取样本中包含的所有函...

【专利技术属性】
技术研发人员:孙玉霞赵晶晶翁健林松
申请(专利权)人:暨南大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1