Mondriaan memory protection

Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.

Bibliographic Details
Main Author: Witchel, Emmett Jethro, 1970-
Other Authors: Krste Asanović.
Format: Thesis
Language:en_US
Published: Massachusetts Institute of Technology 2005
Subjects:
Online Access:http://hdl.handle.net/1721.1/28330
_version_ 1826197724515532800
author Witchel, Emmett Jethro, 1970-
author2 Krste Asanović.
author_facet Krste Asanović.
Witchel, Emmett Jethro, 1970-
author_sort Witchel, Emmett Jethro, 1970-
collection MIT
description Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.
first_indexed 2024-09-23T10:52:09Z
format Thesis
id mit-1721.1/28330
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T10:52:09Z
publishDate 2005
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/283302019-04-10T21:34:06Z Mondriaan memory protection MMP Witchel, Emmett Jethro, 1970- Krste Asanović. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004. Includes bibliographical references (p. 129-135). Reliability and security are quickly becoming users' biggest concern due to the increasing reliance on computers in all areas of society. Hardware-enforced, fine-grained memory protection can increase the reliability and security of computer systems, but will be adopted only if the protection mechanism does not compromise performance, and if the hardware mechanism can be used easily by existing software. Mondriaan memory protection (MMP) provides fine-grained memory protection for a linear address space, while supporting an efficient hardware implementation. MMP's use of linear addressing makes it compatible with current software programming models and program binaries, and it is also backwards compatible with current operating systems and instruction sets. MMP can be implemented efficiently because it separates protection information from program data, allowing protection information to be compressed and cached efficiently. This organization is similar to paging hardware, where the translation information for a page of data bytes is compressed to a single translation value and cached in the TLB. MMP stores protection information in tables in protected system memory, just as paging hardware stores translation information in page tables. MMP is well suited to improve the robustness of modern software. Modern software development favors modules (or plugins) as a way to structure and provide extensibility for large systems, like operating systems, web servers and web clients. Protection between modules written in unsafe languages is currently provided only by programmer convention, reducing system stability. (cont.) Device drivers, which are implemented as loadable modules, are now the most frequent source of operating system crashes (e.g., 85% of Windows XP crashes in one study [SBL03]). MMP provides a mechanism to enforce module boundaries, increasing system robustness by isolating modules from each other and making all memory sharing explicit. We implement the MMP hardware in a simulator and modify a version of the Linux 2.4.19 operating system to use it. Linux loads its device drivers as kernel module extensions, and MMP enforces the module boundaries, only allowing the device drivers access to the memory they need to function. The memory isolation provided by MMP increases Linux's resistance to programmer error, and exposed two kernel bugs in common, heavily-tested drivers. Experiments with several benchmarks where MMP was used extensively indicate the space taken by the MMP data structures is less than 11% of the memory used by the kernel, and the kernel's runtime, according to a simple performance model, increases less than 12% (relative to an unmodified kernel). by Emmett Jethro Witchel. Ph.D. 2005-09-26T19:49:35Z 2005-09-26T19:49:35Z 2004 2004 Thesis http://hdl.handle.net/1721.1/28330 55672884 en_US M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 135 p. 11365227 bytes 11382952 bytes application/pdf application/pdf application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
Witchel, Emmett Jethro, 1970-
Mondriaan memory protection
title Mondriaan memory protection
title_full Mondriaan memory protection
title_fullStr Mondriaan memory protection
title_full_unstemmed Mondriaan memory protection
title_short Mondriaan memory protection
title_sort mondriaan memory protection
topic Electrical Engineering and Computer Science.
url http://hdl.handle.net/1721.1/28330
work_keys_str_mv AT witchelemmettjethro1970 mondriaanmemoryprotection
AT witchelemmettjethro1970 mmp