Hacking the CES Scavenger Hunt

Computers & Mobile
Hacking the CES Scavenger Hunt

make_ces_612x64

It has just been announced that at this year’s Consumer Electronics Show (CES) will feature a promotional scavenger hunt based around Apple’s iBeacon technology. What if you could win the hunt, without ever having to go to CES?

Quietly introduced by Appleย at WWDCย last year,ย iBeacon is a technology that allows you to add real world context to smart phone applications. Based around Bluetooth LEโ€”part of the new Bluetooth 4.0 standardโ€”itโ€™s a way to provide basic indoor navigation and proximity detection.

As we talked about earlier today when we reverse engineered the Estimote beacons, there are three properties of an iBeacon that work together toย create the beaconโ€™s identity. These are:

  • UUIDย โ€” This is a property which is unique to each company, in most use cases the same UUID would be given to all beacons deployed by a company (or group).
  • Major โ€” The property that you use to specify a related set of beacons, e.g. in a retail setting all the beacons in one store would share the same Major value.
  • Minor โ€” The property that you use to specify a particular beacon in a location.

The scavenger hunt is therefore a hunt for a number of beacons that will probably all share the same UUID and Major numbers, but will have different Minor numbers. Effectively, we’re looking for a set of beacons.

However wandering the hallways at CES hoping to get into theโ€”approximate 100 foot rangeโ€”of all of the iBeacons they’ve scattered across the show floor sounds like a lot of work.

CES has teamed up withย Radius Networksย who are providing the iBeacon hardware, andย Marc Wallaceโ€”CEO and cofounder of Radius Networksโ€”has this to say about the hunt,

This is one of the coolest proximity-aware apps we have worked on. This is also one of the first, tangible applications that leverages iBeacon technology. And it is a great example of how iBeacon technology is not just about advertising as it is about bringing new and innovative solutions to the marketplace. We are very excited to be a part of it.

Since they’re using hardware from Radius Networks we can’t just assumeโ€”as we could with the Estimote hardwareโ€”that we know the UUID of the beacons. However the identities of the beaconsโ€”all of the beaconsโ€”are somewhere where we can easily get our hands on them, the CES mobile app.

Sure enough looking at the CES Android applicationโ€”it’s fairly easy just to download the APKย without having to installโ€”there are some hints there for us and using a decompiler it was fairly easy to find the details of the target beacons.

The Minor numbers of the nine target beacons in the code of the CES mobile application.
The Minor numbers of the nine target beacons in the code of the CES mobile application.

The iBeacon UUID we’re looking for isย 842AF9C4-08F51-1E39-282F-23C91AEC05E, while the Major numberโ€”interestingly not actually needed and just ignored by the Android applicationโ€”is 65000, while the nine beacons scattered throughout theย CES venueย haveย Minor numbers from 65001 to 65009.

The completed scavenger huntโ€”all nine beacons.
An almost completed scavenger huntโ€”with eight of the nine beacons already “found”.

Sinceย we now know the identities of the beacons, it’s trivial to finish the scavenger hunt without ever going to CES as it’sย actually fairly simple to build your own iBeacon hardware and “fake” the app into thinking you’ve found the beacons. To do that you can either use a Raspberry Pi,ย or a Bluetooth LE board like the Red Bear Labs BLE Mini boardโ€”Radius Networks,ย the people supplying the hardware to CES,ย is even selling a “iBeacon Development Kit” which would work just fine for our purposes.

At which pointโ€”now you have your own iBeacon hardwareโ€”you can just go ahead and set the UUID, Major and Minor numbers of your beacon to each of the CES scavenger hunt beacon identities in turn, and then bring your beacon into range of your cell phone running which should be running the CES mobile app. Once you’ve shown the app all of the beacons, you’ll haveย “finished” the scavenger hunt and can claim your prize.ย Of course doing that isn’t legal. It’s called fraud and will probably land you in serious trouble. Don’t do that.ย 

Of course it could be worse.ย If they are using Estimote hardware it’d be easy for someone to make the hunt impossible to complete. Because as we’ve shown, anyone with the Estimote SDK can modify the UUID, Major and Minor number of the Estimote beacons in the field. Which would have meant that the beacons deployed across the CES floor didn’t work for the scavenger hunt anymore. Again, we don’t suggest you do this. Hacking technology to understand how it works and make it work better for you is one thing, but gratuitous monkeywrenching that wrecks someone else’s experience is not nice.

We talked about both of the ability to configureย “fake” beacons, and the ability to disable beacon in the fieldโ€”in our discussion of our reverse engineering of the Estimote iBeacon hardware. However, we didn’t think we’d see something like this quite as soon.

Update:ย Thanks to Binoy Joyย for the reminder. The Radius Networks applicationโ€”for both iOS and Androidย (Android doesn’t support peripheral roles)โ€”includes the ability to make your device into an iBeacon, and allows you to configure the UUID, Major and Minor number for the beacon. So if you have two devices with you at CES todayโ€”say a phone and a tabletโ€”then you too can be a winner in the great CES Scavenger Hunt.

Tagged

Alasdair Allan is a scientist, author, hacker and tinkerer, who is spending a lot of his time thinking about the Internet of Things. In the past he has mesh networked the Moscone Center, caused a U.S. Senate hearing, and contributed to the detection of what wasโ€”at the timeโ€”the most distant object yet discovered.

View more articles by Alasdair Allan

Sandeep Mistry is a professional software engineer, who enjoys tinkering with the Internet of Things and Bluetooth Low Energy (BLE) devices.

View more articles by Sandeep Mistry
Discuss this article with the rest of the community on our Discord server!

ADVERTISEMENT

FEEDBACK