Memoization attacks and copy protection in partitioned applications

C.W. O'Donnell, G.E. Suh, M. Van Dijk, S. Devadas

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

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. ©2007 IEEE.
Original languageEnglish
Title of host publicationProceedings of the 2007 IEEEWorkshop on Information Assurance, IAW'07
Pages291-301
DOIs
Publication statusPublished - 2007
Externally publishedYes
Event2007 IEEE Workshop on Information Assurance, IAW'07 - , United States
Duration: 20 Jun 200722 Jun 2007

Conference

Conference2007 IEEE Workshop on Information Assurance, IAW'07
Country/TerritoryUnited States
Period20/06/0722/06/07

Fingerprint

Dive into the research topics of 'Memoization attacks and copy protection in partitioned applications'. Together they form a unique fingerprint.

Cite this