protecting embedded systems from zero-day attacksdocker, resin.io, and many other container software...

25
Protecting Embedded Systems from Zero-Day Attacks 1 MicroArx.com Apiotics.com Professor Stephen Taylor Thayer School of Engineering at Dartmouth [email protected] (603) 727-8945

Upload: others

Post on 23-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Protecting Embedded Systems from Zero-Day Attacks

1

MicroArx.comApiotics.com

Professor Stephen TaylorThayer School of Engineering at Dartmouth

[email protected] (603) 727-8945

Page 2: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Research Support

Current Support:• AFRL ICCyRIS Program – “System-on-Chip Nano-Marshal”• OSD SBIR Phase II – “Network Security Appliance”

Seedling Support:• DARPA BAA 14-39 – “Hiding in Hardware”

Dartmouth College:• DARPA CRASH Program – “Attacking Time”• DARPA MRC Program – “Resilient Diffusive Clouds”

2

https://github.com/SCSLaboratory/BearOS

Page 3: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

3

A Quiet Revolution in Embedded Systems

SoC Devices with on-chip FPGAHigh-Level Synthesis

Lightweight OCI-compliant Containers

What can these innovations do for Security ?

Page 4: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Threat Model

4

Effect

Remove Artifacts

Time

Persist*(months)

User

KernelImplant

Escalate

Escalate Privileges / Hide

IPB

Surveillance(months)

SIGINTHUMINTD5 Effect

• Reverse Engineering• Vulnerability Amplification

Surveillance & Remote

Exploit

Extract Binary*

Initial Touches

*

Page 5: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

5

SoC Devices with on-chip FPGAHigh-Level Synthesis

Lightweight OCI-compliant Containers

Page 6: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

FPGA – A New Resource Within the Chip’s Security Perimeter

Xilinx Zynq Family

2012:• Xilinx + Altera

Announce ARM SoCs• Dual 32-bit A9 1GHz• Xilinx Zynq GA ~‘Q3

2013:• Altera GA ~‘Q2• Broad Adoption• Multiple Awards

2014:• Xilinx + Altera

Announce 64-bit ARM• Intel Announces XEON

2015:• Intel buys Altera• Xilinx Demonstrates

UltraScale: Quad 64bit Cortex A53 + Dual 32bit Cortx R4 + Hypervisor

• Co-locate trust-boundary with chip-boundary• No exposed busses• Reverse engineering requires exotic techniques (e.g. acid etching)

6

ZYBO

~ $200

Mitigates Reverse Engineering

Page 7: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

FPGA SoC Product Space

7

0 200 400 600 800 1000 1200 1400

Zynq Z7010

Zynq Z7040

Zynq Z7100

UltraScale 6CG

Stratix GX400

UltraScale 15EG

Stratix GX1100

UltraScale 19EG

Intel Next Gen

Equivalent Logic Cells [k]

0 20 40 60 80 100 120 140 160

Zynq Z7010

Zynq Z7040

Zynq Z7100

UltraScale 6CG

Stratix GX400

UltraScale 15EG

Stratix GX1100

UltraScale 19EG

Intel Next Gen

Block RAM (BRAM) [Mb]

Intel Stratix 10

Intel Next Gen

UltraScale MPSoC

ZedBoard

Many Embedded Systems will fit inside the FPGA

Page 8: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

256k Static RAM

Cortex-A9800 MHz

32k L1 I/D Cache

Cortex-A9800 MHz

32k L1 I/D Cache

512k L2 Cache

General PurposePorts

AcceleratorCoherency

Port

High Performance Ports

Generic Interrupt Controller

IRQ

Processor Peripherals:• Gigabit Ethernet • USB• SDIO, SPI, UART• DDR & DMA Controllers• Timers• GPIO

Shared Peripherals:• Encryption Engine• Analog to Digital

Converter

60 to 14036 kb BRAMs

(240kB-540kB)

FPGA Fabric17k to 53k

Lookup Tables35k to 106kFlip-Flops

28k to 85kLogic Cells

CHIP BOUNDARY

Snoop Controller

CentralInterconnect

DDR MemoryController

High Performance Interconnect

Bus Mastering from the FPGA Fabric

Multiple AXI interconnect options 8

Page 9: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Hidden Hardware Monitors

9

CHIP BOUNDARY

ProcessorRAM

ProgramCode

Data

Process

Processes have invariants:

Hash of program code

Bounded variables:/* 0 <= i <= 10 */

buffer[i] = ‘!’;

Processes have behavioral signatures:

Call graph

Monitor invisible to privileged code running on processor

Resource (i.e. network) utilization

Monitor

Page 10: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Monitoring Process Code Integrity using SHA-256

10Detect any single-bit change to code

Page 11: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

11

SoC Devices with on-chip FPGAHigh-Level Synthesis

Lightweight OCI-compliant Containers

Page 12: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

High Level Synthesis

Processor FPGA

Compile

Code in C

Link

Synthesize

Code in VHDL/Verilog

Implement and Route

High Level Synthesis(Vivado HLS)

Implement and Route

12

Accelerates Design: C specificationAccelerates Verification: C test bench to HDL test bench automation

Expands Developer Base: Accessible to C Programmers

Rapid Technology Evolution with Separable Accreditation

Page 13: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Cost of High Level Synthesis

Metric SW HW AXI-Lite HW AXI HW HLS AXI-Lite

Process Management Code Size 491 111 54 111

Core Clock Cycles 3100 2800 1500 4800

Flip-Flops - 1% 4% 3%

Lookup Tables - 1% 7% 5%

Slices - 1% 9% 8%

BRAM 18 - 1% -

BRAM 36 - - 5% 6%

Max FPGA Clock - 120 MHz 105 MHz 159 MHz

Dahlstrom & Taylor, “Migrating an OS Scheduler into Tightly Coupled FPGA Logic to Increase Attacker Workload” MILCOM 2013.13

HLS Development / Maintenance “Ease of Use” Costs: • ~3-5x Resource Utilization Cost• ~2x Performance Cost• HLS yielded higher max clock

Page 14: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Hardware Monitor Performance

14

Key Findings:~10 megabytes/sec per monitor

~40x speedup over softwareMemory Interface Independent

(compute bound)

Text Segment Size Time Per Hash (uS)

10 kilobytes 1ms

100 kilobytes 10 ms

1 megabyte 100 ms

10 megabytes 1 s

Hardware Monitor exposes a “hashing” signal – logic high when hashing text segment(PMOD JC, Pin 1 = Hardware Monitor on Core 0, Pin 2 = Hardware Monitor on Core 1)

Page 15: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Tying Everything Together

HLS Provides high level IP abstraction; still far from transparent15

Page 16: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Monitoring Critical Processes

256k Static RAM

Cortex-A9800 MHz

32k L1 I/D Cache

Cortex-A9800 MHz

32k L1 I/D Cache

512k L2 Cache

General PurposePorts

AcceleratorCoherency

Port

High Performance Ports

Generic Interrupt Controller

IRQ

FPGA Fabric

XILINX ZYNQ CHIP BOUNDARY

Snoop Controller

CentralInterconnect

DDR MemoryController

High Performance Interconnect

1 GB DDR SDRAM

Non-critical Process

Critical Process

Non-critical Process

Kernel

Critical Process

Monitor Monitor

Monitor

Non-critical Process

16

Page 17: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Hardware Monitoring with Code Refresh

DARPA BAA-14-39 Secure PLC Prototype

• Hidden Code Monitoring on Process Code

• Hardware refresh from a gold-standard & secure boot

17

Mitigates Zero-Day Attacks & Persistence

Page 18: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Mitigating Persistence

18

Hardware (Zynq SoC)

Free-BSD

Message Passing (System Calls)

User Processes Device Drivers

Non-Deterministic Refreshto Deny Persistence

Code Refresh from Encrypted, Signed, Read-only Base-of-Trust

Page 19: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

MicroArx DT-Series Modbus Diodes & Apiotics

Control of Embedded Systems through Ruby WebApps19

• Passive data tap, monitoring Modbus data• No changes to existing Modbus network• Extract data from the network without

introducing additional latency• Forward that data to a server of your

choice via WiFi, Cellular, or Ethernet

MicroArx.com

Mo

db

us

Net

wo

rk IF

Apiotics.com

TI TM4C Series

ZynqBoards

Raspberry PI

Page 20: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

20

SoC Devices with on-chip FPGAHigh-Level Synthesis

Lightweight OCI-compliant Containers

Page 21: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Open Containers Initiative (OCI)

21

Standards for container specification and management used by Docker, Resin.io, and many other container software vendors

www.opencontainers.org

Enhanced scalingMore efficient resource sharing than virtualization (when use same base OS)Cloud hosting services (e.g. Amazon ECS)

Simplify application maintenanceAssociate OS version, patches, language packs,binaries, libraries, credentials with a given containerized applicationMitigate maintenance interference betweenapplications – e.g. library version mis-matches

Improve portability and distributionEasy to move between dev, test, and productionSpeeds application development

Page 22: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

AFRL OpenSource NanomarshallAn OCI Compliant Runtime

22

/* OCI compliant container interface – the following operations are REQUIRED */

/** \brief Create a container with the given ID and program bundle */nm_error_t container_create(id_t *id, uint8_t *bundle);

/** \brief Start the container with the specified ID */nm_error_t container_start(id_t *id);

/** \brief Query the state of the container of the specified ID */nm_error_t container_query_state(id_t *id, container_state_t **ctr_state);

/** \brief Kill the container with the specified ID */nm_error_t container_kill(id_t *id, int32_t signal);

/** \brief Delete the container with the specified ID */nm_error_t container_delete(id_t *id);

Hardware Base-of-Trust for Containers that Replaces a Hypervisor

Page 23: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Core Affinity API

23

/** \brief Set CPU Affinity – Pin a container to a core */container_set_cpu_affinity (id_t *id, uint32_t affinity_flags);

C1

SchedulerMemory Manager

Message Passing

RAMCore

1Core

2

NA

NO

MA

RSH

ALL

HA

RD

WA

RE

Gig-EInterface

CORE 1 CORE 2

Do

mai

n 1

C2

C3

C4

C5

C6

Do

mai

n 2

Containers associatedwith one or more physical

cores to create Container Security Domainswith dedicated processing

resources

Page 24: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Memory

Variant#1

Variant #2

Variant #3

Variant #4

Disk Image

Diversity

Kanter and Taylor

“Attack Mitigation through Diversity”MILCOM 2013

“Diversity in Cloud Systems throughRuntime & Compile-Time Relocation”

IEEE-HST 2013

Off-Chip Memory

SoC

Processor

Hardware Crypto Engine

P(1) P(k)

On-chip

RAM

P(N)

P(k)

Memory Encryption

Henson and Taylor

“Beyond Disk Encryption: Protection on Security Enhanced Commodity Processors”

Int. Conf. on Applied Crypto and Net Security ‘13

“Attack Mitigation through Memory EncryptionOf Security Enhanced Commodity Processors”

Int. Conf. on Information Warfare and Security ‘13

Hardware Hiding

Dahlstrom and Taylor

“Migrating an OS Scheduler into FPGA Logic to Increase Attacker Workload”

MILCOM 2013, Proceedings of

“Hardware-Based Code Monitors onHybrid Processor-FPGA SoC Architectures”

MILCOM 2015, Proceedings of

Container Security RoadMap

24

Page 25: Protecting Embedded Systems from Zero-Day AttacksDocker, Resin.io, and many other container software vendors Enhanced scaling More efficient resource sharing than virtualization (when

Summing Up

Own the Base-of-Trust in Hardware

25

• Mitigate Reverse Engineering (single-chip SoC & on-chip encryption)• Mitigate Zero-day Exploits (hidden code monitoring)• Mitigate Persistence (code refresh)• Mitigate Re-infection & Vulnerability Amplification (diversity)• Mitigate Insider Tampering (journaling, out-of-band management, 2-

factor authentication, anti-tamper)• Rapid Technology Evolution & Accreditation (HLS, Containers &

Apiotics)