+ All Categories
Home > Documents > Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple...

Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple...

Date post: 03-Jun-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
29
Mike Bartley TVS, Founder and CEO Hardware Security Challenges and Solutions
Transcript
Page 1: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Mike Bartley

TVS, Founder and CEO

Hardware Security

Challenges and

Solutions

Page 2: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 2

Agenda

Some background on your speaker and testing safety related systems

Threats and solutions

Verifying those solutions

Bare metal monitoring

Page 3: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 3

Your speaker: Mike Bartley

PhD in Mathematical Logic

MSc in Software Engineering

MBA

Worked in software testing and hardware verification for over 25 years • Praxis, IPL, ST-Micro, Infineon, Panasonic, ARM, NXP, nVidia,

ClearSpeed, Gnodal, DisplayLink, Dialog, …

• Worked in formal verification of both software and hardware

Started TVS in 2008 • Software testing and hardware verification products and services

• Offices in India, UK, France and Germany

Page 4: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 4

TVS - Global Leaders in Test and Verification

India - 2011

UK - 2008

Germany - 2011

France - 2012

Singapore - 2014

China

South Korea

Continuous

geographical

expansion…

USA - 2014

0

50

100

150

200

Q3-13 Q4-13 Q1-14 Q2-14 Q3-14 Q4-14 Q1-15 Q2-15 Q3-15 Q4-15 Q1-16 Q2-16(Est.)

Q3-16(Est.)

Q4-16(Est.)

EM

PL

OY

EE

S

CALENDAR YEAR

Number of Employees by quarter

Japan 2015

Page 5: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 5

Threat growth

Source: Verizon

Everybody is focused on software threats but …

There is no such thing as absolute security

Page 6: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 6

Some Well Known Hardware Threats

Rowhammer • "hammering" a given row of memory can cause bits in other

rows of memory to flip spontaneously

• Two proof of concept exploits • escalates privilege to gain access to all of physical memory

• escalates privilege to escape from NaCl’s x86-64 sandbox, acquiring the ability to call the host OS's syscalls directly

Thunderstrike • replace a Mac's bootrom with malicious code without a user

knowing

Page 7: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 7

Controlling cars through the CAN bus

“Hackers Remotely Kill a Jeep on the Highway” • Wired article 7th July 2015

• they disabled my brakes, honked the horn, jerked the seat belt, and commandeered the steering wheel

• senators Ed Markey and Richard Blumenthal plan to introduce an automotive security bill today

Page 8: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 8

Perimeter Security vs. Layers of Security

Hardware Security

Page 9: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 9

Threats

Hackers will try to find an exploit allowing unrestricted access to assets or services. • Financial, Media, Device repurposing…

A hacker will therefore attempt to gain control of the system • If the behaviour of a smart meter can be altered then there is an

obvious financial gain • The ability to modify the software controlling a driverless car would

allow a hacker to target individuals or groups and to extort money from the manufacturer

At it’s heart software running on a hardware platform embedding a CPU and peripherals • Attacks:

• Modify the software running on that platform • Exploit design bugs – unintended functionality • Introduce a fault that can be exploited

9 © 2016 Embedded Security Solutions

Page 10: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 10

Attack Vectors

Access: an attacker may have direct physical access to the system or attempt to hack it remotely

Local logical attacks • Exploitation of bugs (design mistakes) • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality

Local physical attacks • Fault injection, e.g. power glitch • Side channel analysis to reveal secret keys • Reverse engineering

Remote attacks, via the communication interface • Exploitation of bugs (design mistakes, protocol errors) • Forging messages or software updates • Injecting protocol faults • Spying on messages to learn about the system • Man in the middle

The cost of a breach can be huge

10 © 2016 Embedded Security Solutions

Page 11: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 11

Basic Hardening

Locking down of debug and test functionality

Digital authentication of all code • Signed boot code

• Signed updates

Protected Communication Interfaces • Signing & Encryption of all messages (SSL)

Requires encryption and authentication keys • These keys must be protected

• Immutable public keys

• Immutable and non readable secret keys

11 © 2016 Embedded Security Solutions

Page 12: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 12

Hardware Root of Trust

These objectives cannot be achieved with software alone Typically the hardware infrastructure must support:

• Embedded cryptographic keys • Secure factory provisioning • Cryptographic engines • Random number generation • A non volatile version counter • Access control hardware

• Memory space • Interfaces

• A secure compute environment • May require: Fault and side channel resistance

These elements are collectively know as a hardware root of trust – they underpin the security of the entire platform!

12 © 2016 Embedded Security Solutions

Page 13: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 13

Verification

Secure systems demand a very high level of verification • Patching hardware is usually not an option

Traditional verification has focused on positive testing

Security verification must also cover negative testing • Ensuring that unintended functionality does not exist that could be

exploited

• Full code (HDL) coverage is important – ideally no untested state

• A common technique for interfaces is fuzz testing

• A security interface is abused by passing illegal data (opcode, address, etc.) and the response monitored for unexpected behaviour

• Usually a combination of random and targeted tests are applied

13 © 2016 Embedded Security Solutions

Page 14: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 18

In Summary

Good security is difficult

Good security is not free • But the cost of a breach is higher!

Strong verification is a must

Advanced protection requires advanced countermeasures • Signal masking and hiding algorithms

•But also special circuit design techniques

• Built in redundancy

• Tamper detection

• All requiring strong verification!

18 © 2016 Embedded Security Solutions

Page 15: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 19

Critical component is adversely affected

Hardware Block

Input Output

Untrusted

(Wireless

Radio)

Critical

(Insulin pump)

Tortuga Logic Confidential and Proprietary

Page 16: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 20

Hardware Block

Input Output

Secret

(HW Key)

Untrusted

(Unknown IP)

Secret data is unintentionally leaked

Tortuga Logic Confidential and Proprietary

Page 17: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 21

Case Study –Key Flowing Out Of Design

Assertion: Key only flows through AES • assert iflow (key =/=> $all_outputs ignoring aes.$all_outputs);

• If assertion holds, key only flows to outputs through AES first

Real world results • State-of-the-art design with over 10 million gates

• Actual required properties, impossible to visually inspect

Tortuga Logic Confidential and Proprietary

Key Mem

interconnect

AES

Page 18: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 22

Case Study –Key Flowing Out Of Design

Assertion: Key only flows through AES • assert iflow (key =/=> $all_outputs ignoring aes.$all_outputs);

• If assertion holds, key only flows to outputs through AES first

Real world results • State-of-the-art design with over 10 million gates

• Actual required properties, impossible to visually inspect

Key Mem

interconnect

AES

Tortuga Logic Confidential and Proprietary

Page 19: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 23

Case Study –Key Flowing Out Of Design

Assertion: Key only flows through AES • assert iflow (key =/=> $all_outputs ignoring aes.$all_outputs);

• If assertion holds, key only flows to outputs through AES first

Real world results • State-of-the-art design with over 10 million gates

• Actual required properties, impossible to visually inspect

Key Mem

interconnect

AES

Tortuga Logic Confidential and Proprietary

Page 20: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 24

Demo: AES Key Leakage

Key Storage Encryption

Module

Data

data_o

Property: assert iflow (key =/=> data_o);

Result (demo): Fails in 4 cycles Key XOR Data flows to pins, security flaw

ready_o

Tortuga Logic Confidential and Proprietary

Page 21: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 25

Demo: AES Key Leakage

Property: assert iflow (key =/=> data_o);

Result: Fails in 506 cycles Encrypted data flows to pins Flow is allowed, ready_o=1

Key Storage Encryption

Module

Data

data_o

ready_o

Tortuga Logic Confidential and Proprietary

Page 22: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 26

Demo: AES Key Leakage

Tortuga Logic Confidential and Proprietary

Page 23: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 27

Demo: AES Key Leakage Property:

assert iflow (key =/=> data_o) || ready_o;

Result:

Assertion Holds

Key Storage Encryption

Module

Data

data_o

ready_o

Tortuga Logic Confidential and Proprietary

Page 24: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 28

Demo: AES Key Leakage

Tortuga Logic Confidential and Proprietary

Page 25: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 29

Secure Data over Packet Channel

Key

Match Next

Candidate

Data

Channels

Cached

Key

Cand-

idate

Match

Comp-

arator

Data

Channels

RED = secure

Green = non-secure

Blue = mixed

Key

Memory

Packet

Encoder

FIFO

Packet

Router

PID0

PID1

PID2

PID3

PID0

PID1

PID3

PID2

Crypt Key’

Key

• No direct association between signal name and

secure / non-secure!

There’s a control / temporal component also.

• Secure Formal does not help in analyzing strength of

Cryptography blocks.

Page 26: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 30

Data Leakage

• Identify secure signals [sources] we are concerned about (typically not many)

• [Auto] identify all the places it might be able to reach (typically hundreds or

thousands – ALL the outputs, or top level signals of the block)

• Confirm that signal can ONLY reach the places it’s supposed to, and not anyplace

where the bad guys could steal it.

• No way to directly specify this in SVA!

Key

Match Next

Candidate

Data

Channels

Cache

d

Key

Cand-

idate

Match

Comp-

arator

Data

Channels

Key

Memory

Packet

Encoder

FIFO

Packet

Router

PID0

PID1

PID2

PID3

PID0

PID1

PID3

PID2

Crypt Key’

Key

? ? ?

? ?

?

?

?

?

?

Page 27: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 31

Post-silicon Hardware Monitoring

A system consisting of blocks that

observe and monitor activity as well as

forwarding events using a self-contained

message network can be used to create

an over-‐arching security system.

The secure channel connects the

UltraSoC domain with a service

Page 28: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 32

Post-silicon Hardware Monitoring

UltraSoC can detect attacks such as

• attempts to read from secure memory,

• attempts to write to blocks in unexpected or unauthorized ways,

• and accesses that may be probes or distributed denial of service (DDoS) attacks.

Page 29: Hardware Security Challenges and Solutions€¦ · • Modification of the boot code. e.g. a simple re-flash • Exploitation of debug or test functionality Local physical attacks

Copyright TVS Limited | Private & Confidential | Page 33

Summary

New markets pushing Hardware Engineers to consider security in architectures, design and verification

Threats and solutions • Hardware root of trust

Verifying those solutions • Verifying data flows

• Secure data does not

Bare metal monitoring


Recommended