Linux内核驱动中漏洞检测的研究

来源 :北京工业大学 | 被引量 : 7次 | 上传用户:jeff2047
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
研究表明驱动中的漏洞是Linux内核安全的一个主要威胁,它包含多种类型的漏洞,如整数错误、内存错误和API误用等,可能引发提权、拒绝服务等高危情况。然而,一般的程序分析技术无法直接应用于Linux设备驱动的分析和漏洞检测,对检测方法也要求较高。因此,研究Linux设备驱动中的漏洞,尤其是内存错误和整数错误等类型的漏洞,具有重要意义。本文首先对Linux驱动中的主要错误类型进行分析,并对静态分析、动态分析、符号执行等技术进行了研究,提出了基于符号执行技术并融合动态分析和静态分析技术对Linux驱动进行漏洞检测的基本思路。论文主要工作如下:1.针对采用静态分析技术进行Linux内核漏洞检测误报率高的问题,本文采用了动态分析技术对静态分析结果进行二次验证,并构建了相应的检测系统;进一步提出融合符号化硬件技术,实现了方便地模拟硬件设备进而对驱动进行模拟运行。2.设计并实现了符号化设备驱动环境(SDDE),SDDE采用模拟内核提供给驱动程序的服务接口的思想,使驱动程序可以在应用层进行符号执行进而可对其进行漏洞检测,这样无需真实硬件的支持,并且具备覆盖率高、执行速度快、易于扩展等特点,并提升了检测系统的执行效率和扩展能力。3.将SDDE作用于六个不同的Linux设备驱动,检测出了6个真实的漏洞,其中3个漏洞已向驱动维护者提交补丁并被接收。实验结果证明了符号化驱动环境具备一定的漏洞检测能力,并且拥有资源消耗低、检测速度快和不依赖于硬件设备的特点。
其他文献
云计算通过IT技术的公用和高度集中,实现大规模计算资源、存储资源、数据资源的高度共享。云计算采用复杂的系统架构、外包的服务模式、多租户的共享环境以及分布式及开放性