Application-Replay attack on java cards: when the garbage collector gets confused

  • Authors:
  • Guillaume Barbu;Philippe Hoogvorst;Guillaume Duc

  • Affiliations:
  • Département COMELEC, Institut Télécom / Télécom ParisTech, CNRS LTCI, Paris Cedex 13, France;Département COMELEC, Institut Télécom / Télécom ParisTech, CNRS LTCI, Paris Cedex 13, France;Département COMELEC, Institut Télécom / Télécom ParisTech, CNRS LTCI, Paris Cedex 13, France

  • Venue:
  • ESSoS'12 Proceedings of the 4th international conference on Engineering Secure Software and Systems
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Java Card 3.0 specifications have brought many new features in the Java Card world, amongst which a true garbage collection mechanism. In this paper, we show how one could use this specific feature to predict the references that will be assigned to object instances to be created. We also exploit this reference prediction process in a combined attack. This attack stands as a kind of "application replay" attack, taking advantage of an unspecified behavior of the Java Card Runtime Environment (JCRE) on application instance deletion. It reveals quite powerful, since it potentially permits the attacker to circumvent the application firewall: a fundamental and historical Java Card security mechanism. Finally, we point out that this breach comes from the latest specification update and more precisely from the introduction of the automatic garbage collection mechanism, which leads to a straightforward countermeasure to the exposed attack.