
DEF CON Training
Software Defined Radios 101 $2,500
Name of training:
Software Defined Radios 101
Trainer bio:
Richard currently works as a research scientist focusing on radio communications and digital signals processing applications. Before making the jump to research, he was a RF engineer and embedded software developer working on prototype radio systems and DSP frameworks. He is passionate about radios and wireless technology and will happily talk for hours on the subject if given the chance.
Training information:
This class is a beginner's introduction to practical Software Defined Radio (SDR) applications and development with an emphasis on hands-on learning. I am a firm believer that hands-on learning is the best type, so I have this course structured around multiple labs/exercises based on real world signals. I picked the HackRF SDR as the course radio because it is probably the best hobbyist radio for the price point, and is fairly easy to work with. I plan on front-loading the first block with any RF theory/lecture and quickly move onto basic signal analysis with a few open-source tools. We will then dive into GNUradio, first just using pre-made blocks, but eventually writing our own. The course will end with a capstone CTF that can double as a test for issuing a certificate.
Class description:
This class is a beginner's introduction to practical Software Defined Radio (SDR) applications and development with an emphasis on hands-on learning. If you have ever been curious about the invisible world of radio waves and signals all around you, but didn't know where to begin, then this course is for you. Students can expect to learn about basic RF theory and SDR architecture before moving on to hands-on development with real radios. Over the two-day course, the instructor will guide students through progressively more complicated RF concepts and waveforms, culminating in a small capstone CTF exercise. Students will be provided with a HackRF SDR for the duration of the class but will need to bring their own laptop to interface with the radio. VMs will be made available to students to download before class, along with an OS setup guide for those that prefer a bare-metal install. The VM/OS will have all the required drivers and frameworks to interface with the radio hardware, allowing us to jump right into hands-on exercises. My intent for this course is to lower the barrier of entry associated with RF hacking and give beginning students a practical understanding of RF and DSP applications with SDRs.
Class Outline:
DAY 1:
Hours 1-2:
- Introduction to RF theory, waveforms, and basic modulation schemes (AM, FM, FSK, PSK, OOK)
- Nyquist sampling and aliasing
- A brief overview of Euler and complex numbers
- IQ sampling theory
- Overview of common Software Defined Radio architectures (what a LO is, overview of ADCs, how samples work, ect)
Hours 3-4:
- Introduction to GQRX and interfacing with the SDR
- Exercise/lab 1: All Along the Watchtower
- Basic demodulation in GQRX
- Exercise/lab 2: Imperial March
- Introduction to spectrum scanning
Hours 5-6
- Intro to capturing raw signals with your SDR
- Intro to inspecting raw signals
- Exercise/lab 3: Car Key Fobs
- Advanced signals inspection using Python and Inspectrum
- Exercise/lab 4: Burst IoT modem
Hours 7-8
- Introduction to GNUradio
- Key GNUradio flow graph components:
- Sources/sinks
- Filters
- Exercise/lab 5: Remove the Noise
- Demodulators
- Exercise/lab 6: FM Demod to a File
- Exercise/lab 7: AM Demod to a File
DAY 2:
Hours 1-2
- continue GNUradio flow graph components
- review filters, demodulation, sources/sinks
- Resamplers and resampling theory
- Long Exercise/lab 8: Putting it all together: FM radio in GNUradio
Hours 3-4:
- Introduction to out-of-tree modules
- Extending GNUradio through scripting and custom blocks
- Exercise/lab 9: Custom Python Blocks 1: Custom Demodulator
- Exercise/lab 10: Custom Python Blocks 2: Burst Extractor
- Advanced topics in RF: Control flow and RF mixing
Hours 5-6
- Extending GNUradio with OOT modules from the open-source community
- Exercise/lab 11: ADSB interception using an OOT block
- Advanced topics in RF: Correlation and Convolution
- Exercise/lab 11: Matched Filter Correlation
- Next steps: introduction to clock synchronization and data recovery
Hours 7-8
- Capstone exercise: RF Capture-the-Flag (CTF)
Technical difficulty of the class:
Beginner. No specific skill or experience needed. We will do some Python programming, but nothing beyond some basic programs.
Suggested prerequisites for the class:
Before the class I will be sending out a VM/OS setup guide along with a short RF intro, just so everyone starts off at the same place.
Items students will need to provide:
Students will need to bring a laptop capable of running a VMware or VirtualBox VM (VMs will be sent out before the class). You may also follow the instructor-provided installation guide for a bare-metal OS if you prefer. Recommended specifications for the laptop are:
- 4 core processor
- 8 GB of RAM
- at least 30 GB of free HDD/SSD space
- one free USB port for the SDR
Students should also bring a pair of headphones for listening to their SDR during the course; this is necessary in a classroom setting to keep the volume at a reasonable level.
DATE: August 14th-15th 2023
TIME: 8am to 5pm PDT
VENUE: Caesars Forum, Las Vegas, NV
TRAINER: Richard
- 16 hours of training with a certificate of completion.
- 2 coffee breaks are provided per day
- Note: Food is not included
Registration terms and conditions:
Trainings are refundable before July 1st, the processing fee is $250.
Trainings are non-refundable after July 10th, 2023.
Training tickets may be transferred. Please email us for specifics.
Failure to attend the Training without prior written notification, will be considered a No-Show. No refund will be given.
By purchasing this ticket you agree to abide by the DCT Code of Conduct and the registration terms and conditions listed above.
DEF CON Communications, Inc.
1100 Bellevue way NE
8A-85
Bellevue, WA 98004