Title
Formal Reasoning Under Cached Address Translation
Abstract
Operating system (OS) kernels achieve isolation between user-level processes using hardware features such as multi-level page tables and translation lookaside buffers (TLBs). The TLB caches address translation, and therefore correctly controlling the TLB is a fundamental security property of OS kernels-yet all large-scale formal OS verification projects we are aware of leave the correct functionality of TLB as an assumption. In this paper, we present a verified sound abstraction of a detailed concrete model of the memory management unit (MMU) of the ARMv7-A architecture. This MMU abstraction revamps our previous address space specific MMU abstraction to include new software-visible TLB features such as caching of globally-mapped and partial translation entries in a two-stage TLB. We use this abstraction as the underlying model to develop a logic for reasoning about low-level programs in the presence of cached address translation. We extract invariants and necessary conditions for correct TLB operation that mirrors the informal reasoning of OS engineers. We systematically show how these invariants adapt to global and partial translation entries. We show that our program logic reduces to a standard logic for user-level reasoning, reduces to side-condition checks for kernel-level reasoning, and can handle typical OS kernel tasks such as context switching.
Year
DOI
Venue
2020
10.1007/s10817-019-09539-7
JOURNAL OF AUTOMATED REASONING
Keywords
DocType
Volume
TLB,Cached address translation,Program verification,Isabelle,HOL,ARM
Journal
64.0
Issue
ISSN
Citations 
SP5
0168-7433
1
PageRank 
References 
Authors
0.35
0
2
Name
Order
Citations
PageRank
Hira Taqdees Syeda110.35
Gerwin Klein2145087.47