TRP Launch Model in SAL

Download Report

Transcript TRP Launch Model in SAL

Measured Boot Model
Jon Millen, Joshua Guttman, John Ramsdell,
Justin Sheehy, Brian Sniffen, Lindsay Spriggs
MITRE
November, 2007
© 2007 The MITRE Corporation. All rights reserved
Boot Analysis
• Context
– Design study for trust research platform
– Use of Trusted Platform Module, domain separation VMM
• Objective
– Verify evidence of proper system initialization
2
© 2007 The MITRE Corporation. All rights reserved
Chain of Trust
• The TPM (standard v. 1.2) has Platform Configuration Registers
• Each component may measure the next (SHA-1 hash)
• Signed "TPM quote" reports PCR contents
VMM
TPM: Trusted Platform Module
PCR: Platform Configuration Register
SINIT
CRTM
TPM
BIOS
PCR 0
PCR 17
PCR 18
3
© 2007 The MITRE Corporation. All rights reserved
Modeling Idea
1
• Each component has a binary "good" state variable
good
0
– iff it has an expected (symbolic) measurement hash
• A "good" component behaves as expected for
– measurement of target component into PCR
– transfer of control to next component ("program counter" update)
• A "not-good" component is unpredictable (non-deterministic)
– It could be malicious and falsify measurements!
• TPM properties limit consequences of misbehavior
– Extend and Reset operations have access control
4
© 2007 The MITRE Corporation. All rights reserved
system = execs || goodness || main || pcr
execs
goodness
exec[CRTM]
xgood
main
pcr
good[ ]
CRTM
BIOS
pc
pcr0_val
protect_control
exec[BIOS]
xgood
cur_pcr
cur_cmd
cur_locality
target_meas
pcr17_val
pcr18_val
5
© 2007 The MITRE Corporation. All rights reserved
Specifications
•
The main objective is to show that enough good measurements imply that
the measured components are good.
•
Example spec, for VMM:
spec: CLAIM system |G(pcr17_val = SINITm AND pcr18_val = VMMm
AND pc = VMM => G(good[VMM]));
6
© 2007 The MITRE Corporation. All rights reserved
Model Checking Experience
• Started with SMV
• Tried SAL for language benefits (types, arrays)
• As models got bigger, SAL model ran much faster than SMV
– Specs take from a few seconds to a few minutes to verify
– Some style adjustments were needed
7
© 2007 The MITRE Corporation. All rights reserved