Model checking large network protocol implementations

被引:0
|
作者
Musuvathi, M [1 ]
Engler, DR [1 ]
机构
[1] Stanford Univ, Comp Syst Lab, Stanford, CA 94305 USA
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Network protocols must work. The effects of protocol specification or implementation errors range from reduced performance, to security breaches, to bringing down entire networks. However, network protocols are difficult to test due to the exponential size of the state space they define. Ideally, a protocol implementation must be validated against all possible events (packet arrivals, packet losses, timeouts, etc.) in all possible protocol states. Conventional means of testing can explore only a minute fraction of these possible combinations. This paper focuses on how to effectively find errors in large network protocol implementations using model checking, a formal verification technique. Model checking involves a systematic exploration of the possible states of a system, and is well-suited to finding intricate errors lurking deep in exponential state spaces. Its primary limitation has been the effort needed to use it on software. The primary contribution of this paper are novel techniques that allow us to model check complex, real-world, well-tested protocol implementations with reasonable effort. We have implemented these techniques in CMC, a C model checker [30] and applied the result to the Linux TCP/IP implementation, finding four errors in the protocol implementation.
引用
收藏
页码:155 / 168
页数:14
相关论文
共 50 条
  • [31] Model checking of RADIUS protocol in wireless networks
    Kim, IG
    Choi, JY
    IEICE TRANSACTIONS ON COMMUNICATIONS, 2005, E88B (01) : 397 - 398
  • [32] Workstation and network needs for very large PACS implementations
    Hayrapetian, A
    Duerinckx, AJ
    Harmon, C
    Kenagy, J
    Grant, EG
    PACS DESIGN AND EVALUATION: ENGINEERING AND CLINICAL ISSUES - MEDICAL IMAGING 1997, 1997, 3035 : 291 - 298
  • [33] SGPFuzzer: A State-Driven Smart Graybox Protocol Fuzzer for Network Protocol Implementations
    Yu, Yingchao
    Chen, Zuoning
    Gan, Shuitao
    Wang, Xiaofeng
    IEEE ACCESS, 2020, 8 : 198668 - 198678
  • [34] Checking Contact Tracing App Implementations
    Flood, Robert
    Chan, Sheung Chi
    Chen, Wei
    Aspinall, David
    ICISSP: PROCEEDINGS OF THE 7TH INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS SECURITY AND PRIVACY, 2021, : 133 - 144
  • [35] Model checking large software specifications
    Chan, W
    Anderson, RJ
    Beame, P
    Burns, S
    Modugno, F
    Notkin, D
    Reese, JD
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1998, 24 (07) : 498 - 520
  • [36] Proving Functional Equivalence of two AES Implementations using Bounded Model Checking
    Post, Hendrik
    Sinz, Carsten
    SECOND INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION, AND VALIDATION, PROCEEDINGS, 2009, : 31 - 40
  • [37] Model Checking Social Network Models
    Pardo, Raul
    Schneider, Gerardo
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2017, (256): : 238 - 252
  • [38] Slede: Framework for Automatic Verification of Sensor Network Security Protocol Implementations
    Hanna, Youssef
    Rajan, Hridesh
    2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, COMPANION VOLUME, 2009, : 427 - 428
  • [39] Analysing Protocol Implementations
    Hagalisletto, Anders Moen
    Strand, Lars
    Leister, Wolfgang
    Groven, Arne-Kristian
    INFORMATION SECURITY PRACTICE AND EXPERIENCE, PROCEEDINGS, 2009, 5451 : 171 - 182
  • [40] Model Checking the SET Purchasing Process Protocol with SPIN
    Li Jing
    Li Jinhua
    2009 5TH INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS, NETWORKING AND MOBILE COMPUTING, VOLS 1-8, 2009, : 4486 - 4489