The two day Software Defined Radio (SDR) course is an introduction to digital signal processing, software radio, and the powerful tools that enable the growing array of SDR projects within the hacker community. This course takes a unique “software radio for hackers” approach, building on the participants’ knowledge of computer programming and introducing them to the forefront of digital radio technology. Participants will learn how to transmit, receive, and analyze radio signals and will be prepared to use this knowledge in the research of wireless communication security.
Who should attend?
Anyone who has ever taken an interest wireless systems or signal processing. We teach a mixture of digital signal processing and RF theory, using the GNU Radio tools for demonstration and experimentation either individually or in groups. A background in software development and an interest in security are helpful but not required.
Agenda
Introduction to Software Defined Radio
- Overview of SDR
- What people have done with software radio in the hacker community
- GNU Radio architecture and what it includes
- What you can do in GNU Radio Companion vs. python vs. C++
- Capabilities of HackRF and other SDR hardware platforms
Exercise: Finding a Signal
- Using HackRF and GNU Radio to locate and receive a radio signal
- Signal analysis with Baudline
Complex vs. Real Signals
- How to think in the complex plane
- Why we use complex signals for software radio
Exercise: Working with Complex Signals (part 1)
Exercise: Working with Complex Signals (part 2)
- Exploring real and complex signals in GNU Radio Companion
Aliasing and Sampling Theory
- Introduction to sampling and aliasing
- Negative frequencies: what they mean in real vs. complex signals
- Importance of anti-aliasing filters
- The Nyquist criterion
Exercise: Transmission and Simulation
- Transmit a signal with HackRF
- Simulate both transmission and reception on a single computer
Exercise: Digital Filters
- Explore different types of filters in GNU Radio Companion
Bandwidth
- The term “bandwidth” and what it means in the context of radio communications
- Familiarity with the bandwidth of different wireless technologies
- Uses of filters
Exercise: Replay
- Attack an active RFID security device by capturing and replaying a signal
Modulation
- amplitude modulation
- frequency modulation
- phase modulation
- analog vs. digital modulations
Exercise: Modulation Identification
- Try to identify the type of modulation used in some sample transmissions
Reverse Engineering
- Using online resources
- Finding a signal with HackRF
- Signal analysis
- Determining signal characteristics (frequency, bandwidth, modulation, symbol rate)
Exercise: Reverse Engineering
- Investigate a device experimentally and/or online
Decoding Digital Signals
- Digital Modulations
- Synchronization
- Correlation
Exercise: Decoding
- Decode a digital radio transmission
The Discrete Fourier Transform
- Demystification of the most useful algorithm in signal processing
- The Fast Fourier Transform (FFT)
What should I bring?
Laptop
- There are no minimum processing power or memory requirements but signal processing is an intensive application, so more of both is always useful. Native Linux operation (not in a virtual machine) is strongly recommended. High-Speed USB 2.0 is required.
Required Software
- A Pentoo Linux bootable USB flash drive supporting all class activities will be provided. If you choose to bring your own software environment, be prepared to boot to the Pentoo drive just in case.
- We’ll be working primarily with GNU Radio, an open-source signal processing framework. We will also use libhackrf, hackrf-tools, and gr-osmosdr. Additionally, you should install Baudline, a visual signal analysis tool.
Wireless Devices
Anything with a radio that you think might be fun to work with or show off. Examples that people
have brought in the past:
- Garage door remote controls
- Remote keyless entry devices
- Remote control toys
- Mobile phone jammers
- Amateur radio SDR equipment
HackRF
- A prototype HackRF software defined radio peripheral from Great Scott Gadgets will be provided to each student for use during the class. The HackRF will be available for purchase at the end of the class.
Michael Ossmann is a wireless security researcher who makes hardware for hackers. He founded Great Scott Gadgets in an effort to put exciting, new tools into the hands of innovative people.
Twitter: @michaelossmann