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 条
  • [21] Automatically performing weak mutation with the aid of symbolic execution, concolic testing and search-based testing
    Mike Papadakis
    Nicos Malevris
    Software Quality Journal, 2011, 19
  • [22] Automatically performing weak mutation with the aid of symbolic execution, concolic testing and search-based testing
    Papadakis, Mike
    Malevris, Nicos
    SOFTWARE QUALITY JOURNAL, 2011, 19 (04) : 691 - 723
  • [23] Combining Symbolic Execution and Search-Based Testing for Programs with Complex Heap Inputs
    Braione, Pietro
    Denaro, Giovanni
    Mattavelli, Andrea
    Pezze, Mauro
    PROCEEDINGS OF THE 26TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA'17), 2017, : 90 - 101
  • [24] Branch Sequence Coverage Criterion for Testing-Based Formal Verification with Symbolic Execution
    Wang, Rong
    Liu, Shaoying
    2019 COMPANION OF THE 19TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS-C 2019), 2019, : 205 - 212
  • [25] Network Intrusion Detection Using an Evolutionary Fuzzy Rule-Based System
    Fries, Terrence P.
    WMSCI 2011: 15TH WORLD MULTI-CONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL I, 2011, : 172 - 177
  • [26] Automating Network Security Analysis at Packet-level by using Rule-based Engine
    Holkovic, Martin
    Rysavy, Ondrej
    Dudek, Jindrich
    PROCEEDINGS OF THE 6TH CONFERENCE ON THE ENGINEERING OF COMPUTER BASED SYSTEMS (ECBS 2019), 2020,
  • [27] An Automated Testing Tool for Java']Java Application Using Symbolic Execution based Test Case Generation
    Monpratarnchai, Supasit
    Fujiwara, Shoichiro
    Katayama, Asako
    Uehara, Tadahiro
    2013 20TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2013), VOL 2, 2013, : 93 - 98
  • [28] Rule-Based Network Intrusion Detection System for Port Scanning with Efficient Port Scan Detection Rules Using Snort
    Patel, Satyendra Kumar
    Sonker, Abhilash
    INTERNATIONAL JOURNAL OF FUTURE GENERATION COMMUNICATION AND NETWORKING, 2016, 9 (06): : 339 - 350