[发明专利]基于自动化识别驱动参数辅助内核漏洞挖掘的方法有效
申请号: | 201710195065.X | 申请日: | 2017-03-29 |
公开(公告)号: | CN107169362B | 公开(公告)日: | 2019-08-13 |
发明(设计)人: | 李隐峰;迟欣茹;冉茂锋;李苑;王雅楠;王惟一;肖志刚;吴文凯 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/30 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 自动化 识别 驱动 参数 辅助 内核 漏洞 挖掘 方法 | ||
本发明公开了一种基于自动化识别驱动参数辅助内核漏洞挖掘的方法。其实现步骤如下:(1)获取驱动文件的汇编代码和C伪代码;(2)提取汇编代码中的关键特征常量;(3)提取C伪代码中的关键特征常量;(4)对汇编代码和C伪代码两组特征常量进行有效性筛选;(5)得到并输出驱动的有效驱动功能号;(6)输入有效驱动功能号到Windows驱动漏洞挖掘工具中。本发明具有通用性好,识别覆盖面全,准确率高,效率高,且全自动化,简单易用的优点。本发明可用于Windows内核驱动漏洞的挖掘中,可以自动化识别驱动功能号。
技术领域
本发明涉及计算机技术领域,更进一步涉及软件安全技术领域中的一种基于自动化识别驱动参数的辅助内核漏洞挖掘的方法。本发明可用于对Windows系统内核驱动的漏洞挖掘。
背景技术
二进制程序逆向分析和漏洞挖掘一直是软件安全领域研究的首要和关键问题。若要对内核驱动进行漏洞挖掘,需要实现自动化调用驱动的所有功能,以便进行模糊测试来挖掘漏洞。对于Windows操作系统的系统架构而言,按照软件层次可分为两个层次,内核态与用户态。由于用户态与内核态的通信方式,是通过传入驱动设备名和驱动功能号参数来通信的。因此,对于给定的驱动,即设备名已知,若能识别驱动的功能号参数,则能通过该功能号来调用该驱动,为进一步模糊测试挖掘Windows内核驱动漏洞做准备。
目前,在二进制漏洞挖掘领域,主要是通过动态调试或静态分析来人工识别驱动功能号参数。第一种动态调试方法,是指通过断点跟踪法,双机调试驱动程序,使其中止在调用某驱动功能的语句上,然后在调试器中查看其传入参数来识别驱动的功能号参数。第二种静态分析方法,是指通过反汇编驱动程序,然后人工分析汇编代码来判断其驱动功能号。但是,动态调试方法不足之处是,需要耗费大量的人力,且代码覆盖率很低,所以很难识别出所有的驱动功能号。静态分析方法的不足之处是,也需要耗费大量的人力,而且随着软件的规模和复杂度越来越高,大大增加了人工静态分析的难度,且准确性差强人意。
国外著名安全研究团队MWR InfoSecurity在其官方网站上(https://labs.mwrinfosecurity.com/tools/win-driver-tool/)公开并开源了win_driver_plugin工具。该工具以IDA Pro软件的插件方式实现,用来辅助逆向分析Windows底层驱动的驱动功能号。该工具通过获取汇编代码结构以及分析在驱动文件里的字符串,猜测驱动设备名以及驱动功能号。但由于该工具必须以IDA Pro软件作为载体,以IDA插件的方式实现,所以需要人工参与去分析识别出来的驱动功能号的准确性,从而导致不能自动化且人为筛选误差较大,并且该工具采用的识别依据不完善,无法识别出switch跳转和隐藏运算后的驱动功能号。因此该工具实现方法存在的不足之处是,采用的识别依据不完善,无法实现自动化、准确度差且识别结果不全面。
法国研究者Jérémy Brun在Google Code这个开放的项目托管平台上(https://code.google.com/archive/p/ioctlbf/),公开并开源了工具IOCTLbf。该工具可以用来扫描Windows平台指定驱动有效的驱动功能号。该工具通过过滤和分析DeviceIoControl函数在传入不同的驱动功能号之间的状态差异性,利用Windows错误状态码来识别有效的驱动功能号。由于此工具对有效性的判断完全依赖于驱动在DeviceIoControl函数返回前必须正确设置错误标识,所以这个方法仅对严格按照Windows标准来编码的驱动有一定的识别效果。且需要人为手动指定设备类型和设备支持的一个有效的驱动功能号。更重要的是,绝大部分第三方驱动程序并不会严格遵守Windows异常错误标准来编码驱动,该工具便无法识别此类第三方驱动的有效的驱动功能号。因此,该工具实现方法存在的不足之处是,采用的识别依据不通用,无法实现自动化,且识别覆盖面不足。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710195065.X/2.html,转载请声明来源钻瓜专利网。