P4Fuzz: Compiler Fuzzer forDependable Programmable Dataplanes

Andrei Alexandru Agape, Madalin Claudiu Danceanu, Rene Rydhof Hansen, Stefan Schmid

Research output: Contribution to book/anthology/report/conference proceedingArticle in proceedingResearchpeer-review

4 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationICDCN 2021 - Proceedings of the 2021 International Conference on Distributed Computing and Networking
Number of pages10
PublisherAssociation for Computing Machinery
Publication date5 Jan 2021
Pages16-25
ISBN (Electronic)978-1-4503-8933-4
DOIs
Publication statusPublished - 5 Jan 2021
Event22nd International Conference on Distributed Computing and Networking, ICDCN 2021 - Virtual, Online, Japan
Duration: 5 Jan 20218 Jan 2021

Conference

Conference22nd International Conference on Distributed Computing and Networking, ICDCN 2021
Country/TerritoryJapan
CityVirtual, Online
Period05/01/202108/01/2021

Bibliographical note

Publisher Copyright:
© 2021 ACM.

Keywords

  • fuzzing
  • p4 compiler
  • software defined networking

Fingerprint

Dive into the research topics of 'P4Fuzz: Compiler Fuzzer forDependable Programmable Dataplanes'. Together they form a unique fingerprint.

Cite this