Greybox fuzzing has been widely used in stateless programs and has achieved great success. However, most state-of-the-art greybox fuzzers generally have the problems of slow speed and shallow state depth coverage in the process of fuzzing stateful network protocol programs which are able to remember and store details of the interactions. The existing greybox fuzzers for network protocol programs send a series of well-defined prefix sequences of input messages first and then send mutated messages to test the target state of a stateful network protocol. The process mentioned above causes a high time cost. In this paper, we propose SNPSFuzzer, a fast greybox fuzzer for stateful network protocol using snapshots. SNPSFuzzer dumps the context information when the network protocol program is under a specific state and restores it when the state needs to be fuzzed. Furthermore, we design a message chain analysis algorithm to explore more and deeper network protocol states. Our evaluation shows that, compared with the state-of-the-art network protocol greybox fuzzer AFLNET, SNPSFuzzer increases the speed of network protocol fuzzing by 112.0%-168.9% and improves path coverage by 21.4%-27.5% within 24 hours. Moreover, SNPSFuzzer exposes a previously unreported vulnerability in program Tinydtls.
翻译:Greybox fuzzing在无国籍程序中被广泛使用,并取得了巨大成功。然而,大多数最先进的灰box funzzer通常在模糊的、能记住并存储互动细节的网络协议协议程序过程中遇到速度缓慢和深度浅的问题。现有的网络协议协议程序灰box fuzzer在网络协议程序下能够记住并存储细节。现有的灰box fuzzer在网络协议程序下发送了一系列定义明确的输入信息预言序列,然后发送变异信息以测试状态网络协议的目标状态。上述程序造成了高时间成本。在本文件中,我们建议使用快速的灰box fuzzzzer(SNPSFZuzzer),在使用快照的网络协议协议过程中,快速的灰box funzzer(快速的灰box fulzzer) 。当网络协议程序处于特定状态时,SNPSuzuzzzzzer将背景信息丢弃时,当状态需要模糊时,恢复它。此外,我们设计了一条信息链分析算法,以探索更多和更深入的网络协议状态状态。我们的评估显示,与州网络协议Frezzer ALnet协议的灰bfer FlET, SNL 21.9% 和21小时内,提高SFR%的网络的网络安全%