Uncovering Bugs in P4 Programs with Assertion-based Verification

被引:44
|
作者
Freire, Lucas [1 ]
Neves, Miguel [1 ]
Leal, Lucas [1 ]
Levchenko, Kirill [2 ]
Schaeffer-Filho, Alberto [1 ]
Barcellos, Marinho [1 ]
机构
[1] Univ Fed Rio Grande do Sul, Porto Alegre, RS, Brazil
[2] Univ Calif San Diego, La Jolla, CA USA
关键词
P4; Verification; Programmable Data Planes;
D O I
10.1145/3185467.3185499
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Recent trends in software-defined networking have extended network programmability to the data plane through programming languages such as P4. Unfortunately, the chance of introducing bugs in the network also increases significantly in this new context. Existing data plane verification approaches are unable to model P4 programs, or they present severe restrictions in the set of properties that can be modeled. In this paper, we introduce a data plane program verification approach based on assertion checking and symbolic execution. Network programmers annotate P4 programs with assertions expressing general security and correctness properties. Once annotated, these programs are transformed into C-based models and all their possible paths are symbolically executed. Results show that the proposed approach, called ASSERT-P4, can uncover a broad range of bugs and software flaws. Furthermore, experimental evaluation shows that it takes less than a minute for verifying various P4 applications proposed in the literature.
引用
收藏
页数:7
相关论文
共 50 条
  • [1] POSTER: Finding Vulnerabilities in P4 Programs with Assertion-based Verification
    Freire, Lucas
    Neves, Miguel
    Schaeffer-Filho, Alberto
    Barcellos, Marinho
    [J]. CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 2495 - 2497
  • [2] Assertion-based verification turns the corner
    Gupta, A
    [J]. IEEE DESIGN & TEST OF COMPUTERS, 2002, 19 (04): : 131 - 131
  • [3] Assertion-Based Verification of RTOS Properties
    Oliveira, Marcio F. S.
    Zabel, Henning
    Mueller, Wolfgang
    [J]. 2010 DESIGN, AUTOMATION & TEST IN EUROPE (DATE 2010), 2010, : 630 - 633
  • [4] Assertion-Based Optimization of Quantum Programs
    Haener, Thomas
    Hoefler, Torsten
    Troyer, Matthias
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (OOPSLA):
  • [5] A Survey on Assertion-based Hardware Verification
    Witharana, Hasini
    Lyu, Yangdi
    Charles, Subodha
    Mishra, Prabhat
    [J]. ACM COMPUTING SURVEYS, 2022, 54 (11S)
  • [6] On More Dependable Assertion-Based Verification
    Radojicic, Carna
    Moreno, Javier
    Pan, Xiao
    Grimm, Christoph
    [J]. 39TH ANNUAL CONFERENCE OF THE IEEE INDUSTRIAL ELECTRONICS SOCIETY (IECON 2013), 2013, : 7742 - 7747
  • [7] Assertion-Based Validation of Modified Programs
    Korel, Bogdan
    Zhang, Qi
    Tao, Li
    [J]. SECOND INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION, AND VALIDATION, PROCEEDINGS, 2009, : 426 - 435
  • [8] Assertion-based and constraint-based verification
    Pixley, C
    [J]. IEEE DESIGN & TEST OF COMPUTERS, 2002, 19 (04): : 97 - 97
  • [9] On the Effectiveness of Assertion-Based Verification in an Industrial Context
    Pierre, Laurence
    Pancher, Fabrice
    Suescun, Rodolphe
    Quevremont, Jerome
    [J]. FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, 2013, 8187 : 78 - 93
  • [10] Assertion-Based Verification through Binary Instrumentation
    Brignon, Enzo
    Pierre, Laurence
    [J]. 2019 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2019, : 988 - 991