【技术实现步骤摘要】
一种基于对比学习的恶意软件检测方法
[0001]本专利技术涉及恶意软件分类和深度学习
,特别涉及一种基于对比学习的恶意软件检测方法。
技术介绍
[0002]随着互联网技术的发展水平飞速提升,信息技术在人们的生活中扮演了极其重要的角色。一些攻击者通过在互联网中传播恶意软件来牟取利益,这成为了威胁国家信息安全建设的重大隐患之一,给人们的日常生活也带来了极其恶劣的影响。因此,对软件的安全评估与检测日渐迫切,如何有效的检测和分类恶意软件,是信息安全领域的一个重要的研究主题。
[0003]API调用是软件运行过程中最重要的行为,因此分析API序列是实现恶意软件检测和分类的重要手段。API序列分析的主要方法包括序列模式挖掘、依赖图分析、时序模型等。为了提高恶意软件的分类效率,深度学习方法已经被广泛应用于各种恶意软件分类方法中,如长短期记忆网络(LSTM),卷积神经网络(CNN)等,这些方法避免了传统机器学习中手动特征提取的复杂性,降低了分析人员由于经验不足、能力不够而造成的对恶意软件分类检测的准确率降低的影响,可以有效地对抗恶意软件攻击。
[0004]预训练模型通过庞大的预训练知识,只要通过下游任务的简单微调就能够很好的应用于具体任务,并且相对于LSTM和CNN而言能够学习更深层次的特征,在NLP领域取得了巨大的成就。近年来,不少专家学者也将预训练模型应用于恶意软件检测并获得了优异的实验结果,证明了预训练模型在恶意软件检测领域的巨大潜力。然而,预训练模型存在模型参数过多以及推理时间过长的问题,在计算资源受限 ...
【技术保护点】
【技术特征摘要】
1.一种基于对比学习的恶意软件检测方法,其特征在于,包括如下步骤:步骤S1,提取软件样本中的API序列,并进行数据清洗;步骤S2,将进行数据清洗后的API序列预处理,得到基于Transformer的双向编码BERT的输入s
E
;将s
E
送入BERT编码层进行处理,得到BERT编码层的输出O
BERT
,将O
BERT
作为软件API序列的初始编码;步骤S3,使用O
BERT
以及对应的标签信息对BERT模型进行微调,得到BERT
‑
Teacher模型;步骤S4,通过BERT
‑
Teacher构造教师模型与学生模型,并进行训练;步骤S5,将待测样本经过步骤S1
‑
S2,得到相应的软件序列编码,并将序列编码载入训练好的学生模型,以预测恶意软件家族类型对应的标签值,进而对恶意软件家族进行分类。2.根据权利要求1所述的一种基于对比学习的恶意软件检测方法,其特征在于,在S1步骤中,使用第三静态分析工具或者沙箱动态运行的算法提取软件样本的API序列,并通过反病毒引擎得到所述软件样本的标签。3.根据权利要求2所述的一种基于对比学习的恶意软件检测方法,其特征在于,在S1步骤中,所述数据清洗具体操作为:保留API序列中大小写英文字母和数字,其余的标点符号以及字符去除,然后将大写字母统一转化为小写字母。4.根据权利要求3所述的一种基于对比学习的恶意软件检测方法,其特征在于,在S2步骤中,所述BERT模型由一个分词器、一个嵌入层、十二个双向Transformer编码层以及分类器顺序堆叠构成。5.根据权利要求4所述的一种基于对比学习的恶意软件检测方法,其特征在于,在S2步骤中,对所述API序列预处理具体操作如下:S201:将进行数据清洗后的的API序列经BERT模型的分词器分词,得到词表示w,并由词表示w构成输入序列s;S202:将输入序列s截取或者补齐到统一长度,并在其两端加入BERT分类符[CLS]以及句子分界表示符[SEP],分别表示句子的开始和结束,得到嵌入层的输入序列s
′
:S
′
={w
[CLS]
,w1,w2,...,w
n
,w
[SEP]
}其中n表示所设定的统一长度的大小;S203:将s
′
输入BERT的嵌入层,BERT的嵌入层通过结合词嵌入,段落嵌入以及位置嵌入三个嵌入算法形成嵌入向量:S
E
={...
【专利技术属性】
技术研发人员:徐镕恒,周丽,寇亮,张纪林,刘华,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。