s c a l e Marc Witteman Croatian Summer school 2017 Attack - - PowerPoint PPT Presentation

β–Ά
s c a l e
SMART_READER_LITE
LIVE PREVIEW

s c a l e Marc Witteman Croatian Summer school 2017 Attack - - PowerPoint PPT Presentation

When Hardware Attacks s c a l e Marc Witteman Croatian Summer school 2017 Attack exploitation space: time vs distance Remote key brute software protocol force relay attack side Fast Slow mitm channel Hardware attacks require:


slide-1
SLIDE 1

When Hardware Attacks scale

Marc Witteman

Croatian Summer school 2017

slide-2
SLIDE 2

Attack exploitation space: time vs distance

2

protocol software

Local Fast Slow Remote

key brute force side channel fault injection physical relay attack

Hardware attacks require:

  • hardware vulnerabilities, or
  • hardware changes to target

mitm Hardware attacks

slide-3
SLIDE 3

π‘ž = π‘œ βˆ— 𝑀 βˆ’ 𝑑𝑀 βˆ’ 𝑑𝑔

p = profit v = value n = replications cv = variable costs cf = fixed costs

Attacker business case

3

slide-4
SLIDE 4
  • 1. EMV Man-in-the-Middle

Hardware attack to bypass PIN verification of stolen payment cards

  • 2. Retail hack

Network penetration attack to retrieve cardholder credentials

  • 3. Card sharing

Relay attack to avoid paying TV subscription fees

Let’s analyze some known attacks

4

slide-5
SLIDE 5

EMV Man-in-the-Middle (1)

5

Source: https://www.cl.cam.ac.uk/research/security/banking/nopin/

slide-6
SLIDE 6

EMV Man-in-the-Middle (2)

6

slide-7
SLIDE 7

Retail hack

7

slide-8
SLIDE 8
  • Pay-TV decoders use smart cards

to control video access

  • Subscription is in smart card

Card sharing (1)

8

slide-9
SLIDE 9
  • Pay-TV decoders use smart cards

to control video access

  • Subscription is in smart card
  • Distribution of session keys avoids

need for individual subscriptions

Card sharing (2)

9

slide-10
SLIDE 10

Attack Fixed Cost Variable Cost Value Replications Profit EMV MitM € 30K € 100 € 500 100 € 10 K Retail hack € 20K € 1 € 25 10K € 220 K Card sharing € 10K € 10 € 100 1M € 90 M

Example attack business cases

10 Replications are key, but how is that bounded?

  • Application size (e.g. #potential victims)
  • Replication effort
  • Detection & mitigation

Hardware attacks require substantial replication effort Can they be scalable?

slide-11
SLIDE 11

Attack phases

Identification Exploitation What it is finding a vulnerability run on target Frequency

  • nce

repeated Speed slow fast Skill expert script-kiddy Equipment expensive cheap Location local remote

Scalable attack

Scalable attacks need software exploitation!

slide-12
SLIDE 12

Defenders method Attackers method

How to find software vulnerabilities?

12

White-Box Black-Box Source Code Review Binary Analysis Fuzzing Model Based Testing Effectiveness Most vulnerabilities are found white-box style!

slide-13
SLIDE 13

Finding vulnerabilities in source code

Software packages typically vary between 10 and 10,000 KLoC have 0.1 up to 10 vulnerabilities per KLoC οƒ  All products have software vulnerabilities Manual source code review performs at 100 LoC/hr οƒ  Finding a vulnerability in source code may take just one day 13

slide-14
SLIDE 14

Binary analysis

slide-15
SLIDE 15

Firmware structure analysis

boot loader packed loader packed main application Key block

slide-16
SLIDE 16

Disassemble

slide-17
SLIDE 17

Flow analysis

slide-18
SLIDE 18

Source: http://www.fredericb.info/2016/10/amlogic-s905-soc-bypassing-not-so.html

Design flaw in Pay-TV SoC

slide-19
SLIDE 19

Secure boot chain broken by backdoor

Attacker used Public sources Boot Loader image

Restricted

19

slide-20
SLIDE 20

Boot Loader header analysis

struct aml_img_header { // 64 bytes unsigned char magic[4];// "@AML" uint32_t total_len; uint8_t header_len; uint8_t unk_x9; uint8_t unk_xA; uint8_t unk_xB; uint32_t unk_xC; uint32_t sig_type; uint32_t sig_offset; uint32_t sig_size; uint32_t data_offset; uint32_t unk_x20; uint32_t cert_offset; uint32_t cert_size; uint32_t data_len; uint32_t unk_x30; uint32_t code_offset; uint32_t code_len; uint32_t unk_x3C; } aml_img_header_t;

20 Analysis & experimenting showed that sig_type selects different key lengths, or none!

Select Go Certificate Get key Public key Code Hash Signature Verified Sig Verify Hashed code Compare Stop

slide-21
SLIDE 21

Recent hack on WI-FI chip

Source: https://googleprojectzero.blogspot.fr/2017/04/over-air-exploiting-broadcoms-wi-fi_4.html

slide-22
SLIDE 22

Stack buffer overflow in WI-FI SoC enables remote code execution within WI-FI range

Complex multi-step attack Used public utility to do memory dump! Leveraged information from other chips Affects both iOS and Android devices 22

slide-23
SLIDE 23

Reducing risk with encrypted software

Hardware attack offers two-step alternative:

  • 1. Break software confidentiality
  • 2. White-box binary analysis exposes logical vulnerability

23

Binary analysis exposes logical vulnerability Exploitation yields runtime control Start Black-Box penetration testing exposes logical vulnerability Start Exploitation yields runtime control Hardware attack breaks software confidentiality Start Binary analysis exposes logical vulnerability Exploitation yields runtime control

Encrypted software hides binary code Black-Box penetration testing very inefficient

slide-24
SLIDE 24

Conclusions

Scalable attacks need software exploitation

  • Hardware attacks are laborious
  • Software vulnerabilities are ubiquitous
  • Software exploits are easy to reproduce

Software encryption is inevitable for security

  • Binary analysis very successful in identifying vulnerabilities
  • Increasing number of products use encrypted software

Hardware attacks are scalable when

  • Software is encrypted
  • Shallow bugs (detectable black-box style) are absent
  • Used in the identification step to extract software
  • Deep software vulnerabilities are present

24

slide-25
SLIDE 25

Riscure North America 550 Kearny St. Suite 330 San Francisco, CA 94108 +1 (650) 646 9979 inforequest@riscure.com Riscure B.V. Frontier Building, Delftechpark 49 2628 XJ Delft The Netherlands Phone: +31 15 251 40 90 www.riscure.com

Contact:

Marc Witteman witteman@riscure.com

Riscure is hiring, visit https://www.riscure.com/careers/