Minos: Architectural Support for Protecting Control Data

Jedidiah R. Crandall, S. Felix Wu, Frederic T. Chong

Research output: Contribution to journalArticlepeer-review

9 Scopus citations


We present Minos, a microarchitecture that implements Biba’s low water-mark integrity policy on individual words of data. Minos stops attacks that corrupt control data to hijack program control flow, but is orthogonal to the memory model. Control data is any data that is loaded into the program counter on control-flow transfer, or any data used to calculate such data. The key is that Minos tracks the integrity of all data, but protects control flow by checking this integrity when a program uses the data for control transfer. Existing policies, in contrast, need to differentiate between control and noncontrol data a priori, a task made impossible by coercions between pointers and other data types, such as integers in the C language. Our implementation of Minos for Red Hat Linux 6.2 on a Pentium-based emulator is a stable, usable Linux system on the network on which we are currently running a web server (http://minos.cs.ucdavis.edu). Our emulated Minos systems running Linux andWindows have stopped ten actual attacks. Extensive full-system testing and real-world attacks have given us a unique perspective on the policy tradeoffs that must be made in any system, such as Minos; this paper details and discusses these.We also present a microarchitectural implementation of Minos that achieves negligible impact on cycle time with a small investment in die area, as well as and minor changes to the Linux kernel to handle the tag bits and perform virtual memory swapping.

Original languageEnglish (US)
Pages (from-to)359-389
Number of pages31
JournalACM Transactions on Architecture and Code Optimization
Issue number4
StatePublished - 2006
Externally publishedYes


  • Buffer overflow
  • Control data
  • Security
  • Worms

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture


Dive into the research topics of 'Minos: Architectural Support for Protecting Control Data'. Together they form a unique fingerprint.

Cite this