P4Fuzz: Compiler Fuzzer for Dependable Programmable Dataplanes

P4Fuzz: Compiler Fuzzer for Dependable Programmable Dataplanes

Abstract

Emerging software-defined networks and programmable dataplanes promise to render communication networks more dependable, overcoming today’s manual and error-prone approach to operate networks. Indeed, programmable dataplanes such as P4 provide great opportunities for improving network performance and developing innovative security features, by allowing programmers to reconfigure and tailor switches towards their needs. However, extending programmability to the dataplane also introduces new threat models. In this paper, using a systematic security analysis, we identify a particularly worrisome vulnerability: the automated program compilers which lie at the core of programmable dataplanes. The dataplane compilers introduce a risk of persistent threats which are covert and hard to detect, and may be exploited for large-scale attacks, affecting many devices. Our main contribution is P4Fuzz, a compiler fuzzer to find bugs and vulnerabilities in P4 compilers, in an efficient and automated manner. We discuss the challenges involved in designing such a compiler fuzzer for P4, present our fuzzing and taming algorithms, and report on experiments with our prototype implementation, considering the standard compilers of BMv2, eBPF, and NetFPGA. Our experiments confirm that P4Fuzz is able to generate and test the validity of dozens of P4 programs per minute. Using P4Fuzz, we also successfully found several bugs which have been acknowledged and fixed by the community.

Grafik Top
Authors
  • Agape, Andrei Alexandru
  • Danceanu, Madalin Claudiu
  • Hansen, Rene Rydhof
  • Schmid, Stefan
Grafik Top
Supplemental Material
Shortfacts
Category
Paper in Conference Proceedings or in Workshop Proceedings (Paper)
Event Title
22nd International Conference on Distributed Computing and Networking (ICDCN)
Divisions
Communication Technologies
Subjects
Informatik Allgemeines
Event Location
Nara, Japan
Event Type
Conference
Event Dates
January 2021
Date
January 2021
Export
Grafik Top