Memoization Attacks and Copy Protection in Partitioned Applications
Author(s)
O'Donnell, Charles W.; Suh,, G. Edward; Dijk, Marten vn; Devadas, Srinivas
DownloadMIT-CSAIL-TR-2006-080.pdf (426.0Kb)
Additional downloads
Other Contributors
Computation Structures
Advisor
Srini Devadas
Metadata
Show full item recordAbstract
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.
Date issued
2006-12-08Other identifiers
MIT-CSAIL-TR-2006-080
Series/Report no.
Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory
Keywords
Security, Architecture, Trusted Execution, Security Analysis, Digital Rights Management