[发明专利]基于函数调用图指纹的恶意软件检测方法有效
申请号: | 201510442809.4 | 申请日: | 2015-07-24 |
公开(公告)号: | CN105046152B | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 王俊峰;白金荣 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 成都信博专利代理有限责任公司51200 | 代理人: | 崔建中 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于函数调用图指纹的恶意软件检测方法,包括判断已知恶意软件样本是否加壳;进行反汇编处理,得到恶意软件样本的汇编代码;以函数为结点,函数间的调用为边,生成函数调用图;函数调用图作为该样本的指纹,加入图指纹库;判断待检测样本是否加壳;进行反汇编处理,得到待检测样本的汇编代码;基于汇编代码生成待检测样本的函数调用图,该图作为检测样本的指纹;将待检测样本的函数调用图指纹和图指纹库中每一个图都进行同构判断等步骤。本发明使用函数调用图作为软件的指纹,充分利用函数调用图是一种特殊的图的性质来识别大部分恶意软件及其变种,识别时间短、效率高。 | ||
搜索关键词: | 基于 函数 调用 指纹 恶意 软件 检测 方法 | ||
【主权项】:
一种基于函数调用图指纹的恶意软件检测方法,其特征在于,包括生成函数调用图指纹库和检测恶意软件两部分;生成函数调用图指纹库:步骤1,判断已知恶意软件样本是否加壳,若加壳,进行脱壳处理,若未加壳,进行后续步骤;步骤2,进行反汇编处理,得到样本的汇编代码;步骤3,以函数为结点,函数间的调用为边,生成函数调用图;步骤4,函数调用图作为该样本的指纹,加入图指纹库;检测恶意软件:步骤5,判断待检测样本是否加壳,若加壳,进行脱壳处理,若未加壳,进行后续步骤;步骤6,进行反汇编处理,得到待检测样本的汇编代码;步骤7,基于汇编代码生成待检测样本的函数调用图,该图作为检测样本的指纹;步骤8,将待检测样本的函数调用图指纹和图指纹库中每一个图都进行同构判断,若同构,则该样本为恶意软件,若和图指纹库中的所有图都不同构,则为良性软件;在所述步骤8中,同构判断的方法如下所示,称之为FCGiso图同构判断,具体为:STEP1:对于待判断是否同构的两个有向图G1(V1,E1)和G2(V2,E2),判断G1的结点数和G2的结点数是否相等,若不相等,则图G1和图G2不同构;若相等,再判断有向图的边数;STEP2:判断G1的边数和G2的边数是否相等,若不相等,则图G1和图G2不同构;若相等,进行后续判断;STEP3:对于图G1的任意一个结点v,获取图G1中v的直接后继结点集合outnodes1,基于v的结点唯一标记,从图G2中查找得到与v结点标记相同的结点v',获取图G2中v'的直接后继结点集合outnodes2,若outnodes1集合和outnodes2集合的结点数和结点的标记不相同,则图G1和图G2不同构;若相同,则继续STEP3的判断方法判断下一个结点,直到判断完所有结点;STEP4:若从STEP1到STEP3都没有判断图G1和图G2不同构,则图G1和图G2同构。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510442809.4/,转载请声明来源钻瓜专利网。
- 上一篇:基于少态点分析的硬件木马检测方法
- 下一篇:一种铣床