Arduino, Resistor, And Barrel Plug Lay Waste To Millions Of Hotel Locks

The security flaws on this common hotel keycard lock are nothing short of face-palmingly stupid. Look closely at the picture above. This is a hotel room door swinging open. The device he holds in his hand is an Arduino connected to the OUTSIDE portion of the door lock. It takes approximately 200 milliseconds from the time an attacker plugs the device in, until the door can be opened. Yes, in less than 1/4 of one second an Arduino can open any of the millions of these locks in service.

The exploit in Onity programmable keycard locks was revealed by [Cody Brocious] at the Blackhat conference. Apparently the DC barrel jack on the outside of the lock serves as a one-wire protocol interface. Once communications are established a 32-bit sitecode can be read from any of the locks and immediately used to open the door. There is no authentication or encryption used to obfuscate this kind of attack. To make matters worse, you can even read out master key and skeleton key codes. These codes facilitate ‘magic’ keys used to open a variety of different doors through the system.

We’re no strangers to easy hotel beak-ins. But how can a digital lock possibly be sold with this type of vulnerability present? Really!?

Here’s the white paper on the exploit as well as the slides from his talk (PDF).

[via Reddit]

Adding Bluetooth Audio Playback To A Toyota Matrix

In this project [Ryan] shows how he added Bluetooth audio to the stock stereo of his Toyota Matrix. The work he did with his add-on hardware is quite good. And the installation was surprisingly easy. For example, the dashboard bezel which is hanging in the foreground of this picture simply pulls off without the need for any tools. Also, the CD changer input for the stereo is what he uses to patch into the system. It just happened to have a 0.1″ pin header so finding a connector that would work wasn’t a problem.

As for the add-on hardware, he built his own circuit board around an ATmega168 microcontroller and Bluegiga WT32 Bluetooth module. To connect to the car’s data system he went with an RS485 driver chip. It’s not quite the right part but it works well enough for his purposes. So far he can get audio playback working and plans to add support for hands free phone calls and displaying audio track information. Hey, maybe he’ll even add some extra shake-based automation; who knows?

Get a look at the install in the clip after the break.

Continue reading “Adding Bluetooth Audio Playback To A Toyota Matrix”

Emulating The DCPU On An AVR

[skywodd] just finished his own DCPU emulator (French, translation) based on [notch]’s upcoming game, 0x10c. The neat thing about [skywodd]’s build is his emulator uses the lowly ATMega328, the same microcontroller found in (some) Arduinos.

The DCPU specification goes over the operations required of any DCPU emulator. There’s a lot of crazy stuff here – a division instruction that takes only 3 clock cycles, using an overflow for carry conditions, and a complete lack of a JMP instruction – but [skywodd] was able to tease something apart from DCPU studio and a VGA interface

Everything in this emulator is built on a solderless breadboard, but the ROM and RAM isn’t complete yet. As of now, everything is handled by the ‘328, using 478 bytes of RAM on the microprocessor.

We promised we would be holding a contest for the best physical implementation of the DCPU when we caught wind of 0x10c, and [skywodd]’s build is starting to look like the beginnings of the winning entry. We honestly have no idea when we’ll be holding this contest, but it’ll probably be shortly after the first playable release. Go bug [notch] if you’d like to speed up the progress, because obviously Twitter abuse speeds up software development.

Building A Controller For MMOs

It’s a simple fact of gaming that controllers are more suited for shooters, while the WASD + mouse control of the PC gaming master race is more suited for real-time strategy games and MMOs. [Gabriel] wanted to challenge this idea, so he put together a controller combining the best of a mouse and keyboard for some hand-held RTS and MMO action.

The Keyball Controller as [Gabe] calls it is an amazing amalgamation of a 3rd party XBox and PS3 controllers, an SNES controller, a trackball, two USB keyboards and a ton of Bondo. The front of the Keyball features a WASD D-pad, scroll wheel, trackball, tiny keyboard and a few other commonly used buttons. The rear of the controller is loaded down with tons of trigger buttons and a few meta buttons that alter the function of other buttons.

The fabrication of the controller is absolutely phenomenal and certainly something that deserves to be copied. We’ve seen some controllers duplicated with a silicone mold and resin, so we can only hope that [Gabe] is looking at RTV silicone at the moment.

Yet Another RepRap Host Looks Pretty Cool

Joining the pantheon of other RepRap host software packages such as ReplicatorG, RepSnapper, and Skeinforge is Yet Another RepRap Host, a project by [Arkadiusz] that combines a lot of neat features into a very cool package.

One thing we’ve really got to give [Arkadiusz] credit for is a virtual table that allows you to import several .STL files, place them on a virtual build platform, and print them all at once. Previously, the only way we knew how to do this was by either creating a single .STL file with all the desired parts already in place, or arraying several object to increase production. The virtual table feature allows anyone to bypass those steps and print out a lot of objects all at once.

YARRH also allows you to view the GCode in 3D. This feature is a little kludgy at the moment, but [Arkadiusz] says it’s functional and more than serviceable to run a 3D printer.

Right now, YARRH is only available for Windows, but a package for Ubuntu (and hopefully OS X) are coming down the pipe. You can check out some videos of YARRH in action after the break.

Continue reading “Yet Another RepRap Host Looks Pretty Cool”

Remote Uploading To An Arduino With Codebender

[youtube=http://www.youtube.com/watch?v=KCHqhV6xPMg&w=470]

A few weeks ago, we saw codebender, an online replacement for the Arduino IDE that allowed you to upload a sketch to your board from a web browser. Over on the codebender blog [Vasilis] and his team are rolling out a way to remotely upload code to an Arduino over Ethernet. Now you don’t even need a serial connection to program an Arduino; it can be done over the Internet to a board in the next room, or on another continent.

The star of this hack is the Ariadne bootloader, an implementation of TFTP that allows any Ethernet-enabled Arduino to receive updates over the Internet. There is still one small problem with the Ariadne bootloader: uploading code over Ethernet requires someone to press the reset button on the Arduino, completely negating the benefits of programming an Arduino over Ethernet.

This problem has been solved before for earlier Arduino boards, so we’re sure [Vasilis] and his team will be able to fix the reset issue in very short order. If you’d like to check out the remote TFTP bootloader and play around with codebender, you can grab Ariadne over on GitHub.