Saturday, December 15, 2012

Radio Frequency Exploitation using GNU Radio + USRP2: Part 1

Sorry for the delay. However, Let's dive right into today's subject.

Radio frequencies have been of interest to me ever since I can recall. My interest however died away in the confusion of whether to become a Pharmacist or a renowned hip hop artist but thankfully after growing up, I revisited the passion with renewed interest. This time Open Source had made significant steps towards bringing programmable radio interfaces closer to normal users.

So sometime late last year I dived into GNU radio for the sole purpose of exploring the airwaves. In addition, I also went further to research on how secure GSM networks are using open source implementations and a Motorola C123 phone. This is a topic for another day.
However today I want to present to you just how easy it is to intercept radio frequencies using a software defined radio; the USRP. For more on what the USRP is read on http://en.wikipedia.org/wiki/Universal_Software_Radio_Peripheral.

The USRP isnt a cheap piece of hardware and will set you back a few dollars. However, cost aside, the potential presented are limitless from creating your own FM/AM Transmitter/Receiver, listening in on Law enforcement communication, tracking planes taking off and landing, Satellite image decoding, TV reception.....the list goes on. However, outside these interesting hacks, it is a powerful device for signal analysis and simulations. Given your interests it comes with a plethora of additional daughter boards operating on different frequency ranges. By default it consists of an FPGA board and a DSP which integrates with the software (GNU radio in our instance).

My basic set up includes:

  • Laptop with decent processing capability running on Ubuntu 11.0+
  • Gigabit ethernet port (my USRP N200 connects via ethernet though other models, B100 connect via USB)
  • GNU radio 3.5 and GNU radio companion.
  • Lots and lots of caffeine :-)
Here is my overall set up.

Installing GNU radio is straightforward. If  you are on Ubuntu simply run sudo apt-get install gnuradio. On Fedora it should be equally as simple as running sudo yum install gnuradio. I prefer to compile it from the source for some reason so I can specify various parameters but it should install just fine either way. The next step is to grab the uhd driver from the makers of the USRP, Ettus Research. This is described in greater detail on their website 

Once you have all the dependencies installed, there is the bit where you connect your USRP to your laptop. Again, my device connects via the UHD driver and therefore you need to install the right image for your hardware. Be careful not to brick your device though there is a way to recover. Instructions to do this are described here http://files.ettus.com/uhd_docs/manual/html/usrp2.html

Once all this is done, you should be in a position to connect to your device and get on with the interesting part which is hacking radio frequencies.

Ill detail how we achieve this in Part 2 of this tutorial.

Cheers and happy hacking.

-ty