ClkScrew Aaron Zhang Outline Introduction to DVFS and background - - PowerPoint PPT Presentation

clkscrew
SMART_READER_LITE
LIVE PREVIEW

ClkScrew Aaron Zhang Outline Introduction to DVFS and background - - PowerPoint PPT Presentation

ClkScrew Aaron Zhang Outline Introduction to DVFS and background information. What makes CLKSCREW unique? Challenges to CLKSCREW Attacks and Results Conclusion Voltage Energy + = Usage Frequency HARDWARE DVFS (Dynamic


slide-1
SLIDE 1

ClkScrew

Aaron Zhang

slide-2
SLIDE 2

Outline

  • Introduction to DVFS and background information.
  • What makes CLKSCREW unique?
  • Challenges to CLKSCREW
  • Attacks and Results
  • Conclusion
slide-3
SLIDE 3

Voltage Frequency + = Energy Usage

slide-4
SLIDE 4

HARDWARE SOFTWARE

DVFS (Dynamic Voltage and Frequency Scaling)

slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7

Outline

  • Introduction to DVFS and background information.
  • What makes CLKSCREW unique?
  • Challenges to CLKSCREW
  • Attacks and Results
  • Conclusion
slide-8
SLIDE 8
slide-9
SLIDE 9

FLIP FLOP FLIP FLOP

1 1 1

slide-10
SLIDE 10

FLIP FLOP FLIP FLOP

1 Less time for number to go through Flip-Flop

slide-11
SLIDE 11

TRUSTZONE NON- TRUSTZONE

DVFS

slide-12
SLIDE 12
  • 1. Clear Residual States
  • 2. Profile for Anchor
  • 3. Pre-fault Delaying
  • 4. Deliver the fault.

Steps

slide-13
SLIDE 13

Outline

  • Introduction to DVFS and background information.
  • What makes CLKSCREW unique?
  • Challenges to CLKSCREW
  • Attacks and Results
  • Conclusion
slide-14
SLIDE 14

Do phones allow for overclocking/ under-volting?

slide-15
SLIDE 15
slide-16
SLIDE 16

How do you make sure the flip-flops do not damage the injected code?

slide-17
SLIDE 17

CPU CORE 1 CPU CORE 2

Attacker Code Victim Thread

slide-18
SLIDE 18

How do you get the timing precise enough? How do we make sure the attack

  • ccurs where we want it to
  • ccur?
slide-19
SLIDE 19

Outline

  • Introduction to DVFS and background information.
  • What makes CLKSCREW unique?
  • Challenges to CLKSCREW
  • Attacks and Results
  • Conclusion
slide-20
SLIDE 20

TRUSTZONE NON- TRUSTZONE

DVFS

Inferring AES Keys

AES Decryption Attacking Code

slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23

TRUSTZONE NON- TRUSTZONE

DVFS

Loading Apps into Trust Zone

Attacker’s App Attacking Code

slide-24
SLIDE 24

App

1. Signature 1 2. Signature 2 3. Signature 3 4. Signature 4

  • Each App has 4 Signatures
  • One signature takes 270

Million clock cycles to validate.

  • In order for CLKSCREW to

corrupt data it needs to change just 65 thousand clock cycles within the entire process

slide-25
SLIDE 25

65000/1080000000 = 0.0000601%

slide-26
SLIDE 26

Cache Profiling

  • Pick a memory address of the area of interest
  • Run dummy instructions and time the amount it

takes for these instructions to be removed

  • Patterns for removing will tell you the pattern of

the actual code. Timing Anchor

  • Track duration of consecutive cache instructions
slide-27
SLIDE 27

One instance of Desired Fault out of 65

slide-28
SLIDE 28

Outline

  • Introduction to DVFS and background information.
  • What makes CLKSCREW unique?
  • Challenges to CLKSCREW
  • Attacks and Results
  • Conclusion
slide-29
SLIDE 29

Defenses

slide-30
SLIDE 30

Hardware Limits regarding Voltage and Frequency

  • Make it unable for users to overclock and under-

volt their phones

  • Difficulties include having to remake hardware

chips from scratch and having every phone and chipmaker adhere to regulation.

slide-31
SLIDE 31

Separate DVFS for Trustzone

  • Create a separate DVFS for Trustzone itself
  • Separate DVFS’ for cores on the same chip can

cause massive overhead.

slide-32
SLIDE 32

Randomization

  • Randomize clock cycles so that attackers do not

know what to expect.

  • Useless when run-time time-anchors are used.
slide-33
SLIDE 33

Conclusions

  • CLKSCREW is a side-channel attack that utilizes voltage and frequency
  • f devices to induce faults.
  • Exploiting faults that cannot be easily changed.