building fault models for microcontrollers
play

Building fault models for microcontrollers Albert Spruyt - PowerPoint PPT Presentation

Building fault models for microcontrollers Albert Spruyt aspruyt@os3.nl University of Amsterdam July 5, 2012 Introduction Goal: Create a method to model the effects of voltage glitches on microcontrollers. Voltage glitching: Introduction


  1. Building fault models for microcontrollers Albert Spruyt aspruyt@os3.nl University of Amsterdam July 5, 2012

  2. Introduction Goal: Create a method to model the effects of voltage glitches on microcontrollers. Voltage glitching: Introduction of faults by controlling voltages. Talk will focus on results instead of methodology.

  3. Applications Control over running code: • Bypassing PIN/password protection • Key retrieval • Extraction of firmware • Retrieval of user data for evidence

  4. Investigation process Figure: Investigation process 1 1 Source: Dr. M. Worring

  5. Setup Figure: Setup schematic

  6. Target Atmel XMEGA64A3 • 8-bit data path • RISC architecture • Harvard architecture • Two stage pipeline Figure: XMEGA A3 a • Clock speed of up to 32 Mhz a Source: mcuzone.com

  7. Timing profile Figure: Independent glitch profile.(Red: glitch signal Blue: Vcc)

  8. Instrumentation • Initialize peripherals/variables • Set trigger • Critical section/test • Clear trigger • Send state: • General purpose registers • Status register • Stack pointer • Memory

  9. Instruction/glitch timing Figure: Glitch timing and instruction execution

  10. Instructions • ALU operations • Flow control • Load and store

  11. Results: ALU Operations Not executed Corrupted registers • Different registers • Lower registers Registers initialized to zero High chance of a zero result

  12. Results: Flow control Not executed Unexpected branches To different location • Jump is smaller • Always forwards

  13. Results: Load and store Not executed Incorrect address • Lower address • Sometimes not from SRAM Memory initialized to zero

  14. Fault model Glitches are more likely to: • Affect the fetch stage • Jump forward • Use a lower register • Use lower memory Figure: Multiply instruction address encoding • Transition 1 bits to 0

  15. Attack model • Do not execute Example: instructions hash = sha1Hash(password); • Jump to a different if(memcmp(hash,correct,20)==0) location sendFirmware(); • Corrupt calculations else • Load/store incorrect error("incorrectpassword"); values

  16. Conclusion • Create a method for building fault models • Method is described in paper • XMEGA fault model

  17. Questions? ?

  18. References [1] J. Balasch, B. Gierlichs, and I. Verbauwhede. “An In-depth and Black-box Characterization of the Effects of Clock Glitches on 8-bit MCUs”. In: Fault Diagnosis and Tolerance in Cryptography (FDTC), 2011 Workshop on . IEEE. 2011, pp. 105–114. [2] I. Kizhvatov. “Side channel analysis of AVR XMEGA crypto engine”. In: Proceedings of the 4th Workshop on Embedded Systems Security . ACM. 2009, p. 8.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend