Reversing the operating system of a Java based smart card

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.

[1]  Jean-Louis Lanet,et al.  Subverting Byte Code Linker service to characterize Java Card API , 2012 .

[2]  Marc Frappier,et al.  Automatic Generation of Vulnerability Tests for the Java Card Byte Code Verifier , 2011, 2011 Conference on Network and Information Systems Security.

[3]  Francis Olivier,et al.  Electromagnetic Analysis: Concrete Results , 2001, CHES.

[4]  Marc Frappier,et al.  Detecting Vulnerabilities in Java-Card Bytecode Verifiers Using Model-Based Testing , 2013, IFM.

[5]  Jean-Jacques Quisquater,et al.  ElectroMagnetic Analysis (EMA): Measures and Counter-Measures for Smart Cards , 2001, E-smart.

[6]  Guillaume Barbu,et al.  Attacks on Java Card 3.0 Combining Fault and Logical Attacks , 2010, CARDIS.

[7]  Guillaume Barbu,et al.  On the security of Java Card platforms against hardware attacks. (De la sécurité des plateformes Java Card face aux attaques matérielles) , 2012 .

[8]  Paul C. Kocher,et al.  Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems , 1996, CRYPTO.

[9]  Dennis Vermoen MSc THESIS Reverse engineering of Java Card applets using power analysis , 2006 .

[10]  E. Poll,et al.  Transactions and non-atomic API calls in Java Card: specification ambiguity and strange implementation behaviours , 2004 .

[11]  Olivier Meynard,et al.  Characterization of the Electromagnetic Side Channel in Frequency Domain , 2010, Inscrypt.

[12]  Frédéric Valette,et al.  SCARE of the DES , 2005, ACNS.

[13]  Jean-Louis Lanet,et al.  Developing a Trojan applets in a smart card , 2010, Journal in Computer Virology.

[14]  Bharadwaj S. Amrutur,et al.  Voltage and Temperature Aware Statistical Leakage Analysis Framework Using Artificial Neural Networks , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  Jean-Louis Lanet,et al.  A Friendly Framework for Hidding fault enabled virus for Java Based Smartcard , 2012, DBSec.

[16]  M. Kuhn,et al.  The Advanced Computing Systems Association Design Principles for Tamper-resistant Smartcard Processors Design Principles for Tamper-resistant Smartcard Processors , 2022 .

[17]  Paul C. Kocher,et al.  Differential Power Analysis , 1999, CRYPTO.

[18]  Christophe Clavier,et al.  Correlation Power Analysis with a Leakage Model , 2004, CHES.

[19]  David Naccache,et al.  When Clocks Fail: On Critical Paths and Clock Faults , 2010, CARDIS.

[20]  Wieland Fischer,et al.  Fault Attacks on RSA with CRT: Concrete Results and Practical Countermeasures , 2002, CHES.

[21]  Jean-Louis Lanet,et al.  Combined Software and Hardware Attacks on the Java Card Control Flow , 2011, CARDIS.

[22]  Kaushik Roy,et al.  Analysis of SRAM and eDRAM Cache Memories Under Spatial Temperature Variations , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[23]  Karine Heydemann,et al.  Electromagnetic fault injection on microcontrollers , 2013 .

[24]  Jeffrey Fan,et al.  Leakage temperature dependency modeling in system level analysis , 2010, 2010 11th International Symposium on Quality Electronic Design (ISQED).

[25]  Michael Hutter,et al.  Optical and EM Fault-Attacks on CRT-based RSA : Concrete Results , 2007 .

[26]  Ross J. Anderson,et al.  Optical Fault Induction Attacks , 2002, CHES.

[27]  Christophe Clavier,et al.  Complete SCARE of AES-Like Block Ciphers by Chosen Plaintext Collision Power Analysis , 2013, INDOCRYPT.

[28]  Jean-Louis Lanet,et al.  A Dynamic Syntax Interpretation for Java Based Smart Card to Mitigate Logical Attacks , 2012, SNDS.

[29]  Guillaume Barbu,et al.  Application-Replay Attack on Java Cards: When the Garbage Collector Gets Confused , 2012, ESSoS.

[30]  Ieee Staff 2013 Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC) , 2013 .

[31]  2013 Workshop on Fault Diagnosis and Tolerance in Cryptography, Los Alamitos, CA, USA, August 20, 2013 , 2013, FDTC.

[32]  Guillaume Barbu,et al.  Embedded Eavesdropping on Java Card , 2012, SEC.

[33]  Guillaume Barbu,et al.  Java Card Operand Stack: Fault Attacks, Combined Attacks and Countermeasures , 2011, CARDIS.

[34]  Christophe Clavier,et al.  Reverse Engineering of a Secret AES-like Cipher by Ineffective Fault Analysis , 2013, 2013 Workshop on Fault Diagnosis and Tolerance in Cryptography.

[35]  P. Kocher,et al.  Differential power analysis, advances in cryptology-CRYPTO'99 , 1999 .

[36]  Emilie Faugeron,et al.  Manipulating the Frame Information with an Underflow Attack , 2013, CARDIS.