Whats Necessary to Establish Malware Freedom Unconditionally? - - PowerPoint PPT Presentation

what s necessary to establish malware freedom
SMART_READER_LITE
LIVE PREVIEW

Whats Necessary to Establish Malware Freedom Unconditionally? - - PowerPoint PPT Presentation

Whats Necessary to Establish Malware Freedom Unconditionally? Virgil D. Gligor ECE and CyLab Carnegie Mellon University Pittsburgh, PA 15213 FCS Workshop Boston June 22, 2020 06/22/2020 1 Outline I. Background - adversary: persistent


slide-1
SLIDE 1

What’s Necessary to Establish Malware Freedom Unconditionally?

Virgil D. Gligor ECE and CyLab

Carnegie Mellon University Pittsburgh, PA 15213

FCS Workshop Boston June 22, 2020

06/22/2020 1

slide-2
SLIDE 2

Outline

06/22/2020 2

  • I. Background
  • adversary: persistent malware & its remote controller
  • malware-free state? unconditionally ?
  • a sufficient solution for the cWRAM model
  • II. What’s necessary on real systems?
  • external verifiers and challenge functions

challenge functions:

  • optimal space-time bounds (m. t)
  • unique (m, t) bounds for code
  • target claw free within (m, t) bounds
  • III. Q & A
slide-3
SLIDE 3

06/22/2020 3

I. Background

  • V. Gligor and M. Woo, “Establishing Software Root of Trust Unconditionally,”

in Proc. of NDSS, San Diego, CA. 2019. (full length paper - CyLab TR 2018 -003, Nov. 2018)

  • V. Gligor, “A Rest Stop on the Unending Road to Provable Security”

in Proc. of SPW, Cambridge University, UK, 2019 (article and transcript of discussion)

slide-4
SLIDE 4

06/22/2020 4 Memory2

NIC

Memory4

Disk controller

CPU4 CPU3 CPU2

Memory3 Memory0

CPU1

Memory1

CPU0

Baseboard controller USB controller GPU RAM

CPU

R

M Bus System

persistent malware

  • survives power cycles, trusted boots, and re-flashing
  • under security monitors & anti-malware tools
  • no observable (hyper)properties

Don’t Care

remote controller

slide-5
SLIDE 5

Adversary: persistent malware & its remote controller

06/22/2020 5

slide-6
SLIDE 6

06/22/2020 6

persistent malware can

  • extract all software secrets stored on its computer
  • modify all SW/FW; e.g., at system initialization
  • read/write all I/O channels & communicate with remote controller
  • adaptively modify programs and data & execute any function on chosen input

but

  • cannot access the processors & storage (e.g., random bits) of a connected system

remote controller can

  • exercise all attacks that implant persistent malware on remote system
  • communicate with & control persistent malware
  • use unbounded computation power: e.g., break all complexity-based crypto

but

  • cannot predict Nature’s throw of fair dice . . . or random bits of an QRNG
  • cannot modify a system’s HW
slide-7
SLIDE 7

06/22/2020 7

Malware-free states? Unconditionally?

slide-8
SLIDE 8

06/22/2020 8

Unconditional Establishment of RoT State

  • no secrets, no trusted HW modules, no bounds on remote adversary’s power
  • need only truly random bits & HW specifications

Persistent malware has no externally observable (hyper)properties

Q: How can malware-free states be established (w/o taking the system apart)? A: RoT state (“all and only chosen content”) => malware-free state RoT failure => detect malware execution or unaccounted content ` (e.g., malware caused), or both

slide-9
SLIDE 9

06/22/2020 9

v

CPU

M

Device

Initialize

External Verifier m-t optimal code

Cm,t

unique & target claw free nonce random bits

Cnonceß

t?

Cnonce(v)?

OK => RoT on malware-free

Device Specs

General Purpose Regs

processor state R

A Sufficient Solution on the cWRAM

slide-10
SLIDE 10

06/22/2020 10

  • Constants: w-bit word, up to 2 operands/instruction

instructions execute in unit time; no cycles, frequency, voltage, current, …

M M

Overview: cWRAM ISA++

  • Memory: M words
  • Processor registers: GPRs, PC, PSW, Special Processor Registers R
  • Addressing: immediate, relative, direct, indirect
  • Architecture features: caches, virtual memory, TLBs, pipelining, multi-core processors
  • Constants: w-bit word, up to 2 operands/instruction

instructions execute in unit time; no cycles, frequency, voltage, current, …

  • variable shiftr/l(Ri, Rj), variable rotater/l(Ri, Rj), . . .
  • multiplication (1 register output). . .
  • mod (aka., division-with-remainder) . . .
  • ISA: all (un)signed integer instructions
  • All Loads, Stores, Register transfers
  • All Unconditional & Conditional Branches, all branch types
  • all predicates with 1 or 2 operands
  • Halt
  • All Computation Instructions:
  • addition, subtraction, logic, shiftr/l(Ri, α), rotater/l(Ri, α), . . .
  • Memory: M words
  • Processor registers: GPRs, PC, PSW, Special Processor Registers R
  • Addressing: immediate, relative, direct, indirect
  • Architecture features: caches, virtual memory, TLBs, pipelining, multi-core processors
slide-11
SLIDE 11

06/22/2020 11

si= Σ rj(i+1)j (mod p)

j = 0 k-1 i = d

Σ +

(si vi)Ÿxi (mod p), { r0…rk-1,x } Zp

random bits $

nonce d = |v|-1

Hr0…rk-1,x(v) =

randomized polynomial family unique m-t optimal bounds on cWRAM code: m = k + 22, t = (6k - 4)6d

Hr0…rk-1,x(v) = Hd,k,x(v)

k-independent (almost) universal hash functions

(m’,t’) “<“ (m, t) => Pr [nonce, f,y : f(y) = Hd,k,x(v) | (m’,t’) ] ≤ 3

p

Ε Ε

target claw free within the m-t bounds

What is a nonce? Cm,t on cWRAM?

slide-12
SLIDE 12

06/22/2020 12

  • II. What’s necessary on real systems?

External Verifier

executes Cnonce Î {Cm,t}

  • n input v

challenge function selection: nonce untrusted measurement: system response

CPU-Memory System

trustworthy

N1

N1: existence of external verifier & challenge function N2: find a concrete space-time optimal bound: (m,t) N3: (m,t) is unique for program code N4: target claw free within (m,t)

N2 N3 N4 {Cm,t} satisfies:

slide-13
SLIDE 13

06/22/2020 13

External Observer

proof of malware freedom ?

(un)trusted? system

no challenge function

Protocols for n Detectable Properties

establish => all n systems are trusted abort => ≤ n -1 systems are untrusted

  • 1. external verifiers

& challenge functions

untrusted system 2

malware free?

untrusted system 1 system 3 untrusted

Detectable Property

slide-14
SLIDE 14

External Verifier

trustworthy malware free?

challenge function system response

trustworthy? system 1

06/22/2020 14 malware-free probability ≥ 1 - ε Unconditionally Detectable Byzantine Agreement for Broadcast with probability 1 - ε

untrusted system 2 system 3 untrusted

Legend: synchronous private channel

proof of malware freedom ?

no challenge function

Necessity

  • 1. external verifiers

& challenge functions

External Observer

(un)trusted? system

slide-15
SLIDE 15

Unconditionally Detectable Byzantine Agreement for Rational Consensus with probability 1 - ε

External Verifier

trustworthy malware free?

challenge function system response 06/22/2020 15 malware-free probability ≥ 1 - ε

untrusted system 2 system 3 untrusted

Legend: synchronous private channel

proof of malware freedom ?

no challenge function

Necessity

  • 1. external verifiers

& challenge functions

(un)trusted? system

External Observer

trustworthy? system 1

slide-16
SLIDE 16

External Verifier

trustworthy malware free?

challenge function system response 06/22/2020 16

untrusted system 2 system 3 untrusted

Legend: synchronous private channel

proof of malware freedom ?

no challenge function

Necessity

  • 1. external verifiers

& challenge functions

Traditional Consensus with crashes

(un)trusted? system trustworthy? system 1

External Observer

slide-17
SLIDE 17

06/22/2020 17

  • 2. find space-time bounds

External Verifier

trustworthy malware free

challenge function baseline Cnonce(v)

trusted system/simulator

External Verifier

trustworthy malware free?

challenge function actual result

untrusted system

Cnonce(v) = result & baseline = actual? baseline measurement = minimum amount of resources used by Cnonce to prevent malware running or hiding

const const power time Esys(Cnonce) measurement accuracy => a specific system initialization & choice of Cnonce min Esys(Cnonce) => min. space-time bounds => lower (m,t) bounds = optimal (m,t) bounds current, voltage, frequency, cc, temperature min Esys(Cnonce) <≠ optimal (m,t) bounds Esys(Cnonce) 37°C

slide-18
SLIDE 18

06/22/2020 18

  • 2. find space-time bounds

baseline measurement min Esys for single core CPUs [DeVogeleer, et al. 2017] Esys,i = (Pcpu,i + Pdrop,i + Pback) · cci · (1/(f – fk) + β). Esys(Cnonce) = Σi Esys,i = (Pcpu,i + Pback) · cci · (1/f + ε)

const

min Esys(Cnonce) => min cci & min mem size => lower (m,t) bounds = optimal (m,t) bounds

min Esys(Cnonce) <≠ optimal (m,t) bounds of Cnonce

External Verifier

trustworthy malware free

challenge function baseline Cnonce(v)

trusted system/simulator

for specific system initialization & choice of Cnonce

const ε

~mem size

const

slide-19
SLIDE 19

06/22/2020 19

  • 3. unique m-t bounds for Cm,t program code

memory space execution time

M

mem

m T

time

t

CM,t

code

Cmem,time

code

Cm,T

code

memory space execution time

T

Cm,T

code input u

m +|u|

verifier requests initialization

c) Cm,t code identity in (m,t): Cnonce code in v => Cnonce(v) is unique in (m,t), whp.

3 space-time optimal program families CM,t

b) Cm,t = second pre-image free: u’ ≠ u => Cnonce(u’) ≠ Cnonce(u), whp.

input u’ cWRAM

M +|u| t+δt

CM,t

code

δt = time to transfer M – m to/from disk T/t > 1 + δ, 0 < δ < 1; T/t > 3 in practice

malware performs its initialization

a) single choice: Cm,t; e.g., (M,t)

M – m

  • n disk
slide-20
SLIDE 20

06/22/2020 20

  • 4. target claw-free in (m,t)

Cnonce Î {Cm,t} nonce untrusted system response

r, (m,t)

persistent malware v r v f y Cnonce remote adversary

round-trip time T

nonce

Cnonce(v) = r

External Verifier

trustworthy

Cnonce Î {Cm,t} input v fi,fj Î {F}, not arbitrary

  • n any system

xi r fj xj fi poly time => hardness conjectures and/or secrets

slide-21
SLIDE 21

06/22/2020 21

  • III. Q & A
  • 1. How can we tell that the untrusted system is initialized correctly?

e.g., how are asynchronous events verifiably disabled?

  • 3. Is the energy model used realistic? Is there any advantage in using energy

measurements? If so, how are the sensors protected from manipulation?

  • 2. OK, zero false negatives cannot exist in RoT… But why are they negligible?

Sure, the cWRAM model has zero false positives for RoT… How about in real systems?

  • 4. Is this paper formal enough for a productive discussion at FCS?

(Are there any formal models of security that do not require secure initial state and implicitly persistent-malware freedom?)