基于 ARM 指针认证在商用操作系统内核中实现控制流完整性
密码学与安全
2021-12-15 v1 操作系统
摘要
本文提出一种名为 PAL 的、基于硬件的内核内控制流完整性(CFI)保护方案,其利用 ARM 的指针认证(PA)。相较于 iOS 等商用最先进的基于 PA 的 CFI,它具备三个重要优势:1)通过自动化精炼技术提升 CFI 精度;2)解决 PA 在内核使用中的后见之明问题,如抢占式劫持与暴力破解攻击;3)通过事后验证确保算法或实现的正确性。PAL 以操作系统无关的方式实现这些目标,因此可应用于 Linux 和 FreeBSD 等商用操作系统。CFI 保护的精度可被调整以在用户选择加入时以最小工程代价换取更好性能或更强安全性。我们的评估显示 PAL 带来可忽略的性能开销:例如,在最新 Mac mini(M1)上 Apache 基准开销 <1%,Linux perf 基准开销 3~5%。我们的事后验证方法帮助我们确保了内核内安全使用 PA 所需的安全不变量,其亦揭示了 iOS 内核上的新攻击向量。PAL 及受 CFI 保护的内核将开源。
引用
@article{arxiv.2112.07213,
title = {In-Kernel Control-Flow Integrity on Commodity OSes using ARM Pointer Authentication},
author = {Sungbae Yoo and Jinbum Park and Seolheui Kim and Yeji Kim and Taesoo Kim},
journal= {arXiv preprint arXiv:2112.07213},
year = {2021}
}