Automated Implementation of Fault Attack Countermeasures
Translated title
Automatisk Indsættelse af Fault Attack Countermeasures
Authors
Jensen, Erik Sidelmann ; Jakobsen, Dennis
Term
4. term
Education
Publication year
2016
Submitted on
2016-05-31
Pages
53
Abstract
Fejlangreb på smartkort kan få et betalingskort til at udføre uautoriserede transaktioner ved at fremkalde små, kontrollerede fejl. Der findes software-baserede modforanstaltninger, men det er tidskrævende og fejlbehæftet at indsætte dem manuelt. Denne rapport undersøger, hvad der skal til for at bygge et værktøj, der automatisk kan indsætte sådanne modforanstaltninger i Java Card-appletter (små programmer på smartkort). Værktøjet bruger analyseframeworket Soot til at danne en kaldgraf over programmet og indsætter to typer beskyttelse: branch duplication (at kopiere kritiske beslutningspunkter for at opdage eller modstå fejl) og kaldgraf-integritet (at sikre, at applettens funktionskald følger de forventede veje). Målet er at gøre det lettere for udviklere at sikre deres appletter. Rapporten beskriver de designvalg og praktiske overvejelser, der blev gjort, peger på situationer, hvor værktøjet har begrænsninger, og foreslår en løsning på en af disse begrænsninger.
Fault attacks on smart cards can trigger unauthorized credit card transactions by inducing small, controlled errors. Software countermeasures exist, but inserting them by hand is time‑consuming and error‑prone. This report examines what is needed to build a tool that automatically inserts such countermeasures into Java Card applets (the small programs running on smart cards). The tool uses the Soot analysis framework to obtain a call graph of the program and adds two protections: branch duplication (replicating critical decision points to detect or withstand faults) and call‑graph integrity (ensuring the applet’s function calls follow the expected paths). The goal is to ease the developer’s task of securing applets. The report details the design choices and practical considerations, identifies cases where the tool has limitations, and proposes a solution to one of these shortcomings.
[This abstract was generated with the help of AI]
Documents
