Reversing the operating system of a Java based smart card

Guillaume Bouffard,Jean-Louis Lanet
DOI: https://doi.org/10.1007/s11416-014-0218-7
2014-07-05
Journal of Computer Virology and Hacking Techniques
Abstract:Attacks on smart cards can only be based on a black box approach where the code of cryptographic primitives and operating system are not accessible. To perform hardware or software attacks, a white box approach providing access to the binary code is more efficient. In this paper, we propose a methodology to discover the romized code whose access is protected by the virtual machine. It uses a hooked code in an indirection table. We gained access to the real processor, thus allowing us to run a shell code written in 8051 assembly language. As a result, this code has been able to dump completely the ROM of a Java Card operating system. One of the issues is the possibility to reverse the cryptographic algorithm and all the embedded countermeasures. Finally, our attack is evaluated on different cards from distinct manufacturers.
What problem does this paper attempt to address?