Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI...

28
Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI

Transcript of Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI...

Page 1: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

Ghost in the MachineCHALLENGES IN EMBEDDED BINARY SECURITY

JOS WETZELSALI ABBASI

Page 2: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

# WHOIS

• Jos Wetzels1,2

• samvartaka.github.io

• Ali Abbasi1,3

• http://wwwhome.cs.utwente.nl/~abbasia/

1Distributed and Embedded System Security (DIES) group, University of Twente, Netherlands

2SEC Group, Eindhoven University of Technology, Netherlands

3SYSSEC Group, Ruhr-University Bochum, Germany

Page 3: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

EMBEDDED BINARY SECURITY

• ClaimEmbedded binary security lags behind General-Purpose World significantly

• ClaimCatching up will be non-trivial due to embedded constraints

Page 4: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

BINARY SECURITY & MEMORY CORRUPTION

• Memory Corruption among most common embedded vulns

• Embedded Development Dominated by C*

• Unsafe Language

• “C is a terse and unforgiving abstraction of silicon”

* 2015 UBM Study, ** 2016 Kaspersky Study

Buffer Overflow

19%

Hardcoded Creds.16%

XSS16%

Auth. Bypass

10%

SQLi4%

Misc.35%

INDUSTRIAL CONTROL SYSTEM VULNS**

Page 5: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

IMPACT: REMEMBER SHADOW BROKERS?

Page 6: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

MITIGATIONS: WHAT IF?

Page 7: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

WHY EXPLOIT MITIGATIONS?

Page 8: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

WHY EXPLOIT MITIGATIONS?

• But why not tackle things at the root (eg. safe langs)?

• Portability → C Toolchain For Nearly Every Platform and OS

• Functionality → ‘Close To Metal’

• Performance → Critical for Embedded

• Existing Codebases → Billions of Lines of Legacy Code

• Need Short-Term Solution

Page 9: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

WHAT MITIGATIONS ARE WE TALKING ABOUT?

• Complementary Baseline• Executable Space Protection (ESP)

• DEP, ExecShield, W ^ X

• Address Space Layout Randomization (ASLR)

• Stack Canaries• Stack Smashing Protector (SSP), /GS

• Future Work: Advanced Mitigations• Control-Flow Integrity (CFI)

Page 10: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

EXPLOIT-FLOW VS MITIGATIONS

Page 11: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

EMBEDDED OS MITIGATION SUPPORT*

Support44%No

support56%

EXECUTABLE SPACE PROTECTION

Support22%

No support78%

ADDRESS SPACE LAYOUT

RANDOMIZATION

Support33%

No support67%

STACK CANARIES

* Based on our research into 36 popular embedded OSes

Page 12: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

EMBEDDED SYSTEMS ARE DIVERSE

Page 13: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

SUPPORT AMONG MOST CONSTRAINED OSES

Support

15%

No support85%

EXECUTABLE SPACE PROTECTION

Support0%

No support100%

ADDRESS SPACE LAYOUT

RANDOMIZATION

Support5%

No support95%

STACK CANARIES

Page 14: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

MITIGATION DEPENDENCIES

Page 15: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)

Page 16: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

VIRTUAL MEMORY

44.4

17.1

0

Virtual Memory Support*

Virtual Memory

* Based on our research into 36 popular embedded OSes

Page 17: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

EXECUTABLE SPACE PROTECTION (ESP)

Harvard Architecture

Hardware ESP

Software ESP

Page 18: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

HARDWARE FEATURES

43.1

47.1

11.8

VON NEUMANN CORES

Hardware Feature Support*

Hardware ESP MMU MPU

* Based on our research into 51 popular embedded core families

Page 19: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

STACK CANARIES

• Compiled without canaries

• Compiled withcanaries

Page 20: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

OS CSPRNGs (eg. /dev/urandom)

41.7

22.2

5

OS CSPRNG Support*

OS CSPRNG

* Based on our research into 36 popular embedded OSes

Page 21: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

THAT DOESN’T LOOK GOOD…

Page 22: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

ADDRESSING ESP CHALLENGES

Page 23: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

ADDRESSING ASLR CHALLENGES

• ASLR is runtime diversification

• Potential Alternatives w/o VM

• Compile-time Diversification

• Install-time Diversification

• Downsides: less effective

• Only between builds or devices

• Only code, not data memory

Page 24: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

ADDRESSING OS CSPRNG CHALLENGES• Cannot trivially port existing designs*

• Entropy Problems, Resource Constraints, …

• Ideal: Omnipresent On-Chip high-throughput TRNGs

• PRNG Research Directions• Lightweight Crypto (eg. ACRYPT Project)

• Omnipresent Entropy Sources: SRAM Start-Up Values, Clock Jitter, …

* See our 33C3 Talk “Wheel of Fortune: Analyzing Embedded OS Random Number Generators”

Page 25: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

FUTURE: ADVANCED EMBEDDED MITIGATIONS

• Control-Flow Integrity (CFI) for High-End Embedded Systems

• Enforces program execution matches legitimate Control-Flow Graph

• Prevents Control-Flow Hijacking

• Recently rolled out in GP world (eg. MS CFG, Clang CFI, PaX RAP, etc.)

Page 26: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

EMBEDDED CFI CHALLENGES

• Low Worst-case Runtime & Memory Overheads

• Real-Time Friendliness• Predictable, deterministic response times

• Availability Preservation• Eg. mitigation terminating powerplant PLC runtime

• COTS Binary Support• Drivers, PLC runtimes, …

• Hardware Agnostic• eg. no CET, LBR, PMU reliance

Page 27: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

OUR WORK: μSHIELD & ECFI

• PREEMPTIVE* EU FP7 Project (papers forthcoming)

• μShield**: COTS binary support + Heuristics

• ECFI: Real-Time Friendly

* http://preemptive.eu, ** https://github.com/preemptive-FP7/uShield

Page 28: Ghost in the Machine · Ghost in the Machine CHALLENGES IN EMBEDDED BINARY SECURITY JOS WETZELS ALI ABBASI # WHOIS •Jos Wetzels1,2 ... 22% No support 78% ADDRESS SPACE LAYOUT RANDOMIZATION

CALL TO ACTION

• (Keep) Raising Awareness• Continue to demonstrate urgency & impact of embedded vulns

• Short term solutions• Address mitigation challenges (researchers)

• Adopt mitigations (OS Devs)

• Long term solutions• Embedded Safe Language Adoption

• Secure Embedded Patching & Updating (see FTC $25k prize)

• Need for IoT Standardization, Policy & Regulation (“Security by Design”)