[发明专利]软件内存安全检测方法及系统有效
申请号: | 201810444279.0 | 申请日: | 2018-05-10 |
公开(公告)号: | CN108647145B | 公开(公告)日: | 2020-01-03 |
发明(设计)人: | 姜宇;梁杰;王明哲;陈元亮;顾明;孙家广 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 11002 北京路浩知识产权代理有限公司 | 代理人: | 王莹;李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例提供了一种软件内存安全检测方法及系统,所述方法通过符号执行确定待测试软件的多个预设测试用例文件,并将所述多个预设测试用例文件分别转换为基于导向性变异的模糊测试的初始输入种子;基于所有初始输入种子,对所述待测试软件进行基于导向性变异的模糊测试,所述导向性变异为根据所述待测试软件中程序的覆盖范围进行的变异。本发明实施例提供的软件内存安全检测方法及系统,充分利用了符号执行产生的测试用例文件。同时,对模糊测试中的变异进行改进,得到导向性变异方法。将符号执行与导向性变异结合,对所有初始输入种子中满足条件的种子进行导向性变异,提高了变异的有效性,进而节约了资源。 | ||
搜索关键词: | 导向性 测试用例文件 待测试软件 安全检测 符号执行 模糊测试 内存 预设 满足条件 节约 转换 覆盖 改进 | ||
【主权项】:
1.一种软件内存安全检测方法,其特征在于,包括:/nS1,通过符号执行确定待测试软件的多个预设测试用例文件,并将所述多个预设测试用例文件分别转换为基于导向性变异的模糊测试的初始输入种子;/nS2,基于所有初始输入种子,对所述待测试软件进行基于导向性变异的模糊测试,所述导向性变异为根据所述待测试软件中程序的覆盖范围进行的变异;/nS2具体包括:/nS221,将所有初始输入种子依次存储至预设种子池内,基于种子变异属性、种子执行速度、种子大小以及种子命中程序分支属性,从所述预设种子池内筛选满足第二预设条件的种子进行导向性变异,并基于种子变异属性、种子执行速度、种子大小以及种子命中程序分支属性,从变异产生的种子中选取满足所述第二预设条件的种子存储至所述预设种子池中以更新所述预设种子池;/nS222,对更新后的所述预设种子池内的所有种子重复上述筛选及变异过程,直至更新后的所述预设种子池内满足所述第二预设条件的每一种子的变异次数分别达到预设次数;/nS223,基于更新后的所述预设种子池内的所有种子,对所述待测试软件进行测试。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810444279.0/,转载请声明来源钻瓜专利网。