Reverse engineering a Java Card memory management algorithm

Smart cards are tamper resistant devices that manipulate assets in a secure way. Among the assets, one is of a particular interest the native layers. If some attacks have succeeded in getting access to the applicative layer very few of them have had access to the native layers. We propose here to us...

Full description

Saved in:
Bibliographic Details
Published inComputers & security Vol. 66; pp. 97 - 114
Main Authors Mesbah, Abdelhak, Lanet, Jean-Louis, Mezghiche, Mohamed
Format Journal Article
LanguageEnglish
Published Amsterdam Elsevier Ltd 01.05.2017
Elsevier Sequoia S.A
Elsevier
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Smart cards are tamper resistant devices that manipulate assets in a secure way. Among the assets, one is of a particular interest the native layers. If some attacks have succeeded in getting access to the applicative layer very few of them have had access to the native layers. We propose here to use applicative programs to perform data reverse engineering in order to understand the hidden algorithms that manage the memory allocation. We are then able to generate our own fake references on objects that can be manipulated by the system as legal objects. Then, we propose a new attack called auto-forges that leads the system to interpret its own data or program as valid Java meta data. This attack provides access to new memory fragments where the native layers are stored. Getting access to this asset allows us to start the reverse engineering of these native layers.
ISSN:0167-4048
1872-6208
DOI:10.1016/j.cose.2017.01.005