【技术实现步骤摘要】
用于可信操作系统内核模糊测试的种子生成方法及系统
[0001]本专利技术涉及可信操作系统测试技术,具体涉及一种用于可信操作系统内核模糊测试的种子生成方法及系统。
技术介绍
[0002]当前可信操作系统已成为预防敏感数据泄露、防止敏感数据被篡改的重要方法,而内核是操作系统中最重要的组成部分,因此对内核的安全研究就极为重要。模糊测试作为一种高效的漏洞挖掘方法,在操作系统内核安全领域得到了广泛的应用。模糊测试是一种通过向目标系统提供非预期输入并监控异常结果来发现软件漏洞的方法,具有自动化程度高、可用性好、误报率低、对目标程序源码没有依赖等优点。
[0003]进行模糊测试的首要条件就是大量的测试用例,这些测试用例也被称为初始种子。初始种子的质量很大程度地影响模糊测试的效果。现阶段的种子生成方法主要分为两种:基于变异的种子生成方法和基于随机的种子生成方法。基于随机的方法在对目标软件输入格式的基础上,自动生成一些不满足数据规约的测试样本;基于变异的方法从一个合法的样本出发,通过算法修改其中一些数据,生成畸形的样本。在生成测试用例 ...
【技术保护点】
【技术特征摘要】
1.一种用于可信操作系统内核模糊测试的种子生成方法,其特征在于,包括:1)基于可信操作系统内核程序W建立依赖图并获取各个系统调用之间的显式依赖关系,所述显式依赖关系是指一个系统调用的参数是另一个系统调用的结果;基于系统调用文件L进行控制流分析获取各个系统调用之间的隐式依赖关系,所述隐式依赖关系是指两个系统调用共同使用操作系统内核的某个共享区域;2)根据各个系统调用之间的显式和隐式依赖关系生成并提取可信操作系统内核模糊测试种子。2.根据权利要求1所述的用于可信操作系统内核模糊测试的种子生成方法,其特征在于,步骤1)中基于可信操作系统内核程序W建立依赖图的步骤包括:针对可信操作系统内核程序W的系统调用集合进行遍历,每遍历一个系统调用,则首先将该系统调用移入已处理集合中,然后在该系统调用所在程序中查找其上游调用,最后遍历选取该系统调用的参数,如果上游调用的结果或其结果经过计算后作为了当前参数,那么将上游调用作为结果节点、当前调用作为参数节点加入依赖图,并在这两个节点之间建立一条边,从而得到依赖图,所述依赖图为由顶点的有穷集合和顶点之间边的集合组成的图G(V,E),其中V是图G中顶点的集合,E是图G中边的集合,顶点集合V分为结果节点和参数节点,分别表示系统调用的返回值和参数,如果两个节点含有显式依赖关系则那么这两个节点之间存在一条边。3.根据权利要求2所述的用于可信操作系统内核模糊测试的种子生成方法,其特征在于,步骤1)中获取各个系统调用之间的显式依赖关系的步骤包括:针对图G(V,E)中的每一个待检测的系统调用,首先找到其在图G(V,E)中对应的参数节点,然后查找所有与该参数节点存在边的结果节点,结果节点所表示的系统调用为与待检测系统调用存在显式依赖关系的调用,最终得到所有的系统调用之间的显式依赖关系。4.根据权利要求1所述的用于可信操作系统内核模糊测试的种子生成方法,其特征在于,步骤1)中进行控制流分析获取各个系统调用之间的隐式依赖关系的步骤包括:1.1)对系统调用文件L通过词法分析、语法分析最终生成一个抽象语法树;1.2)基于抽象语法树获取系统调用之间的隐式依赖关系。5.根据权利要求4所述的用于可信操作系统内核模糊测试的种子生成方法,其特征在于,步骤1.1)包括:1.1.1)读取系统调用文件L并顺序扫描系统调用文件L中的系统调用,将系统调用分割成一个个的词,所述词是源文件中不可再进一步分割的一串字符;...
【专利技术属性】
技术研发人员:黄辰林,丁滟,董攀,谭霜,蹇松雷,任怡,李宝,谭郁松,余杰,马俊,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。