[发明专利]程序漏洞检测方法及装置、计算设备、存储介质有效
| 申请号: | 201710560325.9 | 申请日: | 2017-07-11 |
| 公开(公告)号: | CN107315961B | 公开(公告)日: | 2020-06-23 |
| 发明(设计)人: | 潘剑锋;闫广禄;范晓草 | 申请(专利权)人: | 北京奇虎科技有限公司 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/52 |
| 代理公司: | 北京市浩天知识产权代理事务所(普通合伙) 11276 | 代理人: | 宋菲;陈翠 |
| 地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 程序 漏洞 检测 方法 装置 计算 设备 存储 介质 | ||
本发明公开了一种程序漏洞检测方法及装置、计算设备、存储介质。其中方法包括:从输入用例集中选取输入用例,启动目标程序运行所选取的输入用例;获取并记录目标程序运行过程中的控制流路径;对所述控制流路径进行检测,得到所述控制流路径上的错误信息;根据所述错误信息,确定目标程序的漏洞。本发明提供的是一种自动化发现程序产品潜在威胁的方案,该方案无需在目标程序中插入检测代码,对目标程序本身无改造,适用于非开源软件系统或大型程序产品的黑盒测试,而且本检测方案的检测效率很高,安全性较高。
技术领域
本发明涉及计算机安全技术领域,具体涉及一种程序漏洞检测方法及装置、计算设备、存储介质。
背景技术
漏洞是指一个系统存在的弱点或缺陷,系统对特定威胁攻击或危险事件的敏感性,或进行攻击的威胁作用的可能性。漏洞可能来自应用软件或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,从而对一个组织的资产或运行造成不利影响,如信息系统被攻击或控制,重要资料被窃取,用户数据被篡改,系统被作为入侵其他主机系统的跳板。
漏洞利用过程中攻击者若要执行恶意代码,需要破坏程序原有指令的正常执行。常见的利用手法是通过溢出覆盖或者直接篡改某个寄存器的值,篡改间接调用的地址,进而控制了程序的执行流程。执行流保护的作用就是在程序执行的过程中检测指令流的正常性,当发生不符合预期的情况时,及时进行异常处理。现有技术中提供的一种执行流保护的方法是通过在编译和链接期间,记录下所有的间接调用信息,并把他们记录在最终的可执行文件中,并且在所有的间接调用之前插入额外的校验,当间接调用的地址被篡改时,会触发一个异常,操作系统介入处理。这种方法需要在被测试程序中插入完成相应工作的代码,需要插入大量的检测点,并且在执行过程中检测的频率极高,难免对程序执行效率带来影响。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的程序漏洞检测方法及装置、计算设备、存储介质。
根据本发明的一个方面,提供了一种程序漏洞检测方法,包括:
从输入用例集中选取输入用例,启动目标程序运行所选取的输入用例;
获取并记录目标程序运行过程中的控制流路径;
对所述控制流路径进行检测,得到所述控制流路径上的错误信息;
根据所述错误信息,确定目标程序的漏洞。
进一步的,所述获取并记录目标程序运行过程中的控制流路径进一步包括:
在目标程序运行过程中,获取由目标程序运行产生的事件得到的数据包,将数据包存储到预先配置的缓存中;
对数据包进行分析,得到控制流路径并进行记录。
进一步的,在将所述数据包存储到预先配置的缓存中之后,所述方法还包括:
判断是否满足所述缓存的中断机制;
若是,则触发中断,将所述缓存中的数据包移出存储到日志文件中,清空所述缓存,以供所述缓存能够继续存储后续的数据包。
进一步的,所述数据包包括以下类型的数据包:TIP包,TNT包,和/或FUP包。
进一步的,所述获取并记录目标程序运行过程中的控制流路径进一步包括:
获取目标程序运行过程中的控制流路径;
将所述目标程序运行过程中的控制流路径与预先已存储的控制流路径进行比较,判断所述预先已存储的控制流路径是否已经覆盖所述目标程序运行过程中的控制流路径;其中,所述预先已存储的控制流路径是之前通过选取并运行其它输入用例得到的控制流路径;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710560325.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电子设备的磁盘解密方法和装置
- 下一篇:一种嵌入式平台的可信处理模块





