Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

An anonymous reader writes "This week Dutch security researcher Niels Teusink described a method of attacking wireless presenter devices at an Amsterdam security conference. He had a demo showing how it is possible to use an Arduino and Metasploit to get remote code execution by sending arbitrary keystrokes to the presenter dongle. He has now released the code and made a blog post explaining how it all works. Better watch out the next time you're giving a presentation using one of these devices!"

Strictly speaking, Arduinos aren't microcontrollers. They're a popular hobbyist embedded platform based around the Atmel AVR microcontroller family. Much like Dells are a particular brand of computer based around x86 architecture microprocessors.

But yes, "Arduino this", "Arduino that" gets tiring after a while. Arduinos have a huge following, but there are zillions of alternatives of all shapes and sizes (many of them better in many ways). There's nothing Arduino-specific about this hack.

While strictly true (once you attach a microcontroller chip to a PCB board, it's no longer just a microcontroller), there isn't much to an Arduino board aside from the controller. Most include some basic power management and a USB-to-serial chip for programming and comms, but those are just common features rather than requirements to be considered an Arduino. IMO, what defines an Arduino is its software package... Or is that what you were getting at? ^_^

Well, technically, Arduinos are defined as whatever Smart Projects labels an Arduino (it's their trademark). However, yeah, Arduinos (in common usage) are defined more by their software rather than their hardware(in particular, a compatible bootloader that works with the Arduino development environment), because you don't really need much hardware to make a modern microcontroller run.

Which really just goes on to prove that there isn't anything special about Arduino at all. It's really just a bog-standard si

there is nothing special with the Arduino when you look at it from a technical standpoint. But it all changes when you look at it from a human stand point. Since the release of the Arduino platform I have seen so many more people that would probably never picked up a soldering iron in their lives make cool stuff. The platform itself inspired many, which is much more important than it being some sort of special hardware.

But yes, "Arduino this", "Arduino that" gets tiring after a while. Arduinos have a huge following, but there are zillions of alternatives of all shapes and sizes (many of them better in many ways). There's nothing Arduino-specific about this hack.

What's cool about Arduino is how it reduces development time through the use of readily available shields. So if he used any of them then it's worth mentioning and not if not (I skimmed but did not actually read the article, I didn't notice ANY of the Arduino details, but I did get momentarily flustered about the idea of owning a USBee.)

Speaking of cool stuff I could own, can anyone recommend a cheap USB JTAG with Windows and Linux support? I would accept RS232 as a second option. LPT is not eligible.

No shields, which is why it's rather pointless. He just used the SPI interface pins connected to one of these [digikey.com]. He even had to perform voltage level conversion.

To answer your question, you can just get any bitbanging USB JTAG interface based on the FT2232D or FT2232H chip. I own this one [tincantools.com], which also happens to include a USB to RS232 converter channel (since the FT2232 has two comm channels). FT2232D versions are more common but are only USB full-speed. FT2232H versions can bitbang faster, as they USB High-Sp

Yeah, I'll just buy that one when the time comes. Right now I'm "sitting at" this Gateway LT3201u 11" 'netbook' which has a chipset which will work with coreboot v2. So I'm thinking that I'm going to need to give it some love because Gateway refuses to kick out a BIOS which will enable AMD-V. Besides, the BIOS POST is a huge part of the boot time. Die, Gateway, Die.

"You wouldn't say, "I attacked that system using a Dell""You would if you used a Dell computer. This guy DID use an Arduino, so it isn't incorrect or "fanboy-ish" to say "Arduino".

There's also a second issue here. If you say "I used a computer to do such and such" then it's understood that you were using any hardware running windows, apple, or linux operating systems. There's really only three options. Not so with microcontrollers. There's hundreds of microcontrollers and they're all significantly diff

well, because the devices send any keyboard command, you can take over the machine and do anything. however, if you just want to wreck havoc with powerpoint, then you could probably just bring your own keyboard presenter and it will probably work the same way. like someone using a remote control on your tv

Most presenting devices have at least rudimentary pairing between remote and dongle. At least I know that the Keyspan remote I've been using for the last 5 or more years works that way. Just bringing another remote of the same kind would likely do nothing.

Most presenting devices have at least rudimentary pairing between remote and dongle.

Yes, but a lot of projectors also have remote controls, and they're usually not paired. Switching things off mid-presentation is deeply annoying to the presenter.

(I say this because of a presentation I once saw a friend do where his remote would (IIRC) bring up the configuration menu every time he switched page. Funny, but it forced him to switch to manual control.)

Attacker does this by sending keycode signals over RF, pretending to be the presenter's wireless remote. The hard part was reverse engineering presenter commands (he finds that replaying them works), and sniffing through channels to find the channel the presenter is using.

The exploit code is the least significant part of this. Any exploit code could be used. If the user needed to escalate privileges for instance then another vulnerability might be attacked. But who cares: the point is the presenter is vulnerable, and critically so. What has leet code got do with anything?

dunno about that -- from the article (yes, i RTFA in this case) it seems you can send any keystrokes you want...
so as long as the system accepted the commands you were giving it (presumably anything that doesn't require user elevation) you could make it do whatever you wanted.

While Bluetooth certainly has its issues and took a while to address all the early security concerns, I really wish wireless device creators would stop rolling their own protocols. With limited engineering, they are almost certainly guaranteed to do it badly. As of Bluetooth 2.1, all communication aside from service discovery is encrypted. There are still pairing exploits and implementation defects, but at least they have the core idea right.
In order to monkey with a Bluetooth presentation remote, you would have to (a) discover the shared key during the speakers presentation, (b) convince the presenter to redo pairing prior to speaking and somehow get them to pair with your evil device instead (has a Bluetooth man-in-the-middle attack been tried yet?), or (c) give up and settle for just jamming the communication, causing a whopping 30 seconds of confusion.
If you design a wireless protocol now without over-the-air encryption, you are doing it wrong.

Hello? You can buy Bluetooth-USB-modules for as little as $3 from Amazon. And that is the price for a single item sold to a consumer. The prices of development-kit-level items is hardly comparable to the actual price to implement Bluetooth in a mass-produced gizmo.

I wonder how come you didn't find that the 433MHz wireless modems cost $40 at Sparkfun as well..

I believe a large reason, if not the largest, for not using Bluetooth in simple wireless gadgets is the amount of electricity it takes compared to a si

Do you mean the Bluetooth USB modules used to add Bluetooth support to a PC that doesn't have it? Unfortunately, an embedded system doesn't have a desktop-class processor to run the Bluetooth stack.

Oh, and those el-cheap-o Bluetooth modules you're suggesting are probably very out-dated, which is why they're so cheap. That $3 module probably cost more when it was less than a year old and they weren't trying to dump the inventory that they can't sell at a higher price...

Oh, and those el-cheap-o Bluetooth modules you're suggesting are probably very out-dated, which is why they're so cheap. That $3 module probably cost more when it was less than a year old and they weren't trying to dump the inventory that they can't sell at a higher price...

But for keyboard simulation, you don't need a fancy high-speed module. You're talking a few bytes per second. A cheap module should be enough. Hardware that can do anything is more expensive than hardware which is more specialized to its task; flexibility costs.

The Arduino has 16k of flash memory and 2k of ram. It has exactly one hardware uart though other pins can act as software serial devices. It cannot act as a USB master like a PC without some help though it can act as a USB peripheral i.e. a usb to serial device. I may be able to hack apart that bluetooth dongle and get access to the bluetooth chip but I suspect the USB and bluetooth are integrated in one ASIC which won't allow that.

Ah, yes. The old "it cost more, therefore it must be better/newer/faster" generalization.

So, go have a look [google.com] at what's actually available. You'll see that while the prices do vary wildly, there is very little variation in terms of the actual products (aside from packaging) other than a handful of products that appear to actually be independently engineered (which is not necessarily a good thing).

Just to pick one particular product: B&H sells it [bhphotovideo.com] for $11.95. Computer Geeks has the same one [geeks.com] for $7.99.

Yeah, but then the maker would have to licence the technology and that adds cost. The chip used in the device doesn't come with Bluetooth. It's a very simple chip.

If there is demand, Wal-Mart will be happy to sell an unlicensed Bluetooth transmitter like the ones you can buy from DealExtreme, except in some packaging more elaborate than that usually used for crack rocks (i.e. a tiny ziploc.) That will help keep the costs down.:)

Of course, if all us nerds just tell all our non-nerd friends to stop buying the non-Bluetooth versions because they're broadcasting their passwords to the world, then a percentage of them will listen, and we can help stick a nail in the coff

Most of these devices don't use frequency hopping (FHSS) or even DSSS or any kind of interference resistance algorithm. Also, they run on 2.4ghz band because it's license free.All you need is a dumb laptop running Linux, or even any other OS, with a wifi card.All you have to do is set the card into raw mode (on Linux, usually setting monitor mode) to be able to inject packet.Once done, inject packets as fast as you can on the same frequency. The packet contents doesn't matter at all. And done, jammed.

In many of these cases the little proprietary receiver dongle accepts arbitrary keystrokes, not just the ones that the remote has buttons for, because it is exactly the same item as the one being sold(under that brand, or one or more others) in a package with a wireless keyboard and often a mouse as well. Some kits come with everything in one box, receiver, keyboard, mouse, little powerpoint clicker widget.

In other cases, I imagine, the engineer in charge of knocking together the receiver unit (correctly) realized that implementing a general-purpose system for taking arbitrary keycodes encapsulated in whatever the proprietary RF protocol is and dumping them to the host system just like any USB HID device wouldn't be much harder than implementing just the 6 keycodes found on revision 1 of Product X and would save him from having to do it again when revision 1.1 adds another couple of buttons, and revision 2.0 has to have a special button for the ribbon interface, or whatever it happens to be.

The one really annoying thing, with some of the especially cheap-seats implementations, is that the RF protocol is so insecure that multiple units from the same manufacturer in moderate proximity(within a couple rooms of each other) will start accidentally dropping input into the wrong receiver from time to time. One second, you are fine. The next moment, something goes wrong and you are having sentences from the email the guy two doors down is writing dumped into your presentation.

The blog entry commented especially that the hack is possible in part because the wireless devices use a one-size-fits-all protocol; hence the presentation remotes are capable of communicating keyboard and mouse commands even though they are really neither a keyboard nor a mouse.

In other words, our desire for things cheap and shiny has made us vulnerable yet again. Its the lead-paint-on-toys problem, but this time the victims are not children.

I would agree that the desire for "cheap" is arguably behind this problem; but I would disagree about "shiny". The problem isn't that the protocol is general purpose(particularly in those cases where the receiver was sold in a set that contained a mouse and/or keyboard in addition to the little PPT remote...) but that absolutely no useful effort was made to apply what we already know about authentication and encryption. For just slightly more, you could just have a bluetooth device that(while certainly not

In other words, our desire for things cheap and shiny has made us vulnerable yet again. Its the lead-paint-on-toys problem, but this time the victims are not children.

Who are the victims? People giving presentations? And they're victims to people being jackasses?

Sorry, I just don't see that as comparable to children (or anyone) being poisoned by lead. Security is always about risk. There's a million ways to be a dumb ass during a presentation, be it the tv b gone [wikipedia.org] or something about equally as childish b

If it just allowed minor presentation interrupting issues it wouldn't even be all that notable of an event. The catch is that it allows remote code execution. That is a little bigger than a whoopee cushion.