返回
A State-Aware Fuzzing Method for Trusted Execution Environment Kernels
DOI:10.1002/smr.70085.png)
摘要
En 中文
可信执行环境(TEEs)应用广泛,其内核安全性已成为重点关注领域。模糊测试(Fuzzing)作为一种检测操作系统漏洞的强大技术,已越来越多地应用于TEEs的安全分析。然而,由于TEEs的隔离特性,传统模糊测试工具无法直接用于TEEs内核。覆盖引导的模糊测试器通常会丢弃触发新状态但覆盖相同代码的测试用例,这限制了其发现漏洞的有效性。为解决这些挑战,我们提出了一种针对TEEs内核的状态感知模糊测试方法。首先,我们开发了一种建模和追踪方法,通过状态变量值表示程序状态,克服了覆盖引导模糊测试器的局限性。随后,我们提出了一种新的通信方案,以解决由TEEs隔离引起的问题。此外,我们提出了新的种子保留和选择算法,以更好地引导模糊测试器探索漏洞。最后,我们采用N-gram模型来增强测试用例生成过程并优化框架性能。我们实现了一个名为Trusty-Statefuzz的原型,并在Fuchsia、我们自研的微内核操作系统Nebula以及OP-TEE上进行了评估。评估结果表明,Trusty-Statefuzz在检测新代码和漏洞方面均有效。Trusty-Statefuzz发现了9个未知漏洞和23个已知漏洞。此外,与当前最先进的模糊测试器Syzkaller相比,它实现了13%更高的代码覆盖率和27%更高的状态覆盖率。
Keyword:
fuzzing
kernel
N-gram
trusted execution environment
期刊
J
IF:
1.8
论文数:
69
被引数:
1.5K

