[发明专利]一种漏洞检测方法、装置、存储介质及电子设备在审
申请号: | 202011605620.X | 申请日: | 2020-12-29 |
公开(公告)号: | CN112632563A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 阚志刚;王亚东;卢佐华;陈彪 | 申请(专利权)人: | 北京梆梆安全科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/41 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 李潇 |
地址: | 100083 北京市海淀区学*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 漏洞 检测 方法 装置 存储 介质 电子设备 | ||
1.一种漏洞检测方法,其特征在于,所述方法包括:
根据预先定义的低等级中间结果形式LLIR的格式,将编译为处理器架构下的目标程序的二进制序列,转换为具备所述LLIR的格式的LLIR;
解析转换得到的LLIR,以得到表征所述目标程序运行机制的目标结构信息;
根据所述目标结构信息,将所述LLIR转换为HLIR;
从转换得到的HLIR中,确定所述目标程序的第一代码特征;
根据所述第一代码特征和预设漏洞代码特征,判断所述目标程序是否存在漏洞;所述预设漏洞代码特征,是指被判定为存在漏洞的程序所具备的代码特征。
2.如权利要求1所述的方法,其特征在于,所述目标结构信息,包括所述目标程序中的变量和/或参数的信息,以及所述目标程序内部的拓扑结构关系;
解析转换得到的LLIR,以得到表征所述目标程序运行机制的目标结构信息,包括:
利用数据流分析引擎解析所述转换得到的LLIR,以得到所述目标程序中的变量和/或参数的信息;
利用控制流分析引擎解析所述转换得到的LLIR,以得到所述目标程序内部的拓扑结构关系。
3.如权利要求2所述的方法,其特征在于,利用数据流分析引擎解析所述转换得到的LLIR,以得到所述目标程序中的变量和/或参数的信息,包括:
利用数据流分析引擎对所述转换得到的LLIR中的函数头进行识别,以得到所述目标程序包含的函数各自所对应的LLIR片段;
利用数据流分析引擎对所述LLIR片段进行分析,以得到所述目标程序中的函数所使用的变量和/或参数的信息。
4.如权利要求3所述的方法,其特征在于,利用控制流分析引擎解析所述转换得到的LLIR,以得到所述目标程序内部的拓扑结构关系,包括:
利用控制流分析引擎对所述转换得到的LLIR中的函数头进行识别,以识别出所述目标程序包含的函数;
利用控制流分析引擎对所述转换得到的LLIR中的跳转指令进行识别;
根据识别出的函数和跳转指令,确定所述目标程序内部的拓扑结构关系;所述拓扑结构关系,至少包含所述识别出的函数之间的调用关系。
5.如权利要求4所述的方法,其特征在于,根据所述目标结构信息,将所述LLIR转换为HLIR,具体包括:
对得到的所述变量和/或参数的信息,以及拓扑结构关系进行组合,得到组合结果,作为所述HLIR。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目标结构信息的特征,获取具备所述特征的预设基准结构信息;
利用所述预设基准结构信息,补充所述目标结构信息,以得到补充后的目标结构信息;
从所述补充后的目标结构信息中,确定所述目标程序的第二代码特征;则,
根据所述第一代码特征和预设漏洞代码特征,判断所述目标程序是否存在漏洞,具体包括:
根据所述第二代码特征补充所述第一代码特征,以得到补充后的第一代码特征;
根据所述补充后的第一代码特征和预设漏洞代码特征,判断所述目标程序是否存在漏洞。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:基于所述补充后的第一代码特征,构建代码特征数据库;则,
根据所述补充后的第一代码特征和预设漏洞代码特征,判断所述目标程序是否存在漏洞,具体包括:
获取预先设置的代码特征查询语句;所述代码特征查询语句中,包含所述预设漏洞代码特征;
基于所述代码特征查询语句,查询所述代码特征数据库中是否存在与所述预设漏洞代码特征匹配的代码特征;
根据查询结果,判断所述目标程序是否存在漏洞。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京梆梆安全科技有限公司,未经北京梆梆安全科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011605620.X/1.html,转载请声明来源钻瓜专利网。