首页> 外文期刊>Software Engineering, IEEE Transactions on >SymbexNet: Testing Network Protocol Implementations with Symbolic Execution and Rule-Based Specifications
【24h】

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

机译:SymbexNet:使用符号执行和基于规则的规范测试网络协议实现

获取原文
获取原文并翻译 | 示例

摘要

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.
机译:网络协议(例如DNS,DHCP和Zeroconf)的实现容易出现由开发人员的错误和协议规范中的含糊要求引起的缺陷,安全漏洞和互操作性问题。检测此类问题并不容易,因为(i)许多错误仅在长时间运行后才会显现出来; (ii)关于语义错误的推理需要机器可读的规范; (iii)复杂协议实现的状态空间很大。本文提出了一种新颖的方法,该方法结合了符号执行和基于规则的规范来检测网络协议实现中的各种类型的缺陷。我们方法背后的核心思想是(1)使用单包和多包交换符号执行(分别针对无状态协议和有状态协议)自动生成用于网络协议实现的高覆盖率测试输入包,然后(2)使用这些数据包以检测可能源自协议规范的违反手动规则的数据包,并检查同一网络协议的不同实现的互操作性。我们提出了基于这些技术的系统SymbexNet,并根据两种网络协议的多种实现对它进行了评估:服务发现协议Zeroconf和网络配置协议DHCP。 SymbexNet能够发现非凡的错误以及互操作性问题,其中大多数已被开发人员确认。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号