Robert Schilling1,2, Mario Werner1, Stefan Mangard1
1Graz University of Technology, 2Know-Center GmbH
Presence of Fault Attacks Robert Schilling 1,2 , Mario Werner 1 , - - PowerPoint PPT Presentation
Securing Conditional Branches in the Presence of Fault Attacks Robert Schilling 1,2 , Mario Werner 1 , Stefan Mangard 1 1 Graz University of Technology, 2 Know-Center GmbH March 22, 2018 Overview Introduction to control-flow integrity and
1Graz University of Technology, 2Know-Center GmbH
March 22, 2018 Robert Schilling 2
conditional branches
March 22, 2018 Robert Schilling 3
PW check Continue Enter System Raise Alarm
March 22, 2018 Robert Schilling 4
π½1 π½2 π½3 π½4 π½5 π½6 π½7 π½8 π½9
π1 π2 π3 π4 π5 π6 π7 π8 π9
March 22, 2018 Robert Schilling 5
March 22, 2018 Robert Schilling 6
March 22, 2018 Robert Schilling 7
March 22, 2018 Robert Schilling 8
March 22, 2018 Robert Schilling 9
March 22, 2018 Robert Schilling 10
March 22, 2018 Robert Schilling 11
March 22, 2018 Robert Schilling 12
π½1 π½2 ππ ππππ = ππ π£π πππππ’π(ππππ) π½6 π½7 πππππ’π(ππππ) π½8 π½9
π1 π2 π3 π6
β
π6 π7 π8
β
π8 π9
ππππ = EncCmp
π4
March 22, 2018 Robert Schilling 13
March 22, 2018 Robert Schilling 14
March 22, 2018 Robert Schilling 15
March 22, 2018 Robert Schilling 16
March 22, 2018 Robert Schilling 17
cancels out
March 22, 2018 Robert Schilling 18
March 22, 2018 Robert Schilling 19
March 22, 2018 Robert Schilling 20
March 22, 2018 Robert Schilling 21
March 22, 2018 Robert Schilling 22
Frontend Source Code Binary
IR IR
IR Optimizers Instruction Selection Code Emission Instruction Scheduling
March 22, 2018 Robert Schilling 23
Frontend Source Code Binary
IR IR
IR Optimizers Instruction Selection AN Coder Lower Switch Lower Select Loop Decoupler
CFI Instrumentation
Instruction Scheduling Code Emission
March 22, 2018 Robert Schilling 24
CMP CMP CMP CMP CMP Error Error
March 22, 2018 Robert Schilling 25
Benchmark Metric CFI abs Duplication abs + / % Prototype abs + / % integer compare Size / B Runtime / c 12 20 128 967 91 355 86 617 63 215 memcmp Size / B Runtime / c 68 1689 272 300 10210 504 276 306 8905 427 bootloader1 Size / B Runtime / c 17252 51888k 17672 2.435 51888k 0.001
March 22, 2018 Robert Schilling 26
Benchmark Metric CFI abs Duplication abs + / % Prototype abs + / % integer compare Size / B Runtime / c 12 20 128 967 91 355 86 617 63 215 memcmp Size / B Runtime / c 68 1689 272 300 10210 504 276 306 8905 427 bootloader1 Size / B Runtime / c 17252 51888k 17672 2.435 51888k 0.001
March 22, 2018 Robert Schilling 27
Benchmark Metric CFI abs Duplication abs + / % Prototype abs + / % integer compare Size / B Runtime / c 12 20 128 967 91 355 86 617 63 215 memcmp Size / B Runtime / c 68 1689 272 300 10210 504 276 306 8905 427 bootloader1 Size / B Runtime / c 17252 51888k 17672 2.435 51888k 0.001
March 22, 2018 Robert Schilling 28
Benchmark Metric CFI abs Duplication abs + / % Prototype abs + / % integer compare Size / B Runtime / c 12 20 128 967 91 355 86 617 63 215 memcmp Size / B Runtime / c 68 1689 272 300 10210 504 276 306 8905 427 bootloader1 Size / B Runtime / c 17252 51888k 17672 2.435 51888k 0.001
March 22, 2018 Robert Schilling 29
Benchmark Metric CFI abs Duplication abs + / % Prototype abs + / % integer compare Size / B Runtime / c 12 20 128 967 91 355 86 617 63 215 memcmp Size / B Runtime / c 68 1689 272 300 10210 504 276 306 8905 427 bootloader1 Size / B Runtime / c 17252 51888k 17672 2.435 51888k 0.001
March 22, 2018 Robert Schilling 30
Benchmark Metric CFI abs Duplication abs + / % Prototype abs + / % integer compare Size / B Runtime / c 12 20 128 967 91 355 86 617 63 215 memcmp Size / B Runtime / c 68 1689 272 300 10210 504 276 306 8905 427 bootloader1 Size / B Runtime / c 17252 51888k 17672 2.435 51888k 0.001
1Only signature verification and all subsequent branches protected
March 22, 2018 Robert Schilling 31
March 22, 2018 Robert Schilling 32
1Graz University of Technology, 2Know-Center GmbH