[发明专利]一种基于BAP的漏洞检测方法及智能终端在审
申请号: | 202011494557.7 | 申请日: | 2020-12-17 |
公开(公告)号: | CN112528292A | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 余少高;严智慧 | 申请(专利权)人: | 深圳爱加密科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 陈专 |
地址: | 518000 广东省深圳市福田区梅*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 bap 漏洞 检测 方法 智能 终端 | ||
本发明公开了一种基于BAP的漏洞检测方法及智能终端,所述方法包括:调取预设接口从二进制程序中获取所有的函数符号;调取所述预设接口从所述二进制程序中获取所有的预设指令;将未使用所述函数符号的所述预设指令进行过滤;获取过滤后的所述预设指令所在的指令块;遍历所述指令块中开始指令到所述预设指令中间的所有指令;判断所述指令块中的立即数是否等于系统指针,若是,则存在预设漏洞。本发明通过程序对外发布前,检测开发的二进制程序是否存在CWE467漏洞类型,如果存在CWE467漏洞则及时提醒相关人员进行漏洞修复,提高程序的安全性。
技术领域
本发明涉及程序基于BAP的漏洞检测技术领域,尤其涉及一种基于BAP的漏洞检测方法及智能终端。
背景技术
BAP(Binary Analysis Platform,一个编写程序分析工具的框架)是一种二进制分析平台工具,可以基于该工具开发对应的插件来分析二进制指令。
CWE(Common Weakness Enumeration,通用缺陷列表)是社区开发的常见软件和硬件安全漏洞列表,它是一种通用编号,为每种漏洞类型都制定了对应的编号。
CWE467漏洞编号代表的漏洞类型是:在指针类型上错误使用sizeof()。在Pascal语言中,sizeof()是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位);在C语言中,sizeof()是一个判断数据类型或者表达式长度的运算符。在Pascal语言与C语言中,对sizeof()的处理都是在编译阶段进行。
CWE467漏洞类型范例如下:
错误代码:
double*foo;
...
foo=(double*)malloc(sizeof(foo));
正确代码:
double*foo;
...
foo=(double*)malloc(sizeof(*foo));
上述代码,错误的使用sizeof(),导致申请内存变小,可能会导致程序后续运行异常。
现有技术中没有有效检测CWE467漏洞的方法,无法及时发现CWE467漏洞,从而导致程序运行异常。
因此,现有技术还有待于改进和发展。
发明内容
本发明的主要目的在于提供一种基于BAP的漏洞检测方法及智能终端,旨在解决现有技术中没有有效检测CWE467漏洞的方法,无法及时发现CWE467漏洞,从而导致程序运行异的问题。
为实现上述目的,本发明提供一种基于BAP的漏洞检测方法,所述基于BAP的漏洞检测方法包括如下步骤:
调取预设接口从二进制程序中获取所有的函数符号;
调取所述预设接口从所述二进制程序中获取所有的预设指令;
将未使用所述函数符号的所述预设指令进行过滤;
获取过滤后的所述预设指令所在的指令块;
遍历所述指令块中开始指令到所述预设指令中间的所有指令;
判断所述指令块中的立即数是否等于系统指针,若是,则存在预设漏洞。
可选地,所述的基于BAP的漏洞检测方法,其中,所述预设漏洞为CWE467漏洞。
可选地,所述的基于BAP的漏洞检测方法,其中,所述判断所述指令块中的立即数是否等于系统指针,若是,则存在预设漏洞,具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳爱加密科技有限公司,未经深圳爱加密科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011494557.7/2.html,转载请声明来源钻瓜专利网。