A2:$Analog$Malicious$Hardware$ - - PowerPoint PPT Presentation

a2 analog malicious hardware
SMART_READER_LITE
LIVE PREVIEW

A2:$Analog$Malicious$Hardware$ - - PowerPoint PPT Presentation

A2:$Analog$Malicious$Hardware$ Kaiyuan$Yang,$Ma8hew$Hicks,$Qing$Dong,$Todd$Aus>n,$and$Dennis$ Sylvester$ $ University$of$Michigan$ Founda>ons$are$important$ 2$ Applica5ons) Opera5ng)System) Weakened$hardware$ Hypervisor)


slide-1
SLIDE 1

A2:$Analog$Malicious$Hardware$

Kaiyuan$Yang,$Ma8hew$Hicks,$Qing$Dong,$Todd$Aus>n,$and$Dennis$ Sylvester$ $ University$of$Michigan$

slide-2
SLIDE 2

Founda>ons$are$important$

2$

slide-3
SLIDE 3

Weakened$hardware$ weakens$the$en>re$ system$

Untrusted) Hardware) Firmware) Hypervisor) Opera5ng)System) Applica5ons)

3$

slide-4
SLIDE 4

SoIware$security$success$forces$a8ackers$to$ lower$layers$

4$

slide-5
SLIDE 5

SoIware$security$success$forces$a8ackers$to$ lower$layers$

rootkits malicious hypervisors bootkits malicious hardware

5$

slide-6
SLIDE 6

Visual)Inspec5on) Side)Channels) ) )

catches$a8acks$that$are$large$ because$they$use$addi>onal$ logic$to$hide$from$dynamic$ analysis$

Dynamic)+)Sta5c) Analysis) ) )

catches$a8acks$that$are$small$ because$they$are$always$on$

)

6$

slide-7
SLIDE 7

Challenge:$construct$an$a8ack$that$is$stealthy$ and$small$$

7$

slide-8
SLIDE 8

Challenge:$construct$an$a8ack$that$is$stealthy$ and$small$$

8$

slide-9
SLIDE 9

Two$threats,$we$focus$on$the$stage$that$restricts$ the$a8acker$the$most$

9$

Foundry$ GDSII$ BackTend$house$ netlist$

slide-10
SLIDE 10

We$leverage$analog$behavior$to$construct$an$ a8ack$that$is$stealthy$and$small$$

  • n_every(RBACE)/do/

///if(count/==/12345)/then/ //////do_attack()/ ///else/ //////count/=/count/+/1/ done/

RBACE$=$rare,$but$a8acker$controllable$event$

10$

slide-11
SLIDE 11

We$leverage$analog$behavior$to$construct$an$ a8ack$that$is$stealthy$and$small$$

  • n_every(RBACE)/do/

///if(count/==/12345)/then/ //////do_attack()/ ///else/ //////count/=/count/+/1/ done/

RBACE$=$rare,$but$a8acker$controllable$event$ RBACE)=)vic5m)wire$

11$

slide-12
SLIDE 12

An$ideal$analog$trigger$

12$

slide-13
SLIDE 13

An$ideal$analog$trigger$

13$

slide-14
SLIDE 14

An$ideal$analog$trigger$

14$

slide-15
SLIDE 15

An$ideal$analog$trigger$

15$

slide-16
SLIDE 16

Challenge:$small$capacitors$charge$quickly,$ large$capacitors$induce$current$spikes$

current$ value$ current$ charge$

16$

slide-17
SLIDE 17

Challenge:$small$capacitors$charge$quickly,$ large$capacitors$induce$current$spikes$

current$ value$ current$ charge$

17$

slide-18
SLIDE 18

Challenge:$small$capacitors$charge$quickly,$ large$capacitors$induce$current$spikes$

current$ value$ current$ charge$

18$

slide-19
SLIDE 19

Solu5on:$charge$sharing$

19$

slide-20
SLIDE 20

Crea>ng$an$analog$trigger$using$gated$charge$ sharing$

20$

VDD Cunit Cmain Victim Wire Victim Wire

Time

VDD

Cap* Voltages

Cunit Cmain

1

Victim Wire

slide-21
SLIDE 21

Crea>ng$an$analog$trigger$using$gated$charge$ sharing$

21$

Time

VDD

Victim Wire Cap. Voltages

Cunit Cmain

1

VDD Cunit Cmain Victim Wire Victim Wire

slide-22
SLIDE 22

Crea>ng$an$analog$trigger$using$gated$charge$ sharing$

22$

Time

VDD

Victim Wire Cap. Voltages

Cunit Cmain

1

VDD Cunit Cmain Victim Wire Victim Wire

slide-23
SLIDE 23

Crea>ng$an$analog$trigger$using$gated$charge$ sharing$

23$

Time

VDD

Cap* Voltages

Cunit Cmain

Victim Wire

1

slide-24
SLIDE 24

Crea>ng$a$privilege$escala>on$a8ack$

*Our$analog$trigger$is$a8ack$agnos>c$

Inverted)reset) Posi5ve)reset)

24$

slide-25
SLIDE 25

A2)

Vic5m)Wire$ A2)Trigger$

25$

slide-26
SLIDE 26

Implan>ng$A2$into$an$exis>ng$chip$layout$

A2 Trigger

20%$to$30%$

  • f$chip$area$

is$unused)

26$

slide-27
SLIDE 27

Other$challenges$in$the$paper$

  • Analog$circuit$design$process$
  • Finding$a$suitable$vic>m$wire$
  • Finding$the$flipTflop$to$a8ack$
  • Building$mul>Tstage$a8acks$
  • Wri>ng$trigger$ac>va>on$code$
  • Covertly$tes>ng$for$a8ack$success$

27$

slide-28
SLIDE 28

We$had$to$build$A2$to$know$it$worked$

Main Memory 128KB SRAM OR1200 Core

I$

Testing Structure Scan chain

IO Drivers and Pads

CLK

1.4 mm 1.5 mm 6.4 µm 2 µm

A2 Trigger

Metal 3 Metal 2 Via 28$

slide-29
SLIDE 29

We$ac>vate$A2$in$real$hardware$using$only$ user$mode$code$

29$

slide-30
SLIDE 30

A2$is$hidden$from$postTfab$tes>ng$

30$

.0002$for$divisionT heavy$benchmark$

slide-31
SLIDE 31

A8ackers$can$reliably$model$their$a8acks$

Where$is$this$in$real$hardware?$ Every$chip$is$different!$

31$

slide-32
SLIDE 32

A8ackers$can$reliably$model$their$a8acks$

The$a8ack$is$not$well$hidden$ from$dynamic$analysis$(tes>ng)$

32$

slide-33
SLIDE 33

A8ackers$can$reliably$model$their$a8acks$

The$a8ack$is$impossible$to$trigger$

33$

slide-34
SLIDE 34

A8ackers$can$reliably$model$their$a8acks$

34$

slide-35
SLIDE 35

More$experiments$in$the$paper$

  • Comparison$of$different$standard$cell$sizes$and$out$a8ack$
  • Distribu>on$of$trigger$>mes$
  • Distribu>on$of$reten>on$>mes$
  • Effect$of$voltage$on$cycles$to$trigger$
  • Effect$of$temperature$on$cycles$to$trigger$
  • Effect$of$temperature$on$reten>on$>me$
  • Power$of$benchmarks$and$a8ack$programs$

35$

slide-36
SLIDE 36

CrossTdomain$a8acks$are$stealthy$and$ controllable$

  • A2$spans$the$analog$and$digital$domains$
  • A2$is$controllable$
  • A2$is$stealthy$

– complex$and$unlikely$trigger$sequence$ – a$single$cell$

  • Currently,$only$detectable$postTfabrica>on$

36$

slide-37
SLIDE 37

detec5on)

plus$

protec5on$

We$need$to$try$something$ different:)

37$

slide-38
SLIDE 38

Fabricator) Popular$offshore$corp.$$ Interface) GDSII$ Turnaround)5me) 3$months$ Added)5me)to)project) 1$year$ Area) 1.5mm$x$1.5mm$ Core) 330um$x$550um$ Memory) 1145um$x$765um$ Process) 65nm$ Number)of)chips) 100$ Cost) $5k$to$$10k$per$1mm2$ Other)costs) packaging$

38$

Research)ar5facts:$github.com/impedimentToProgress/A2$ Me:$ImpedimentToProgress.com$ $