Skip to main content
Erschienen in: Journal of Cryptographic Engineering 3/2014

01.09.2014 | Special Section on Proofs 2013

Formal verification of a software countermeasure against instruction skip attacks

verfasst von: N. Moro, K. Heydemann, E. Encrenaz, B. Robisson

Erschienen in: Journal of Cryptographic Engineering | Ausgabe 3/2014

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Fault attacks against embedded circuits enabled to define many new attack paths against secure circuits. Every attack path relies on a specific fault model which defines the type of faults that the attacker can perform. On embedded processors, a fault model consisting in an assembly instruction skip can be very useful for an attacker and has been obtained by using several fault injection means. To avoid this threat, some countermeasure schemes which rely on temporal redundancy have been proposed. Nevertheless, double fault injection in a long enough time interval is practical and can bypass those countermeasure schemes. Some fine-grained countermeasure schemes have also been proposed for specific instructions. However, to the best of our knowledge, no approach that enables to secure a generic assembly program in order to make it fault-tolerant to instruction skip attacks has been formally proven yet. In this paper, we provide a fault-tolerant replacement sequence for almost all the instructions of the Thumb-2 instruction set and provide a formal verification for this fault tolerance. This simple transformation enables to add a reasonably good security level to an embedded program and makes practical fault injection attacks much harder to achieve.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
It turns out that, in the ARM calling conventions, the r12 register can be used to hold intermediate values and does not need to be saved on the stack. Thus, this register can be used, if available, as a temporary register for such replacement scenarios.
 
2
stmdb stores multiple registers into the memory and decrements the address before each access.
 
3
ldmia loads a memory segment into multiple registers and increments the address after each access.
 
4
A register is alive at a given point in an instructions sequence if there is a path to the end in which it is read before being written.
 
Literatur
1.
Zurück zum Zitat ARM: ARM Architecture Reference Manual—Thumb-2 Supplement (2005) ARM: ARM Architecture Reference Manual—Thumb-2 Supplement (2005)
2.
Zurück zum Zitat Balasch, J., Gierlichs, B., Verbauwhede, I.: An in-depth and black-box characterization of the effects of clock glitches on 8-bit MCUs. In: 2011 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2011). doi:10.1109/FDTC.2011.9 Balasch, J., Gierlichs, B., Verbauwhede, I.: An in-depth and black-box characterization of the effects of clock glitches on 8-bit MCUs. In: 2011 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2011). doi:10.​1109/​FDTC.​2011.​9
3.
4.
Zurück zum Zitat Barenghi, A., Bertoni, G.M., Breveglieri, L., Pelliccioli, M., Pelosi, G.: Injection technologies for fault attacks on microprocessors. In: Joye, M., Tunstall, M. (eds.) Fault Analysis in Cryptography, Information Security and Cryptography, pp. 275–293. Springer, Berlin (2012). doi:10.1007/978-3-642-29656-7 Barenghi, A., Bertoni, G.M., Breveglieri, L., Pelliccioli, M., Pelosi, G.: Injection technologies for fault attacks on microprocessors. In: Joye, M., Tunstall, M. (eds.) Fault Analysis in Cryptography, Information Security and Cryptography, pp. 275–293. Springer, Berlin (2012). doi:10.​1007/​978-3-642-29656-7
5.
6.
Zurück zum Zitat Barenghi, A., Breveglieri, L., Koren, I., Pelosi, G., Regazzoni, F.: Countermeasures against fault attacks on software implemented AES. In: Proceedings of the 5th Workshop on Embedded Systems Security—WESS ’10. ACM Press, New York (2010). doi:10.1145/1873548.1873555 Barenghi, A., Breveglieri, L., Koren, I., Pelosi, G., Regazzoni, F.: Countermeasures against fault attacks on software implemented AES. In: Proceedings of the 5th Workshop on Embedded Systems Security—WESS ’10. ACM Press, New York (2010). doi:10.​1145/​1873548.​1873555
7.
Zurück zum Zitat Boneh, D., DeMillo, R., Lipton, R.: On the importance of checking cryptographic protocols for faults. In: Advances in Cryptology—EUROCRYPT ’97, Lecture Notes in Computer Science, vol. 1233, pp. 37–51. Springer, Berlin (1997). doi:10.1007/3-540-69053-0_4 Boneh, D., DeMillo, R., Lipton, R.: On the importance of checking cryptographic protocols for faults. In: Advances in Cryptology—EUROCRYPT ’97, Lecture Notes in Computer Science, vol. 1233, pp. 37–51. Springer, Berlin (1997). doi:10.​1007/​3-540-69053-0_​4
8.
Zurück zum Zitat Chetali, B., Nguyen, Q.H.: Industrial use of formal methods for a high-level security evaluation. FM 2008: Formal Methods. Lecture Notes in Computer Science, vol. 5014, pp. 198–213. Springer, Berlin (2008) Chetali, B., Nguyen, Q.H.: Industrial use of formal methods for a high-level security evaluation. FM 2008: Formal Methods. Lecture Notes in Computer Science, vol. 5014, pp. 198–213. Springer, Berlin (2008)
9.
Zurück zum Zitat Christofi, M., Chetali, B., Goubin, L., Vigilant, D.: Formal verification of a CRT-RSA implementation against fault attacks. J. Cryptogr. Eng. (2013). doi:10.1007/s13389-013-0049-3 Christofi, M., Chetali, B., Goubin, L., Vigilant, D.: Formal verification of a CRT-RSA implementation against fault attacks. J. Cryptogr. Eng. (2013). doi:10.​1007/​s13389-013-0049-3
10.
Zurück zum Zitat Dehbaoui, A., Dutertre, J.M., Robisson, B., Tria, A.: Electromagnetic transient faults injection on a hardware and a software implementations of AES. In: FDTC 2012. IEEE (2012). doi:10.1109/FDTC.2012.15 Dehbaoui, A., Dutertre, J.M., Robisson, B., Tria, A.: Electromagnetic transient faults injection on a hardware and a software implementations of AES. In: FDTC 2012. IEEE (2012). doi:10.​1109/​FDTC.​2012.​15
11.
Zurück zum Zitat Fox, A., Myreen, M.: A trustworthy monadic formalization of the armv7 instruction set architecture. Interactive Theorem Proving. Lecture Notes in Computer Science, vol. 6172, pp. 243–258. Springer, Berlin (2010) Fox, A., Myreen, M.: A trustworthy monadic formalization of the armv7 instruction set architecture. Interactive Theorem Proving. Lecture Notes in Computer Science, vol. 6172, pp. 243–258. Springer, Berlin (2010)
12.
Zurück zum Zitat Guthaus, M., Ringenberg, J., Ernst, D., Austin, T., Mudge, T., Brown, R.: MiBench: a free, commercially representative embedded benchmark suite. In: Proceedings of the Fourth Annual IEEE International Workshop on Workload Characterization. WWC-4. IEEE (2001). doi:10.1109/WWC.2001.990739 Guthaus, M., Ringenberg, J., Ernst, D., Austin, T., Mudge, T., Brown, R.: MiBench: a free, commercially representative embedded benchmark suite. In: Proceedings of the Fourth Annual IEEE International Workshop on Workload Characterization. WWC-4. IEEE (2001). doi:10.​1109/​WWC.​2001.​990739
13.
Zurück zum Zitat Karaklajić, D., Schmidt, J.M., Verbauwhede, I.: Hardware Designer’s Guide to Fault Attacks. In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems (2013). doi:10.1109/TVLSI.2012.2231707 Karaklajić, D., Schmidt, J.M., Verbauwhede, I.: Hardware Designer’s Guide to Fault Attacks. In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems (2013). doi:10.​1109/​TVLSI.​2012.​2231707
14.
Zurück zum Zitat Medwed, M., Schmidt, J.M.: A generic fault countermeasure providing data and program flow integrity. In: 2008 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2008). doi:10.1109/FDTC.2008.11 Medwed, M., Schmidt, J.M.: A generic fault countermeasure providing data and program flow integrity. In: 2008 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2008). doi:10.​1109/​FDTC.​2008.​11
15.
Zurück zum Zitat Moro, N., Dehbaoui, A., Heydemann, K., Robisson, B., Encrenaz, E.: Electromagnetic fault injection: towards a fault model on a 32-bit microcontroller. In: 2013 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2013). doi:10.1109/FDTC.2013.9 Moro, N., Dehbaoui, A., Heydemann, K., Robisson, B., Encrenaz, E.: Electromagnetic fault injection: towards a fault model on a 32-bit microcontroller. In: 2013 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2013). doi:10.​1109/​FDTC.​2013.​9
16.
Zurück zum Zitat Nguyen, M.H., Robisson, B., Agoyan, M., Drach, N.: Low-cost recovery for the code integrity protection in secure embedded processors. In: 2011 IEEE International Symposium on Hardware-Oriented Security and Trust. IEEE (2011). doi:10.1109/HST.2011.5955004 Nguyen, M.H., Robisson, B., Agoyan, M., Drach, N.: Low-cost recovery for the code integrity protection in secure embedded processors. In: 2011 IEEE International Symposium on Hardware-Oriented Security and Trust. IEEE (2011). doi:10.​1109/​HST.​2011.​5955004
18.
Zurück zum Zitat Schmidt, J.M., Herbst, C.: A practical fault attack on square and multiply. In: 2008 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2008). doi:10.1109/FDTC.2008.10 Schmidt, J.M., Herbst, C.: A practical fault attack on square and multiply. In: 2008 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2008). doi:10.​1109/​FDTC.​2008.​10
19.
Zurück zum Zitat Skorobogatov, S.: Local heating attacks on Flash memory devices. In: 2009 IEEE International Workshop on Hardware-Oriented Security and Trust, pp. 1–6. IEEE (2009). doi:10.1109/HST.2009.5225028 Skorobogatov, S.: Local heating attacks on Flash memory devices. In: 2009 IEEE International Workshop on Hardware-Oriented Security and Trust, pp. 1–6. IEEE (2009). doi:10.​1109/​HST.​2009.​5225028
20.
Zurück zum Zitat Trichina, E., Korkikyan, R.: Multi fault laser attacks on protected CRT-RSA. In: 2010 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2010). doi:10.1109/FDTC.2010.14 Trichina, E., Korkikyan, R.: Multi fault laser attacks on protected CRT-RSA. In: 2010 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE (2010). doi:10.​1109/​FDTC.​2010.​14
21.
Zurück zum Zitat Yiu, J.: The Definitive Guide To The ARM Cortex-M3. Elsevier Science, London (2009) Yiu, J.: The Definitive Guide To The ARM Cortex-M3. Elsevier Science, London (2009)
22.
Zurück zum Zitat Zussa, L., Dutertre, J.M., Clédière, J., Robisson, B., Tria, A.: Investigation of timing constraints violation as a fault injection means. In: DCIS. Avignon, France (2012) Zussa, L., Dutertre, J.M., Clédière, J., Robisson, B., Tria, A.: Investigation of timing constraints violation as a fault injection means. In: DCIS. Avignon, France (2012)
Metadaten
Titel
Formal verification of a software countermeasure against instruction skip attacks
verfasst von
N. Moro
K. Heydemann
E. Encrenaz
B. Robisson
Publikationsdatum
01.09.2014
Verlag
Springer Berlin Heidelberg
Erschienen in
Journal of Cryptographic Engineering / Ausgabe 3/2014
Print ISSN: 2190-8508
Elektronische ISSN: 2190-8516
DOI
https://doi.org/10.1007/s13389-014-0077-7

Weitere Artikel der Ausgabe 3/2014

Journal of Cryptographic Engineering 3/2014 Zur Ausgabe