一种混合特征恶意软件检测方法及系统技术方案

技术编号:38938839 阅读:41 留言:0更新日期:2023-09-25 09:39
本发明专利技术涉及一种混合特征恶意软件检测方法及系统,属于软件安全技术领域。该方法首先通过反编译技术来获取恶意软件的字节码,其次将连续8bit位的数据转化为0至255以内的无符号整数,用以生成恶意软件图谱。然后利用Skip

【技术实现步骤摘要】
一种混合特征恶意软件检测方法及系统


[0001]本专利技术属于软件安全
,涉及在大规模软件检测环境下的恶意软件检测技术,具体为恶意软件的软件图谱和特征向量等特征提取技术、基于软件图谱和特征向量混合特征的深度学习模型构建技术以及基于混合特征的恶意软件检测技术。

技术介绍

[0002]随着物联网、云计算、大数据等技术的进一步发展,各种应用软件给人们生活提供便捷服务的同时,也带来了诸多安全问题,如木马以及蠕虫病毒,诱导用户进行点击,从而感染用户的系统文件、注册列表,危害用户的信息安全,同时给软件的开发厂商以及国家的财产安全造成巨大的危害,严重影响互联网的健康发展。目前,在恶意软件检测领域还存在两方面的不足:一是随着恶意软件数量的增多,现有安全审查机制的准确性和可扩展性较差,同时恶意软件检测技术受到存储资源、计算资源和网络资源的限制,在海量恶意软件行为检测的场景下,已有的恶意软件检测机制的效率较差;其次,随着恶意软件开发技术的发展,很多恶意软件通过代码混淆技术来躲避检测,导致已有的恶意软件检测方法精度下降,鲁棒性变差。

技术实现思路

[0003]本专利技术所要解决的技术问题是:
[0004]在传统的恶意软件检测场景中,单一特征的静态检测机制方法存在特征很容易被混淆处理或隐藏,从而导致恶意软件成功逃避检测,造成恶意软件系统的误检测的问题。为了避免现有技术的不足之处,本专利技术提供一种基于混合特征的恶意软件检测技术,借助特征降维的方式来大幅度提高海量恶意软件检测场景下的检测系统准确率。
[0005]为了解决上述技术问题,本专利技术采用的技术方案为:
[0006]一种基于软件图谱和特征向量的混合特征恶意软件检测方法,其特征在于步骤如下:
[0007]S1:利用反编译技术获取恶意软件的源代码,并且利用二进制代码将其转化为恶意软件图谱;
[0008]S2:从反编译的字节码文件中,提取API调用特征向量,并将其作为恶意软件的执行特征;
[0009]S3:将恶意软件图谱和特征向量作为恶意软件分类模块的输入,将两个输入的全连接层连接在一起,并在两个输入端的新的全连接层后面加入一个softmax激活函数用于得出最终的分类结果。
[0010]本专利技术进一步的技术方案:S1具体步骤如下:
[0011]S11:打开逆向工具IDA

Pro,点击导入按钮,将恶意软件上传至工具内,然后选择反编译按钮,利用逆向工具IDA

Pro反编译恶意软件样本,获取恶意软件的源码文件;
[0012]S12:按照RGBA通道顺序对byte文件做出分割,并将字节文件按照对应通道的位置
一次输入至恶意软件检测模型中,利用神经网络结点计算特征值;依照byte文件中的位置,逐位读取二进制代码,在读取字节文件时,每读取一位,就将累计数+1,每读取八位,计算其总值;将四个通道上的值分别记录在R、G、B、A四个通道上,此计算每个通道上独立的特征值,按照RGB图像像素值的算法,经过计算最后得到恶意软件图谱。
[0013]本专利技术进一步的技术方案:S2具体步骤如下:
[0014]S21:标记无关指令以及代码,对无关的序列进行裁剪,在源代码阶段直接删除这类语句,只保留最核心的恶意软件函数调用语句;对核心代码做出分类和标记,不同的调用函数采用不同的数字标记;将每一个API调用函数作为唯一的结点去标识不同的调用过程,边则表示API的调用顺序,生成恶意软件调用流程图;
[0015]S22:将每个恶意软件样本由加权有向图来表示,有向图中的每个节点对应一个在恶意软件样本中观察到的唯一API调用函数;图的每个边对应于两个不同API调用函数之间的关系;利用两个节点之间的边缘权重表示恶意软件的调用频率,生成API调用矩阵;
[0016]S23:对每个API调用函数用特定的整数表示,不同的API函数所对应的整数是不同的;然后对整个API数据集进行One

hot编码,并将所有One

hot编码的API向量作为输入数据训练Skip

gram模型;最后将训练完成后的权重矩阵ω取出,用API序列的One

hot向量乘以权重矩阵,以此来得到该序列的特征向量。
[0017]本专利技术进一步的技术方案:S23具体步骤如下:
[0018]S231:采用one

hot编码,每个序列形成V*1的向量,对于整张词汇表而言就是V*V的矩阵;
[0019]S232:根据索引映射,将其中的每一个对应的API序列映射到d维的向量空间,结果这样的映射,所有的序列都可以映射在矩阵ω上;此时矩阵的形状为V*d,并且其中的每一个序列都可以在矩阵中实现一一对应;
[0020]S233:初始化一个d维的空间矩阵作为权重矩阵ω

,同样的,该矩阵的大小也为V*d;
[0021]S234:提取中心词的的词向量V
c
,该向量的大小为1*d的d维向量,并将其与权重矩阵ω

中的其他词做内积;
[0022]S235:在softmax层上做映射,其中每个词的概率为:其中u
i
代表改词作为上下文词和中心词的向量表示;
[0023]S236:更新中心词的向量V
c
,其中,其中,其中代表词典o生成任意中心词ω
c
的条件概率;
[0024]S237:最终得到每个词的特征向量v
i

[0025]在上述过程中,V代表向量的维数,d代表向量空间的维度,ω代表权重矩阵,V
c
代表中心词向量,μ0代表生成中心词的向量表示,v
i
代表最终词的特征向量。
[0026]本专利技术进一步的技术方案:S3所述的恶意软件分类模块为CNN网络,使用图像矩阵和特征向量作为分类器的输入,并为不同的输入类型增加单独的1D和2D隐藏层来改进模型,使其更好地学习到二者的深层特征;所述的隐藏层分别由特征向量的1D卷积层和恶意软件图谱的2D卷积层组成,在每个隐藏层之后,每一个特征通道都用于一个单独的全连接
层用于1D和2D输入;最后将两个全连接层连接并使用Softmax激活函数来获得分类结果。
[0027]一种基于软件图谱和特征向量的混合特征恶意软件检测系统,其特征在于包括恶意软件图谱生成模块、API特征向量提取模块和基于混合特征的恶意软件分类模块,
[0028]所述恶意软件图谱生成模块:利用反编译技术获取恶意软件的源代码,并且利用二进制代码将其转化为恶意软件图谱;
[0029]所述API特征向量提取模块:从反编译的字节码文件中,提取API调用特征向量,并将其作为恶意软件的执行特征;
[0030]所述基于混合特征的恶意软件分类模块:将恶意软件图谱和特征向量作为恶意软件分类模块的输入,将两个输入的全连接层连接在一起,并在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于软件图谱和特征向量的混合特征恶意软件检测方法,其特征在于步骤如下:S1:利用反编译技术获取恶意软件的源代码,并且利用二进制代码将其转化为恶意软件图谱;S2:从反编译的字节码文件中,提取API调用特征向量,并将其作为恶意软件的执行特征;S3:将恶意软件图谱和特征向量作为恶意软件分类模块的输入,将两个输入的全连接层连接在一起,并在两个输入端的新的全连接层后面加入一个softmax激活函数用于得出最终的分类结果。2.根据权利要求1所述基于软件图谱和特征向量的混合特征恶意软件检测方法,其特征在于:S1具体步骤如下:S11:打开逆向工具IDA

Pro,点击导入按钮,将恶意软件上传至工具内,然后选择反编译按钮,利用逆向工具IDA

Pro反编译恶意软件样本,获取恶意软件的源码文件;S12:按照RGBA通道顺序对byte文件做出分割,并将字节文件按照对应通道的位置一次输入至恶意软件检测模型中,利用神经网络结点计算特征值;依照byte文件中的位置,逐位读取二进制代码,在读取字节文件时,每读取一位,就将累计数+1,每读取八位,计算其总值;将四个通道上的值分别记录在R、G、B、A四个通道上,此计算每个通道上独立的特征值,按照RGB图像像素值的算法,经过计算最后得到恶意软件图谱。3.根据权利要求1所述基于软件图谱和特征向量的混合特征恶意软件检测方法,其特征在于:S2具体步骤如下:S21:标记无关指令以及代码,对无关的序列进行裁剪,在源代码阶段直接删除这类语句,只保留最核心的恶意软件函数调用语句;对核心代码做出分类和标记,不同的调用函数采用不同的数字标记;将每一个API调用函数作为唯一的结点去标识不同的调用过程,边则表示API的调用顺序,生成恶意软件调用流程图;S22:将每个恶意软件样本由加权有向图来表示,有向图中的每个节点对应一个在恶意软件样本中观察到的唯一API调用函数;图的每个边对应于两个不同API调用函数之间的关系;利用两个节点之间的边缘权重表示恶意软件的调用频率,生成API调用矩阵;S23:对每个API调用函数用特定的整数表示,不同的API函数所对应的整数是不同的;然后对整个API数据集进行One

hot编码,并将所有One

hot编码的API向量作为输入数据训练Skip

gram模型;最后将训练完成后的权重矩阵ω取出,用API序列的One

hot向量乘以权重矩阵,以此来得到该序列的特征向量。4.根据权利要求3所述基于软件图谱和特征向量的混合特征恶意软件检测方法,其特征在于:S23具体步骤如下:S231:采用one

hot编码,每个序列形成V*1的向量,对于整张词汇表而言就是V*V的矩阵;S232:根据索引映射,将其中的每一个对应的API序列映射到d维的向量空间,结果这样的映...

【专利技术属性】
技术研发人员:姚烨朱怡安郭巍李联钟冬段俊花
申请(专利权)人:西北工业大学
类型:发明
国别省市:

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

1