silencing hardware backdoorswaksman/pdfs/oakland2011_slides.pdf · backdoors in hardware design...

51
Silencing Hardware Backdoors Adam Waksman Simha Sethumadhavan Computer Architecture & Security Technologies Lab (CASTL) Department of Computer Science Columbia University 1

Upload: others

Post on 04-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Silencing Hardware Backdoors

Adam WaksmanSimha Sethumadhavan

Computer Architecture & Security Technologies Lab (CASTL)Department of Computer Science

Columbia University

1

Page 2: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Idea• Backdoor = Trigger + Payload

• Triggers are necessary to bypass truthful design validators• Triggers need to be predictable by attackers

• Prior solution: Detects malicious actions of Payloads• Tamper-Evident Microprocessors [Oakland 2010]• Incomplete coverage because payload space is large

• This work: Disables Triggers• Alter inputs to defeat triggers• Fairly general-purpose

• Solution approach• Set of digital trigger types is finite• Find efficient methods to disable each trigger type

Page 3: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Backdoors in Hardware Design

Untrusted Designer(Human/Insider)

Waksman et al., 2010Hicks et al., 2010 Untrusted Compiler

(Software)

Kastner et al., 2010Smith et al., 2010

Potkonjak et al., 2010Potkonjak et al., 2009

Koushanfar et al., 2007 Untrusted Fabrication

(Physical Process)

Banga et al., 2008Chakraborty et al.,

2008Agrawal et al., 2007

Lee et al., 2004Quisquater et al., 2001

Page 4: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Backdoors in Hardware Design

Untrusted Designer(Human/Insider)

Waksman et al., 2010Hicks et al., 2010 Untrusted Compiler

(Software)

Kastner et al., 2010Smith et al., 2010

Potkonjak et al., 2010Potkonjak et al., 2009

Koushanfar et al., 2007 Untrusted Fabrication

(Physical Process)

Banga et al., 2008Chakraborty et al.,

2008Agrawal et al., 2007

Lee et al., 2004Quisquater et al., 2001

Page 5: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Solution: Obfuscation of Inputs

Inputs

Backdoor = Trigger + Payload

HARDWARE MODULE

Outputs

Hides Triggers

Deliver Payload

Page 6: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Solution: Obfuscation of Inputs

Inputs

Backdoor = Trigger + Payload

HARDWARE MODULE

Outputs

Hides Triggers

Correct Op

EncryptorModule(trusted)

DecryptorModule(trusted)

Obfuscates Trigger

Page 7: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Outline• Overview

• Framework for solving the backdoor problem

• Solutions and their theoretical strengths• Power Resets

• Encrypted Computation

• Reordering

• “Catch all”

• Practical applicability • OpenSPARC case study

• Performance Impacts

• Open problems

Page 8: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Hardware Design

• A design is a connected set of modules

• Modules connect to each other through interfaces

• In the picture above, each box is a module

Page 9: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Taxonomy of Interfaces

Global

OutputsHARDWARE

MODULE

Page 10: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Taxonomy of Interfaces

Global

ControlOutputs

HARDWARE MODULE

Page 11: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Taxonomy of Interfaces

Global

Control

DataOutputs

HARDWARE MODULE

Page 12: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Taxonomy of Interfaces

Global

Control

Data

Test

OutputsHARDWARE

MODULE

Page 13: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Three Kinds of Backdoor Triggers

Global

Control

Data

Outputs

Global

HARDWARE MODULE

Page 14: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Three Kinds of Backdoor Triggers

Global

Control

Data

Outputs

Global

Control

HARDWARE MODULE

Page 15: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Three Kinds of Backdoor Triggers

Global

Control

Data

Outputs

Global

Control

Data

HARDWARE MODULE

Page 16: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Three Interfaces, Three Triggers

Global Ticking Timebombs

Control

Data

Cheatcodes•Single-shot•Sequence

Cheatcodes•Single-shot•Sequence

Page 17: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

InstructionDecoder

clk/rst

Jump/Branch Etc.

Instr. Type/immediate

JTag

Outputs(ops, registers,

stall signals, etc.)

Control and dataprocessing logic

Trigger #1: Ticking Timebomb

• After a fixed time, functionality changes

Page 18: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Trigger #1: Ticking Timebomb

Page 19: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

InstructionDecoder

Outputs(ops, registers,

stall signals, etc.)

Control and dataprocessing logic

Trigger #2: Single-Shot Cheat Code

• A special value turns on malicious functionality• Example: 0xcafebeef

0xabababab f(0xabababab)0xcafebeef Private Data

clk/rst

Jump/Branch Etc.

Instr. Type/immediate

JTag

Page 20: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Trigger #2: Single-Shot Cheat Code

• A special value turns on malicious functionality• Example: 0xcafebeef

Page 21: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

InstructionDecoder

Outputs(ops, registers,

stall signals, etc.)0xC0xA

0xF 0xE

0xB

0xE

0xE

0xF

Control and dataprocessing logic

Trigger #3: Sequence Cheat Code

• A set of bits, events, or signals cause malicious

functionality to turn on• Example: c, a, f, e, b, e, e, f

clk/rst

Jump/Branch Etc.

Instr. Type/immediate

JTag

Page 22: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Trigger #3: Sequence Cheat Code

• A set of bits, events, or signals cause malicious

functionality to turn on• Example: c, a, f, e, b, e, e, f

• Order and timing can vary

InstructionDecoder

Outputs(ops, registers,

stall signals, etc.)0xC0xA

0xF 0xE

0xB

0xE

0xE

0xF

Control and dataprocessing logic

clk/rst

Jump/Branch Etc.

Instr. Type/immediate

JTag

Page 23: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Trigger #3: Sequence Cheat Code

• A set of bits, events, or signals cause malicious

functionality to turn on• Example: c, a, f, e, b, e, e, f

• Order and timing can vary• Taxonomy is complete

InstructionDecoder

Outputs(ops, registers,

stall signals, etc.)0xC0xA

0xF 0xE

0xB

0xE

0xE

0xF

Control and dataprocessing logic

clk/rst

Jump/Branch Etc.

Instr. Type/immediate

JTag

Page 24: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Outline

• Overview• Framework for solving the backdoor problem• Solutions and their theoretical strengths

• Power Resets• Encrypted Computation• Reordering• “Catch all”

• Practical applicability • OpenSPARC case study• Performance Impacts

• Open problems

Page 25: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Solution: Obfuscation of Inputs

Inputs

Backdoor = Trigger + Payload

HARDWARE MODULE

Outputs

Hides Triggers

Correct Op

EncryptorModule(trusted)

DecryptorModule(trusted)

Obfuscates Trigger

Page 26: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Three Solutions For Three Triggers

• Goal: Obfuscate information coming into each interface

• Ticking timebombs• Periodically reset the power

• Single-shot Cheatcodes

• Encrypt data values

• Sequence Cheatcodes• Reorder events or insert dummy events

Page 27: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Power Resets

•Power to modules is reset periodically• Time period = N – K cycles

• N = Validation epoch

• K = Time to restart module operation

•Forward progress guarantee• Architectural state must be saved and restored

• Microarchitectural state can be discarded (low cost)• e.g., branch predictors, pipeline state etc.,

Page 28: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Power Resets: Security Analysis

Can trigger be stored to architectural state and restored later?

•No: Unit validation tests prevent this

•Reasons for trusting validation epoch• Large validation teams

• Organized hierarchically

Can trigger be stored in non-volatile state internal to an unit?

•Maybe, but non-volatile state can be detected• Details in the paper

28

Page 29: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Data Obfuscation

MemoryController

S

5

7

E D

?

?

5

7

Page 30: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Data Obfuscation

• Homomorphic computation (Gentry 2009)• Data is operated on while encrypted

MemoryController

S

5

7

E D

?

?

5

7

Page 31: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Data Obfuscation: Simple Case

Non-ComputationalCase

Router, Interconnect, Memory,Cache, Comparator, Buffer,

Register, Table, etc.

Page 32: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Data Obfuscation: Simple Case

Non-ComputationalCase

Router, Interconnect, Memory,Cache, Comparator, Buffer,

Register, Table, etc.

XOR XOR

Page 33: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Data Obfuscation: Simple Case

Non-ComputationalCase

Router, Interconnect, Memory,Cache, Comparator, Buffer,

Register, Table, etc.

XOR XOR

MemoryController

Store 5 to address 7

Page 34: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Data Obfuscation: Simple Case

Non-ComputationalCase

Router, Interconnect, Memory,Cache, Comparator, Buffer,

Register, Table, etc.

XOR XOR

MemoryController

S

5

7

E D

8

4

5

7

Page 35: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Data Obfuscation: Complex Case

ComputationalCase

ALUs, FGUs, decoders,custom logic, etc.

F G

Page 36: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Data Obfuscation: Complex Case

ComputationalCase

ALUs, FGUs, decoders,custom logic, etc.

F G

Page 37: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Sequence Breaking• Prevent sequences from being predictable by the user

• Pseudorandom reordering of events

Reorder Reorder

New Module

Page 38: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Sequence Breaking• Prevent sequences from being predictable by the user

• Pseudorandom reordering of events

Reorder ReorderABC AB C ABC

New Module

Page 39: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Sequence Breaking

• Prevent sequences from being predictable by the user• Insert events when correctness conditions prevent reordering

Insertion FilteringABC ABCABC ABCDD

New Module

Page 40: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Sequence Breaking

• Works for finite sets (not just ordered sequences)Set is large enough for attacker to use Set is large enough for validation

engineer to catch

(details in the paper)

Encryptor DecryptorABC

ABC

• Prevent sequences from being predictable by the user• Insert events when correctness conditions prevents reordering

New Module

Page 41: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Catch all: Duplication

• However, duplication is prohibitively expensive

• Non-recurring design, verification costs due to duplication

• Recurring power and energy costs

Unit A Unit A’

Inputs

Trusted Output Checker(XOR gates)

Page 42: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Outline

• Overview• Framework for solving the backdoor problem• Solutions and their theoretical strengths

• Power Resets• Encrypted Computation• Reordering• “Catch all”

• Practical applicability • OpenSPARC case study• Performance Impacts

• Open problems

Page 43: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

OpenSPARC Microprocessor Case Study

• Methodology• Manual analysis of modules in the design• Identified digital-only modules (nearly all)

• Power reset protection against ticking timebombs• Can be applied, can piggyback on power gating support• No non-volatile memories

• Obfuscation protection against single-shot cheatcodes• Data: > 3/4ths do not require non-trivial support• Control: Interfaces small enough to not be vulnerable

• Reordering protection against sequence cheatcodes• Must ensure that reordering does not violate memory

reordering rules with respect to coherence and consistency• Most units, however, do not have these requirements

43

Page 44: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Performance Impacts

• OpenSPARC T2 microprocessor• Zesto X86 simulator

• Performance cost of all methods is < 1% on average• Precise breakdowns in the paper

0.9%

Page 45: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Outline

• Overview• Framework for solving the backdoor problem• Solutions and their theoretical strengths

• Power Resets• Encrypted Computation• Reordering• “Catch all”

• Practical applicability • OpenSPARC case study• Performance Impacts

• Open problems

Page 46: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

• Randomized triggers• Determine the level of threat from randomized backdoors

• RNGs, other true sources of randomness• Uncontrolled payloads at uncontrolled times

Open Problems

Page 47: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

• Randomized triggers• Determine the level of threat from randomized backdoors

• RNGs, other true sources of randomness• Uncontrolled payloads at uncontrolled times

• Secure usage of non-volatile memory technologies• Incorporate non-volatile memory in a trusted way

• Improvements to and increased use of Flash• PCM and other new technologies

Open Problems

Page 48: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Open Problems

• Secure design of performance counters• Provide information to users in a trusted way

• Performance counters are increasingly used• Directly supply trigger-type information

Page 49: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Open Problems

• Secure design of performance counters• Provide information to users in a trusted way

• Performance counters are increasingly used• Directly supply trigger-type information

• More efficient homomorphic functions• Efficient obfuscation for computational units

• Units classified by type• Formal understanding of costs

Page 50: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Open Problems

• Secure design of performance counters• Provide information to users in a trusted way

• Performance counters are increasingly used• Directly supply trigger-type information

• More efficient homomorphic functions• Efficient obfuscation for computational units

• Units classified by type• Formal understanding of costs

• Automated implementation of backdoor protection• Compiler and/or language additions

• Tools for designers• Simple language constructs for HDLs

Page 51: Silencing Hardware Backdoorswaksman/PDFs/oakland2011_slides.pdf · Backdoors in Hardware Design Untrusted Designer (Human/Insider) Waksman et al., 2010 Hicks et al., 2010 Untrusted

Summary

• Prevent the triggering of hidden backdoors• Hardware-only solution

• Low performance impact• Low power/area overhead

• Prototyping required

• Revealed new open problems• Challenges for processors/embedded systems• Linguistic challenges

• Vastly raises the bar against hardware backdoors

Thank You! Questions?

Trigger