[发明专利]一种基于漏洞模型的自动化脆弱点探测方法与装置在审
申请号: | 202111287922.1 | 申请日: | 2021-11-02 |
公开(公告)号: | CN114117443A | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 马琪灿;陆丽;陈慧娟;曹亚南;吴博;宋玉柱 | 申请(专利权)人: | 郑州埃文计算机科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 郑州意创知识产权代理事务所(特殊普通合伙) 41138 | 代理人: | 张江森;侯喜立 |
地址: | 450000 河南省郑州市经济技术开发区*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 漏洞 模型 自动化 脆弱 探测 方法 装置 | ||
本发明提供一种基于漏洞模型的自动化脆弱点的探测装置与方法,首先上传待检测的目标二进制文件,在此二进制文件的逆向结果中运行漏洞模型,以漏洞模型特征匹配返回可能存在的脆弱点位置。利用本发明可以对各类二进制程序进行脆弱点位置的检测,并对后续漏洞的动态分析提供有力支撑,对二进制程序恶意代码的分析工作具有重要的指导和借鉴意义。
技术领域
本发明涉及自动化的漏洞检测技术领域,具体而言,涉及了一种基于漏洞模型的自动化脆弱点探测方法与装置。
背景技术
漏洞(vulnerability)是指系统中存在的一些功能性或安全性的逻辑缺陷,包括一切导致威胁、损坏计算机系统安全性的所有因素,是计算机系统在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷和不足。由于种种原因,漏洞的存在不可避免,一旦某些较严重的漏洞被攻击者发现,就有可能被其利用,在未授权的情况下访问或破坏计算机系统。先于攻击者发现并及时修补漏洞可有效减少来自网络的威胁。因此主动发掘并分析系统安全漏洞,对网络攻防战具有重要的意义。
目前的漏洞探测技术有很多种:传统的手工检测方式费时费力,且对检测人员的安全技术水平有较高的要求;单纯的静态扫描方式对目标源程序脆弱点函数进行简单分析,误报率较高。
发明内容
为了解决背景技术中所存在的问题,本发明提出了一种基于漏洞模型的自动化脆弱点探测方法与装置。
一种基于漏洞模型的自动化脆弱点探测方法,包括步骤:
S1、将二进制文件逆向为汇编层语言表示文件;
S2、对逆向后二进制文件进行脆弱点函数匹配;
S3、利用污点传播查找可控变量,进一步匹配符合条件的脆弱点函数。
基于上述,步骤S1包括:
S101、创建二进制文件保存目录,用于存放待检测的二进制文件。
S102、下载目标二进制文件至步骤S101所创建的保存目录;若待检测目标为固件类型,使用固件分析工具对可执行程序进行提取后存入S101所创建目录;
S103、对S102下载文件进行IDA逆向分析,将其转化为汇编层代码。
基于上述,步骤S2包括:
S201、对汇编层语言表示文件中已转为汇编层面的代码,使用Hex-RaysDecompiler插件将其用反编译形式表示,对于不能反编译的代码利用自编Python脚本进行处理;
S202、在步骤S201中的反编译层面代码中,根据目标程序检测漏洞类型的不同运行不同的检测脚本,分为字符串检测类型、命令注入类型、内存拷贝类型、格式化字符串类型与整形溢出类型,查找其对应类型的所有脆弱点函数;
S203、对步骤S202所提取的脆弱点使用idc中的Get_func_name()功能函数提取所有的调用函数列表。
基于上述,步骤S3包括:
S301、使用FIDL火眼框架,对S203函数列表中的一个函数生成一个ControFlowinator对象;
S302、利用污点传播查找可控变量,首先追踪查找一级污染变量,至少包括默认可控变量与补充可控变量;
S303、在S302步骤上进一步查找二级污染变量,至少包括直接可控变量与间接可控变量;
S304、根据不同类别脆弱点函数特性进行再次匹配,找出存在漏洞的脆弱点函数;
S305、记录并存储步骤S304中的匹配结果;
S306、重复S301至S305所有步骤直至函数列表中剩余函数数量为空。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州埃文计算机科技有限公司,未经郑州埃文计算机科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111287922.1/2.html,转载请声明来源钻瓜专利网。