[发明专利]一种基于动态代码序列跟踪分析的木马判定方法在审
| 申请号: | 201410711148.6 | 申请日: | 2014-12-01 |
| 公开(公告)号: | CN104361286A | 公开(公告)日: | 2015-02-18 |
| 发明(设计)人: | 朱志祥;张勇;吴晨;刘盛辉 | 申请(专利权)人: | 西安邮电大学;陕西省信息化工程研究院 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 710061 陕西*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 动态 代码 序列 跟踪 分析 木马 判定 方法 | ||
1.一种基于动态代码序列跟踪分析的木马判定方法,其特征在于,包括以下步骤:
1)构造未知程序的典型代码跟踪环境,并在该跟踪环境中运行木马;
2)获取木马执行时监测到的代码执行序列及其调用顺序;
3)对代码执行序列进行编码,并计算恶意行为的拟合度;
4)判定未知程序的恶意行为拟合度及木马归属分类。
2.如权利要求1 所述的方法,其特征在于:所述步骤3)中所述编码是利用编码表进行对应赋值。
3.如权利要求1 所述的方法,其特征在于:所述步骤3)中所述计算恶意行为的拟合度是通过将编码后序列与规则库中的木马行为规则做相似度运算来实现。
4.如权利要求1 所述的方法,其特征在于:所述步骤4)的具体实现方式是:
401)将代码执行序列编码成一个序列A;
402)在规则库中取出一条木马的行为规则序列B;
403)设置n为待检测序列A的长度,m为规则序列B的长度;
404)将序列A、B的值分别存入向量 、 中;
405)创建(n+1)×(m+1)阶矩阵D;
406)遍历两向量,如果[i]= [j],则用temp记录,令temp=0,否则令temp=1;
407)在矩阵D[i,j]处赋予D[i-1,j]+1、D[i,j-1]+1、D[i-1,j-1]+temp三者的最小值;
408)遍历完两向量后,矩阵最后的一个值D[n+1,m+1]即为A、B两序列的差异值;
409)利用差异值计算A、B两序列的相似度,取值保留两位有效数字;
410)判断被分析程序的安全等级,若安全等级在中危及以上,判断被分析程序归属类别;
411)若规则库规则序列未遍历完,则再次执行步骤402)~步骤411)。
5.如权利要求4 所述的方法,其特征在于:所述步骤401)是利用编码表进行不重复的单字符编码,编码后按顺序将码文组成序列A。
6.如权利要求4 所述的方法,其特征在于:所述步骤405)中所述创建的(n+1)×(m+1)阶矩阵D,需要经过初始化赋值,其第一行和第一列的取值从0开始递增。
7.如权利要求4 所述的方法,其特征在于:所述步骤409)中所述相似度计算,具体为A、B两序列的差异值除以m、n中较大值的结果与两位小数1.00差值的绝对值;若不是第一次完成序列A与规则序列B的相似度计算,则将相似度计算结果与上一次循环的计算结果比较,取两者较大的值,直到规则库中所有序列被遍历完后,相似度值最终会保留最大的数值。
8.如权利要求4 所述的方法,其特征在于:所述步骤410)中所述判断被分析程序安全等级,包括安全等级标为Clear(安全)、安全等级标为Alarm(中危)和安全等级标为Malicious(高危)。
9.如权利要求4 所述的方法,其特征在于:所述步骤410)中所述判断被分析程序安全等级,若相似度值在[0,0.68)的范围内,则将被测程序安全等级标为Clear(安全);若相似度值在[0.68,0.87)的范围内,则将被测程序安全等级标为Alarm(中危);若相似度值在[0.87,1.00]的范围内,则将被测程序安全等级标为Malicious(高危)。
10.如权利要求4 所述的方法,其特征在于:所述步骤410)中所述判断被分析程序归属类别,是根据相似度计算最大的5个数值来匹配相应的规则序列,从而得出所属的木马归属类别。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学;陕西省信息化工程研究院,未经西安邮电大学;陕西省信息化工程研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410711148.6/1.html,转载请声明来源钻瓜专利网。





