Security Applications with P4 Programmable Data Plane Switches

uofsc_logo NSF Logo

onr_logo        

 

Security Applications with P4 Programmable Data Plane Switches

 

Monday, September 18, 1:00 PM - 4:30 PM

Minneapolis, MN

Organizers
  • University of South Carolina
  • Energy Sciences Network (ESnet)
  • The Engagement and Performance Operations Center (EPOC)
 

 

Overview

The emergence of the IoT, cloud systems, data centers, and 5G networks is increasing the demand for a rapid development of new applications and protocols at all levels of the protocol stack. However, traditional fixed-function data planes have been characterized by a lengthy and costly development process at the hand of chip manufacturers. Recently, data plane programmability has attracted significant attention, permitting network engineers to run customized packet processing functions using the P4 language. Security is one of the key areas using the capabilities of programmable switches. Moreover, applications can be reconfigured in the field without additional hardware upgrades, facilitating the deployment of new defenses against unforeseen attacks and vulnerabilities. This tutorial will provide Information Technology (IT) professionals and practitioners (network engineers, students, instructors) with an introduction to P4 programmable switches, followed by security applications that rely on the unique visibility provided by these devices. The tutorial will cover first the fundamentals of programmable switches: understanding P4 building blocks, implementing a customized packet parser, and programming match-action tables. Then, the tutorial will continue with security applications: implementing stateful packet filters, detecting and mitigating SYN flood attacks, detecting and mitigating DNS amplification attacks, extracting features at line rate for machine learning models, and implementing a simple URL filter in the data plane. Attendees will have access to a virtual platform and detailed manuals that will accompany the laboratory experiments running on the virtual platform. The virtual platform will be accessible from the Internet using a regular web browser (no SSH, Telnet, or other requirements). Access to the training platform will be granted for six months.

 

Audience

IT educators, practitioners, and professionals in general (network engineers, system administrators, etc.) with basic background in networking.

Required Equipment

No specialized equipment is required. All material will be accessible via web browsing. Presentations will be conducted via Zoom. For hands-on sessions, attendees will access a virtual platform deployed for the workshop.

Outcomes

By the end of this workshop, attendees will:

  • Describe the elements of the Protocol Independent Switch Architecture (PISA)
  • Define protocol headers and header fields in P4
  • Write simple parsers using P4
  • Define match-action tables
  • Populate and manage match-action tables at runtime
  • Leverage stateful elements (registers) to store arbitrary data in the data plane
  • Develop in-network defenses to mitigate common cyberattacks

Agenda

Monday, September 18
Time Topic Presenter
1:00-1:30

Motivation for data plane programmability and in-network defenses [PDF, PPT]

Introduction to packet parsing [PDF, PPT]

Elie Kfoury [Bio]
1:30-2:05 Hands-on session 1: implementing a stateful packet filter for the TCP protocol [PDF, PPT] Ali AlSabeh [Bio]
2:05-2:15 Break  
2:15-3:00 Hands-on session 2: mitigating DNS amplification attack in P4 [PDF, PPT] Ali AlSabeh
3:00-3:05 Break Ali AlSabeh
3:05-4:00 Hands-on session 3: detecting and mitigating SYN flood attacks in P4 [PDF, PPT]  
4:00-4:30 Discussions, applications with P4 switches, Tofino pods [PDF, PPT, Video] Jose Gomez [Bio], Ali AlSabeh
[Survey]

 

Award Information

This activity is supported by NSF award 2118311. Link to official webpage: NSF-2118311

 

Resources

Item Note
VM for P4 Labs: Link VM containing lab exercises
Cybertraining Material: Link List of virtual labs on P4, SDN, network tools and protocols, ...
P4 Campus: Link P4 applications for campus networks
FABRIC: Link A programmable research infrastructure
Behavioral Model version 2 (BMv2): Link Reference P4 software switch used as a tool for developing, testing and debugging P4 data planes
Software-Defined Networks: A Systems Approach: Link A book that explores the key principles of Software-Defined Networking (SDN)
Mininet: Link Virtual testbed enabling the development and testing of network tools and protocols
Containernet: Link Mininet fork that allows to use Docker containers as hosts in emulated networks
Mininet Installation: Link A guide that describes the steps to install Mininet on Linux
Wireshark: Link Packet analyzer used for network troubleshooting, analysis, protocol development, and education