SlideShare a Scribd company logo
Arduino Forensics
The application of reverse engineering techniques against the
Arduino microcontrollers to acquire uploaded applications.
Steve Watson
Glasgow Caledonian University
Disclaimer
The opinions expressed and materials shared in this
presentation are my own and may not reflect the
opinions, policies, or procedures of my employer.
Steve Watson DFRWS US 20142
What is Arduino?
● A single board
microcontroller
platform.
● An open source
electronics platform.
Steve Watson DFRWS US 20143
Why are we talking about Arduino?
● New, foundational technology appearing in
many different form factors.
● No clear direction on forensic acquisition of data
on this evolving platform.
Steve Watson DFRWS US 20144
Where is Arduino today?
Steve Watson DFRWS US 20145
Examples - MakerBot Thing-O-Matic
Introduced September 2010 at MakerFaire NYC
Steve Watson DFRWS US 20146
“By 2018, 3D printing
will result in the loss of
at least $100 billion per
year in intellectual
property globally.”
Example - Arduino Phone
http://www.instructables.com/id/ArduinoPhone/
http://blog.arduino.cc/2013/08/12/diy-cellphone/
Steve Watson DFRWS US 20147
Examples - ArduSat
Steve Watson DFRWS US 2014
Steve Watson DFRWS US 2014
Arduino Basics
microcontroller
CPU, RAM and
ROM on a single
chip.
shield
daughter card that
sits on top of the
Arduino
sketch
the code or
application written in
C++ that is
uploaded to the
Arduino
Steve Watson DFRWS US 20149
Is there data to recover?
Where is the data?
Microcontroller Development Systems Remote Endpoints
Steve Watson DFRWS US 201411
What is the data?
Microcontroller Development Systems Remote Endpoints
running applications
(flash)
.ino
(Arduino sketch)
cloud computing updates
(Twitter, Facebook, IoT pages)
NVM, persistent
(eeprom)
.elf
(intermediate step between
c++ and assembly)
control messages
(c&c of other microcontroller
devices)
.csv, .txt
(asci or hex on SDCARD)
.hex
(assembly)
.txt, .csv
Fuses
(single byte hex values)
.json
(JSON calls to other
applications)
Steve Watson DFRWS US 201412
How I approach new devices
1. What is the operating system?
2. What is the storage?
3. What is the connectivity?
4. How is the system updated, installed, accessed?
5. What are the parallels with other systems and
devices?
6. What existing documentation and information
exists?
Steve Watson DFRWS US 201413
Focus on the Arduino
Connection to the target
1. Chip removal (chip-off equivalent)
2. Tethered to another Arduino (computer to
computer equivalent)
3. Connect to a programming port on the board
(JTAG equivalent)
Steve Watson DFRWS US 201415
Connection: Chip-off
Example: ZIF Socket 28-Pin, https://www.sparkfun.com/products/9175
Steve Watson DFRWS US 201416
Connection: Tethered Arduino
Arduino Tutorial:
Using an Arduino as an AVR ISP (In-System
Programmer)
http://arduino.cc/en/Tutorial/ArduinoISP
Steve Watson DFRWS US 201417
Connection: JTAG Equivalent
Olimex STK500v2
connected via ICSP to an
Arduino UNO
Steve Watson DFRWS US 201418
Connection: ICSP
ICSP - In-Circuit Serial Programming
Steve Watson DFRWS US 201419
Software used to acquire
1. AVRDUDE - AVR Downloader/UploaDEr
a. opensource
b. http://www.nongnu.org/avrdude/
c. Included in the Arduino IDE install under install directory
../Arduino/hardware/tools/avr/bin/avrdude.exe
2. Atmel AVR Studio
a. Free development environment for Atmel AVR 8- and 32-
bit MCUs.
Steve Watson DFRWS US 201420
Data to acquire
Flash (32KB)
EEPROM (1KB)
● NVM reserved for persistence across uploads
Fuses (1B x 3 reserved)
● lfuse, hfuse, efuse
● single byte hex configurations related to clock, bootloader
and voltage (see reference slide for more detail)
Steve Watson DFRWS US 201421
Software: AVRDUDE
Example: Read flash memory and dump hex to specific file.
avrdude -p m328p -c stk500v2 -P com4 -U flash:r:"[path/to/file/filename.hex]":r
-p [part number]
-c [programmer]
-P [com port]
-U [memory operation]
● Note the :r: and :r to define READ
● change ‘flash’ to eeprom, lfuse, hfuse and/or efuse to acquire reserved
portions.
Steve Watson DFRWS US 201422
Software: AVRDUDE
C:appsavrdude -p m328p -c stk500v2 -P com4 -U flash:r:"c:/temp/arduino_uno.hex":r
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.03s
avrdude: Device signature = 0x1e950f
avrdude: reading flash memory:
Reading | ################################################## | 100% 94.89s
avrdude: writing output file "c:/temp/arduino_uno.hex"
avrdude: safemode: Fuses OK (E:05, H:D6, L:FF)
avrdude done. Thank you.
Steve Watson DFRWS US 201423
Software: Atmel Studio
Steve Watson DFRWS US 201424
Full walkthrough (screenshots) of an MCU
acquisition in the backup slides.
Investigations where data may be needed
1. Supply chain investigations
2. Malware analysis
3. Improvised devices
4. Automation and control systems
5. Medical, fitness
6. Security, access control
7. Drones
8. Cloud
Steve Watson DFRWS US 201425
Where is the rest of the slide deck?
Please reach out for
assistance, additional
information, or for access to
the rest of the slides in the
backup material.
Steve Watson DFRWS US 201426
Contact Options:
01100110 01101111 01110010 01100101 01101110 01110011 01101001 01100011 01000000
01110011 01110100 01100101 01110110 01100101 01110111 01100001 01110100 01110011
01101111 01101110 00101110 01101110 01100101 01110100
stevewatson.net
Twitter @stevewatson
LinkedIn - watsonsteve
Thank you!
Credits
title slide - Arduino schematic, http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
slide 3 - Arduino UNO photo, http://arduino.cc/en/uploads/Main/ArduinoUno_R3_Front.jpg
slide 5 - Icons made by www.flaticon.com
slide 6 - Image http://upload.wikimedia.org/wikipedia/commons/8/87/Makerbot_Thing-O-Matic_Assembled_Printing_Blue_Rabbit.jpg
http://www.gartner.com/newsroom/id/2603215
slide 7 - http://blog.arduino.cc/2013/08/12/diy-cellphone/, http://farm6.staticflickr.com/5475/9474701418_798e142291.jpg, http:
//www.instructables.com/id/ArduinoPhone/
slide 8 - Screenshots and images in order of animation: https://www.kickstarter.com/projects/575960623/ardusat-your-arduino-
experiment-in-space, http://www.blogcdn.com/www.engadget.com/media/2012/06/ardustat8388676666666.jpg
slide 11 - Icons made by www.flaticon.com
slide 16 - Example: ZIF Socket 28-Pin, https://www.sparkfun.com/products/9175
slide 17 - image created with Fritzing
slide 19 - monochrome images http://allaboutee.com/2011/05/11/how-to-program-an-avr-microcontroller/

More Related Content

What's hot

Tugas tik kelas 10 perangkat lunak
Tugas tik kelas 10 perangkat lunakTugas tik kelas 10 perangkat lunak
Tugas tik kelas 10 perangkat lunak
Bambang Tri Wibowo
 
Create a software key logger
Create a software key logger Create a software key logger
Create a software key logger
GiralFaurel
 

What's hot (20)

Computer forensics
Computer forensicsComputer forensics
Computer forensics
 
Tugas tik kelas 10 perangkat lunak
Tugas tik kelas 10 perangkat lunakTugas tik kelas 10 perangkat lunak
Tugas tik kelas 10 perangkat lunak
 
Buku Teknik Kapal Penangkapan Ikan SMK
Buku Teknik Kapal Penangkapan Ikan SMKBuku Teknik Kapal Penangkapan Ikan SMK
Buku Teknik Kapal Penangkapan Ikan SMK
 
Cryptography
CryptographyCryptography
Cryptography
 
Fundamentals of cryptography
Fundamentals of cryptographyFundamentals of cryptography
Fundamentals of cryptography
 
Ujian Keahlian Pelaut Kapal Niaga sesuai STCW 2010
Ujian Keahlian Pelaut Kapal Niaga sesuai STCW 2010Ujian Keahlian Pelaut Kapal Niaga sesuai STCW 2010
Ujian Keahlian Pelaut Kapal Niaga sesuai STCW 2010
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
Firmware Extraction & Fuzzing - Jatan Raval
Firmware Extraction & Fuzzing - Jatan RavalFirmware Extraction & Fuzzing - Jatan Raval
Firmware Extraction & Fuzzing - Jatan Raval
 
Digital Forensics
Digital ForensicsDigital Forensics
Digital Forensics
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
Caesar Cipher
Caesar CipherCaesar Cipher
Caesar Cipher
 
Digital forensics Steps
Digital forensics StepsDigital forensics Steps
Digital forensics Steps
 
Create a software key logger
Create a software key logger Create a software key logger
Create a software key logger
 
Ctf del upload
Ctf del uploadCtf del upload
Ctf del upload
 
Gyro compass - kompas gasing
Gyro compass - kompas gasingGyro compass - kompas gasing
Gyro compass - kompas gasing
 
Ethical hacking ppt by shantanu arora
Ethical hacking ppt by shantanu aroraEthical hacking ppt by shantanu arora
Ethical hacking ppt by shantanu arora
 
Vtu network security(10 ec832) unit 1 notes
Vtu network security(10 ec832) unit 1 notesVtu network security(10 ec832) unit 1 notes
Vtu network security(10 ec832) unit 1 notes
 
Software computer
Software computerSoftware computer
Software computer
 
The CIA triad.pptx
The CIA triad.pptxThe CIA triad.pptx
The CIA triad.pptx
 
Computer Forensics ppt
Computer Forensics pptComputer Forensics ppt
Computer Forensics ppt
 

Viewers also liked

amrapali builders @@ hardware hacking and robotics using the raspberry pi.pdf
amrapali builders @@ hardware hacking and robotics using the raspberry pi.pdfamrapali builders @@ hardware hacking and robotics using the raspberry pi.pdf
amrapali builders @@ hardware hacking and robotics using the raspberry pi.pdf
amrapalibuildersreviews
 
A BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKING
A BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKINGA BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKING
A BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKING
Silvio Cesare
 

Viewers also liked (20)

Wearable Device Forensics
Wearable Device ForensicsWearable Device Forensics
Wearable Device Forensics
 
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
 
Digital Forensics and Incident Response (DFIR) using Docker Containers
Digital Forensics and Incident Response (DFIR) using Docker ContainersDigital Forensics and Incident Response (DFIR) using Docker Containers
Digital Forensics and Incident Response (DFIR) using Docker Containers
 
Beauty of open source in cyber forensics
Beauty of open source in cyber forensicsBeauty of open source in cyber forensics
Beauty of open source in cyber forensics
 
Hardware Hacking caso práctico Ingeniería Inversa Smartcards
Hardware Hacking caso práctico Ingeniería Inversa SmartcardsHardware Hacking caso práctico Ingeniería Inversa Smartcards
Hardware Hacking caso práctico Ingeniería Inversa Smartcards
 
Hardware Hacking in schools (ACEC2014)
Hardware Hacking in schools (ACEC2014)Hardware Hacking in schools (ACEC2014)
Hardware Hacking in schools (ACEC2014)
 
Playful
PlayfulPlayful
Playful
 
amrapali builders @@ hardware hacking and robotics using the raspberry pi.pdf
amrapali builders @@ hardware hacking and robotics using the raspberry pi.pdfamrapali builders @@ hardware hacking and robotics using the raspberry pi.pdf
amrapali builders @@ hardware hacking and robotics using the raspberry pi.pdf
 
Intro to Hardware Firmware Hacking
Intro to Hardware Firmware HackingIntro to Hardware Firmware Hacking
Intro to Hardware Firmware Hacking
 
Hardware Hacking Primer
Hardware Hacking PrimerHardware Hacking Primer
Hardware Hacking Primer
 
Hardware hacking
Hardware hackingHardware hacking
Hardware hacking
 
BSides DFW2016-Hack Mode Enabled
BSides DFW2016-Hack Mode EnabledBSides DFW2016-Hack Mode Enabled
BSides DFW2016-Hack Mode Enabled
 
A BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKING
A BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKINGA BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKING
A BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKING
 
Breaking Bad EACS Implementations
Breaking Bad EACS ImplementationsBreaking Bad EACS Implementations
Breaking Bad EACS Implementations
 
Coders need to learn hardware hacking NOW
Coders need to learn hardware hacking NOWCoders need to learn hardware hacking NOW
Coders need to learn hardware hacking NOW
 
Cost savings from auto-scaling of network resources using machine learning
Cost savings from auto-scaling of network resources using machine learningCost savings from auto-scaling of network resources using machine learning
Cost savings from auto-scaling of network resources using machine learning
 
Hardware hacking 101
Hardware hacking 101Hardware hacking 101
Hardware hacking 101
 
JTAG Interface (Intro)
JTAG Interface (Intro)JTAG Interface (Intro)
JTAG Interface (Intro)
 
Deft
DeftDeft
Deft
 
Hardware Reverse Engineering: From Boot to Root
Hardware Reverse Engineering: From Boot to RootHardware Reverse Engineering: From Boot to Root
Hardware Reverse Engineering: From Boot to Root
 

Similar to Arduino Forensics

Intro to arduino
Intro to arduinoIntro to arduino
Intro to arduino
José Faria
 
Automatic Plant Watering System using Arduino UNO for University Park
Automatic Plant Watering System using Arduino UNO for University ParkAutomatic Plant Watering System using Arduino UNO for University Park
Automatic Plant Watering System using Arduino UNO for University Park
ijtsrd
 

Similar to Arduino Forensics (20)

Intro to arduino
Intro to arduinoIntro to arduino
Intro to arduino
 
Getting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer KitGetting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer Kit
 
Internet of Things Conference - Bogor city
Internet of Things Conference - Bogor cityInternet of Things Conference - Bogor city
Internet of Things Conference - Bogor city
 
BURO Arduino Workshop
BURO Arduino WorkshopBURO Arduino Workshop
BURO Arduino Workshop
 
503
503503
503
 
Arduino Based Smart Parking System
Arduino Based Smart Parking SystemArduino Based Smart Parking System
Arduino Based Smart Parking System
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!
 
Arduino Development For Beginners
Arduino Development For BeginnersArduino Development For Beginners
Arduino Development For Beginners
 
From printed circuit boards to exploits
From printed circuit boards to exploitsFrom printed circuit boards to exploits
From printed circuit boards to exploits
 
Udev
UdevUdev
Udev
 
Webshield internet of things
Webshield internet of thingsWebshield internet of things
Webshield internet of things
 
Introduction of Arduino Uno
Introduction of Arduino UnoIntroduction of Arduino Uno
Introduction of Arduino Uno
 
IoT with openHAB on pcDuino3B
IoT with openHAB on pcDuino3BIoT with openHAB on pcDuino3B
IoT with openHAB on pcDuino3B
 
Using arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of thingsUsing arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of things
 
Johnny-Five
Johnny-FiveJohnny-Five
Johnny-Five
 
IRJET- Biometric Attendance System
IRJET- Biometric Attendance SystemIRJET- Biometric Attendance System
IRJET- Biometric Attendance System
 
Automatic Plant Watering System using Arduino UNO for University Park
Automatic Plant Watering System using Arduino UNO for University ParkAutomatic Plant Watering System using Arduino UNO for University Park
Automatic Plant Watering System using Arduino UNO for University Park
 
pcDuino Presentation at SparkFun
pcDuino Presentation at SparkFunpcDuino Presentation at SparkFun
pcDuino Presentation at SparkFun
 
What are the different types of arduino boards
What are the different types of arduino boardsWhat are the different types of arduino boards
What are the different types of arduino boards
 
INTELLIGENT HELMET DETECTION USING OPENCV AND MACHINE LEARNING
INTELLIGENT HELMET DETECTION USING OPENCV AND MACHINE LEARNINGINTELLIGENT HELMET DETECTION USING OPENCV AND MACHINE LEARNING
INTELLIGENT HELMET DETECTION USING OPENCV AND MACHINE LEARNING
 

Recently uploaded

Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
Kamal Acharya
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
Kamal Acharya
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
Kamal Acharya
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdf
Kamal Acharya
 

Recently uploaded (20)

Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker project
 
Online resume builder management system project report.pdf
Online resume builder management system project report.pdfOnline resume builder management system project report.pdf
Online resume builder management system project report.pdf
 
A case study of cinema management system project report..pdf
A case study of cinema management system project report..pdfA case study of cinema management system project report..pdf
A case study of cinema management system project report..pdf
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
shape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptxshape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptx
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdf
 
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docxThe Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
Danfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdfDanfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdf
 

Arduino Forensics

  • 1. Arduino Forensics The application of reverse engineering techniques against the Arduino microcontrollers to acquire uploaded applications. Steve Watson Glasgow Caledonian University
  • 2. Disclaimer The opinions expressed and materials shared in this presentation are my own and may not reflect the opinions, policies, or procedures of my employer. Steve Watson DFRWS US 20142
  • 3. What is Arduino? ● A single board microcontroller platform. ● An open source electronics platform. Steve Watson DFRWS US 20143
  • 4. Why are we talking about Arduino? ● New, foundational technology appearing in many different form factors. ● No clear direction on forensic acquisition of data on this evolving platform. Steve Watson DFRWS US 20144
  • 5. Where is Arduino today? Steve Watson DFRWS US 20145
  • 6. Examples - MakerBot Thing-O-Matic Introduced September 2010 at MakerFaire NYC Steve Watson DFRWS US 20146
  • 7. “By 2018, 3D printing will result in the loss of at least $100 billion per year in intellectual property globally.”
  • 8. Example - Arduino Phone http://www.instructables.com/id/ArduinoPhone/ http://blog.arduino.cc/2013/08/12/diy-cellphone/ Steve Watson DFRWS US 20147
  • 9. Examples - ArduSat Steve Watson DFRWS US 2014
  • 11. Arduino Basics microcontroller CPU, RAM and ROM on a single chip. shield daughter card that sits on top of the Arduino sketch the code or application written in C++ that is uploaded to the Arduino Steve Watson DFRWS US 20149
  • 12. Is there data to recover?
  • 13. Where is the data? Microcontroller Development Systems Remote Endpoints Steve Watson DFRWS US 201411
  • 14. What is the data? Microcontroller Development Systems Remote Endpoints running applications (flash) .ino (Arduino sketch) cloud computing updates (Twitter, Facebook, IoT pages) NVM, persistent (eeprom) .elf (intermediate step between c++ and assembly) control messages (c&c of other microcontroller devices) .csv, .txt (asci or hex on SDCARD) .hex (assembly) .txt, .csv Fuses (single byte hex values) .json (JSON calls to other applications) Steve Watson DFRWS US 201412
  • 15. How I approach new devices 1. What is the operating system? 2. What is the storage? 3. What is the connectivity? 4. How is the system updated, installed, accessed? 5. What are the parallels with other systems and devices? 6. What existing documentation and information exists? Steve Watson DFRWS US 201413
  • 16. Focus on the Arduino
  • 17. Connection to the target 1. Chip removal (chip-off equivalent) 2. Tethered to another Arduino (computer to computer equivalent) 3. Connect to a programming port on the board (JTAG equivalent) Steve Watson DFRWS US 201415
  • 18. Connection: Chip-off Example: ZIF Socket 28-Pin, https://www.sparkfun.com/products/9175 Steve Watson DFRWS US 201416
  • 19. Connection: Tethered Arduino Arduino Tutorial: Using an Arduino as an AVR ISP (In-System Programmer) http://arduino.cc/en/Tutorial/ArduinoISP Steve Watson DFRWS US 201417
  • 20. Connection: JTAG Equivalent Olimex STK500v2 connected via ICSP to an Arduino UNO Steve Watson DFRWS US 201418
  • 21. Connection: ICSP ICSP - In-Circuit Serial Programming Steve Watson DFRWS US 201419
  • 22. Software used to acquire 1. AVRDUDE - AVR Downloader/UploaDEr a. opensource b. http://www.nongnu.org/avrdude/ c. Included in the Arduino IDE install under install directory ../Arduino/hardware/tools/avr/bin/avrdude.exe 2. Atmel AVR Studio a. Free development environment for Atmel AVR 8- and 32- bit MCUs. Steve Watson DFRWS US 201420
  • 23. Data to acquire Flash (32KB) EEPROM (1KB) ● NVM reserved for persistence across uploads Fuses (1B x 3 reserved) ● lfuse, hfuse, efuse ● single byte hex configurations related to clock, bootloader and voltage (see reference slide for more detail) Steve Watson DFRWS US 201421
  • 24. Software: AVRDUDE Example: Read flash memory and dump hex to specific file. avrdude -p m328p -c stk500v2 -P com4 -U flash:r:"[path/to/file/filename.hex]":r -p [part number] -c [programmer] -P [com port] -U [memory operation] ● Note the :r: and :r to define READ ● change ‘flash’ to eeprom, lfuse, hfuse and/or efuse to acquire reserved portions. Steve Watson DFRWS US 201422
  • 25. Software: AVRDUDE C:appsavrdude -p m328p -c stk500v2 -P com4 -U flash:r:"c:/temp/arduino_uno.hex":r avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.03s avrdude: Device signature = 0x1e950f avrdude: reading flash memory: Reading | ################################################## | 100% 94.89s avrdude: writing output file "c:/temp/arduino_uno.hex" avrdude: safemode: Fuses OK (E:05, H:D6, L:FF) avrdude done. Thank you. Steve Watson DFRWS US 201423
  • 26. Software: Atmel Studio Steve Watson DFRWS US 201424 Full walkthrough (screenshots) of an MCU acquisition in the backup slides.
  • 27. Investigations where data may be needed 1. Supply chain investigations 2. Malware analysis 3. Improvised devices 4. Automation and control systems 5. Medical, fitness 6. Security, access control 7. Drones 8. Cloud Steve Watson DFRWS US 201425
  • 28. Where is the rest of the slide deck? Please reach out for assistance, additional information, or for access to the rest of the slides in the backup material. Steve Watson DFRWS US 201426
  • 29. Contact Options: 01100110 01101111 01110010 01100101 01101110 01110011 01101001 01100011 01000000 01110011 01110100 01100101 01110110 01100101 01110111 01100001 01110100 01110011 01101111 01101110 00101110 01101110 01100101 01110100 stevewatson.net Twitter @stevewatson LinkedIn - watsonsteve Thank you!
  • 30. Credits title slide - Arduino schematic, http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf slide 3 - Arduino UNO photo, http://arduino.cc/en/uploads/Main/ArduinoUno_R3_Front.jpg slide 5 - Icons made by www.flaticon.com slide 6 - Image http://upload.wikimedia.org/wikipedia/commons/8/87/Makerbot_Thing-O-Matic_Assembled_Printing_Blue_Rabbit.jpg http://www.gartner.com/newsroom/id/2603215 slide 7 - http://blog.arduino.cc/2013/08/12/diy-cellphone/, http://farm6.staticflickr.com/5475/9474701418_798e142291.jpg, http: //www.instructables.com/id/ArduinoPhone/ slide 8 - Screenshots and images in order of animation: https://www.kickstarter.com/projects/575960623/ardusat-your-arduino- experiment-in-space, http://www.blogcdn.com/www.engadget.com/media/2012/06/ardustat8388676666666.jpg slide 11 - Icons made by www.flaticon.com slide 16 - Example: ZIF Socket 28-Pin, https://www.sparkfun.com/products/9175 slide 17 - image created with Fritzing slide 19 - monochrome images http://allaboutee.com/2011/05/11/how-to-program-an-avr-microcontroller/