System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于恶意代码检测,具体而言,涉及一种基于汇编指令的软件恶意代码检测方法、介质及系统。
技术介绍
1、
2、目前,恶意代码的检测主要依赖于特征匹配和行为分析两种方法。特征匹配方法是通过比对代码的特征与已知的恶意代码的特征进行匹配,如果匹配成功则判断为恶意代码。这种方法的优点是速度快,缺点是不能检测到新型的未知恶意代码。行为分析方法是通过分析代码的运行行为来判断其是否为恶意代码,这种方法检测速度慢,资源消耗大。
技术实现思路
1、有鉴于此,本专利技术提供一种基于汇编指令的软件恶意代码检测方法、介质及系统,能够解决现有技术对恶意代码的检测速度慢,资源消耗大的技术问题。
2、本专利技术是这样实现的:
3、本专利技术的第一方面提供一种基于汇编指令的软件恶意代码检测方法,其中,包括以下步骤:
4、s10、获得待检测软件的反向工程的汇编指令集;对所述汇编指令集按照执行顺序划分为多个逻辑块,每个逻辑块包含一条汇编指令;将得到的多个逻辑块组合为第一逻辑块集;
5、s20、对所述第一逻辑块集中每个逻辑块采用长整型进行顺序编号作为逻辑块的第一参数;
6、s30、对所述第一逻辑块集根据指令内容进行排他筛选,得到第二逻辑块集;
7、s40、对所述第二逻辑块集中每个逻辑块采用长整型进行顺序编号作为逻辑块的第二参数;
8、s50、将所述第二逻辑块中每个逻辑块的第二参数,赋值给所述第一逻辑块集相同汇编指令的逻
9、s60、对所述第一逻辑块集中每个逻辑块建立二维坐标;
10、s70、根据所述第一逻辑块集中每个逻辑块的二维坐标建立汇编曲线;
11、s80、在所述汇编曲线中寻找非顺滑片段;
12、s90、利用预先训练好的恶意代码检测模型对每一条非顺滑片段对应的代码进行计算,确定对应代码是否为恶意代码,并输出模型计算结果中的恶意代码给检测人员。
13、在上述技术方案的基础上,本专利技术的一种基于汇编指令的软件恶意代码检测方法还可以做如下改进:
14、其中,所述对所述第一逻辑块集中每个逻辑块采用长整型进行顺序编号作为逻辑块的第一参数的步骤,具体是:首先对第一逻辑块集中的每个逻辑块进行遍历,然后,对每个逻辑块按照其在逻辑块集中的顺序进行长整型编号,编号作为逻辑块的第一参数。
15、其中,所述对所述第一逻辑块集根据指令内容进行排他筛选,得到第二逻辑块集的步骤,具体是:遍历所述第一逻辑块集,针对遍历的当前逻辑块,若所述第二逻辑块集中不存在与所述当前逻辑块相同的逻辑块,则将所述当前逻辑块加入到所述第二逻辑块中。
16、其中,所述将所述第二逻辑块中每个逻辑块的第二参数,赋值给所述第一逻辑块集相同汇编指令的逻辑块作为第二参数的步骤,具体是:首先,对第二逻辑块集中的每个逻辑块进行遍历,然后,找到第一逻辑块集中与当前逻辑块汇编指令相同的逻辑块,将当前逻辑块的第二参数赋值给找到的逻辑块作为其第二参数。
17、其中,所述对所述第一逻辑块集中每个逻辑块建立二维坐标的步骤中,横坐标为逻辑块的第一参数,纵坐标为逻辑块的第二参数。
18、其中,所述在所述汇编曲线中寻找非顺滑片段的步骤,具体是:
19、遍历所述汇编曲线中的每个点,检查相邻点之间的斜率,如果斜率在顺滑阈值范围内,则认为这是一个顺滑点;如果斜率超过阈值,则认为这是一个非顺滑点;
20、对汇编曲线从第一个点开始每m个点划分为一个片段,对于每个片段来说,片段内非顺滑点比例大于ε的片段为非顺滑片段。
21、其中,所述恶意代码检测模型的建立和训练的步骤,具体包括:
22、构建训练数据集:收集大量恶意代码作为训练数据集;
23、建立模型雏形:采用卷积神经网络建立模型雏形;
24、训练模型:使用训练数据集对模型雏形进行训练,得到恶意代码检测模型。
25、进一步的,m=100;ε=0.12。
26、本专利技术的第二方面提供一种计算机可读存储介质,其中,所述计算机可读存储介质中存储有程序指令,所述程序指令运行时,用于执行上述的一种基于汇编指令的软件恶意代码检测方法。
27、本专利技术的第三方面提供一种基于汇编指令的软件恶意代码检测系统,其中,包含上述的计算机可读存储介质。
28、与现有技术相比较,本专利技术提供的一种基于汇编指令的软件恶意代码检测方法、介质及系统的有益效果是:首先,通过对汇编指令的逻辑划分和编号,可以将复杂的代码结构简化为一维的序列,大大降低了计算复杂度。其次,通过对汇编指令进行筛选,可以去除重复的汇编指令,进一步减少了计算量。再次,通过在汇编曲线中寻找非顺滑片段,可以筛选可能存在恶意代码的代码部分,将筛选出来的代码部分采用恶意代码检测模型进行检测,极大的提高了检测效率,资源消耗小。解决了现有技术对恶意代码的检测速度慢,资源消耗大的技术问题。
本文档来自技高网...【技术保护点】
1.一种基于汇编指令的软件恶意代码检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,所述对所述第一逻辑块集中每个逻辑块采用长整型进行顺序编号作为逻辑块的第一参数的步骤,具体是:首先对第一逻辑块集中的每个逻辑块进行遍历,然后,对每个逻辑块按照其在逻辑块集中的顺序进行长整型编号,编号作为逻辑块的第一参数。
3.根据权利要求1所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,所述对所述第一逻辑块集根据指令内容进行排他筛选,得到第二逻辑块集的步骤,具体是:遍历所述第一逻辑块集,针对遍历的当前逻辑块,若所述第二逻辑块集中不存在与所述当前逻辑块相同的逻辑块,则将所述当前逻辑块加入到所述第二逻辑块中。
4.根据权利要求1所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,所述将所述第二逻辑块中每个逻辑块的第二参数,赋值给所述第一逻辑块集相同汇编指令的逻辑块作为第二参数的步骤,具体是:首先,对第二逻辑块集中的每个逻辑块进行遍历,然后,找到第一逻辑块集中与当前逻辑块汇编指令相同的逻辑块
5.根据权利要求1所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,所述对所述第一逻辑块集中每个逻辑块建立二维坐标的步骤中,横坐标为逻辑块的第一参数,纵坐标为逻辑块的第二参数。
6.根据权利要求1所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,所述在所述汇编曲线中寻找非顺滑片段的步骤,具体是:
7.根据权利要求1所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,所述恶意代码检测模型的建立和训练的步骤,具体包括:
8.根据权利要求6所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,M=100;ε=0.12。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,所述程序指令运行时,用于执行权利要求1-8任一项所述的一种基于汇编指令的软件恶意代码检测方法。
10.一种基于汇编指令的软件恶意代码检测系统,其特征在于,包含权利要求9所述的计算机可读存储介质。
...【技术特征摘要】
1.一种基于汇编指令的软件恶意代码检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,所述对所述第一逻辑块集中每个逻辑块采用长整型进行顺序编号作为逻辑块的第一参数的步骤,具体是:首先对第一逻辑块集中的每个逻辑块进行遍历,然后,对每个逻辑块按照其在逻辑块集中的顺序进行长整型编号,编号作为逻辑块的第一参数。
3.根据权利要求1所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,所述对所述第一逻辑块集根据指令内容进行排他筛选,得到第二逻辑块集的步骤,具体是:遍历所述第一逻辑块集,针对遍历的当前逻辑块,若所述第二逻辑块集中不存在与所述当前逻辑块相同的逻辑块,则将所述当前逻辑块加入到所述第二逻辑块中。
4.根据权利要求1所述的一种基于汇编指令的软件恶意代码检测方法,其特征在于,所述将所述第二逻辑块中每个逻辑块的第二参数,赋值给所述第一逻辑块集相同汇编指令的逻辑块作为第二参数的步骤,具体是:首先,对第二逻辑块集中的每个逻辑块进行遍历,然后,找到第一逻辑块集中与当前逻辑块...
【专利技术属性】
技术研发人员:李晓龙,闫振华,李兴华,张爽,朱东歌,王峰,李祺,吴旻荣,段文奇,黄鸣宇,史磊,
申请(专利权)人:国网宁夏电力有限公司电力科学研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。