SYMBEXNET: Testing Network Protocol Implementations with Symbolic Execution and Rule-Based Specifications

被引:31
|
作者
Song, JaeSeung [1 ]
Cadar, Cristian [2 ]
Pietzuch, Peter [2 ]
机构
[1] Sejong Univ, Dept Comp & Informat Secur, Seoul, South Korea
[2] Univ London Imperial Coll Sci Technol & Med, Dept Comp, London SW7 2AZ, England
基金
英国工程与自然科学研究理事会;
关键词
Symbolic execution; network security; testing; interoperability testing; TEST SUITE DERIVATION; VERIFICATION;
D O I
10.1109/TSE.2014.2323977
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Implementations of network protocols, such as DNS, DHCP and Zeroconf, are prone to flaws, security vulnerabilities and interoperability issues caused by developer mistakes and ambiguous requirements in protocol specifications. Detecting such problems is not easy because (i) many bugs manifest themselves only after prolonged operation; (ii) reasoning about semantic errors requires a machine-readable specification; and (iii) the state space of complex protocol implementations is large. This article presents a novel approach that combines symbolic execution and rule-based specifications to detect various types of flaws in network protocol implementations. The core idea behind our approach is to (1) automatically generate high-coverage test input packets for a network protocol implementation using single-and multi-packet exchange symbolic execution (targeting stateless and stateful protocols, respectively) and then (2) use these packets to detect potential violations of manual rules derived from the protocol specification, and check the interoperability of different implementations of the same network protocol. We present a system based on these techniques, SYMBEXNET, and evaluate it on multiple implementations of two network protocols: Zeroconf, a service discovery protocol, and DHCP, a network configuration protocol. SYMBEXNET is able to discover non-trivial bugs as well as interoperability problems, most of which have been confirmed by the developers.
引用
收藏
页码:695 / 709
页数:15
相关论文
共 28 条
  • [1] Monitor-based Testing of Network Protocol Implementations Using Symbolic Execution
    Asadian, Hooman
    Fiterau-Brostean, Paul
    Jonsson, Bengt
    Sagonas, Konstantinos
    19TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY, AND SECURITY, ARES 2024, 2024,
  • [2] Protocol testing with symbolic execution and rule based specification using multicore approach
    George, Sherin Mariam
    Sangeetha, U.
    INTERNATIONAL CONFERENCE ON EMERGING TRENDS IN ENGINEERING, SCIENCE AND TECHNOLOGY (ICETEST - 2015), 2016, 24 : 1609 - 1615
  • [3] Specification-Based Symbolic Execution for Stateful Network Protocol Implementations in IoT
    Tempel, Soeren
    Herdt, Vladimir
    Drechsler, Rolf
    IEEE INTERNET OF THINGS JOURNAL, 2023, 10 (11) : 9544 - 9555
  • [4] Applying Symbolic Execution to Test Implementations of a Network Protocol Against its Specification
    Asadian, Hooman
    Fiterau-Brostean, Paul
    Jonsson, Bengt
    Sagonas, Konstantinos
    2022 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST 2022), 2022, : 70 - 81
  • [5] Testing Network Protocol Binary Software with Selective Symbolic Execution
    Wen, Shameng
    Feng, Chao
    Meng, Qingkun
    Zhang, Bin
    Wu, Ligeng
    Tang, Chaojing
    PROCEEDINGS OF 2016 12TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY (CIS), 2016, : 318 - 322
  • [6] Interoperability-Guided Testing of QUIC Implementations using Symbolic Execution
    Rath, Felix
    Schemmel, Daniel
    Wehrle, Klaus
    EPIQ'18: PROCEEDINGS OF THE 2018 WORKSHOP ON THE EVOLUTION, PERFORMANCE, AND INTEROPERABILITY OF QUIC, 2018, : 15 - 21
  • [7] Multi-Packet Symbolic Execution Testing for Network Protocol Binary Software
    Wen, Shameng
    Feng, Chao
    Meng, Qingkun
    Zhang, Bin
    Wu, Ligeng
    Tang, Chaojing
    PROCEEDINGS OF 2016 5TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND NETWORK TECHNOLOGY (ICCSNT), 2016, : 624 - 627
  • [8] Hybrid Testing Based on Symbolic Execution and Fuzzing
    Xie X.-F.
    Li X.-H.
    Chen X.
    Meng G.-Z.
    Liu Y.
    Ruan Jian Xue Bao/Journal of Software, 2019, 30 (10): : 3071 - 3089
  • [9] CSEFuzz: Fuzz Testing Based on Symbolic Execution
    Xie, Zhangwei
    Cui, Zhanqi
    Zhang, Jiaming
    Liu, Xiulei
    Zheng, Liwei
    IEEE ACCESS, 2020, 8 : 187564 - 187574
  • [10] Analyzing Network Protocol Binary Software with Joint Symbolic Execution
    Wen, Shameng
    Feng, Chao
    Meng, Qingkun
    Zhang, Bin
    Wu, Ligeng
    Tang, Chaojing
    2016 3RD INTERNATIONAL CONFERENCE ON SYSTEMS AND INFORMATICS (ICSAI), 2016, : 738 - 742