14-814: Wireless Network Security

14-814/18-637: Wireless Network Security - Spring 2017



Assignment #4 - Network Layer Misbehavior and Higher-Layer Impacts

Assigned: March 2
Due: March 30

Description: The goal of this assignment is to build a network with support for protocols at several layers, then study how attacks at lower layers of the protocol stack affect performance at higher layers. You'll be expected to implement several attacks in an ad hoc network and discover what high-layer statistics are interesting and what lower-level attacks impact them. The assignment has three primary components: 1) familiarize yourself with some of the modules that provide higher-layer support, 2) understand and implement basic MANET packet-dropping attacks, and 3) study the impact of PHY, MAC, and network layer misbehavior on higher-layer 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++:
  1. Backup some Files! - Since you're about to modify important files in INET, it would be good to make backups. As you progress, please create backup copies of any .cc, .h, and .ned files in INET before you change them...just in case.
  2. Create a Functional Network - Using any of the INET Node modules capable of adhoc networking (e.g., AdhocHost or AODVRouter) and building around existing INET example networks, create a useful representation of a mobile ad hoc network that includes enough nodes to be interesting (e.g., non-trivial routing, possibility of multiple routing paths, short and long paths, etc.) and has support for end-to-end services (e.g., TCP, UDP, etc.). Identify at least two interesting metrics at each of the physical, MAC, network, and transport layer (these can be the same as in previous assignments) and create some plots using these statistics to demonstrate that your network functions end-to-end under normal working conditions.
  3. Extend Assignments #2 and #3 - Now that your network functions without attacks, demonstrate how the PHY and MAC layer misbehavior studied in previous assignments reflects in your chosen metrics. Create several scenarios with different types and severities of attacks and study how your chosen metrics are affected (if your chosen metrics aren't affected, maybe choose more metrics or explain why). Simulate several scenarios with attacks on the routing path and off-but-near the routing path to see what you can learn about the higher-layer impact of lower-layer misbehavior, and create several plots for the most interesting things you find.
  4. Implement Packet Dropping Attacks - Introduce a new variable that controls the probability that a malicious device will drop each data packet that it is supposed to forward for another source. If needed, further introduce new statistics to measure the actual number of packets dropped and forwarded, which should allow you to verify the fraction of packets being dropped by that device. Create a figure or table that illustrates the results of this study when varying the drop probability from 0 to 1.

    Next, introduce more variables to bring time-variation in the packet dropping attack, changing from probabilistic packet dropping (i.e., drop each packet with probability p) to periodic probabilistic packet dropping as follows. Create two new parameters representing a time period (e.g., T, where T > 0) and duty cycle (e.g., d, where 0<d<1). In the periodic version of the attack, the malicious device will drop each packet with probability p for dT seconds, then drop no packets for (1-d)T seconds, continuing forever. Run several trials of the simulation for several values of p, d, and T, and tabulate or plot the interesting statistics. As in the previous task, create a few interesting figures/tables to demonstrate how this forwarding misbehavior affects performance statistics at various layers.
  5. Think About Cross-Layer Detection - Now that you've studied how attacks at different layers affect your collection of statistics, think about whether those statistics could be useful in detecting attacks or identifying what layer an attack could be occurring at. Specifically, by inspecting your results from the previous tasks, would someone be able to figure out whether the misbehavior was at the MAC or network layer; could they determine which node was under attack or mounting the attack; etc.? You don't need to implement anything here, but explore the possibilities of what your statistics could be useful for.
Tasks for RP3:
  1. Backup some Files! - Since you're about to modify important drivers and system files, it would be good to make some backups, so you don't lose your previous work. As you progress, please create backup copies of any driver code, scripts, and other files before you change them...just in case.
  2. Create a Functional Network - Using any available code packages and hardware devices, create a multi-hop wireless network capable of using adhoc network routing and forwarding protocols and supporting a variety of end-to-end protocols (e.g., TCP, UDP, etc.). Identify at least two interesting metrics at each of the physical, MAC, network, and transport layer (these can be the same as in previous assignments), instrument your network setup to collect relevant statistics to compute these metrics, and create some plots to demonstrate that your network functions end-to-end under normal working conditions.
  3. Extend Assignments #2 and #3 - Same as Task #2 for OMNET++.
  4. Implement Packet Dropping Attacks - Same as Task #3 for OMNET++.
  5. Think About Cross-Layer Detection - Same as Task #4 for OMNET++.

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 details of the changes made to any code or other components,
  • Properly labeled (with description and units) and easy-to-understand plots created in each task, and
  • Detailed descriptions of your process, findings, and results of each study, with any insights gained or conclusions reached in your study.
The written summary should be no longer than six (6) pages a reasonable number of pages in a single-column format using font size 10 or greater.

Submission Instructions: Each student should submit a .pdf version of their written summary via Blackboard, using the format requested above. All students are expected to complete the assignment on their own; discussion about the assignment is allowed and encouraged, but all writing and coding must be done individually.

Grading Rubric: This assignment is worth 40 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, fifteen (15) points are given for task 3, and ten (10) points are given for task 4. We reserve the right to take off points for presentation aspects, e.g., incorrect format, poor writing, etc.