跳到主要导航 跳到搜索 跳到主要内容

TCP-fuzz: Detecting memory and semantic bugs in TCP stacks with fuzzing

  • Yong Hao Zou
  • , Jia Ju Bai*
  • , Jielong Zhou
  • , Jiangfeng Tan
  • , Chenggang Qin
  • , Shi Min Hu
  • *此作品的通讯作者
  • Tsinghua University
  • Ant Group

科研成果: 书/报告/会议事项章节会议稿件同行评审

摘要

TCP stacks provide reliable data transmission in network, and thus they should be correctly implemented and well tested to ensure reliability and security. However, testing TCP stacks is difficult. First, a TCP stack accepts packets and system calls that have dependencies between each other, and thus generating effective test cases is challenging. Second, a TCP stack has various complex state transitions, but existing testing approaches target covering states instead of covering state transitions, and thus their testing coverage is limited. Finally, our study of TCP stack commits shows that 87% of bug-fixing commits are related to semantic bugs (such as RFC violations), but existing bug sanitizers can detect only memory bugs not semantic bugs. In this paper, we design a novel fuzzing framework named TCP-Fuzz, to effectively test TCP stacks and detect bugs. TCP-Fuzz consists of three key techniques: (1) a dependencybased strategy that considers dependencies between packets and system calls, to generate effective test cases; (2) a transition-guided fuzzing approach that uses a new coverage metric named branch transition as program feedback, to improve the coverage of state transitions; (3) a differential checker that compares the outputs of multiple TCP stacks for the same inputs, to detect semantic bugs. We have evaluated TCP-Fuzz on five widely-used TCP stacks (TLDK, F-Stack, mTCP, FreeBSD TCP and Linux TCP), and find 56 real bugs (including 8 memory bugs and 48 semantic bugs). 40 of these bugs have been confirmed by related developers.

源语言英语
主期刊名2021 USENIX Annual Technical Conference
出版商USENIX Association
161-175
页数15
ISBN(电子版)9781939133236
出版状态已出版 - 2021
已对外发布
活动2021 USENIX Annual Technical Conference, ATC 2021 - Virtual, Online
期限: 14 7月 202116 7月 2021

出版系列

姓名2021 USENIX Annual Technical Conference

会议

会议2021 USENIX Annual Technical Conference, ATC 2021
Virtual, Online
时期14/07/2116/07/21

指纹

探究 'TCP-fuzz: Detecting memory and semantic bugs in TCP stacks with fuzzing' 的科研主题。它们共同构成独一无二的指纹。

引用此