[发明专利]一种操作系统内核模糊测试种子调度与评估方法在审
申请号: | 202310351993.6 | 申请日: | 2023-04-04 |
公开(公告)号: | CN116303082A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 施鹤远;罗正雄;梁锴;胡超;沈煜恒;施荣华 | 申请(专利权)人: | 中南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F18/23;G06N3/084 |
代理公司: | 长沙轩荣专利代理有限公司 43235 | 代理人: | 李崇章 |
地址: | 410000 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 操作系统 内核 模糊 测试 种子 调度 评估 方法 | ||
本公开实施例中提供了一种操作系统内核模糊测试种子调度与评估方法,属于数据处理技术领域,具体包括:读取初始语料库;随机选择语料库中的种子;生成测试用例;执行测试用例;判断操作系统在执行过程中是否产生了异常状态;判断测试用例在执行过程中是否在多层级覆盖率指标评估下出现新增覆盖的情况;判断模糊测试工具是否接收到测试结束指令;对输入种子池中的种子进行聚类分析并将输入种子池构建为一棵多层级树;将种子调度与评估过程建模为一个多臂老虎机模型,再根据改进的置信区间上界算法改进种子调度与评估策略;选择下一个种子并执行变异操作生成测试用例,然后重新循环执行上述过程。通过本公开的方案,提升了内核模糊测试的效率。
技术领域
本公开实施例涉及数据处理技术领域,尤其涉及一种操作系统内核模糊测试种子调度与评估方法。
背景技术
操作系统作为一种管理计算机硬件与软件资源的系统软件,而内核是操作系统的核心,它直接管理计算机的硬件资源,并提供接口为用户程序使用,且操作系统内核不同于上层应用程序,其具备极高的运行权限。内核中的漏洞一旦被人利用,将会对操作系统和应用程序的安全造成致命影响。故操作系统内核漏洞挖掘和防御机制研究具有重要研究意义。
模糊测试是一种自动化的软件测试技术,其通过向目标程序中注入自动或半自动生成的随机数据,并检测程序异常,以发现可能的程序错误。作为一种高效的漏洞挖掘方法,模糊测试在操作系统内核安全领域得到了广泛应用。在内核模糊测试方法中,覆盖率引导的内核模糊测试是当前主流的测试方法之一。该方法以最大化整体代码覆盖率作为测试目标,根据适应度函数来评估生成的测试用例的质量,仅保留适应度高的测试用例,并将其放入种子池中用于之后的模糊检测过程,同时监视操作系统的运行,并捕获操作系统执行种子期间发生的异常状态,如系统崩溃、系统挂起等问题,进而发现内核代码缺陷。
适应度函数的一个重要属性是保存中间路径节点的能力,保存一些关键中间路径节点可以缩小探索漏洞空间,减少暴露内核漏洞的时间。目前主流的内核模糊测试工具以单一的边覆盖率作为适应度函数的衡量标准,这使得一些关键路径结点因其无法新增边覆盖率,故不能作为新种子被保留下来,因此造成探索空间过大,发现内核漏洞时间较长,导致内核模糊测试效率低下等问题。
可见,亟需一种测试效率高操作系统内核模糊测试种子调度与评估方法。
发明内容
有鉴于此,本公开实施例提供一种操作系统内核模糊测试种子调度与评估方法,至少部分解决现有技术中存在测试效率较差的问题。
本公开实施例提供了一种操作系统内核模糊测试种子调度与评估方法,包括:
步骤1,利用模糊测试工具读取初始语料库;
步骤2,利用模糊测试工具随机选择语料库中的种子并将其加入输入种子池;
步骤3,使用测试工具选择输入种子池中的种子并对其执行变异操作生成测试用例;
步骤4,操作系统执行测试用例并收集测试用例覆盖到的内核位置;
步骤5,判断操作系统在执行过程中是否产生了异常状态,若是,则执行步骤6,若否,则执行步骤7;
步骤6,将测试用例作为新种子加入输出种子池中;
步骤7,判断测试用例在执行过程中是否在多层级覆盖率指标评估下出现新增覆盖的情况,若是,则执行步骤8,若否,则执行步骤9;
步骤8,将测试用例作为新种子加入输入种子池中;
步骤9,丢弃该测试用例;
步骤10,判断模糊测试工具是否接收到测试结束指令,若是,则执行步骤11,若否,则执行步骤12;
步骤11,模糊测试工具在接收到测试结束指令之后,结束测试并输出当前测试过程中维护更新的输出种子池;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310351993.6/2.html,转载请声明来源钻瓜专利网。