[发明专利]一种基于漏洞模型的自动化脆弱点探测方法与装置在审
申请号: | 202111287922.1 | 申请日: | 2021-11-02 |
公开(公告)号: | CN114117443A | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 马琪灿;陆丽;陈慧娟;曹亚南;吴博;宋玉柱 | 申请(专利权)人: | 郑州埃文计算机科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 郑州意创知识产权代理事务所(特殊普通合伙) 41138 | 代理人: | 张江森;侯喜立 |
地址: | 450000 河南省郑州市经济技术开发区*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 漏洞 模型 自动化 脆弱 探测 方法 装置 | ||
1.一种基于漏洞模型的自动化脆弱点探测方法,其特征在于,包括步骤:
S1、将二进制文件逆向为汇编层语言表示文件;
S2、对逆向后二进制文件进行脆弱点函数匹配;
S3、利用污点传播查找可控变量,进一步匹配符合条件的脆弱点函数。
2.根据权利要求1所述的基于漏洞模型的自动化脆弱点探测方法,其特征在于,步骤S1包括:
S101、创建二进制文件保存目录,用于存放待检测的二进制文件。
S102、下载目标二进制文件至步骤S101所创建的保存目录;若待检测目标为固件类型,使用固件分析工具对可执行程序进行提取后存入S101所创建目录;
S103、对S102下载文件进行IDA逆向分析,将其转化为汇编层代码。
3.根据权利要求1所述的基于漏洞模型的自动化脆弱点探测方法,其特征在于,步骤S2包括:
S201、对汇编层语言表示文件中已转为汇编层面的代码,使用Hex-Rays Decompiler插件将其用反编译形式表示,对于不能反编译的代码利用自编Python脚本进行处理;
S202、在步骤S201中的反编译层面代码中,根据目标程序检测漏洞类型的不同运行不同的检测脚本,分为字符串检测类型、命令注入类型、内存拷贝类型、格式化字符串类型与整形溢出类型,查找其对应类型的所有脆弱点函数;
S203、对步骤S202所提取的脆弱点使用idc中的Get_func_name()功能函数提取所有的调用函数列表。
4.根据权利要求3所述的基于漏洞模型的自动化脆弱点探测方法,其特征在于,步骤S3包括:
S301、使用FIDL火眼框架,对S203函数列表中的一个函数生成一个ControFlowinator对象;
S302、利用污点传播查找可控变量,首先追踪查找一级污染变量,至少包括默认可控变量与补充可控变量;
S303、在S302步骤上进一步查找二级污染变量,至少包括直接可控变量与间接可控变量;
S304、根据不同类别脆弱点函数特性进行再次匹配,找出存在漏洞的脆弱点函数;
S305、记录并存储步骤S304中的匹配结果;
S306、重复S301至S305所有步骤直至函数列表中剩余函数数量为空。
5.一种使用权利要求1-4任一项方法的基于漏洞模型的自动化脆弱点探测装置,其特征在于:包括
前端模块,用于与用户交互和展示生成结果,及上传待检测文件、选择测试漏洞类型和添加删除任务;
调度模块,配置为前端模块与后端模块之间的通讯与调度,以及进行暂存前端模块创建的任务队列和控制后端模块任务的启停;
后端模块,用于技术方案的具体实现,内部配置有虚拟环境,运行目标任务后将返回结果给调度模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州埃文计算机科技有限公司,未经郑州埃文计算机科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111287922.1/1.html,转载请声明来源钻瓜专利网。