[发明专利]软件内存安全检测方法及系统有效
申请号: | 201810444279.0 | 申请日: | 2018-05-10 |
公开(公告)号: | CN108647145B | 公开(公告)日: | 2020-01-03 |
发明(设计)人: | 姜宇;梁杰;王明哲;陈元亮;顾明;孙家广 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 11002 北京路浩知识产权代理有限公司 | 代理人: | 王莹;李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 导向性 测试用例文件 待测试软件 安全检测 符号执行 模糊测试 内存 预设 满足条件 节约 转换 覆盖 改进 | ||
本发明实施例提供了一种软件内存安全检测方法及系统,所述方法通过符号执行确定待测试软件的多个预设测试用例文件,并将所述多个预设测试用例文件分别转换为基于导向性变异的模糊测试的初始输入种子;基于所有初始输入种子,对所述待测试软件进行基于导向性变异的模糊测试,所述导向性变异为根据所述待测试软件中程序的覆盖范围进行的变异。本发明实施例提供的软件内存安全检测方法及系统,充分利用了符号执行产生的测试用例文件。同时,对模糊测试中的变异进行改进,得到导向性变异方法。将符号执行与导向性变异结合,对所有初始输入种子中满足条件的种子进行导向性变异,提高了变异的有效性,进而节约了资源。
技术领域
本发明实施例涉及计算机软件分析技术领域,更具体地,涉及软件内存安全检测方法及系统。
背景技术
软件是计算机实现功能的载体,软件的安全直接关系到计算机系统和网络的安全。利用软件的缺陷和漏洞对计算机系统进行攻击是黑客的惯用手段之一,而这往往会泄露关键信息,造成经济损失。内存安全问题是软件开发中最容易被忽视,也是最容易产生的问题。然而,一个简单的内存安全问题很有可能对软件的安全造成极大的威胁,因此,保障软件的内存安全极为重要。通过对软件进行内存安全检测,可以发现软件中各种不合法的内存操作,保障软件的合理平稳运行,增强软件的可靠性。
模糊测试是目前针对内存安全问题最有效的检测手段之一,它的关键思想是产生尽可能多的输入以探索程序的各种执行路径,以这些输入来执行程序,同时不断的监测程序在运行中是否会产生内存错误。产生输入的方式通常包括基于直接生成和基于变异的方法。基于直接生成的模糊测试一般针对的是具有严格输入格式或规则的软件,利用这些严格输入格式或规则来产生用于测试的输入。此方法需要用户对被测试软件有较强的领域知识,熟悉各种规则。这造成了两个缺点,一是它需要大量的人工参与,难以做到自动化;二是针对每个软件都需要建立一套新的生成机制,无法通用。另外,这种方法也难以保证软件中程序的覆盖率。而基于变异的模糊测试,是通过变异现有输入以产生新的、有意义的输入。在这种方法中,产生一个有意义的输入往往要经过大量的变异尝试,效率不高,且软件中程序的覆盖率也难以得到保证。
由于许多的程序中对输入均有严格的检查机制,而普通的变异方式难以生成可以通过这些复杂检查的输入。目前已经有工具比如Driller和Mayhem等采用将动态的符号执行与基于变异的模糊测试相结合的程序分析技术,正常情况下并不进行动态的符号执行,只有在执行变异的过程中出现卡顿或者不能生成可以通过这些复杂检查的输入时,才试图通过整合符合执行技术来指导变异过程,通过符号执行将输入进行符号化,收集约束条件,可以求解出通过这些检查的输入。但这些工具产品并没有对符号执行产生的输入进行充分的利用,导致资源浪费。
发明内容
为克服上述问题或者至少部分地解决上述问题,本发明实施例提供了一种软件内存安全检测方法及系统。
一方面,本发明实施例提供了一种软件内存安全检测方法,包括:
S1,通过符号执行确定待测试软件的多个预设测试用例文件,并将所述多个预设测试用例文件分别转换为基于导向性变异的模糊测试的初始输入种子;
S2,基于所有初始输入种子,对所述待测试软件进行基于导向性变异的模糊测试,所述导向性变异为根据所述待测试软件中程序的覆盖范围进行的变异。
另一方面,本发明实施例还提供了一种软件内存安全检测系统,包括:符号执行模块和模糊测试模块。其中,
符号执行模块用于通过符号执行确定待测试软件的多个预设测试用例文件,并将所述多个预设测试用例文件分别转换为基于导向性变异的模糊测试的初始输入种子;
模糊测试模块用于基于所有初始输入种子,对所述待测试软件进行基于导向性变异的模糊测试,所述导向性变异为根据所述待测试软件中程序的覆盖范围进行的变异。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810444279.0/2.html,转载请声明来源钻瓜专利网。