Trustworthy Systems

Reasoning about translation lookaside buffers


Hira Taqdees Syeda and Gerwin Klein




The main security mechanism for enforcing memory isolation in operating systems is provided by page tables. The hardware-implemented Translation Lookaside Buffer (TLB) caches these, and therefore the TLB and its consistency with memory are security critical for OS kernels, including formally verified kernels such as seL4. If performance is paramount, this consistency can be subtle to achieve; yet, all major formally verified kernels currently leave the TLB as an assumption.

In this paper, we present a formal model of the Memory Management Unit (MMU) for the ARM architecture which includes the TLB, its maintenance operations, and its derived properties. We integrate this specification into the Cambridge ARM model. We derive sufficient conditions for TLB consistency, and we abstract away the functional details of the MMU for simpler reasoning about executions in the presence of cached address translation, including complete and partial walks.

BibTeX Entry

    address          = {Maun, Botswana},
    author           = {Syeda, Hira Taqdees and Klein, Gerwin},
    booktitle        = {International Conference on Logic for Programming, Artificial Intelligence and Reasoning},
    keywords         = {ts, proofeng},
    month            = may,
    pages            = {490--508},
    paperurl         = {},
    title            = {Reasoning about Translation Lookaside Buffers},
    year             = {2017}