Hardware Hacking Primer

861 views

Published on

The basics of Arduino, Raspberry Pi as well as some other projects that I'm working on.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
861
On SlideShare
0
From Embeds
0
Number of Embeds
36
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Hardware Hacking Primer

  1. 1. Hardware Hacking A primer Yashin Mehaboobe Icarus Labs ,CSPF
  2. 2. #root@nowhere:whoami oHead, Icarus Labs (CSPF) oAuthor of PyTriage oFound a DoS bug in Android oSpoke at Defcon Kerala oCreated the Raspberry Pi Malware Scanner Interests: Hardware Hacking, Reverse Engineering, Malware Analysis and Open Source Contribution
  3. 3. Why hack hardware? •More interesting •More rewarding •Usually open entry point into an otherwise secure network •Interacting with the physical world.
  4. 4. The Raspberry Pi The computer geek’s electronics toy
  5. 5. Why Pi? •Easily supports a large variety of languages. •Comes with an Ethernet and USB ports. •GPIO pins for hardware hackery •Inbuilt RNG •VideoCore GPU •Linux!!!!
  6. 6. GPIOs •Only digital •26 in total •Can be controlled through Python, C or a number of other languages •PWM support exists, so does I2C, SPI and UART •Can be set as input or output.
  7. 7. GPIO Pinout
  8. 8. Hack the Pi. Lesson 1: LED blinky!
  9. 9. Hack the Pi Lesson 2: Serial Hacker
  10. 10. Wiring
  11. 11. Why so serial?
  12. 12. Mayhem Numero Uno
  13. 13. WhatDuino •Open hardware project •Official versions: Uno, Mega, Duemilanove, Esplora etc •Compatible: Teensy, TinyDuino, Femtoduino, •Shields, shields, shields!!! •Multiple uses, single programming language!
  14. 14. Basic Overview •14 Digital pins •6 Analog pins •Voltage regulated power supply •Programmed over USB •Inbuilt LED at pin 13
  15. 15. Shields
  16. 16. Lesson 1: ArduBlinky int led = 13; // the setup routine runs once when you press reset: void setup() { pinMode(led, OUTPUT); // initialize the digital pin as an output. } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
  17. 17. Arduino Hacks Lesson 2: IR takeover
  18. 18. Arduino Hacks Lesson 3: The Attack of the HID
  19. 19. Thank you!! Questions? Contact: Twitter.com/YashinMehaboobe yashinm@cysecurity.org

×