[发明专利]一种基于漏洞利用程序特征的漏洞利用程序检测方法在审
申请号: | 202010459057.3 | 申请日: | 2020-05-27 |
公开(公告)号: | CN111753295A | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 陈锦富;秦松铃;胡津昌;黄如兵;赵玲玲 | 申请(专利权)人: | 江苏大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212013 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 漏洞 利用 程序 特征 检测 方法 | ||
1.一种基于漏洞利用程序特征的程序分析方法,其特征在于,包括以下步骤:
步骤1通过Wireshark对网络流量中的数据进行采集,并对采集的数据包进行还原,获取待检测的漏洞利用程序,之后通过IDA获取待检测程序的汇编代码;
步骤2通过对漏洞利用程序的特征进行分析归纳,从而得到漏洞利用程序的词法、语法和语义特征;
步骤3根据得到的词法、语法和语义特征,构建控制流图生成算法,并通过该算法与获得的待检测程序的汇编代码,生成对应的控制流图;
步骤4对控制流图中的节点信息进行提取,通过JCFG图生成算法,将控制流图转换成对应的JCFG图;
步骤5通过将待检测程序进行动态分析,并通过基于JCFG图的漏洞利用程序检测算法,来对待检测程序进行检测,得到检测结果。
2.根据权利要求1所述的一种基于漏洞利用程序特征的程序分析方法,其特征在于,所述步骤2具体包括:
通过对网络中的漏洞利用程序的特征进行归纳分析,主要是根据漏洞利用程序中异常跳转的特征进行分析总结,通过对产生异常跳转的漏洞利用程序进行分析,对其中造成危害的特定指令进行归纳总结,得出漏洞利用程序的程序特征μ的定义,μ(Vul)={D,C};其中Vul表示漏洞利用程序所利用漏洞的漏洞类型,即漏洞利用程序所想要达到的目的,D表示漏洞利用危险节点的集合,对于漏洞利用程序而言,程序Prog中包含漏洞利用危险元素σ的指令,被称作漏洞利用危险节点,D是这些漏洞利用危险节点的集合,D={d1,d2,…,dn};C表示漏洞利用程序的程序特征所需满足的相关漏洞利用约束,C=c1||c2||…||cj||…||cn,对于一个漏洞利用程序而言,它首先需要满足漏洞利用程序的基本约束Bcj,也要满足漏洞利用程序的附加约束Tcj,即cj=Bcj∧Tcj。
3.根据权利要求1所述的一种基于漏洞利用程序特征的程序分析方法,其特征在于,所述步骤3具体包括:
根据对漏洞利用程序的词法、语法和语义特征,总结以下定义:
3.1.调用指令Call,用Call表示函数调用指令;
3.2.跳转指令JXX,用JXX表示跳转指令,其中包含了有条件跳转指令JCC(其中CC表示测试条件类型的字符序列,其中包含jz,jnz)和无条件跳转指令jmp;
3.3.返回指令Return,用Return表示函数调用指令,其中包括RETN和RETF两种返回指令,RETN是用于从段内转移CALL进的子程序中返回,RETF时用于从段间转CALL进的子程序中返回;
3.4.返回地址集合R,每次执行Call指令之时,将跟在call指令之后的地址存入返回地址集合R中;
3.5.相同节点判定,对于程序而言,有可能存在指令有条件跳转指令之后两条执行路径又重新合并得可能性,因此需要对其进行判定,避免重复,判定函数记作isSame(jAdress);并通过以上定义,得出控制流图的生成算法,用于对待检测的程序进行控制流图的生成,控制流图的生成算法采用的是递归的方式,首先,对待检测程序的汇编代码进行读取,对其中的关键性指令进行处理,对于其中JXX指令或者Return指令改变指令读取的地址,所有的关键指令处理之后,生成对应的指令节点,存储于数据库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏大学,未经江苏大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010459057.3/1.html,转载请声明来源钻瓜专利网。