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 条
  • [41] NSPK Protocol Security Model Checking System Builder
    Yan, Wang
    Ying, Liu
    INTERNATIONAL JOURNAL OF SECURITY AND ITS APPLICATIONS, 2015, 9 (07): : 307 - 315
  • [42] Analyzing Leader Election Protocol by Probabilistic Model Checking
    Guo, Xu
    Yang, Zongyuan
    PROCEEDINGS OF 2016 IEEE 7TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS 2016), 2016, : 564 - 567
  • [43] Model-checking the Flooding Time Synchronization Protocol
    McInnes, Allan I.
    2009 IEEE INTERNATIONAL CONFERENCE ON CONTROL AND AUTOMATION, VOLS 1-3, 2009, : 422 - 429
  • [44] Model Checking the Flex Ray Physical Layer Protocol
    Gerke, Michael
    Ehlers, Ruediger
    Finkbeiner, Bernd
    Peter, Hans-Joerg
    FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, 2010, 6371 : 132 - 147
  • [45] Model checking the security of multi-protocol systems
    Panti, M
    Spalazzi, L
    Tacconi, S
    Pagliarecci, F
    2005 INTERNATIONAL SYMPOSIUM ON COLLABORATIVE TECHNOLOGIES AND SYSTEMS, PROCEEDINGS, 2005, : 92 - 99
  • [46] Analysing a stream authentication protocol using model checking
    Philippa Hopcroft
    Gavin Lowe
    International Journal of Information Security, 2004, 3 (1) : 2 - 13
  • [47] Analysing a stream authentication protocol using model checking
    Broadfoot, P
    Lowe, G
    COMPUTER SECURITY - ESORICS 2002, PROCEEDINGS, 2002, 2502 : 146 - 161
  • [48] Behavioral Consistency Checking between Requirements and Implementations
    XU Yong
    LING Xiang
    WU Guoqing
    HUANG Bo
    Wuhan University Journal of Natural Sciences, 2014, 19 (06) : 477 - 488
  • [49] Automatic Correctness Checking of Implementations of Concurrent Objects
    Bouajjani, Ahmed
    Emmi, Michael
    Enea, Constantin
    Hamza, Jad
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, ATVA 2014, 2014, 8837 : XII - XII
  • [50] Efficient Large-Scale Model Checking
    Verstoep, Kees
    Bal, Henri E.
    Barnat, Jiri
    Brim, Lubos
    2009 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING, VOLS 1-5, 2009, : 201 - +