Software Defined Radios 101 $2,500 (Early $2,300)
Name of Training:
Software Defined Radios 101
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.
This class is a beginner's introduction to practical Software Defined Radio (SDR) applications and development with an emphasis on labs and exercises. I am a firm believer that hands-on learning is the best way to teach students, 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, using live radios, with a few open-source tools. We will then dive into GNUradio, first just using pre-made blocks, but eventually writing our own. We will follow that with more advanced signals analysis and RF attacks on real systems. The course will end with a capstone CTF that can double as a test for issuing a certificate.
Richard is an experienced research and development engineer focusing on radio communications and digital signals processing applications. He has over a decade of experience as an RF engineer and embedded software developer working on prototype radio systems and DSP frameworks. Richard has had the privilege of teaching workshops and trainings at various local and national cyber security conferences - including DefCon. He is passionate about teaching radios and wireless technology, and will happily talk for hours on the subject if given the chance.
Hour 1: Review pre-course videos
- 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)
- 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
- Exercise 3: Basic Scanner
- Exercise 4: Advanced Scanner with Baseline
- Intro to capturing raw signals with your SDR
- Intro to inspecting raw signals
- Exercise/lab 5: Car Key Fobs
- Advanced signals inspection using Python and Inspectrum
- Exercise/lab 6: Burst IoT modem
- Introduction to GNUradio
- Key GNUradio flow graph components:
- Exercise/lab 6: Filters
- Exercise/lab 7: RF mixer
- Exercise/lab 8: AM Demod to a File
- continue GNUradio flow graph components
- review filters, demodulation, sources/sinks
- Resamplers and resampling theory
- Long Exercise/lab 9: Putting it all together: FM radio in GNUradio
- Introduction to out-of-tree modules
- Extending GNUradio through scripting and custom blocks
- Exercise/lab 10: Custom Python Blocks 1: Custom Demodulator
- Exercise/lab 11: Custom Python Blocks 2: Burst Extractor
- Advanced topics in RF: Control flow and RF mixing
- Extending GNUradio with OOT modules from the open-source community
- Exercise/lab 11: ADSB interception using an OOT OS block
- Next steps: introduction to clock synchronization and data recovery
- Introduction to transmitting
- Building out a signal file
- Exercise 12: Chat Bot
- Types of RF attacks
- Exercise 13: Replay Attack
- Exercise 14: Targeted Signals Reverse Engineering
- Capstone exercise: RF Capture-the-Flag (CTF)
Beginner. No specific skills or experience needed.
This is a beginner course. Students do not need to have any prior knowledge of RF theory or SDRs. We will do some programming in Python, so a basic understanding is helpful (but not required). Before the course, the instructor will send out some pre-reading and video lectures for students to ensure everyone is starting at the same level.
What students should bring:
Students will need to bring a laptop capable of running a VMware VM (VMs will be sent out before the class).
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 12th-13th 2024
TIME: 8am to 5pm PDT
VENUE: Caesars Forum, Las Vegas, NV
TRAINER: Richard Shmel
- 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, 2024.
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.