[发明专利]一种挖掘Windows内核API漏洞的模糊测试方法有效
| 申请号: | 201910595705.5 | 申请日: | 2019-07-03 |
| 公开(公告)号: | CN110362485B | 公开(公告)日: | 2022-12-06 |
| 发明(设计)人: | 熊文彬;范渊 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
| 代理公司: | 杭州赛科专利代理事务所(普通合伙) 33230 | 代理人: | 郭薇;冯年群 |
| 地址: | 310051 浙江省*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 挖掘 windows 内核 api 漏洞 模糊 测试 方法 | ||
1.一种挖掘Windows内核API漏洞的模糊测试方法,其特征在于:所述方法包括以下步骤:
步骤1:获得1个或多个已知样本,对所述已知样本进行突变操作;突变操作包括以下步骤:
步骤1.1:定义API模板信息;
步骤1.2:启动,对模板信息进行扫描,并把API信息根据返回数据类型的不同进行分类存储到对应的API列表;
步骤1.3:对待突变样本中的数据进行解析,获取每个API调用的若干单元;
步骤1.4:对解析后的样本的单元中每一个元素进行突变;
步骤1.5:判断参数类型,若所需参数需要调用返回类型与所需参数类型一致的API生成,则选择对应的API插入样本,重复步骤1.5,否则直接生成参数,进行下一步;
步骤1.6:若参数具有约束条件,则遵循约束条件生成参数,否则直接生成参数;
步骤1.7:输出突变结果到样本文件;
步骤2:获得突变样本队列,所述突变样本队列中有N个突变样本,令n=1;
步骤3:对第n个突变样本执行测试,获取突变样本执行路径位图;
步骤4:若测试进程崩溃,则基于对应的执行路径位图判断是否为新崩溃样本,若是,则保存当前突变样本,否则,丢弃样本;n=n+1,若n≤N,返回步骤3,否则,进行步骤6;
若测试进程未崩溃,直接进行下一步;
步骤5:根据突变样本执行路径位图判断突变样本是否有价值,若有,则将突变样本加入有效样本队列,否则丢弃样本;n=n+1,若n≤N,返回步骤3,否则,进行步骤6;
步骤6:若有效样本队列中不为空,则取出有效样本队列中的突变样本并进行突变操作,返回步骤2,否则,返回步骤1。
2.根据权利要求1所述的一种挖掘Windows内核API漏洞的模糊测试方法,其特征在于:所述步骤1.1中,API模板信息包括API中每个参数的参数类型及参数的个数。
3.根据权利要求1所述的一种挖掘Windows内核API漏洞的模糊测试方法,其特征在于:所述步骤1.4中,突变包括生成并插入新API调用、改变API参数、与其他样本的API调用进行组合及删除API调用。
4.根据权利要求1所述的一种挖掘Windows内核API漏洞的模糊测试方法,其特征在于:所述步骤3中,基于Intel-pt获取突变样本执行路径位图。
5.根据权利要求1所述的一种挖掘Windows内核API漏洞的模糊测试方法,其特征在于:所述步骤4中,以是否执行KeBugCheckEx为标准,对测试内核崩溃进行监控。
6.根据权利要求5所述的一种挖掘Windows内核API漏洞的模糊测试方法,其特征在于:所述步骤4中,在Windows内核中开启内核模块调试单元。
7.根据权利要求1所述的一种挖掘Windows内核API漏洞的模糊测试方法,其特征在于:所述步骤5中,有价值的突变样本是指在执行的过程中能触发新的路径的突变样本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910595705.5/1.html,转载请声明来源钻瓜专利网。





