What is Arduino? A single board microcontroller plahorm. An open source electronics plahorm.

Similar documents
The Application Of Reverse Engineering Techniques Against The Arduino Microcontroller To Acquire Uploaded Applications

Arduino STEAM Academy Arduino STEM Academy Art without Engineering is dreaming. Engineering without Art is calculating. - Steven K.

WifiBotics. An Arduino Based Robotics Workshop

Using the S5U13781R01C100 Shield Graphics Library with Atmel Studio

smraza Getting Start Guide Contents Arduino IDE (Integrated Development Environment)... 1 Introduction... 1 Install the Arduino Software (IDE)...

GSM BASED AGRICULTURE MONITORING SYSTEM

DASL 120 Introduction to Microcontrollers

Welcome to Arduino Day 2016

ZKit-51-RD2, 8051 Development Kit

Lesson 3: Arduino. Goals

Arduino Uno Pinout Book

Index Terms IR communication; MSP430; TFDU4101; Pre setter

Arduino Platform Capabilities in Multitasking. environment.

SMART DATA ACQUISITION TECHNIQUE FOR LEVEL PROCESS USING LIFA

THE PERFORMANCE TEST OF THE AD CONVERTERS EMBEDDED ON SOME MICROCONTROLLERS

3.3V regulator. JA H-bridge. Doc: page 1 of 7

Robotic Development Kit. Powered using ATMEL technology

Introduction to the Arduino Kit

Lab 2: Blinkie Lab. Objectives. Materials. Theory

LoRa Quick Start Guide

VT-CC1110PA-433M. Wireless Module. User Guide

LESSONS Lesson 1. Microcontrollers and SBCs. The Big Idea: Lesson 1: Microcontrollers and SBCs. Background: What, precisely, is computer science?

occam on the Arduino Adam T. Sampson School of Computing, University of Kent Matt C. Jadud Department of Computer Science, Allegheny College

Arduino Lesson 1. Blink. Created by Simon Monk

Total Hours Registration through Website or for further details please visit (Refer Upcoming Events Section)

Veyron Servo Driver (24 Channel) (SKU:DRI0029)

Management of Home Appliances with Variation in Environment Aisha Jilani, Sahar Sultan, Intesar Ahmed and Sajjad Rabbani

Using Z8 Encore! XP MCU for RMS Calculation

Internet of Things Student STEM Project Jackson High School. Lesson 2: Arduino and LED

Triscend E5 Support. Configurable System-on-Chip (CSoC) Triscend Development Tools Update TM

Downloading the Code. Contacting the Author. xxvi

Automated bulk IC programming unit for manufacturing industries

Study of M.A.R.S. (Multifunctional Aero-drone for Remote Surveillance)

Teaching students science and engineering with high altitude balloons and ChipKits

FABO ACADEMY X ELECTRONIC DESIGN

IOT Based Intelligent Traffic Signal and Vehicle Tracking System

Unit level 5 Credit value 15. Introduction. Learning Outcomes

INTRODUCTION. What is the LSN50

AVR1606: XMEGA Internal RC Oscillator Calibration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

K9JM CI-V Router User Guide for software version 1.13 September 2016

Design and Implementation of AT Mega 328 microcontroller based firing control for a tri-phase thyristor control rectifier

SNIOT702 Specification. Version number:v 1.0.1

MCU Product Selection Guide

INSPI Mobile. ios Quick Guide The Safeguard mobile applica3on for Inspectors. Table of Contents

MAKEVMA502 BASIC DIY KIT WITH ATMEGA2560 FOR ARDUINO USER MANUAL

RX23T inverter ref. kit

ARDUINO / GENUINO. start as professional. short course in a book. faculty of engineering technology

DESCRIPTION DOCUMENT FOR WIFI SINGLE DIMMER ONE AMPERE BOARD HARDWARE REVISION 0.3

IOT Based Smart Greenhouse Automation Using Arduino

K9JM CI-V Router User Guide for software version 1.11 March 2015

DESCRIPTION DOCUMENT FOR WiFi <-> RS485 <-> LoRa DEVICE BOARD HARDWARE REVISION 0.1

ATAVRAUTO User Guide

Arduino A Quick Start Guide

swarm radio Platform & Interface Description

ZigBeeNet Software 1.0 Range Measurement Tool Users Guide

GREEN HOUSE USING IOT

OTTO THE BIPEDAL ROBOT

Intelligent and passive RFID tag for Identification and Sensing

Logistics. Kinetic Art. Embedded Systems. Embedded Systems and Kinetic Art. Jim Campbell s Algorithm

Embedded Systems and Kinetic Art. CS5968: Erik Brunvand School of Computing. Art4455: Paul Stout Department of Art and Art History.

Over Speed Vehicle Marking System Using Arduino UNO Controlled Air Cannon

Data Logger Subsystems Mark Buccini February 2012

ATxmega128D4 / ATxmega64D4 / ATxmega32D4 / ATxmega16D4

8-bit Microcontroller. Application Note. AVR084: Replacing ATmega323 by ATmega32. Features. Introduction. ATmega323 Errata Corrected in ATmega32

ADVANCES in NATURAL and APPLIED SCIENCES

GSM Based Patient Monitoring System using biomedical sensors

SPY ROBOT CONTROLLING THROUGH ZIGBEE USING MATLAB

ZX Distance and Gesture Sensor Hookup Guide

FLEXIBLE ROBOT USING AUTOMATED OBJECT SENSING AND SERVING WITH GRIPPER MECHANISM

Preliminary Design Report. Project Title: Search and Destroy

DTMF Controlled Robot

Getting Started with the micro:bit

DESCRIPTION DOCUMENT FOR WIFI / BT HEAVY DUTY RELAY BOARD HARDWARE REVISION 0.1

RC Filters and Basic Timer Functionality

Arduino

Data sheet. MATRIX

ASCOM EF Lens Controller

Adafruit SGP30 TVOC/eCO2 Gas Sensor

Blue Bamboo P25 Device Manager Guide

A PRACTICAL GUIDE TO CONNECTING HARDWARE TO FLEX

Application Programming Interface for the Radio Bridge Console VERSION 1.0 DECEMBER 2018

URM37 V3.2 Ultrasonic Sensor (SKU:SEN0001)

Internet of Things with Arduino and the CC3000

Electronic Prototyping

Real time digital audio processing with Arduino

Arduino Intro. Introduction to Arduino For linux geeks. By Peter Sjöberg peters-oclug at techwiz point ca.

EARTHQUAKE EARLY WARNING SYSTEM FOR ANDROID

T-535-MECH Mechatronics II DC Conveyor motor control using Arduino Uno programmed in C Final report. Gunnar Óli Sölvason

ZKit-ARM-1769, ARM Dev. Kit

CMOS MT9D111Camera Module 1/3.2-Inch 2-Megapixel Module Datasheet

TWEAK THE ARDUINO LOGO

LumiNet: Prototyping Organic Physical Networks (and hacking Arduino in the process)

ICM Shield Hardware User Guide

Luxurious Transporting System

USING ARDUINO AND WIFI WITH RSSI TO CONTROL LED: AN IOT BASED APPROACH

TS100. RTD - PT100 - Temperature Sensor. March, 2017

International Journal of Advances in Science and Technology (IJAST)

II. BLOCK

Wireless ID Verification and Updation Using RF-ID Tag in Vehicle

Induction Motor Protection using Micro Controller

Transcription:

Disclaimer The opinions expressed and materials shared in this presenta1on are my own and may not reflect the opinions, policies, or procedures of my employer. Steve Watson 2 DFRWS US 2014

What is Arduino? A single board microcontroller plahorm. An open source electronics plahorm. Steve Watson 3 DFRWS US 2014

Why are we talking about Arduino? New, founda1onal technology appearing in many different form factors. No clear direc1on on forensic acquisi1on of data on this evolving plahorm. Steve Watson 4 DFRWS US 2014

Where is Arduino today? Steve Watson 5 DFRWS US 2014

Examples - MakerBot Thing-O-Matic By 2018, 3D prin0ng will result in the loss of at least $100 billion per year in intellectual property globally. Introduced September 2010 at MakerFaire NYC Steve Watson 6 DFRWS US 2014

Example - Arduino Phone htp://www.instructables.com/id/arduinophone/ htp://blog.arduino.cc/2013/08/12/diy- cellphone/ Steve Watson 7 DFRWS US 2014

Examples - ArduSat 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 9 DFRWS US 2014

Is there data to recover?

Where is the data? Microcontroller Development Systems Remote Endpoints Steve Watson 11 DFRWS US 2014

What is the data? Microcontroller Development Systems Remote Endpoints running applica1ons (flash) NVM, persistent (eeprom).csv,.txt (asci or hex on SDCARD) Fuses (single byte hex values).ino (Arduino sketch).elf (intermediate step between c+ + and assembly).hex (assembly) cloud compu1ng updates (TwiTer, Facebook, IoT pages) control messages (c&c of other microcontroller devices).txt,.csv.json (JSON calls to other applica1ons) Steve Watson 12 DFRWS US 2014

How I approach new devices 1. What is the opera1ng system? 2. What is the storage? 3. What is the connec1vity? 4. How is the system updated, installed, accessed? 5. What are the parallels with other systems and devices? 6. What exis1ng documenta1on and informa1on exists? Steve Watson 13 DFRWS US 2014

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 15 DFRWS US 2014

Connection: Chip-off Example: ZIF Socket 28- Pin, htps://www.sparkfun.com/products/9175 Steve Watson 16 DFRWS US 2014

Connection: Tethered Arduino Arduino Tutorial: Using an Arduino as an AVR ISP (In- System Programmer) Steve Watson 17 htp://arduino.cc/en/tutorial/arduinoisp DFRWS US 2014

Connection: JTAG Equivalent Olimex STK500v2 connected via ICSP to an Arduino UNO Steve Watson 18 DFRWS US 2014

Connection: ICSP ICSP - In- Circuit Serial Programming Steve Watson 19 DFRWS US 2014

Software used to acquire 1. AVRDUDE - AVR Downloader/UploaDEr a. opensource b. htp://www.nongnu.org/avrdude/ c. Included in the Arduino IDE install under install directory../arduino/hardware/tools/avr/bin/ avrdude.exe Steve 2. Watson Atmel AVR Studio 20 DFRWS US 2014

Data to acquire Flash (32KB) EEPROM (1KB) NVM reserved for persistence across uploads Fuses (1B x 3 reserved) lfuse, hfuse, efuse single byte hex configura1ons related to clock, bootloader and voltage (see reference slide for more detail) Steve Watson 21 DFRWS US 2014

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 opera1on] Note the :r: and :r to define READ change flash to eeprom, lfuse, hfuse and/or efuse to acquire reserved por1ons. Steve Watson 22 DFRWS US 2014

Software: AVRDUDE C:\apps\avrdude - 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 23 DFRWS US 2014

Software: Atmel Studio Full walkthrough (screenshots) of an MCU acquisi1on in the backup slides. Steve Watson 24 DFRWS US 2014

Investigations where data may be needed 1. Supply chain inves1ga1ons 2. Malware analysis 3. Improvised devices 4. Automa1on and control systems 5. Medical, fitness 6. Security, access control 7. Drones 8. Cloud Steve Watson 25 DFRWS US 2014

Why does this matter? 1. Inves1ga1ons and li1ga1on are coming to this new technology area. 2. The principles applied here can be expanded to other embedded technologies. Steve Watson 26 DFRWS US 2014

Thank you! Steve Watson forensics@stevewatson.net steve.watson@intel.com TwiTer @stevewatson LinkedIn - watsonsteve

Backup Material

Credits 1tle slide - Arduino schema1c, htp://arduino.cc/en/uploads/main/arduino- uno- schema1c.pdf slide 3 - Arduino UNO photo, htp://arduino.cc/en/uploads/main/arduinouno_r3_front.jpg slide 5 - Icons made by www.fla1con.com slide 6 - Image htp://upload.wikimedia.org/wikipedia/commons/8/87/makerbot_thing- O- Ma1c_Assembled_Prin1ng_Blue_Rabbit.jpg htp://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.fla1con.com slide 16 - Example: ZIF Socket 28- Pin, htps://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/

Reference - Fuses lfuse hfuse efuse http://www.engbedded.com/fusecalc/

AVR Acquisition with Atmel Studio Begin

Software: Atmel Studio

1. From Atmel Studio main screen, choose Debug then Device Programming. 2. Iden1fy the Tool, Device, and Interface then click Apply.

AVR Acquisition with Atmel Studio End