Wednesday, March 5, 2014 is now retired...

In 2013 I released the "Bluetooth Device Database" project and spoke about it at DEFCON 21.  Recently, I grew tired of paying my EC2 bill and decided to retire the project.  All of the source code used to create the clients and server is still available in my bluetoothdatabase github repo.

The slides and videos from the DEFCON 21 talk can be found here.

If you have any questions about the project feel free to contact me.

Thursday, January 2, 2014

Using Pure Python to Interact With an Ubertooth and Parse Bluetooth Baseband Data

In mid 2013 I gave a talk at a conference called Lockdown in Wisconsin.  During the talk I released a pure python library for parsing rudimentary bluetooth baseband data and interacting with an Ubertooth USB device.

The core Ubertooth C libraries and tools are much more robust (and faster), but the pure python implementation provided the following:

  • Quick deployment with no need for compiling.
  • Rapid prototyping of new and custom Ubertooth tools in python.
  • Quick and easy way to hook up an Ubertooth to mobile phones and other ARM devices.
  • Ubertooth data integration into my favorite python analytic libraries
  • An excuse for me to better understand the baseband layer and pyusb

Wednesday, January 1, 2014

My 2013 DEFCON 21 Video and Audio on the Bluetooth Database project are now avalable

At DEFCON 21 I gave a talk about tracking bluetooth devices on a large scale.  The videos from this presentation are now available here.

During the presentation I released an IOS tool which sideloaded bluetooth functionality to allow an iphone to track other bluetooth devices.  The tool then sent the data to a web service for storage & analysis.  The code used to create the IOS sensor node and the corresponding server code can be found here.

The data gathered from this project showed:

  • Tracking of bluetooth devices over time via geolocation
  • The percentage of stationary to moving devices in a large sample set
  • What were the most popular deployed devices at the time (vendor, os, device type, etc)
  • Provided a mechanism for statistically deriving NAP addresses when doing passive monitoring