hardware hacking for software geeks - def con

35
 Hardware Hacking for Software Geeks David Gustin and Ab3nd

Upload: others

Post on 06-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hardware Hacking for Software Geeks - DEF CON

   

Hardware Hacking for Software Geeks

David Gustin and Ab3nd

Page 2: Hardware Hacking for Software Geeks - DEF CON

   

Introduction

● Why this talk?● Building a lab● Tools● Forward Engineering● Reverse Engineering

Page 3: Hardware Hacking for Software Geeks - DEF CON

   

Building a Lab

● Space● Ventilation● Lighting● Work surfaces● Grounding

Page 4: Hardware Hacking for Software Geeks - DEF CON

   

Soldering

● Iron selection● Solder selection● Practicing● Limits of human ability

Page 5: Hardware Hacking for Software Geeks - DEF CON

   

Advanced Soldering Tricks

● Toaster oven reflow soldering● Skillet reflow soldering● Hot air tools

Page 6: Hardware Hacking for Software Geeks - DEF CON

   

Toaster Oven Refow

● Toaster oven as heat source● Temperature controlled by computer

Page 7: Hardware Hacking for Software Geeks - DEF CON

   

Skillet Reflow

● Electric skillet as heat source ● Easier to watch progress

Page 8: Hardware Hacking for Software Geeks - DEF CON

   

Hot Air Tools

● Heat gun● Hot air pencil

Page 9: Hardware Hacking for Software Geeks - DEF CON

   

Tools

● Volt/Ohm meter (VOM)● Oscilloscope● Logic probe● Logic analyzer

Page 10: Hardware Hacking for Software Geeks - DEF CON

   

Volt/Ohm Meter

● Analog vs. digital● Bells and whistles

Page 11: Hardware Hacking for Software Geeks - DEF CON

   

Oscilloscopes

● Analog vs. digital● DIY or buy?● Secondhand or new?

Page 12: Hardware Hacking for Software Geeks - DEF CON

   

Logic Probes

● Display the state of a single logic signal● DIY or buy?

Page 13: Hardware Hacking for Software Geeks - DEF CON

   

Logic Analyzers

● Display the state of multiple logic signals● Usually can record signals● DIY versions

Page 14: Hardware Hacking for Software Geeks - DEF CON

   

USB tools

● Portable, can be cheaper● May be OS constrained

Page 15: Hardware Hacking for Software Geeks - DEF CON

   

DIY tools

● XOScope● Parallel port logic analyzers● JTAG wigglers● Flash Dumpers

Page 16: Hardware Hacking for Software Geeks - DEF CON

   

Sources

● The Internet– Harbor Freight, Ebay (also has bio lab gear)

● Hamfests● Dumpster Diving● Colleges

– Befriend some real scientists

Page 17: Hardware Hacking for Software Geeks - DEF CON

   

Autodiadacticism!

● Engineer's Notebook series– Forrest Mims

● The Art of Electronics (aka The Bible)– Horowitz and Hill

● Application Notes

Page 18: Hardware Hacking for Software Geeks - DEF CON

   

Forward Engineering

As opposed to...the other kind.

Page 19: Hardware Hacking for Software Geeks - DEF CON

   

Process

● Gather requirements● Research resources● Assemble solution● Test and refine

Page 20: Hardware Hacking for Software Geeks - DEF CON

   

Chip Selection

● Architecture● Speed● Storage space● I/O● Embedded peripherals

Page 21: Hardware Hacking for Software Geeks - DEF CON

   

Embedded Architectures

● PowerPC● ARM● MIPS● X86● HC91S12● ARM● PIC

Page 22: Hardware Hacking for Software Geeks - DEF CON

   

Evaluation Boards

● Purpose● Sources

Page 23: Hardware Hacking for Software Geeks - DEF CON

   

GNU Toolchains

● Allows cross­compilation● Availability highly variable

Page 24: Hardware Hacking for Software Geeks - DEF CON

   

Embedded OSs

● OS or not?● Embedded Linux● FreeRTOS● DOS (No, really)

Page 25: Hardware Hacking for Software Geeks - DEF CON

   

No OS

● Task loop● Data storage● Interrupts● I/O● Timers

Page 26: Hardware Hacking for Software Geeks - DEF CON

   

Building Blocks

● Pluggable functionality● Object Oriented hardware!

Page 27: Hardware Hacking for Software Geeks - DEF CON

   

Communication

● CAN bus● SPI / 2­Wire / I2C● RS232's not dead

Page 28: Hardware Hacking for Software Geeks - DEF CON

   

Reverse Engineering

Live by the soldering iron, die by the DMCA

Page 29: Hardware Hacking for Software Geeks - DEF CON

   

Process

● Start with a product● Figure out the subsystems● Determine the parts of interest● Figure out what each part does

Page 30: Hardware Hacking for Software Geeks - DEF CON

   

Reading PCBs

● Parts● Traces● Silkscreen

Page 31: Hardware Hacking for Software Geeks - DEF CON

   

Filling in the Blanks

● Datasheet searches● Recognizing common subsystems

Page 32: Hardware Hacking for Software Geeks - DEF CON

   

Protocol Reversing

● Snooping● Fuzzing

Page 33: Hardware Hacking for Software Geeks - DEF CON

   

Dumping Code

● BDM● JTAG● Flash Dumpers● EPROMS

Page 34: Hardware Hacking for Software Geeks - DEF CON

   

Decompiling

● IDA Pro● Learn assembly, microcontroller organization

Page 35: Hardware Hacking for Software Geeks - DEF CON

   

The End

● Thanks to the Hacker Foundation, etc...