跳至主導覽 跳至搜尋 跳過主要內容

Minos: Architectural Support for Protecting Control Data

研究成果: Article同行評審

45   連結會在新分頁中開啟 引文 斯高帕斯(Scopus)

摘要

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.

原文English
頁(從 - 到)359-389
頁數31
期刊ACM Transactions on Architecture and Code Optimization
3
發行號4
DOIs
出版狀態Published - 2006

All Science Journal Classification (ASJC) codes

  • 軟體
  • 資訊系統
  • 硬體和架構

指紋

深入研究「Minos: Architectural Support for Protecting Control Data」主題。共同形成了獨特的指紋。

引用此