Automated Verification of Network Function Binaries
Solal Pirelli, Akvile Valentukonyte, Katerina J. Argyraki, George Candea
Abstract
Formally verifying the correctness of software network functions (NFs) is necessary for network reliability, yet existing techniques require full source code and mandate the use of specific data structures.
We describe an automated technique to verify NF binaries, making verification usable by network operators even on proprietary code. To solve the key challenge of bridging the abstraction levels of NF implementations and specifications without special-casing a set of data structures, we observe that data structures used by NFs can be modeled as maps, and introduce a universal type to specify both NFs and their data structures, the "ghost map". In addition, we observe that the interactions between an NF and its environment are sufficient to infer control flow and types, removing the requirement for source code.
We implement our technique in Klint, a tool with which we verify, in minutes, that 7 NF binaries satisfy their specifications, without limiting developers' choices of data structures. The specifications are written in Python and use maps to model state. Klint can also verify an entire NF binary stack, all the way down to the NIC driver, using a minimal operating system. Operators can thus verify NF binaries, without source code or debug symbols, without requiring developers to use specific programming languages or data structures, and without trusting any software except Klint.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 803f87f6-fc9b-49b4-8ed5-cc9795c97afaCited by top-tier papers10
- Performance Interfaces for Network FunctionsRishabh R. Iyer, Katerina J. Argyraki, George CandeaNSDI 2022 · 20 citations
- ShRing: Networking with Shared Receive RingsBoris Pismenny, Adam Morrison, Dan TsafrirOSDI 2023 · 13 citations
- Systematically Detecting Packet Validation Vulnerabilities in Embedded Network StacksPaschal C. Amusuo, Ricardo Andrés Calvo Méndez, Zhongwei Xu, Aravind Machiry et al.ASE 2023 · 9 citations
- MeshTest: End-to-End Testing for Service Mesh Traffic ManagementNaiqian Zheng, Tianshuo Qiao, Xuanzhe Liu, Xin JinNSDI 2025 · 7 citations
- New Evolution of Hoyan: Enhancing Scalability, Usability, and Accuracy for Alibaba's Global WAN VerificationYifei Yuan, Fangdan Ye, Yifan Li, Jingkai Zhang et al.SIGCOMM 2025 · 5 citations
Builds on6
- SOK: (State of) The Art of War: Offensive Techniques in Binary AnalysisYan Shoshitaishvili, Ruoyu Wang, Christopher Salls, Nick Stephens et al.S&P 2016 · 1,085 citations
- Specification and verification in the field: Applying formal methods to BPF just-in-time compilers in the Linux kernelLuke Nelson, Jacob Van Geffen, Emina Torlak, Xi WangOSDI 2020 · 72 citations
- A Simpler and Faster NIC Driver Model for Network FunctionsSolal Pirelli, George CandeaOSDI 2020 · 28 citations
- Automated Verification of Customizable Middlebox Properties with GravelKaiyuan Zhang, Danyang Zhuo, Aditya Akella, Arvind Krishnamurthy et al.NSDI 2020 · 26 citations
- Performance Interfaces for Network FunctionsRishabh R. Iyer, Katerina J. Argyraki, George CandeaNSDI 2022 · 20 citations
Related papers
- Predictable Verification using Intrinsic DefinitionsAdithya Murali, Cody Rivera, P. MadhusudanPLDI 2024 · 2 citations
- KATch: A Fast Symbolic Verifier for NetKATMark Moeller, Jules Jacobs, Olivier Savary Bélanger, David Darais et al.PLDI 2024 · 9 citations
- NFReducer: Redundant Logic Elimination for Network Functions with Runtime ConfigurationsBangwen Deng, Wenfei WuINFOCOM 2021 · 1 citation
- P4Inv: Inferring Packet Invariants for Verification of Stateful P4 ProgramsDelong Zhang, Chong Ye, Fei HeINFOCOM 2024 · 3 citations
- NFlow and MVT Abstractions for NFV ScalingZiyan Wu, Yang Zhang, Wendi Feng, Zhi-Li ZhangINFOCOM 2022 · 6 citations
