System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于AI的二进制同源样本分析方法技术_技高网

一种基于AI的二进制同源样本分析方法技术

技术编号:43926138 阅读:60 留言:0更新日期:2025-01-03 13:31
本发明专利技术涉及深度学习技术领域,具体涉及一种基于AI的二进制同源样本分析方法;该方法包括读取文件内容,识别加壳类型,再脱壳处理得到原始数据文件;脱壳后的原始数据文件,进行反汇编;将汇编指令代码转为中间代码,自然语言大模型将中间代码转为高级语言,用于恶意代码特征标记,制作出恶意样本数据集;对部分恶意样本进行预处理,再进行标签编码;构建一个能增强对恶意样本特征提取能力以及检测能力的LSTM模型,将处理后的部分恶意样本,输入到LSTM模型进行训练;将预处理后的新的恶意样本输入到已经训练完成的LSTM模型,从而得出最终结果;本发明专利技术的优点在于更快捷的提取语言中的特征关系,并且显著提高了对恶意样本进行家族分类的效果。

【技术实现步骤摘要】

本专利技术涉及深度学习,具体涉及一种基于ai的二进制同源样本分析方法。


技术介绍

1、随着深度学习的兴起,基于深度学习的二进制同源样本分析也成为了当下热点,经大量调查与实践,深度学习方法在样本分类中取得显著成绩,其中的二进制同源样本分析是指通过恶意代码的特征,分析代码之间的关系;在很多行业和领域都涉及样本分析,都可以识别和归类恶意软件家族、检测代码复用、追踪恶意软件的演变过程以及识别未来威胁。

2、但目前使用深度学习对恶意代码进行同源样本分类依然存在诸多挑战;例如,常规的方法会直接处理原始的二进制汇编指令,通过汇编指令来提取特征以及结合训练的模型做同源样本的分类,但是汇编指令中除了顺序执行外,还涉及跳转以及调用,这些通常以相对地址表示,直接提取特征可能无法理解语义,处理不了上下文关系,无法直接利用。

3、例如一中国专利,申请号为202311724479 .9,申请日为2023 .12 .14,专利名称为《一种恶意代码的同源分析方法、装置、电子设备》的专利技术专利,其技术方案为:一种恶意代码的同源分析方法、装置、电子设备及存储介质,其中,该方法包括:获取包含恶意代码的可执行文件;提取所述可执行文件中的汇编指令;对所述汇编指令进行代码语义序列构建,得到汇编指令语义序列;提取所述汇编指令语义序列中的深度特征;将所述深度特征进行分类算法训练,得到检测模型;根据所述检测模型对所述汇编指令进行同源分析,得到同源分析结果。

4、虽然上述专利能够实现对恶意代码的分析,但是该方案将二进制代码,先转汇编指令,再通过gist特征提取转为图像;首先,这样的方式不但会丢失一些准确信息,比如语义信息以及指令跳转之间的联系,而且通用常规的代码通过编译器生成的指令,往往具备较高的相似度,而恶意代码往往就只有几行代码,在图形特征上分类特征往往并不明确;其次,gist特征是具有相对固定的维度,如果攻击者了解gist提取算法,是可以规避检测的,并且gist只关注图像中的宏观布局,往往忽略了指令的具体含义,可能会降低对某些恶意指令的同源分析能力。


技术实现思路

1、为了解决上述现有技术存在的问题,本专利技术提供了能将底层语言转为高级语言,再结合lstm模型实现更高效的标记恶意代码特征以及同源分类的一种基于ai的二进制同源样本分析方法。

2、为实现上述技术效果,本专利技术的技术方案如下:

3、一种基于ai的二进制同源样本分析方法,具体步骤包括:

4、步骤一:读取文件内容,识别出具体的加壳类型,再进行脱壳处理得到原始数据文件;

5、步骤二:将脱壳后的原始数据文件,进行反汇编,得到汇编指令代码;

6、步骤三:将汇编指令代码转为中间代码,通过自然语言大模型再将中间代码转为高级语言,用于恶意代码特征标记,制作出恶意样本数据集;

7、步骤四:对数据集中的部分恶意样本进行预处理,再进行标签编码;

8、步骤五:构建一个能增强对恶意样本特征提取能力以及检测能力的lstm模型,将处理后的部分恶意样本,输入到lstm模型进行训练;

9、步骤六:将预处理后的新的恶意样本输入到已经训练完成的lstm模型,从而得出最终结果。

10、进一步的,步骤一中读取文件内容的具体方式为打开二进制文件,逐步读取字节,将文件内容读取到内存中;加壳类型的具体识别方式为通过工具分析内存中的二进制数据扫描文件头和节表;脱壳处理的具体方式为调用脱壳工具进行脱壳处理得到原始二进制数据;步骤二中反汇编的具体方式为将脱壳后的原始数据文件输入给反汇编工具,通过反汇编工具自动化解析分析得到汇编指令代码。

11、进一步的,步骤三中汇编指令代码转为中间代码具体为:汇编指令代码通过使用llvm工具包转为llvm ir代码,llvm ir代码再通过提示词模版调用自然语言大模型将llvmir代码转为高级语言;所述高级语言为c语言。

12、进一步的,步骤四和步骤六中预处理的具体方式为:将部分恶意样本中的每个恶意样本分配一个家族分类标签,然后将恶意样本代码拆分为词汇,然后进行整数编码,把拆分的词汇进行整数序列化,将所有整数序列填充或截断到一样的长度,为所有整数序列构建一个词汇表,并为每个词汇分配一个唯一整数id;标签编码的具体方式为将家族分类标签转为唯一整数id或者one-hot编码。

13、更进一步的,将恶意样本拆分为词汇,然后进行整数编码的具体步骤为:

14、步骤a:先进行分词,将完整的句子拆分为单词或字词序列:

15、

16、式中,t1、t2和t3的含义均为拆分的单词或字词序列;

17、步骤b:分词完成后,将每个拆分后的单词或字词序列映射到词汇表中的id序列:

18、

19、式中,a1、a2和a3的含义均为每个分词或字词序列所对应的整数id;

20、步骤c:将所有整数序列填充或截断到一样长度的具体方式为:若,则在句子的末尾填充特殊的填充符号,使得填充后的长度为:,式中的含义为整数序列的长度,为句子的长度上限,c为填充符号;若,则截断为长度,保留前 个词,得到截断后的长度为。

21、进一步的,步骤六中的最终结果为对应的各个家族的类别概率,其中家族代表apt攻击组织;步骤六中将预处理后的新的恶意样本输入到已经训练完成的lstm模型,得出最终结果的具体步骤如下:

22、步骤a1:将输入层的整数序列通过查表操作,映射到词向量矩阵w;

23、步骤b1:在lstm层,输入词向量矩阵w,通过lstm层计算得到层输出矩阵h;

24、步骤c1:将层输出矩阵h通过均值层取平均值,得到一个固定长度的稠密向量;

25、步骤d1:稠密向量v经过全连接层,通过激活函数最终得到类别概率向量。

26、更进一步的,所述步骤a1中词向量矩阵w是一个v×d 的矩阵,其中 v 是词汇表的大小,d 是词向量的维度;给定整数序列,每个 都是一个词汇表中的id,通过嵌入矩阵,映射为对应的词向量,公式表示如下:

27、

28、最终,整数序列将被转换为词向量矩阵,其中每个词向量,表示d维实数空间;

29、所述步骤b1中通过lstm层得到层输出矩阵的具体步骤如下:

30、步骤a2:计算遗忘门,其具体公式如下:

31、

32、式中,与分别表示遗忘门的权重与偏置,表示在时间步的隐藏状态向量,表示在时间步t输入的词向量,表示 sigmoid函数;

33、步骤b2:计算输入门和候选记忆,其具体公式如下:

34、;

35、

36、式中,表示每个词向量,在式中作为输入门类别i的权重,表示输入门的偏执,与表示候选记忆的权重与偏置,表示双曲正切函数;

37、步骤c2:更新细胞状态,其具体公式本文档来自技高网...

【技术保护点】

1.一种基于AI的二进制同源样本分析方法,其特征在于,具体步骤包括:

2.根据权利要求1所述的基于AI的二进制同源样本分析方法,其特征在于:步骤一中读取文件内容的具体方式为打开二进制文件,逐步读取字节,将文件内容读取到内存中;加壳类型的具体识别方式为通过工具分析内存中的二进制数据扫描文件头和节表;脱壳处理的具体方式为调用脱壳工具进行脱壳处理得到原始二进制数据;步骤二中反汇编的具体方式为将脱壳后的原始数据文件输入给反汇编工具,通过反汇编工具自动化解析分析得到汇编指令代码。

3.根据权利要求1所述的基于AI的二进制同源样本分析方法,其特征在于:步骤三中汇编指令代码转为中间代码具体为:汇编指令代码通过使用LLVM工具包转为LLVM IR代码,LLVM IR代码再通过提示词模版调用自然语言大模型将LLVM IR代码转为高级语言。

4.根据权利要求1所述的基于AI的二进制同源样本分析方法,其特征在于:步骤四和步骤六中预处理的具体方式为:将部分恶意样本中的每个恶意样本分配一个家族分类标签,然后将恶意样本代码拆分为词汇,然后进行整数编码,把拆分的词汇进行整数序列化,将所有整数序列填充或截断到一样的长度,为所有整数序列构建一个词汇表,并为每个词汇分配一个唯一整数ID;标签编码的具体方式为将家族分类标签转为唯一整数ID或者one-hot编码。

5.根据权利要求4所述的基于AI的二进制同源样本分析方法,其特征在于:将恶意样本拆分为词汇,然后进行整数编码的具体步骤为:

6.根据权利要求1所述的基于AI的二进制同源样本分析方法,其特征在于:步骤六中的最终结果为对应的各个家族的类别概率,其中家族代表APT攻击组织;步骤六中将预处理后的新的恶意样本输入到已经训练完成的LSTM模型,得出最终结果的具体步骤如下:

7.根据权利要求6所述的基于AI的二进制同源样本分析方法,其特征在于:所述步骤a1中词向量矩阵W是一个V×d 的矩阵,其中 V 是词汇表的大小,d 是词向量的维度;给定整数序列 ,每个  都是一个词汇表中的ID,通过嵌入矩阵 ,映射为对应的词向量,公式表示如下:

8.根据权利要求6所述的基于AI的二进制同源样本分析方法,其特征在于:为了增强步骤b1中LSTM层对恶意样本的特征提取,对LSTM层的调整包括如下具体步骤:

9.根据权利要求6所述的基于AI的二进制同源样本分析方法,其特征在于:对步骤d1中全连接层的权重和激活函数进行调整,用于增强恶意样本的检测性能,其具体的调整步骤如下:

10.根据权利要求7所述的基于AI的二进制同源样本分析方法,其特征在于:使用Softmax函数转换为概率向量后,为了增强恶意样本区分能力,引入加权交叉熵损失函数,其具体公式为:

...

【技术特征摘要】

1.一种基于ai的二进制同源样本分析方法,其特征在于,具体步骤包括:

2.根据权利要求1所述的基于ai的二进制同源样本分析方法,其特征在于:步骤一中读取文件内容的具体方式为打开二进制文件,逐步读取字节,将文件内容读取到内存中;加壳类型的具体识别方式为通过工具分析内存中的二进制数据扫描文件头和节表;脱壳处理的具体方式为调用脱壳工具进行脱壳处理得到原始二进制数据;步骤二中反汇编的具体方式为将脱壳后的原始数据文件输入给反汇编工具,通过反汇编工具自动化解析分析得到汇编指令代码。

3.根据权利要求1所述的基于ai的二进制同源样本分析方法,其特征在于:步骤三中汇编指令代码转为中间代码具体为:汇编指令代码通过使用llvm工具包转为llvm ir代码,llvm ir代码再通过提示词模版调用自然语言大模型将llvm ir代码转为高级语言。

4.根据权利要求1所述的基于ai的二进制同源样本分析方法,其特征在于:步骤四和步骤六中预处理的具体方式为:将部分恶意样本中的每个恶意样本分配一个家族分类标签,然后将恶意样本代码拆分为词汇,然后进行整数编码,把拆分的词汇进行整数序列化,将所有整数序列填充或截断到一样的长度,为所有整数序列构建一个词汇表,并为每个词汇分配一个唯一整数id;标签编码的具体方式为将家族分类标签转为唯一整数id或者one-hot编码。

...

【专利技术属性】
技术研发人员:严得荣王伟旭陈伟清吕力东
申请(专利权)人:成都数默科技有限公司
类型:发明
国别省市:

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

1