Avatar - Enhancing Binary Firmware Security Analysis with Dynamic - - PowerPoint PPT Presentation

avatar enhancing binary firmware security
SMART_READER_LITE
LIVE PREVIEW

Avatar - Enhancing Binary Firmware Security Analysis with Dynamic - - PowerPoint PPT Presentation

CRYPTACUS Workshop Nijmegen, 16 - 18 November 2017 Avatar - Enhancing Binary Firmware Security Analysis with Dynamic Multi-Target Orchestration Marius Muench <marius.muench@eurecom.fr> PART I Avatar - Enhancing Binary Firmware


slide-1
SLIDE 1

Avatar² - Enhancing Binary Firmware Security Analysis with Dynamic Multi-Target Orchestration

Marius Muench <marius.muench@eurecom.fr>

CRYPTACUS Workshop Nijmegen, 16 - 18 November 2017

slide-2
SLIDE 2

PART I

slide-3
SLIDE 3

Avatar² - Enhancing Binary Firmware Security Analysis with Dynamic Multi-Target Orchestration

slide-4
SLIDE 4

Avatar² - Enhancing Binary Firmware Security Analysis with Dynamic Multi-Target Orchestration

slide-5
SLIDE 5

Dynamic Binary Firmware Security Analysis?

  • Majority of nowadays vulnerabilities are “low-hanging

fruits”

  • Often 3rd party analysis
  • Lack of sophisticated tooling
slide-6
SLIDE 6

(Some) Challenges in Dynamic Binary Firmware Analysis

  • Intransparency
  • Performance & Scalability
  • Instrumentation capabilities
slide-7
SLIDE 7

Avatar² - Enhancing Binary Firmware Security Analysis with Dynamic Multi-Target Orchestration

slide-8
SLIDE 8

Avatar² - Enhancing Binary Firmware Security Analysis with Dynamic Multi-Target Orchestration

slide-9
SLIDE 9

Avatar2

  • Developed by:
  • Marius Muench
  • Dario Nisi
  • Aurélien Francillon
  • Davide Balzarotti
  • Open source:
  • https://github.com/avatartwo/avatar2
  • Re-designed and

re-implemented from scratch

[1] Zaddach, J., Bruno, L., Francillon, A., and Balzarotti, D.: “AVATAR: A Framework to Support Dynamic Security Analysis of Embedded Systems' Firmwares”. NDSS 14

[1]

slide-10
SLIDE 10

The general picture

slide-11
SLIDE 11

Core Concepts

  • Target Orchestration
  • Separation of Execution and Memory
  • State Transfer and Synchronization
slide-12
SLIDE 12

Supported Targets *

* Not yet available

slide-13
SLIDE 13

Avatar² - Example Script

slide-14
SLIDE 14

Phase #0: Preambel

slide-15
SLIDE 15

Phase #1: Target Definition

slide-16
SLIDE 16

Phase #2: Memory Layout Definition

slide-17
SLIDE 17

Phase #3: Orchestration!

slide-18
SLIDE 18

A note on peripherals

  • Main source of complication for emulation
  • Avatar2 offers different strategies:
  • Full emulation
  • Partial emulation using peripheral forwarding
  • Partial emulation using python abstractions

21/12/2017 -

slide-19
SLIDE 19

PART II (WYCINWYC)

slide-20
SLIDE 20

WYCINWYC - Overview

  • Acronym for “What You Corrupt Is Not What You

Crash” [2]

  • Joint Work with Siemens
  • Utilizes Avatar2 to improve fuzz testing on embedded

systems

[2] Muench, M., Stijohann, J., Kargl, F., Francillon, A. and Balzarotti, D.: “What You Corrupt Is Not What You Crash: Challenges in Fuzzing Embedded Devices”. To appear at NDSS 2018

slide-21
SLIDE 21

WYCINWYC - Setup

slide-22
SLIDE 22

WYCINWYC - Analysis Plugins

  • [2] Muench, Marius et al. “What You Corrupt Is Not What You Crash: Challenges in Fuzzing Embedded Devices”. To appear at NDSS 2018
slide-23
SLIDE 23

WYCINWYC - Results

S1: Native S3: Partial Emulation (Avatar Peripheral) S2: Partial Emulation (Peripheral Forwarding) S4: Full Emulation

slide-24
SLIDE 24

Related Tools

  • AVATAR ;)
  • Firmadyne

Chen, D. D., Woo, M., Brumley, D., & Egele, M.: “Towards Automated Dynamic Analysis for Linux- based Embedded Firmware”. NDSS 2016

  • Luaqemu

https://github.com/Comsecuris/luaqemu

  • PROSPECT

Kammerstetter, M, Platzer, C., & Kastner, W.: “Prospect: peripheral proxying supported embedded code testing.” ASIA CCS 2014

slide-25
SLIDE 25

Conclusion

  • Appropriate tooling is important
  • … so are good emulators
  • Until then, avatar2 might be helpful
  • We are just at the beginning…
slide-26
SLIDE 26

Questions?

https://github.com/avatartwo/avatar2