小
型 微 型 计 算 机 系 统
Journal of Chinese Computer Systems
2019
年
9
月 第
9
期
Vol. 40 No. 9 2019
收
稿日期
: 2019-03-01
收修改稿日期
: 2019-04-09
基金项目
:
国家自然科学基金联合基金项目
( U1736209)
资助
.
作者简介
:
李 贺
,
男
,
1989
年生
,
硕士研究生
,
研究方向为系统安全
;
张 超
(
通讯作者
)
,
男
,1986
年
生
,
博士
,
副教授
,CCF
会员
,
研究方向为软件与系统安全
、
物联网
与区块链应用安全
、
软件分析技术
、AI
与安全
;
杨 鑫
,
男
,1991
年生
,
硕士研究生
,
研究方向为系统安全
;
朱俊虎
,
男
,1974
年生
,
博士
,
教授
,
研究
方向为网络安全
.
操作系统内核模糊测试技术综述
李 贺
1,2
,
张 超
2
,
杨 鑫
1,2
,
朱
俊虎
1
1
(
数
学工程与先进计算国家重点实验室
,
郑州
450002)
2
(
清
华大学 网络科学与网络空间研究院
,
北京
100083)
E-mail: chaoz@ tsinghua . edu. cn
摘 要
:
模糊测试作为一种高效的漏洞挖掘方法
,
在操作系统内核安全领域得到了广泛应用
.
内
核模糊测试的应用促进了操作
系统内核和驱动程序安全防护水平的显著提升
.
目前
,
针对不同平台上操作系统使用模糊测试技术进行漏洞挖掘已经成为研究
热点
.
文章对现有的内核模糊测试方法进行研究
,
综述了内核模糊测试发展情况和技术思想
,
并尝试对内核模糊测试进行分类
,
总结了近年来内核模糊测试中使用的新技术
.
最后讨论了目前研究中的问题
,
并对内核模糊测试未来发展趋势进行了展望
.
关 键 词
:
操作系统内核
;
模糊测试
;
漏洞挖掘
;
驱动程序
中图分类号
: TP309
文献标识码
: A
文 章 编 号
: 1000-1220( 2019) 09-1994-06
Survey of OS Kernel Fuzzing
LI He
1,2
,ZHANG Chao
2
,YANG Xin
1,2
,ZHU Jun-hu
1
1
( State Key Laboratory of Mathematical Engineering and Advanced Computing,Zhengzhou 450002,China)
2
( Institute for Netw ork Sciences and Cyberspace,Tsinghua University,Beijing 100083,China)
Abstract: As an efficient vulnerability discovering method,fuzzing testing has been w idely used in operating system kernel security.
Kernel fuzzing significantly improves the security of operating system kernel and driver programs. At present,the use of fuzzing tech-
niques for operating systems on different platforms for vulnerability discovering has become a research hotspot. This paper studies the
existing kernel fuzzing methods,summarizes the development of kernel fuzzing and technical ideas,and attempts to classify kernel
fuzzing. Summarizes the new technologies used in kernel fuzzing in recent years. Finally,the problems in the current research are dis-
cussed,and the future development trend of kernel fuzzing testing is prospected.
Key words: OS kernel; fuzzing; vulnerability discovering; driver
1
引 言
操作系统作为当今社会信息基础设施中最为基础的软件
设
施
,
从其诞生之初就与安全研究有着密不可分的联系
,
是软
件安全最早的研究对象之一
[1,3]
.
内核作为操作系统最重要
的
组成部分
,
其安全性一直是计算机安全研究的热点
.
随着近
年来技术的发展
,
针对
Windows
内核
、Linux
内核和
XUN
内
核等主流
PC
和服务器操作系统的漏洞挖掘研究也越来越
多
,
出现了大量研究成果
.
自
2007
年以来
,iOS
和
Android
等
移动终端系统的市场份额的不断扩大
,
针对移动终端操作系
统内核的研究也成为安全研究一个重要关注对象
.
内核漏洞有其独特的优良性质
.
首先
,
一般的操作系统平
台都有着数量巨大的用户群
,
这使得内核漏洞具有很强的通
用性
.
其次
,
操作系统内核代码极其庞大
,
拥有大量的遗留代
码和纷繁复杂的子模块
,
增加了漏洞发生的可能性
.
再次
,
由
于内核特权级高
,
内核漏洞可以实现获取内核资源的访问权
限
、
获取超级用户权限
、
关闭安全防护功能等高危攻击行为
,
并且能够为
rootkit
等后门驻留打开突破口
.
最后
,
内核重视
运行性能
,
默认情况下安全防护机制较少
.
尤其是在实际工作
中还需要维持生产环境的稳定
,
甚至需要关闭很多内核防御
机制
,
给攻击方留下了很大的可利用空间
.
模糊测试作为实践效果良好的漏洞挖掘方法
,
在内核漏
洞挖掘领域得到了广泛的应用
.
以虚拟化
、
硬件调试器
、
云计
算为代表的新技术都被应用到了内核模糊测试漏洞挖掘框架
中
,
主流操作系统都有专门针对其内核的模糊测试漏洞挖掘
工具
.
从发展历史来看
,
内核漏洞模糊测试从一开始简单的随
机生成测试例
,
发展到输入规范化
、
虚拟化运行系统
、
覆盖率
反馈
、
多系统支持
、
云平台集群化运行等诸多新特性
.
本文主要对近年来内核模糊测试的发展进行回顾
,
总结内
核模糊测试的技术特点
,
并对其面临的问题进行梳理
.
对典型
工具的技术思想进行综述
,
并专门讨论了驱动模糊测试技术
.
最后对本文进行总结
,
讨论了内核模糊测试今后的发展方向
.
2
内核模糊测试技术概述
2. 1
模
糊测试
小 型 微 型 计 算 机 系 统
2019
年