[发明专利]一种受生物基因启发的恶意代码检测方法有效
| 申请号: | 201910177388.5 | 申请日: | 2019-03-09 |
| 公开(公告)号: | CN110046501B | 公开(公告)日: | 2020-09-29 |
| 发明(设计)人: | 刘福东;单征;林成梁;陈奕杭;侯一凡;李星玮;桂海仁;孙文杰 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56;G06K9/62 |
| 代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 陈勇 |
| 地址: | 450000 河*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 生物 基因 启发 恶意代码 检测 方法 | ||
1.一种受生物基因启发的恶意代码检测方法,其特征在于,包括以下步骤:
步骤1:定义恶意代码软件基因,所述恶意代码软件基因为指令序列,所述指令序列的结束指令为return、jump、switch或call中的一种;
步骤2:基于定义的恶意代码软件基因对代码进行恶意代码软件基因提取;
步骤3:通过Smith-Waterman算法得出提取的恶意代码软件基因间的距离值;
步骤4:根据提取的恶意代码软件基因间的距离值对提取的恶意代码软件基因进行聚类;
所述步骤4包括:
根据提取的恶意代码软件基因间的距离值,通过公式(3)计算每个基因到其他所有基因的距离总和:
ri=d1i+d2i+…+dNi (3)
其中,ri为恶意代码软件基因i到其他所有基因的距离总和,N为提取的基因数量;
根据每个基因到其他所有基因的距离总和,通过公式(4)得出基因对的索引值:
其中,Mij为<恶意代码软件基因i,恶意代码软件基因j>基因对的索引值,dij为恶意代码软件基因i和恶意代码软件基因j的距离值,rj为恶意代码软件基因j到其他所有基因的距离总和,N′为目标聚类结果的簇数;
选取Mij值最小的基因对进行聚类,设定Mij的阈值,将基因逐一加入到已有聚簇中进行比较,若Mij不小于阈值,则将Mij对应的基因对加入对应聚簇,否则建立新的聚簇;
步骤5:根据聚类结果将恶意代码软件基因映射到特征向量上,每类恶意代码软件基因对应特征向量的一维数据;
步骤6:根据所述特征向量,通过机器学习模型构建恶意代码检测器,通过所述恶意代码检测器对待测代码中的恶意代码进行检测。
2.根据权利要求1所述的一种受生物基因启发的恶意代码检测方法,其特征在于,所述步骤3包括:
对于提取的任意两个恶意代码软件基因A=a1,a2,...,an和B=b1,b2,...,bm,其中,a1,a2,...,an及b1,b2,...,bm分别为恶意代码软件基因A和恶意代码软件基因B的指令,n为恶意代码软件基因A的长度,m为恶意代码软件基因B的长度,通过Smith-Waterman算法得出恶意代码软件基因间的最长公共指令子序列;
通过公式(2)得出恶意代码软件基因A和恶意代码软件基因B的距离值:
dAB=max{n,m}-Hnm (2)
其中,Hnm为恶意代码软件基因A和恶意代码软件基因B的最长公共指令子序列的长度。
3.根据权利要求1所述的一种受生物基因启发的恶意代码检测方法,其特征在于,所述特征向量的第i维的值为与第i类恶意代码软件基因最相似的恶意代码软件基因的相似度值,所述相似度值通过公式(5)计算得出:
其中,Hmax为恶意代码软件基因与第i类恶意代码软件基因的最长公共指令子序列的长度的最大值。
4.根据权利要求1所述的一种受生物基因启发的恶意代码检测方法,其特征在于,所述机器学习模型为决策树、支持向量机、朴素贝叶斯及随机森林中任意一种。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910177388.5/1.html,转载请声明来源钻瓜专利网。





