[发明专利]基于函数调用图指纹的恶意软件检测方法有效
申请号: | 201510442809.4 | 申请日: | 2015-07-24 |
公开(公告)号: | CN105046152B | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 王俊峰;白金荣 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 成都信博专利代理有限责任公司51200 | 代理人: | 崔建中 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 函数 调用 指纹 恶意 软件 检测 方法 | ||
技术领域
本发明涉及网络安全中恶意软件检测领域,特别涉及一种基于函数调用图指纹的恶意软件检测方法。
背景技术
随着信息技术的发展,互联网正深刻地改变着人类的生产生活方式,人们越来越离不开网络,随之而来的是各种“安全”问题。人们深得网络发展之利,也深受网络攻击之害,网络空间安全问题已成为困扰世界的严峻挑战。根据中国互联网协会、国家互联网应急中心发布的《中国互联网站发展状况及其安全报告(2015)》统计显示,截至2014年12月,我国网民规模达6.49亿,全年共计新增网民3117万人,互联网普及率为47.9%。2014年,有46.3%的网民遭遇过网络安全问题,我国个人互联网使用的安全状况不容乐观。在安全事件中,账号和密码被盗情况最为严重,分别达到26.7%和25.9%。
软件的安全性是网络安全的重要组成部分。软件内部存在缺陷、错误、故障、失效,软件外部存在病毒、木马、蠕虫等恶意软件,造成了安全性分析具有高度的复杂性。尽管研究人员已经做了大量工作,但是恶意软件的现有检测技术依然有很大的局限性。反病毒软件是利用恶意软件或被感染文件的特征码(即每种恶意软件所独有的十六进制代码串)进行扫描检测,这种传统方式几乎不能检测新的恶意软件种类,能检测的恶意软件经过简单加壳或混淆后又不能检测,特定恶意软件在被反病毒软件查杀之后很容易进行免杀处理。据Symantec公司发布的2015互联网安全威胁报告,基于特征码的方法仅能检测2014年捕获的所有恶意软件中的13.9%。
恶意软件作者使用加壳和混淆技术对已有的恶意软件进行处理,产生了大量的恶意软件变种。据Symantec公司发布的2015互联网安全威胁报告,2014年十大恶意软件族类的样本数目占全年捕获所有恶意软件样本的33%。反病毒专家每天捕获大量的未知软件样本,需要迅速地判断未知样本是否为已知的恶意软件或已知恶意软件的变种。当前,反病毒专家主要使用样本的hash签名标识样本,但hash签名非常敏感,样本有一个字节的微小变化,都会产生不同的hash签名,该方法弹性较差。此外,反病毒专家需要对收集的所有恶意软件样本进行归类和索引,建立恶意软件的族群和族谱,以方便新样本的比对和查找。目前,这部分工作是基于反病毒专家的专业知识分析处理,还没有自动化的工具。
李德毅院士在一篇报告中指出“软件应以网络结构表示”。也就是说,软件都具有网络的拓扑结构,一般可以用图表示。图可以在较高层次描述软件的结构,为研究者提供一个整体和全局的视角来唯一标识软件。研究人员对基于图的恶意软件检测方法已进行了初步研究,这些方法将软件表示成操作码有向图、控制流图、数据流图、系统调用图,然后通过相似性度量、数据挖掘和机器学习等方法实现恶意软件的检测。这些方法从不同的角度探索解决恶意软件检测问题,提出了不同思路的基于图的恶意软件检测方法,取得了许多富有建设性的成果,但仍存在以下几个问题:1)基于图相似性度量的检测方法效率不理想,对结点较多的图在有限时间内无法完成。2)部分图表示方法粒度较细,导致图的规模和复杂度较高。3)对混淆过的恶意软件,一些检测方法不能检测出。
发明内容
本发明所要解决的技术问题是提供一种基于函数调用图指纹的恶意软件检测方法,采用了函数调用图作为软件的指纹来检测出恶意软件,识别率高。
为解决上述技术问题,本发明采用的技术方案是:
一种基于函数调用图指纹的恶意软件检测方法,包括生成函数调用图指纹库和检测恶意软件两部分;
生成函数调用图指纹库:
步骤1,判断已知恶意软件样本是否加壳,若加壳,进行脱壳处理,若未加壳,进行后续步骤;步骤2,进行反汇编处理,得到恶意软件样本的汇编代码;步骤3,以函数为结点,函数间的调用为边,生成函数调用图;步骤4,函数调用图作为该样本的指纹,加入图指纹库;
检测恶意软件:
步骤5,判断待检测样本是否加壳,若加壳,进行脱壳处理,若未加壳,进行后续步骤;步骤6,进行反汇编处理,得到待检测样本的汇编代码;步骤7,基于汇编代码生成待检测样本的函数调用图,该图作为检测样本的指纹;步骤8,将待检测样本的函数调用图指纹和图指纹库中每一个图都进行同构判断,若同构,则该样本为恶意软件,若和图指纹库中的所有图都不同构,则为良性软件。
根据上述方案,在所述步骤8中,同构判断的方法为FCGiso图同构判断,具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510442809.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于少态点分析的硬件木马检测方法
- 下一篇:一种铣床