System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于WaveNet-BiGRU的恶意代码检测方法技术_技高网

一种基于WaveNet-BiGRU的恶意代码检测方法技术

技术编号:40520796 阅读:8 留言:0更新日期:2024-03-01 13:38
一种基于WaveNet‑BiGRU的恶意代码检测方法,鉴于恶意代码的操作码序列具有逻辑顺序,采用了时序卷积网络WaveNet和双向门控循环单元BiGRU相结合的技术方案,首先从恶意代码反汇编文件中提取操作码、用N‑gram表示,其次用WaveNet卷积操作码、缩短长时间序列、提取短期局部特征,然后用BiGRU从前后两个方向学习操作码序列、深层提取特征、捕捉长期依赖性、弥补因果序列单向结构的缺点,最后用Softmax分类识别恶意代码,解决了经典循环神经网络提取恶意代码特征能力不足、准确率不高的技术问题,应用于雷达组网中的恶意代码检测,具有提取能力强、时间增长小、准确率高、误报率低的技术效果。

【技术实现步骤摘要】

本专利技术属于恶意代码检测,具体涉及一种wavenet和bigru神经网络算法技术。


技术介绍

1、相控阵雷达系统包含大量的敏感信息,如信号形式、回波数据、显控界面等,一旦泄露,将会威胁安全。恶意代码是黑客攻击的手段之一,为了躲避雷达组网杀毒软件的检测,攻击手段不断升级。各种加壳、混淆技术对恶意代码进行变种,增强隐蔽性,加大检测难度。

2、目前的恶意代码检测方式,主要基于特征序列和应用行为两种。反病毒软件大部分使用第一种检测方式,软件厂家及时提取出恶意代码的特征,更新特征库进行匹配,降低误报率。由于人工选择特征,存在更新滞后的问题,难以抵御短时间内大量出现的恶意代码。检测平台以第二种为主,提取应用内的大量信息,如系统调用、动态运行沙箱中的数据。针对新型恶意代码的检测效果更优越,实际应用耗费大量资源。

3、随着人工智能兴起,深度学习具有强大的非线性拟合能力,能够自动提取数据的高维抽象特征,在图像分类、模式识别、文本处理、人脸识别中广泛应用。卷积神经网络和循环神经网络作为深度学习算法中的两种典型,自动特征提取能力可以减少传统恶意代码检测技术中人为设计特征造成的不完备性,对数据的深层隐藏特征建模学习,提高海量数据下的恶意代码识别正确率。


技术实现思路

1、为了解决经典循环神经网络提取恶意代码特征能力不足、准确率不高的技术问题,鉴于恶意代码的操作码序列具有逻辑顺序,采用了时序卷积网络wavenet和双向门控循环单元bigru相结合的技术方案,首先从恶意代码反汇编文件中提取操作码、用n-gram表示,其次用wavenet卷积操作码、缩短长时间序列、提取短期局部特征,然后用bigru从前后两个方向学习操作码序列、深层提取特征、捕捉长期依赖性、弥补因果序列单向结构的缺点,最后用softmax分类识别恶意代码,应用于雷达组网中的恶意代码检测,具有提取能力强、时间增长小、准确率高、误报率低的技术效果。

2、数据预处理:从后缀名为asm的恶意代码反编译源文件中提取操作码,用n-gram算法表示操作码,形状为样本个数、时间步长、特征维度,构造操作码表征数据集。

3、进一步的,提取操作码:反汇编源文件中包含多个节,后缀名为text的节存储程序代码,第一部分是操作码,按行读取,用十六进制表示;用正则表达式\s([a-fa-f0-9]{2}\s)+s*([a-z]+)配各行,返回值作为操作码;按照指令执行的逻辑顺序,依次提取全部操作码,得到恶意样本的操作码序列。

4、进一步的,表示操作码:操作码属于非结构数据,转化为结构化的数据,供深度神经网络学习特征,用大小为n的窗口在长序列中滑动,提取n个单词组成子序列,统计所有gram在该长序列中出现的频次,设置阈值,保留频次不小于阈值的gram,生成关键gram列表,作为文本向量空间,n取不同的值形成不同的特征向量空间,一个gram表示一个特征维度,gram的特征维度随n的增加呈指数级增长,通过实验调整n和阈值寻找最优值。

5、模型训练:用wavenet 对操作码表征数据卷积,缩短长时间序列,提取网络深层特征,输入bigru提取时间特征,输入分类器识别恶意代码的族类。

6、进一步的,用wavenet提取操作码x中各类别的特征向量xi=(x1,tj,x2,tj,...,xm,tj,)(j=1,2,...,n),学习得到特征向量tj,输入bigru学习特征向量之间的时间相关性及当前时刻数据与未来时刻数据之间的联系,将bigru的隐层输入全连接层,用softmax分类恶意代码所属的族。

7、用公式y=softmax(whtn+b)表示恶意代码类型标签,其中w表示权重向量矩阵,b表示偏置向量。

8、进一步的,wavenet和bigru模型存在超参数,包括优化器、学习率、bigru的层数、各层的神经元个数,影响恶意代码检测,神经元节点数过多会过拟合,过少会特征提取不足,影响恶意代码的分类;bigru选取一层或两层,寻找最优网络层数进行,调优每层的神经元个数;四种算法sgd、adam、adamax、nadam中,选择准确度最高、损失值最低的adamax作为优化器,学习率设置为0.004。

本文档来自技高网...

【技术保护点】

1.一种基于WaveNet-BiGRU的恶意代码检测方法,其特征在于,包括:

2.根据权利要求1所述的基于WaveNet-BiGRU的恶意代码检测方法,其特征在于,所述提取操作码,包括:反汇编源文件中包含多个节,后缀名为text的节存储程序代码,第一部分是操作码,按行读取,用十六进制表示;用正则表达式s([a-fA-F0-9]{2}s)+s*([a-z]+)配各行,返回值作为操作码;按照指令执行的逻辑顺序,依次提取全部操作码,得到恶意样本的操作码序列。

3.根据权利要求1所述的基于WaveNet-BiGRU的恶意代码检测方法,其特征在于,所述表示操作码,包括:操作码属于非结构数据,转化为结构化的数据,供深度神经网络学习特征,用大小为n的窗口在长序列中滑动,提取n个单词组成子序列,统计所有gram在该长序列中出现的频次,设置阈值,保留频次不小于阈值的gram,生成关键gram列表,作为文本向量空间,n取不同的值形成不同的特征向量空间,一个gram表示一个特征维度,gram的特征维度随n的增加呈指数级增长,通过实验调整n和阈值寻找最优值。

4.根据权利要求1所述的基于WaveNet-BiGRU的恶意代码检测方法,其特征在于,还包括:用WaveNet提取操作码x中各类别的特征向量xi=(x1,tj,x2,tj,...,xm,tj,)(j=1,2,...,n),学习得到特征向量Tj,输入BiGRU学习特征向量之间的时间相关性及当前时刻数据与未来时刻数据之间的联系,将BiGRU的隐层输入全连接层,用Softmax分类恶意代码所属的族。

5.根据权利要求4所述的基于WaveNet-BiGRU的恶意代码检测方法,其特征在于,所述用Softmax分类恶意代码所属的族,包括:用公式y=Softmax(whtn+b)表示恶意代码类型标签,其中w表示权重向量矩阵,b表示偏置向量。

6.根据权利要求1所述的基于WaveNet-BiGRU的恶意代码检测方法,其特征在于,还包括: BiGRU选取一层或两层,寻找最优网络层数进行,调优每层的神经元个数;从四种算法SGD、Adam、Adamax、Nadam中,选择准确度最高、损失值最低的Adamax作为优化器,学习率设置为0.004。

...

【技术特征摘要】

1.一种基于wavenet-bigru的恶意代码检测方法,其特征在于,包括:

2.根据权利要求1所述的基于wavenet-bigru的恶意代码检测方法,其特征在于,所述提取操作码,包括:反汇编源文件中包含多个节,后缀名为text的节存储程序代码,第一部分是操作码,按行读取,用十六进制表示;用正则表达式s([a-fa-f0-9]{2}s)+s*([a-z]+)配各行,返回值作为操作码;按照指令执行的逻辑顺序,依次提取全部操作码,得到恶意样本的操作码序列。

3.根据权利要求1所述的基于wavenet-bigru的恶意代码检测方法,其特征在于,所述表示操作码,包括:操作码属于非结构数据,转化为结构化的数据,供深度神经网络学习特征,用大小为n的窗口在长序列中滑动,提取n个单词组成子序列,统计所有gram在该长序列中出现的频次,设置阈值,保留频次不小于阈值的gram,生成关键gram列表,作为文本向量空间,n取不同的值形成不同的特征向量空间,一个gram表示一个特征维度,gram的特征维度随n的增加呈指数级增长,通过实验调整n和阈值寻找最优值。...

【专利技术属性】
技术研发人员:李怡董金良陈志平
申请(专利权)人:南京国睿防务系统有限公司
类型:发明
国别省市:

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

1