ACM CCS - Oct. 18, 2011
Unicorn: ¡Two-‑Factor ¡Attestation ¡for ¡ Data ¡Security ¡
- M. Mannan
Concordia University, Canada
- B. Kim, A. Ganjali & D. Lie
University of Toronto, Canada
1
Unicorn: Two-Factor Attestation for Data Security M. Mannan - - PowerPoint PPT Presentation
ACM CCS - Oct. 18, 2011 Unicorn: Two-Factor Attestation for Data Security M. Mannan Concordia University, Canada B. Kim, A. Ganjali & D. Lie University of Toronto, Canada 1 Unicorn target systems q
ACM CCS - Oct. 18, 2011
Concordia University, Canada
University of Toronto, Canada
1
2
q High ¡value ¡data ¡
q overkill ¡for ¡casual ¡Facebook ¡profile ¡
q Requires: ¡
q hardware ¡support ¡ ¡ q PSD: ¡personal ¡security ¡device ¡ q custom ¡application ¡package ¡
3
q Protect ¡entire ¡user ¡session ¡ q Not ¡limited ¡to ¡login ¡& ¡
4
q Protect ¡Unicorn ¡credentials ¡ q Less ¡reliance ¡on ¡user ¡diligence ¡
www.bank.com wwwbank.com
5
q Unicorn: ¡access ¡to ¡data ¡depends ¡on ¡
q Ideal: ¡functionality ¡tied ¡to ¡system ¡
q Use ¡security ¡token ¡
q generate ¡one ¡time ¡passwords ¡or ¡do ¡
q adversary ¡must ¡steal/clone ¡a ¡token ¡
q or: ¡hack ¡RSA ¡J ¡
6
q Use ¡trusted ¡computing ¡hardware ¡to ¡verify ¡ ¡
q compute ¡hashes ¡of ¡BIOS, ¡boot ¡loader, ¡OS, ¡… ¡ q sign ¡hashes ¡to ¡prove ¡that ¡computer ¡is ¡not ¡
running ¡unwanted ¡code ¡
[Libonati, NDSS 2011]
7
8
q Unicorn: ¡security ¡token ¡+ ¡trusted ¡
q Unicorn ¡applications ¡are ¡called ¡uApps ¡ q uApp: ¡small ¡OS ¡+ ¡one ¡application ¡ q User ¡OS: ¡open, ¡uApps: ¡closed ¡
9
q Token ¡is ¡used ¡to ¡verify ¡attestations ¡
q only ¡releases ¡authentication ¡credentials ¡if ¡
q verifies: ¡system ¡memory ¡+ ¡disk ¡image ¡
¡
q Attacker ¡must ¡ ¡ q clone ¡or ¡steal ¡the ¡token ¡ q physical ¡access ¡to ¡user’s ¡computer ¡ ¡ q assumption: ¡no ¡vulnerabilities ¡in ¡Unicorn ¡
10
PCRs, Auth AIK
q Security ¡tokens ¡currently ¡not ¡
q smartphone ¡as ¡PSD ¡
11
Verify
q Suspend, ¡save ¡user ¡OS ¡state ¡ ¡
q option ¡1: ¡reboot ¡into ¡uApp ¡ q option ¡2: ¡use ¡DRTM ¡
q User ¡OS ¡as ¡the ¡bootloader ¡
q Resume: ¡ ¡
q direct ¡transfer ¡back ¡to ¡user ¡OS ¡
Save state Hardware Reset
BIOS Boot loader uApp OS
12
q Two ¡example ¡cases ¡
q data ¡stored ¡on ¡a ¡remote ¡server ¡ q data ¡stored ¡encrypted ¡on ¡local ¡machine ¡
q Token ¡is ¡initialized ¡with ¡a ¡secret ¡key ¡
q remote ¡server ¡case: ¡signing/MAC ¡key ¡ q local ¡machine: ¡encryption ¡sub-‑key ¡
13
Nonce, PCRs Quote(Nonce, PCRs) MAC(Quote(Nonce, PCRs))
14
(MAC key)
(TPM keys)
q Encryption ¡key ¡consists ¡of ¡two ¡subkeys: ¡
q subkey ¡1: ¡on ¡smartphone ¡ q subkey ¡2: ¡sealed ¡into ¡computer’s ¡TPM ¡
Nonce, PCRs Quote(Nonce, PCRs) Subkey
15
q Extensions ¡to ¡Linux ¡2.6.34 ¡kernel ¡
q one ¡line ¡change ¡in ¡user ¡OS ¡kernel ¡
q Transfer ¡directly ¡to ¡uApp ¡OS ¡via ¡kexec ¡
q loads ¡uApp ¡kernel ¡image ¡into ¡memory ¡ q saves ¡state ¡& ¡transfer ¡control ¡to ¡uApp ¡loader ¡
q uApp ¡loader ¡based ¡on ¡tboot ¡package ¡
q sets ¡up ¡a ¡measured ¡launch ¡environment ¡(MLE) ¡ q measures ¡the ¡loaded ¡kernel ¡ q kernel ¡measures ¡ ¡the ¡disk ¡image ¡during ¡boot ¡
16
q uApp ¡image ¡should ¡be ¡small ¡
q smaller ¡attack ¡surface ¡& ¡faster ¡verification ¡ q we ¡use ¡a ¡small ¡Linux ¡distro ¡with ¡a ¡space ¡efficient ¡
file ¡system ¡(squashfs) ¡
q uApp ¡is ¡network ¡restricted ¡
q communicate ¡only ¡with ¡remote ¡server ¡
q help ¡against ¡TPM ¡relaying ¡attacks ¡
q SSL ¡cert: ¡only ¡one ¡trusted ¡CA ¡
17
q Attacker ¡relays ¡attestation ¡requests ¡
q but ¡legitimate ¡uApp ¡will ¡only ¡communicate ¡with ¡
remote ¡server ¡
18
Task Time (seconds) Suspend of user OS 11.16 uApp Loader 3.29 Kernel boot and Xserver startup 7.20 OS hash 3.85 Unicorn Total 25.50 Switching via reboot 47.70
19
q Majority ¡of ¡cost: ¡suspending ¡the ¡user ¡
q uApp ¡loader ¡is ¡slow ¡because ¡TPM ¡is ¡slow ¡
q Unicorn ¡for ¡two-‑factor ¡data ¡protection ¡ ¡
q physical ¡access ¡to ¡user ¡PC ¡& ¡compromised ¡token ¡ q for ¡users: ¡no ¡passwords ¡to ¡remember ¡or ¡judge ¡the ¡
safety ¡of ¡their ¡computing ¡environment ¡
q switching: ¡skip ¡hardware ¡reset ¡and ¡BIOS ¡ ¡
q ~45% ¡reduction ¡in ¡switching ¡time ¡vs. ¡previous ¡methods ¡
q Enable ¡“automatic” ¡security ¡
20
21