Page 115 - 《软件学报》2021年第7期
P. 115

石剑君  等:操作系统内核并发错误检测研究进展                                                         2033


                 争检测,而 DRDDR 是针对 Linux 内核的数据竞争检测.此外,操作系统内核有文件系统、驱动程序、内存管理
                 等多个模块,不同模块的代码结构设计和运行时机制差异较大.很多针对特定内核模块的方法很难用于其他模
                 块乃至整个内核的并发错误检测.如 DCUAF 方法是依据 Linux 内核驱动程序接口的并发特性而设计的检测方
                 法,是否能用于其他模块的 CUAF 检测还需要进一步加以研究.
                    4)  并发错误检测效果与速度之间的权衡
                    由于操作系统内核本身代码规模大,结构复杂,而更精确的并发错误检测方法往往带来更大的检测开销.如
                 Razzer 的检测效果虽好,但长达 7 天的分析时间开销在实际生产中是难以接受的.如何能用更低的分析开销获
                 得更好的检测效果,是研究人员设计并发错误检测方法时必须考虑的问题.

                 4.2   未来研究趋势
                    基于目前已有的研究工作,操作系统内核并发错误检测的研究还需要从以下几个方面突破.
                    1)  结合操作系统内核的特性
                    内核代码复杂性高,且有其自身的特点.但以往的研究工作更注重从并发错的角度设计检测方案,这样的方
                 法具有通用性,但针对内核的并发错误检测效果还需要提升.因此,如何从内核本身的特性入手研究针对内核并
                 发错误的检测方法是一个值得深入研究的问题,如 DCUAF 针对 Linux 内核的并发接口模型而设计.
                    2)  发掘新的内核并发错误类型
                    内核本身的复杂性导致内核中出现的并发错误也多种多样,因此,为了提出更有效的内核并发错误检测方
                 案,需要对内核中的并发错误进行仔细的研究和分类.除了传统的并发错误类型,内核可能还有其他重要的并发
                 错误.研究人员可通过发现新的并发错误类型,提出更有效的内核并发错误检测方法.如 Bai 等人提出的 DSAC
                 和 DCUAF 就是针对新的内核并发错误类型的内核并发错误检测方法.
                    3)  静态与动态相结合的并发错误检测
                    在设计内核并发错误检测方案时,低开销、低误报率和漏报率是衡量内核并发错误检测方法的重要指标.
                 静态与动态相结合的并发错误检测方法是目前提高并发错误检测有效性的有效方法之一,代表工作如将指向
                 分析等技术与模糊测试技术相结合的并发错误检测方法 Razzer.因此.如何结合静态和动态分析方法以及选择
                 哪种静态和动态方法进行结合是一个值得关注的研究问题.
                    4)  基于形式化验证方法的并发错误检测
                    近年来,形式化方法的研究取得了长足的发展,而采用形式化验证方法进行并发错误的研究也有了很多新
                 的尝试.如基于定理证明的 CertiKOS 内核验证和基于模型检验的并发错误检测 MOKERT 方法.因此,如何采用
                 更好的形式化验证方法实现操作系统内核的并发错误检测也是一个重要的研究趋势.
                    5)  其他操作系统内核的并发错误检测
                    目前,操作系统内核并发错误的研究大多针对 Linux 内核、Windows 内核,而对其他操作系统内核,如
                 Android 内核、MacOS 内核等,包括近几年很多研究人员提出的采用 Rust 语言实现比 C/C++更高效的操作系统
                 RustOS 等内核的并发错误检测研究都是值得探讨的问题.

                 5    结   语

                    并发错误,特别是操作系统内核的并发错误检测,目前已成为软件安全领域一个重要的研究课题.经过多年
                 的发展,操作系统内核并发错误检测的方法虽然从检测效果和性能上都取得了显著的进步,但如何降低误报率
                 和漏报率,降低并发错误检测的开销,仍是需要进一步深入研究的问题.
                    本文从操作系统内核并发错误的基本类型入手,总结了操作系统内核并发检测技术的最新研究进展.从静
                 态分析、动态分析、静态与动态分析相结合的分析以及形式化验证等角度总结和比较了各类检测技术的检测
                 效果.相比于普通应用程序上的并发错误检测,针对操作系统内核的并发错误检测还面临着很多挑战,未来也需
                 要更加有效的检测工具以帮助提高内核的安全可靠性.
   110   111   112   113   114   115   116   117   118   119   120