Taxi : defeating code reuse attacks with tagged memory

Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015.

Bibliographic Details
Main Author: González, Julián Armando
Other Authors: Howard E. Shrobe.
Format: Thesis
Language:eng
Published: Massachusetts Institute of Technology 2016
Subjects:
Online Access:http://hdl.handle.net/1721.1/105987
_version_ 1811082585121488896
author González, Julián Armando
author2 Howard E. Shrobe.
author_facet Howard E. Shrobe.
González, Julián Armando
author_sort González, Julián Armando
collection MIT
description Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015.
first_indexed 2024-09-23T12:05:44Z
format Thesis
id mit-1721.1/105987
institution Massachusetts Institute of Technology
language eng
last_indexed 2024-09-23T12:05:44Z
publishDate 2016
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1059872019-04-11T08:48:00Z Taxi : defeating code reuse attacks with tagged memory González, Julián Armando Howard E. Shrobe. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015. This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. Cataloged from student-submitted PDF version of thesis. Includes bibliographical references (pages 105-111). The rise of code reuse attacks has been devastating for users of languages like C and C++ that lack memory safety. We survey existing defenses to understand why none are generally applicable, focusing our attention on the Code Pointer Integrity (CPI) defense. We show that while CPI is hard to implement securely on modern architectures, it is based on the promising idea of storing metadata on memory. We also introduce Taxi (Tagged C), a set of hardware modifications that aim to prevent code reuse attacks by storing small amounts of memory metadata known as tags in hardware. Our reference implementation prevents several classes of code reuse attacks without losing compatibility with the C memory model and provides valuable insight into how tagged architectures can be used to enforce security properties on existing code. by Julián Armando González. M. Eng. 2016-12-22T15:17:34Z 2016-12-22T15:17:34Z 2015 2015 Thesis http://hdl.handle.net/1721.1/105987 965795675 eng 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 111 pages application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
González, Julián Armando
Taxi : defeating code reuse attacks with tagged memory
title Taxi : defeating code reuse attacks with tagged memory
title_full Taxi : defeating code reuse attacks with tagged memory
title_fullStr Taxi : defeating code reuse attacks with tagged memory
title_full_unstemmed Taxi : defeating code reuse attacks with tagged memory
title_short Taxi : defeating code reuse attacks with tagged memory
title_sort taxi defeating code reuse attacks with tagged memory
topic Electrical Engineering and Computer Science.
url http://hdl.handle.net/1721.1/105987
work_keys_str_mv AT gonzalezjulianarmando taxidefeatingcodereuseattackswithtaggedmemory