System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机网络安全技术的恶意软件检测领域,尤其涉及一种面向语义分析的恶意软件智能检测方法。
技术介绍
1、随着信息技术的迅猛发展和互联网的普及应用,网络安全问题越来越引起人们的关注和重视。网络安全是指保护计算机系统、网络和其中存储的数据免受未经授权的访问、使用、泄露、破坏或篡改等一系列措施和技术手段的操作。在今天的数字化时代,网络安全已经成为个人、组织和国家安全不可忽视的重要
2、
3、
4、传统的恶意软件检测技术和机器学习方法在面对日益复杂和隐蔽的恶意软件时,检测技术的效率和准确性受到了挑战。为了应对这一问题,只有不断地寻求新的解决方案并加强安全措施,才能确保物联网技术发展的可持续性和安全性。因此,就需要解决传统恶意软件分析方法的不足,研究出更加有效的解决策略,有必要提出一种效率高、实用性强并且可以应对恶意软件变化的智能分析方法。
技术实现思路
1、针对现有传统恶意软件检测技术的不足,本专利技术提出了一种面向语义分析的恶意软件智能检测方法。其中提出的模型从传统恶意代码检测方法的准确率与效率出发,将语义分析与大语言模型相结合,提高变体恶意软件检测的准确率,确保在不同的操作系统环境中运行时也能保证模型的鲁棒性;同时,利用该检测方法可以融合恶意代码本身数据和上下文语义关系,不需人工标注数据,通过恶意软件的行为过程准确识别其入侵行为,从而保证计算机安全稳定的运行。
2、一种面向语义分析的恶意软件智能检测方法,具体包括以下
3、步骤1:获取恶意软件数据集,提取其中的恶意软件家族名标签以及api函数调用序列:
4、从恶意软件相关网站下载含有api函数调用序列的恶意软件数据集,数据集中包含每个恶意软件的基本信息,其中包括:sha256散列作为唯一标识符、粗略的时间信息、对于良性可能为0对于恶意可能为1、-1表示未标记的标签、包括两个分析过的值以及格式不可知直方图的八组原始特征、每个字节出现次数的简单计数、滑动窗口熵计算、从导入的函数名称导入的每个库、导入函数名、导出函数名、字符串信息、关于文件编译的机器的详细信息、连接器的版本、图像和操作系统;其中恶意软件的api函数调用序列包含在导入函数库中;
5、获取完整的恶意软件数据集后,针对数据集中包含的基本信息,按顺序提取出导入函数库中的api函数调用序列以及它对应的家族标签,得到一组用于表示一个恶意软件的api函数调用序列,最后将其与对应的家族名称对应且按序保存为csv文件;
6、步骤2:使用xlnet大语言模型对api函数调用序列进行向量化表示,生成词嵌入类型的特征,合并为模型的输入列表input list:
7、所述xlnet大语言模型中应用到的置换语言模型permutation language model使得只能单向学习语义信息的自回归语言模型能够学习到上下文语义信息;所以面向双向自编码和自回归的大语言模型xlnet将会把api函数调用序列视作为具有上下文语义关系的文本语句来进行特征表示:
8、步骤2.1:对步骤1中制作完成的恶意软件数据集csv文件进行分词处理:首先对文件中的api函数调用序列进行unicode标准化操作,然后进行tokenize处理,将每个序列拆分成单个字符或者其他组合字符,最后采用分词算法对tokenize后的文本进行分词;
9、步骤2.2:构建xlnet大语言模型的输入序列:
10、将步骤2.1中预处理过的文本转换为xlnet理解的tokens,xlnet使用bep将文本分割为子词,在处理过程中使用与xlnet模型训练时相同的tokenizer将文本转化为子词级别的token;对输入序列添加一些特殊的标记,包括[sep]和[cls],其中[sep]表示每个句子的结尾,而[cls]表示序列的开始或结尾;将标记转化为整数,每个标记都映射到一个唯一的整数id,以便模型能够正确地理解它们;
11、确保所有输入序列具有相同的长度;如果序列过短,需要添加填充标记来达到所需的长度;如果序列过长,截断序列以符合模型的最大输入长度;创建一个与输入序列相同长度的注意力掩码,以指示哪些标记是实际输入,哪些是填充标记;注意力掩码的值通常是1表示实际输入,0表示填充;任务涉及多个句子或文本片段,需要为每个文本片段分配一个段标识;分别对应不同的文本片段;对于单个句子的任务,段标识通常都是相同的;最终,将整数化的标记序列、注意力掩码、段标识等数据合并为模型的输入列表input list;
12、步骤3:将输入列表送入双流注意力机制two-stream self-attention中进一步处理,计算查询隐状态和相对位置编码:
13、步骤3.1:初始化two-stream self-attention的隐状态:
14、引入了两个stream,也就是两个隐状态,即内容隐状态hθ(xz<t)简写为和查询隐状态gθ(xz<t,zt)简写为把查询隐状态初始化为变量w,把内容隐状态初始化为其中e(xt)为初始化词向量;
15、步骤3.2:逐层计算隐状态:
16、设m为层数,计算每一层的查询隐状态:
17、
18、内容隐状态:
19、
20、这样就利用query stream在对需要预测位置进行预测时又不会泄露当前位置的内容信息,达到了自回归语言模型的目的;式中m代表编码器层数,q、k和v分别代表查询向量、键向量和值向量;
21、步骤4:将步骤3中计算得到的隐状态输入到transformer-xl中进行计算,得到特征向量矩阵;
22、步骤4.1:计算相对位置编码:
23、标准的transformer中同一个segment的qi和ki的attention score分解为:
24、
25、transformer-xl模型在上式的基础之上提出了一种相对位置编码attention的计算公式:
26、
27、上述两个公式中各包含四个子式,将其分别按序编号为a式、b式、c式和d式,与相比,中的相对位置编码ri-j替换了b式和d式中的绝对位置编码uj,c式与d式中分别使用可训练的u∈rd和v∈rd替换再将key拆分成wk,e和wk,r分别表示与内容相关的key和与位置相关的key;在式中,a式表示内容计算,也就是xi的embedding乘以变换矩阵wq和xi的embedding乘以wk,e的内积;b式表示基于内容的位置偏置,也就是i的向量乘以相对位置编码;c式表示全局内容偏置;d式表示全局位置偏置;
28、步骤4.2:将当前输入和上一时刻的隐状态进行拼接:
29、transformer-xl中的每个encoder都包含一个内存,用于存储之前的状态,每当计算到新的位置时,会从内存中读取之前的状态,并与当前的输本文档来自技高网...
【技术保护点】
1.一种面向语义分析的恶意软件智能检测方法,其特征在于,具体包括以下内容:
2.根据权利要求1所述的一种面向语义分析的恶意软件智能检测方法,其特征在于,步骤1具体为:
3.根据权利要求1所述的一种面向语义分析的恶意软件智能检测方法,其特征在于,所述XLNet大语言模型中应用到的置换语言模型Permutation Language Model使得只能单向学习语义信息的自回归语言模型能够学习到上下文语义信息;所以面向双向自编码和自回归的大语言模型XLNet将会把API函数调用序列视作为具有上下文语义关系的文本语句来进行特征表示。
4.根据权利要求1所述的一种面向语义分析的恶意软件智能检测方法,其特征在于,步骤2具体为:
5.根据权利要求1所述的一种面向语义分析的恶意软件智能检测方法,其特征在于,步骤3具体为:
6.根据权利要求1所述的一种面向语义分析的恶意软件智能检测方法,其特征在于,步骤4具体为:
7.根据权利要求1所述的一种面向语义分析的恶意软件智能检测方法,其特征在于,步骤5具体为:
8.根据权
9.根据权利要求1所述的一种面向语义分析的恶意软件智能检测方法,其特征在于,步骤7采用准确率和损失值作为恶意软件分类检测的评价指标来进行模型性能的评价。
...【技术特征摘要】
1.一种面向语义分析的恶意软件智能检测方法,其特征在于,具体包括以下内容:
2.根据权利要求1所述的一种面向语义分析的恶意软件智能检测方法,其特征在于,步骤1具体为:
3.根据权利要求1所述的一种面向语义分析的恶意软件智能检测方法,其特征在于,所述xlnet大语言模型中应用到的置换语言模型permutation language model使得只能单向学习语义信息的自回归语言模型能够学习到上下文语义信息;所以面向双向自编码和自回归的大语言模型xlnet将会把api函数调用序列视作为具有上下文语义关系的文本语句来进行特征表示。
4.根据权利要求1所述的一种面向语义分析的恶意软件智...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。