一种预训练语言模型的生成、检测方法及装置制造方法及图纸

技术编号:29330957 阅读:18 留言:0更新日期:2021-07-20 17:48
本发明专利技术实施例公开了一种预训练语言模型的生成、检测方法及装置,包括:获取多个训练用的动态API指令序列;分别对所获取的每个API指令序列按照预定的编码规则进行编码,得到多个API指令编码序列;根据所述多个API指令编码序列对预设的语言模型进行训练,得到预训练语言模型。

【技术实现步骤摘要】
一种预训练语言模型的生成、检测方法及装置
本专利技术涉及网络安全领域,尤其涉及一种预训练语言模型的生成、检测方法及装置。
技术介绍
近些年来,在大量不法资金的助力下,黑灰产业蓬勃发展,市值已高达千亿元规模。在此基础上,黑客根据现有反病毒软件存在的漏洞,研发出各种逃避反病毒软件的工具。而如果不能正确识别恶意软件,就可能会导致恶意软件大肆传播,就会给整个社会和国家带来非常巨大的危害。所以,检测恶意软件就显得至关重要。在检测恶意软件的应用中,早期通过特征码和人工规则的方法对软件进行静态检测。随着技术的发展,动态检测方法也开始崭露头角,它的本质是把软件放置沙箱中模拟运行,得到运行后的API指令序列(文本信息),然后通过一定的方法对API指令序列进行分析和检测。一些技术中,通过传统机器学习的方法来进行动态检测,即需要人工进行提取特征,然后使用SVM分类器进行分类。该方法存在着几个弊端,如人工提取特征不仅费时费力,很难满足模型快速迭代的需求,而且手动的特征工程很难提取到有效的组合特征;另外,上述方法仅仅利用了高质量的标注数据,而未对海量的无标注数据进行挖掘。
技术实现思路
为了解决上述技术问题,本公开提供了一种预训练语言模型的生成及装置,可以通过对API指令序列进行编码,以用于预训练语言模型。本公开提供了一种检测方法及装置,可以利用预训练语言模型对恶意软件进行检测,提高网络安全能力。本公开提供了一种预训练语言模型的生成方法,包括:获取多个训练用的动态API指令序列;分别对所获取的每个API指令序列按照预定的编码规则进行编码,得到多个API指令编码序列;根据所述多个API指令编码序列对预设的语言模型进行训练,得到预训练语言模型。一种示例性的实施例中,所述分别对所获取的每个API指令序列按照预定的编码规则进行编码,包括:将所获取的每个API指令序列进行分段;其中,每段API指令序列中所含的API指令序列为单个相同的API连续序列;将每段API指令序列分别按照预定的编码规则编码。一种示例性的实施例中,所述将每段API指令序列分别按照预定的编码规则编码,包括:对于每段API指令序列分别按照如下规则编码:当该段中API指令出现1次时,将该段API指令序列编码为API_0;当该段中API指令连续出现2至i次时,将该段API指令序列编码为API_1;当该段中API连续出现i至j次时,将该段API指令序列编码为API_2;当该段中API连续出现大于等于j时,将该段API指令序列编码为API_3;其中,i和j为正整数,i<j。一种示例性的实施例中,所述预设的语言模型为BERT模型;所述根据所述多个API指令编码序列对预设的语言模型进行训练,包括:分别对每个API指令编码序列中预定比例的API指令编码进行遮蔽后输入BERT模型,通过BERT模型对遮蔽的API指令编码进行预测,以训练BERT模型;其中,对一个API指令编码序列中预定比例的API指令编码进行遮蔽包括:在该API指令编码序列中,随机选择API指令编码序列中预定比例的API指令编码;对于所选择的API指令编码,按照n-gram模型进行随机动态遮蔽:n=1时,对于所选择的API指令编码进行随机动态遮蔽;n大于1时,对于所选择的API指令编码及其相邻的n-1个API指令编码进行随机动态遮蔽;n为1到5中任一个正整数,包括1和5;其中,随机动态遮蔽是指随机按照多种预定模式中的一种进行遮蔽。本公开还一种检测方法,其特征在于,包括:获取待检测软件的动态API指令序列;对所获取的动态API指令序列编码,得到待检测的API指令编码序列;根据待检测的API指令编码序列和如上述任一示例性实施例中所得到的预训练语言模型,得到检测结果。一种示例性的实施例中,所述根据待检测的API指令编码序列和如上述任一示例性实施例中所得到的预训练语言模型,得到检测结果,包括:将API指令编码序列输入到上述任一示例性实施例中所得到的预训练语言模型,得到API向量;将所得到的API向量输入到分类模型,得到分类结果;其中,所述分类模型是在按照如上述任一示例性实施例中得到的预训练语言模型中增加全连接层得到的;所述分类模型通过以下方式训练:将多个对训练用的动态API指令序列编码得到的API指令编码序列输入如上述任一示例性实施例中得到的预训练语言模型,得到多个带标签的API向量;通过所述多个带标签的API向量对所述分类模型进行训练。一种示例性的实施例中,所述根据待检测的API指令编码序列和如上述任一示例性实施例中所得到的预训练语言模型,得到检测结果,包括:将多个对训练用的动态API指令序列编码得到的API指令编码序列输入如上述任一示例性实施例中到的预训练语言模型,得到多个带标签的API向量;将待检测的API指令编码序列输入到如上述任一示例性实施例中所得到的预训练语言模型,得到检测用的API向量;将所述检测用的API对应的向量与所述多个带标签的多个向量进行相似度计算;根据相似度的计算结果,确定所述待检测软件的恶意家族类别。一种示例性的实施例中,所述根据相似度的计算结果,确定所述待检测软件的恶意家族类别,包括:将相似度从大到小排列,确定相似度排在前K个的带标签的API向量;根据标签和恶意家族种类的对应关系,确定所述相似度排在前K个的带标签的API向量所对应的恶意家族种类;在所确定的恶意家族种类中,将出现次数最多的恶意家族种类作为所述待检测软件的恶意家族种类;其中,标签和恶意家族种类一一对应。本公开还提供一种预训练语言模型的生成装置,包括:存储器和处理器;其特征在于:所述存储器,用于保存用于预训练语言模型的生成的程序;所述处理器,用于读取执行所述用于预训练语言模型的生成的程序,执行上述任一示例性实施例中所述的预训练语言模型的生成方法。本公开还提供一种检测装置,包括:存储器和处理器;其特征在于:所述存储器,用于保存用于检测的程序;所述处理器,用于读取执行所述用于检测的程序,执行上述任一示例性实施例中所述的检测方法。本公开还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时进行任一示例性实施例中所述的预训练语言模型的生成方法或检测方法中的操作。与现有技术相比,本公开实施例公开一种预训练语言模型的生成方法和装置,包括:获取多个训练用的动态API指令序列;对所获取的每个API指令序列分别按照预定的编码规则进行编码,得到多个API指令编码序列;根据所述多个API指令编码序列对预设的语言模型进行训练,得到预训练语言模型。通过本公开的方案,通过对API指令编码,利用API指令编码序列训练得到预训练语言模型。与现有技术相比,本公开实施例公开本文档来自技高网...

【技术保护点】
1.一种预训练语言模型的生成方法,其特征在于,包括:/n获取多个训练用的动态API指令序列;/n分别对所获取的每个API指令序列按照预定的编码规则进行编码,得到多个API指令编码序列;/n根据所述多个API指令编码序列对预设的语言模型进行训练,得到预训练语言模型。/n

【技术特征摘要】
1.一种预训练语言模型的生成方法,其特征在于,包括:
获取多个训练用的动态API指令序列;
分别对所获取的每个API指令序列按照预定的编码规则进行编码,得到多个API指令编码序列;
根据所述多个API指令编码序列对预设的语言模型进行训练,得到预训练语言模型。


2.根据权利要求1所述的预训练语言模型的生成方法,其特征在于,所述分别对所获取的每个API指令序列按照预定的编码规则进行编码,包括:
将所获取的每个API指令序列进行分段;其中,每段API指令序列中所含的API指令序列为单个相同的API连续序列;
分别将每段API指令序列按照预定的编码规则编码。


3.根据权利要求2所述的预训练语言模型的生成方法,其特征在于,所述分别将每段API指令序列按照预定的编码规则编码,包括:
对于每段API指令序列分别按照如下规则编码:
当该段中API指令出现1次时,将该段API指令序列编码为API_0;
当该段中API指令连续出现2至i次时,将该段API指令序列编码为API_1;
当该段中API连续出现i至j次时,将该段API指令序列编码为API_2;
当该段中API连续出现大于等于j时,将该段API指令序列编码为API_3;其中,i和j为正整数,i<j。


4.根据权利要求1所述的预训练语言模型的生成方法,其特征在于,所述预设的语言模型为BERT模型;
所述根据所述多个API指令编码序列对预设的语言模型进行训练,包括:
分别对每个API指令编码序列中预定比例的API指令编码进行遮蔽后输入BERT模型,通过BERT模型对遮蔽的API指令编码进行预测,以训练BERT模型;其中,对一个API指令编码序列中预定比例的API指令编码进行遮蔽包括:
在该API指令编码序列中,随机选择API指令编码序列中预定比例的API指令编码;
对于所选择的API指令编码,按照n-gram模型进行随机动态遮蔽:
n=1时,对于所选择的API指令编码进行随机动态遮蔽;
n大于1时,对于所选择的API指令编码及其相邻的n-1个API指令编码进行随机动态遮蔽;
n为1到5中任一个正整数,包括1和5;
其中,随机动态遮蔽是指随机按照多种预定模式中的一种进行遮蔽。


5.一种检测方法,其特征在于,包括:
获取待检测软件的动态API指令序列;
对所获取的动态API指令序列编码,得到待检测的API指令编码序列;
根据待检测的API指令编码序列和如权利要求1-4中任一项所述的方法所得到的预训练语言模型,得到检测结果。


6.根据权利...

【专利技术属性】
技术研发人员:刘洋
申请(专利权)人:北京启明星辰信息安全技术有限公司启明星辰信息技术集团股份有限公司
类型:发明
国别省市:北京;11

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

1