Efficient, Verifiable Binary Sandboxing for a CISC Architecture

Executing untrusted code while preserving security requiresenforcement of memory and control-flow safety policies:untrusted code must be prevented from modifying memory orexecuting code except as explicitly allowed. Software-basedfault isolation (SFI) or \"sandboxing\" enforces thosepolic...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριοι συγγραφείς: McCamant, Stephen, Morrisett, Greg
Άλλοι συγγραφείς: Program Analysis
Γλώσσα:en_US
Έκδοση: 2005
Διαθέσιμο Online:http://hdl.handle.net/1721.1/30542
_version_ 1826204504425496576
author McCamant, Stephen
Morrisett, Greg
author2 Program Analysis
author_facet Program Analysis
McCamant, Stephen
Morrisett, Greg
author_sort McCamant, Stephen
collection MIT
description Executing untrusted code while preserving security requiresenforcement of memory and control-flow safety policies:untrusted code must be prevented from modifying memory orexecuting code except as explicitly allowed. Software-basedfault isolation (SFI) or \"sandboxing\" enforces thosepolicies by rewriting the untrusted code at the level ofindividual instructions. However, the original sandboxingtechnique of Wahbe et al. is applicable only to RISCarchitectures, and other previous work is either insecure,or has been not described in enough detail to giveconfidence in its security properties. We present a noveltechnique that allows sandboxing to be easily applied to aCISC architecture like the IA-32. The technique can beverified to have been applied at load time, so that neitherthe rewriting tool nor the compiler needs to be trusted. Wedescribe a prototype implementation which provides a robustsecurity guarantee, is scalable to programs of any size, andhas low runtime overheads. Further, we give amachine-checked proof that any program approved by theverification algorithm is guaranteed to respect the desiredsafety property.
first_indexed 2024-09-23T12:56:40Z
id mit-1721.1/30542
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T12:56:40Z
publishDate 2005
record_format dspace
spelling mit-1721.1/305422019-04-11T06:23:27Z Efficient, Verifiable Binary Sandboxing for a CISC Architecture McCamant, Stephen Morrisett, Greg Program Analysis Executing untrusted code while preserving security requiresenforcement of memory and control-flow safety policies:untrusted code must be prevented from modifying memory orexecuting code except as explicitly allowed. Software-basedfault isolation (SFI) or \"sandboxing\" enforces thosepolicies by rewriting the untrusted code at the level ofindividual instructions. However, the original sandboxingtechnique of Wahbe et al. is applicable only to RISCarchitectures, and other previous work is either insecure,or has been not described in enough detail to giveconfidence in its security properties. We present a noveltechnique that allows sandboxing to be easily applied to aCISC architecture like the IA-32. The technique can beverified to have been applied at load time, so that neitherthe rewriting tool nor the compiler needs to be trusted. Wedescribe a prototype implementation which provides a robustsecurity guarantee, is scalable to programs of any size, andhas low runtime overheads. Further, we give amachine-checked proof that any program approved by theverification algorithm is guaranteed to respect the desiredsafety property. 2005-12-22T02:28:49Z 2005-12-22T02:28:49Z 2005-05-02 MIT-CSAIL-TR-2005-030 MIT-LCS-TR-988 http://hdl.handle.net/1721.1/30542 en_US Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory 17 p. 29512899 bytes 1053603 bytes application/postscript application/pdf application/postscript application/pdf
spellingShingle McCamant, Stephen
Morrisett, Greg
Efficient, Verifiable Binary Sandboxing for a CISC Architecture
title Efficient, Verifiable Binary Sandboxing for a CISC Architecture
title_full Efficient, Verifiable Binary Sandboxing for a CISC Architecture
title_fullStr Efficient, Verifiable Binary Sandboxing for a CISC Architecture
title_full_unstemmed Efficient, Verifiable Binary Sandboxing for a CISC Architecture
title_short Efficient, Verifiable Binary Sandboxing for a CISC Architecture
title_sort efficient verifiable binary sandboxing for a cisc architecture
url http://hdl.handle.net/1721.1/30542
work_keys_str_mv AT mccamantstephen efficientverifiablebinarysandboxingforaciscarchitecture
AT morrisettgreg efficientverifiablebinarysandboxingforaciscarchitecture