Memoization Attacks and Copy Protection in Partitioned Applications

Application source code protection is a major concern for software architects today. Secure platforms have been proposed that protect the secrecy of application algorithms and enforce copy protection assurances. Unfortunately, these capabilities incur a sizeable performance overhead. Partitioning an...

Full description

Bibliographic Details
Main Authors: O'Donnell, Charles W., Suh,, G. Edward, Dijk, Marten vn, Devadas, Srinivas
Other Authors: Srini Devadas
Language:en_US
Published: 2006
Subjects:
Online Access:http://hdl.handle.net/1721.1/34954
_version_ 1811083332593647616
author O'Donnell, Charles W.
Suh,, G. Edward
Dijk, Marten vn
Devadas, Srinivas
author2 Srini Devadas
author_facet Srini Devadas
O'Donnell, Charles W.
Suh,, G. Edward
Dijk, Marten vn
Devadas, Srinivas
author_sort O'Donnell, Charles W.
collection MIT
description Application source code protection is a major concern for software architects today. Secure platforms have been proposed that protect the secrecy of application algorithms and enforce copy protection assurances. Unfortunately, these capabilities incur a sizeable performance overhead. Partitioning an application into secure and insecure regions can help diminish these overheads but invalidates guarantees of code secrecy and copy protection.This work examines one of the problems of partitioning an application into public and private regions, the ability of an adversary to recreate those private regions. To our knowledge, it is the first to analyze this problem when considering application operation as a whole. Looking at the fundamentals of the issue, we analyze one of the simplest attacks possible, a ``Memoization Attack.'' We implement an efficient Memoization Attack and discuss necessary techniques that limit storage and computation consumption. Experimentation reveals that certain classes of real-world applications are vulnerable to Memoization Attacks. To protect against such an attack, we propose a set of indicator tests that enable an application designer to identify susceptible application code regions.
first_indexed 2024-09-23T12:31:23Z
id mit-1721.1/34954
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T12:31:23Z
publishDate 2006
record_format dspace
spelling mit-1721.1/349542019-04-12T08:34:44Z Memoization Attacks and Copy Protection in Partitioned Applications O'Donnell, Charles W. Suh,, G. Edward Dijk, Marten vn Devadas, Srinivas Srini Devadas Computation Structures Security Architecture Trusted Execution Security Analysis Digital Rights Management Application source code protection is a major concern for software architects today. Secure platforms have been proposed that protect the secrecy of application algorithms and enforce copy protection assurances. Unfortunately, these capabilities incur a sizeable performance overhead. Partitioning an application into secure and insecure regions can help diminish these overheads but invalidates guarantees of code secrecy and copy protection.This work examines one of the problems of partitioning an application into public and private regions, the ability of an adversary to recreate those private regions. To our knowledge, it is the first to analyze this problem when considering application operation as a whole. Looking at the fundamentals of the issue, we analyze one of the simplest attacks possible, a ``Memoization Attack.'' We implement an efficient Memoization Attack and discuss necessary techniques that limit storage and computation consumption. Experimentation reveals that certain classes of real-world applications are vulnerable to Memoization Attacks. To protect against such an attack, we propose a set of indicator tests that enable an application designer to identify susceptible application code regions. 2006-12-08T16:51:48Z 2006-12-08T16:51:48Z 2006-12-08 MIT-CSAIL-TR-2006-080 http://hdl.handle.net/1721.1/34954 en_US Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory 11 p. 436268 bytes 1481611 bytes application/pdf application/postscript application/pdf application/postscript
spellingShingle Security
Architecture
Trusted Execution
Security Analysis
Digital Rights Management
O'Donnell, Charles W.
Suh,, G. Edward
Dijk, Marten vn
Devadas, Srinivas
Memoization Attacks and Copy Protection in Partitioned Applications
title Memoization Attacks and Copy Protection in Partitioned Applications
title_full Memoization Attacks and Copy Protection in Partitioned Applications
title_fullStr Memoization Attacks and Copy Protection in Partitioned Applications
title_full_unstemmed Memoization Attacks and Copy Protection in Partitioned Applications
title_short Memoization Attacks and Copy Protection in Partitioned Applications
title_sort memoization attacks and copy protection in partitioned applications
topic Security
Architecture
Trusted Execution
Security Analysis
Digital Rights Management
url http://hdl.handle.net/1721.1/34954
work_keys_str_mv AT odonnellcharlesw memoizationattacksandcopyprotectioninpartitionedapplications
AT suhgedward memoizationattacksandcopyprotectioninpartitionedapplications
AT dijkmartenvn memoizationattacksandcopyprotectioninpartitionedapplications
AT devadassrinivas memoizationattacksandcopyprotectioninpartitionedapplications