Temporal Consistency of Integrity-Ensuring Computations and Applications to Embedded Systems Security
Xavier Carpent Norrathep (Oak) Rattanavipanon Gene Tsudik
University of California, Irvine SRI International
Karim Eldefrawy
Temporal Consistency of Integrity-Ensuring Computations and - - PowerPoint PPT Presentation
Temporal Consistency of Integrity-Ensuring Computations and Applications to Embedded Systems Security Karim Eldefrawy Xavier Carpent Norrathep (Oak) Rattanavipanon Gene Tsudik University of California, Irvine SRI International Agenda
Temporal Consistency of Integrity-Ensuring Computations and Applications to Embedded Systems Security
Xavier Carpent Norrathep (Oak) Rattanavipanon Gene Tsudik
University of California, Irvine SRI International
Karim Eldefrawy
2 June 5, 2018 AsiaCCS'18
3 June 5, 2018 AsiaCCS'18
(MAC)
4
Integrity-ensurin g function (F)
Input
Output
June 5, 2018 AsiaCCS'18
5
Output must be temporally consistent: ❖Must faithfully reflect exact state of all of input data at some point (or interval) in time Computation on large input data: ❖Not instantaneous; input may change while computation takes place
June 5, 2018 AsiaCCS'18
6
Sender
F F
Receiver
F
F
June 5, 2018 AsiaCCS'18
Changes (red dots) in input happen in middle
7
Sender
F F
Receiver
F
F
Never existed as a whole and might be non-sensical
June 5, 2018 AsiaCCS'18
8 Especially, when performed on simple embedded (IoT) devices with safety-critical applications. Use-case: Remote Attestation Output must be temporally consistent: ❖ Must faithfully reflect exact state of all
interval) in time Atomicity of computation of F guarantees temporal consistency (assume singe CPU) Computation on large input data: ❖ Not instantaneous; input may change while computation takes place Atomic computation of F might be impractical and/or unsafe
June 5, 2018 AsiaCCS'18
9 June 5, 2018 AsiaCCS'18
in embedded devices
10
(1) Challenge (3) Response (4) Verify response and determine presence of malware
Verifier Prover
(2) Measure memory
Integrity-ensuring function: (H)MAC
June 5, 2018 AsiaCCS'18
SMART [NDSS’12,DATE’14]
micro-controller unit (MCU)
Property HW/SW Immutability ROM Exclusive Access to K MCU Access Control No Leak Static Analysis
Controlled Invocation
MCU Access Control Uninterruptibility Disabled Interrupts
11 June 5, 2018 AsiaCCS'18
SMART [NDSS’12,DATE’14]
micro-controller unit (MCU)
Property HW/SW Immutability ROM Exclusive Access to K MCU Access Control No Leak Static Analysis
Atomicity
MCU Access Control Disabled Interrupts
12
Temporal consistency is achieved via atomicity but … … Atomicity makes SMART impractical for safety-critical devices
June 5, 2018 AsiaCCS'18
Property HW/SW Immutability ROM Exclusive Access to K MCU Access Control No Leak Static Analysis
Atomicity
MCU Access Control Disabled Interrupts
SMART [NDSS’12,DATE’14]
micro-controller unit (MCU)
TrustLite [EuroSys’14]
13
Property HW/SW Immutability ROM Exclusive Access to K MPU No Leak CPU Exception Engine Controlled Invocation CPU Exception Engine + OS Secure Interrupts CPU Exception Engine
attestation
protection unit to enforce access control Temporal consistency is achieved via atomicity but … … Atomicity makes SMART impractical for safety-critical devices
June 5, 2018 AsiaCCS'18
Property HW/SW Immutability ROM Exclusive Access to K MCU Access Control No Leak Static Analysis
Atomicity
MCU Access Control Disabled Interrupts
SMART [NDSS’12,DATE’14]
micro-controller unit (MCU)
TrustLite [EuroSys’14]
14
Property HW/SW Immutability ROM Exclusive Access to K MPU No Leak CPU Exception Engine Controlled Invocation CPU Exception Engine + OS Secure Interrupts CPU Exception Engine
attestation
protection unit to enforce access control Temporal consistency is achieved via atomicity but … … Atomicity makes SMART impractical for safety-critical devices Allowing attestation to be interruptible helps with safety-critical devices but … … Temporal consistency may not be achieved in TrustLite
Our goal: resolve this conflict
June 5, 2018 AsiaCCS'18
Modeling Temporal Consistency in Remote Attestation
16
F
June 5, 2018 AsiaCCS'18
Modeling Temporal Consistency in Remote Attestation
17
F
June 5, 2018 AsiaCCS'18
Attestation Task
Modeling Temporal Consistency in Remote Attestation
write
Task A
F
June 5, 2018 AsiaCCS'18
Migratory Malware
computation of F
computation
19
R is consistent at time t and R corresponds to benign state → no malware was present at time t
throughout computation
June 5, 2018 AsiaCCS'18
20 June 5, 2018 AsiaCCS'18
June 5, 2018 AsiaCCS'18
Timelin e
June 5, 2018 AsiaCCS'18
Timelin e
June 5, 2018 AsiaCCS'18
Timelin e
June 5, 2018 AsiaCCS'18
June 5, 2018 AsiaCCS'18
26
Mechanism Migratory Malware Transient Malware No-Lock No No All-Lock Yes Yes Dec-Lock Yes Yes Inc-Lock Yes No Cpy-Lock Yes Yes
June 5, 2018 AsiaCCS'18
27 June 5, 2018 AsiaCCS'18
29
I.MX6-SabreLite ODROID-XU4
June 5, 2018 AsiaCCS'18
30
Lock, unlock and copy are at least 10 times faster than MAC
June 5, 2018 AsiaCCS'18
31
Larger block size → faster lock and unlock process
June 5, 2018 AsiaCCS'18
Mechanisms Ensuring Temporal Consistency
32
Block size = 4KB Block size = 64KB
Overhead is at most 8% Overhead becomes < 0.1%
June 5, 2018 AsiaCCS'18
cryptographic integrity-ensuring function
consistency
33 June 5, 2018 AsiaCCS'18
Contact: nrattana@uci.edu Our lab: sprout.ics.uci.edu
34 June 5, 2018 AsiaCCS'18
June 5, 2018 AsiaCCS'18
June 5, 2018 AsiaCCS'18
37
seL4 Microkernel Attestation Process (PAttest) Task 1 Task 2 Task 3 Task 4 Hardware-Enforced Secure Boot
Initialize Check for integrity and then initialize
User-space
▪ Has highest priority ▪ Has access to all memory blocks ▪ Distribute memory access capabilities (caps) during init ▪ Can change/revoke caps at run-time
June 5, 2018 AsiaCCS'18
38
Sender
F F
Receiver
F
F
June 5, 2018 AsiaCCS'18
Changes (red dots) in input happen in middle