14-814/18-637: Wireless Network Security - Spring 2017
Assignment #2 - Studying Jamming Impact in WiFi
- Assigned: January 31
- Due: February 14
- Description: The goal of this assignment is to create, configure, and experiment with your own WiFi network using the experimentation environment that you set up in the previous assignment. This assignment has three primary components: 1) improve your system skills to the point that you can customize network protocol definitions, 2) familiarize yourself with the network configuration capabilities, and 3) experiment with WiFi radio and network parameters to evaluate how they effect system performance. Students have an option to complete the assignments using either the OMNET++ network simulator (following the Tasks for OMNET++ instructions) or with their own Raspberry Pi 3 or similar devices (following the Tasks for RP3 instructions). In either case, we recommend working on the assignment as soon as possible.
- Tasks for OMNET++:
- Setup a WiFi jamming scenario - Using the sample code provided (for OMNET ≥ 5.0, INET ≥ 3.0), set up
basic jamming scenarios. Our sample code already includes basic configurations. Study them, learn how they work, and create a simple figure to
illustrate the effect of the jamming attack in each configuration. For the initial task, you don't need to modify anything (other than maybe the
parameter values in the
.inifile, but note that the sample code is based on the WirelessAPWithSink from the
inet/examples/wireless/throughput/example. These friendly instructions may be helpful in importing the sample code (note, file paths may vary across installations and versions).
- Study the effect of timing-related parameters - Examine the timing and packet size parameters used in the jammer model that directly relate
the resulting jamming signal duty cycle. Simulate multiple values of these relevant parameters, and compare the results by tabulating or plotting
appropriate metrics, as measured by either the jammer or the AP/sink. In addition, discuss how the various configurations compare to each other in terms
of attack impact, cost, and risk (as discussed in class). Most likely, no changes will be required to the
.nedfiles, only to the
- Study the effects of geometry and power - Modify the locations of the different devices present in the network and the relative power levels used
by the client's and jammer's radios to study the impact of the physical relationships among devices. Make any necessary changes to the
.inifiles, and create additional plots to demonstrate the effects of geometry and power, using tables/plots and discussion as above.
- Tasks for RP3:
- Create an RP3-based WiFi jammer - Modify the WiFi driver to force the RP3 WiFi chip to broadcast continuously or periodically when triggered. There are several known ways to do this, many involving minimal tweaks to WiFi PHY or MAC layer code. To verify that your jammer is working, set up additional devices as client and AP, and verify that the jammer influences the client-AP session. Create suitable figures to verify the functionality of your attack setup.
- Study the effect of timing-related parameters - Examing timing-related parameters used in the jammer's WiFi driver or attack script that control the parameters related to attack signal period and duty cycle. Perform several experiments by varying these parameters, and compare the results by tabulating or plotting appropriate metrics, as measured by either the jammer, AP, or client (depending on the direction of traffic). Discuss how the various configurations compare to each other in terms of attack impact, cost, and risk (as discussed in class).
- Study the effects of geometry and power - Modify the relative geometry and transmission power of your AP, client, and jammer devices (taking rough measurements of distance and angle as appropriate), and collect additional data to further evaluate the modified configurations. Create additional plots/tables to demonstrate the effects of geometry and power, using appropriate metrics.
- Deliverables: Each student will submit a written summary of their efforts in the above tasks, including the following:
- A brief description of what you did to fulfill each task, including parameters modified in the code (include code snippets as appropriate, but don't rely on them),
- Properly labeled (with description and units) and easy-to-understand plots created in each task, and
- Detailed descriptions of the results of each study, with any insights gained or conclusions reached in your study.
- Submission Instructions: Each student should submit a
- Grading Rubric: This assignment is worth 30 points total. Five (5) points are allocated to the detailed description of the steps taken in completing task 1, ten (10) points are given for task 2, and fifteen (15) points are given for task 3. We reserve the right to take off points for presentation aspects, e.g., incorrect format, poor writing, etc.
- Due: February 14