Posts | Comments

Planet Arduino

Archive for the ‘Security’ Category

Mag
25

Arduino Garage Door Opener is Security Minded

arduino, arduino hacks, garage door opener, handshake, python, script, Security, sl4a Commenti disabilitati su Arduino Garage Door Opener is Security Minded 

Arduino garage door opener

Do it yourself garage door openers must be all the rage nowadays. We just got word of another take on this popular idea. [Giles] was commissioned by his friend to find a way to control the friend’s garage door using a smart phone. The request was understandable, considering the costly garage door remote and the fact that the buttons on the expensive remote tended to fail after a while. The inspiration for this project came from some YouTube videos of other similar projects. Those projects all paired an Arduino with a Bluetooth headset in order to control the door from a mobile phone. [Giles] understood that while this would get the job done, it wouldn’t be very secure. Bluetooth headsets typically connect to mobile phones using a four digit PIN. Many of them have known default PINs and even if the default is changed, it wouldn’t take very long to guess a four digit PIN. [Giles] knew he had to find a more secure way.

While WiFi was an option, [Giles] decided that having the garage door hooked up to the internet would likely be a security risk, even if it did offer some potential interesting use cases.  He therefore opted to stick with Bluetooth, but decided to use the Seedstudio Bluetooth shield instead of a basic headset. The electronics are relatively simple. [Giles] simply plugged the Bluetooth shield into an Arduino Uno. [Giles] did have one problem with the Bluetooth shield though. The Bluetooth module did not accept many standard AT commands. He needed a way to force a disconnect of a mobile device if it failed authentication. After digging around, he discovered that the module had some extra exposed pads that he could likely use to accomplish that goal. The only problem was that they were expecting a 3.3V signal, and the Arduino works at 5V. The solution was simple. He setup a basic voltage divider using two resistors. This lowered the 5V signal from the Arduino to the required 3.3V. This provides the communication functionality to the mobile phone. He then realized that he could use a simple 12V automotive relay to control the garage door. To control the relay, he used the Freetronics relay control shield. The end result is a relatively simple stack of shields hooked up to a relay.

For the smart phone interface, [Giles] started out by trying to write a native Android application. Having little experience in Android development, he soon realized that it was going to take him longer than anticipated to get anything usable this way. He then decided to use SL4A. SL4A provides a scripting environment for Android and supports several different scripting languages. [Giles] was then able to write a Python script that can be executed on the smart phone. Many people would be tempted to write a really simple script that would just open the door and connect without any real thought about security. After all, this is a one-off obscure garage door opener. Security through obscurity! [Giles] is smarter than that. (altro…)

Mar
31

A Real Malware In A Mouse

arduino hacks, mouse, peripherals hacks, Security Commenti disabilitati su A Real Malware In A Mouse 

mouseagain

After reading an April Fools joke we fell for, [Mortimer] decided to replicate this project that turns the common USB mouse into a powerful tool that can bring down corporations and governments. Actually, he just gave himself one-click access to Hackaday, but that’s just as good.

The guts of this modified mouse are pretty simple; the left click, right click, and wheel click of the mouse are wired up to three pins on an Arduino Pro Micro. The USB port of the ‘duino is configured as a USB HID device and has the ability to send keyboard commands in response to any input on the mouse.

Right now, [Mortimer] has this mouse configured that when the left click button is pressed, it highlights the address bar of his browser and types in http://www.hackaday.com. Not quite as subversive as reading extremely small codes printed on a mousepad with the optical sensor, but enough to build upon this project and do some serious damage to a computer.

Video of [Mort]‘s mouse below.


Filed under: Arduino Hacks, peripherals hacks
Set
27

Wi-Fi Enabled Garage Door Opener

arduino, arduino hacks, garage door, Security, wifi, wireless hacks Commenti disabilitati su Wi-Fi Enabled Garage Door Opener 

door

Normally, internet-controlled household devices are a cobbled together mashup of parts. This is great for a prototype, but if you’re looking for something that will last a decade in your garage, you’ll need something a little cleaner and more robust. [Phil]‘s Internet-enabled garage door opener is just that, replete with a custom-made enclosure for his Arduino powered system.

The main hardware for [Phil]‘s build is a Freetronix EtherTen, an Arduino clone with a built-in Ethernet interface. Aside from that, the electronics are simple: a relay, transistor, and diode provide the connection from the EtherTen to the garage door opener.

The software for this setup consists of a main file that sets up the web page, the serial monitor, and loops through the main program. There are a bunch of classes for initializing the web page, writing passwords to the EEPROM, activating the door, and setting the MAC and IP addresses.

Opening the door with this remote is a snap: with any WiFi enabled smartphone or tablet, [Phil] only needs to log onto his network, surf on over to the page hosted on the Arduino, and enter a password. From there, opening the door is just a press of a button. Passwords and other configuration settings cane be entered with MegunoLink. This software also includes a serial monitor to log who opened the door and when.

It’s an interesting and compact system, and handy to boot. You might sometimes forget your garage door opener, but we’re thinking if you ever find yourself without your phone, a closed garage door is the least of your problems.


Filed under: Arduino Hacks, wireless hacks
Ago
20

Teensy++

arduino, General, Security Commenti disabilitati su Teensy++ 

Neben einem R2Duino besitze ich auch ein Teensy++. Statt zwei Relais wie das R2Duino, besitzt das Teensy++ Speicherplatz. Zwar nicht viel aber doch genug, um damit andere Anwendungsfälle abzudecken.

Damt das Teensy++ mit der Arduino-Entwicklungsumgebung benutzt werden kann, braucht es eine Erweiterung. Diese kann von der Entwicklerseite heruntergeladen werden. Es stehen Installer für die gängigen Betriebssysteme bereit.

Teensy

Nach der Installation der die Arduino-Entwicklungsumgebung zusätzliche Einträge, welche das Teensy++ unterstützen, bereit.

TD

Bei USB Type muss auf Disk(Internal) + Keyboard umgestellt werden, bevor mit einem Projekt begonnen wird. Zum Testen kann der Simple-Sketch (File -> Examples -> Teensy -> USB_Keyboard -> Simple) benutzt werden.

Simple

Nach dem Übertragen an das Teensy++ und dem Drücken des Button, wird der definierte String gesendet.

String

Das nachfolgende Beispiel soll nun zeigen, wie Informationen in eine Datei geschrieben werden. Der Ablauf gestaltet sich so, dass notepad mit einer noch nicht existierenden Datei ausgeführt wird, Daten in die Datei geschrieben und gespeichert werden und notepad geschlossen wird. Grundsätzlich ist es eine Art "Makro". Alle Tastatur-Eingaben werden einfach wiedergegeben.

void setup() {
  delay(5000);
  Keyboard.set_modifier(MODIFIERKEY_RIGHT_GUI);
  Keyboard.set_key1(KEY_R);
  Keyboard.send_now();
  delay(500);
  Keyboard.set_modifier(0);
  Keyboard.set_key1(0);
  Keyboard.send_now();
 
  // Launch notepad
  Keyboard.print("notepad test.txt");
  Keyboard.set_key1(KEY_ENTER);
  Keyboard.send_now();
  Keyboard.set_key1(0);
  Keyboard.send_now();
 
  // We want a new empty file, we say 'yes' by hitting enter
  delay(1000);
  Keyboard.set_key1(KEY_SPACE);
  Keyboard.send_now();
  Keyboard.set_key1(0);
  Keyboard.send_now();
 
  delay(1000);
  Keyboard.print("Hello, World");
 
  // We want to save the file
  delay(1000);
  Keyboard.set_modifier(MODIFIERKEY_CTRL);
  Keyboard.set_key1(KEY_S);
  Keyboard.send_now();
  delay(500);
  Keyboard.set_modifier(0);
  Keyboard.set_key1(0);
  Keyboard.send_now();
 
  // Close notepad
  Keyboard.set_modifier(MODIFIERKEY_ALT);
  Keyboard.set_key1(KEY_F4);
  Keyboard.send_now();
  delay(500);
  Keyboard.set_modifier(0);
  Keyboard.set_key1(0);
  Keyboard.send_now();
}
 
void loop() {
 
}


  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook