Proceedings 2022 Workshop on Binary Analysis Research 2022
DOI: 10.14722/bar.2022.23008
|View full text |Cite
|
Sign up to set email alerts
|

FitM: Binary-Only Coverage-Guided Fuzzing for Stateful Network Protocols

Abstract: Common network protocol fuzzers use complex grammars for fuzzing clients and servers with a (semi-)correct input for the server. In contrast, feedback-guided fuzzers learn their way through the target and discover valid input on their own. However, their random mutations frequently destroy all stateful progress when they clobber necessary early communication packets. Deeper into the communication, it gets increasingly unlikely for a coverage-guided fuzzer like AFL ++ to explore later stages in client-server co… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
3
2
1
1

Relationship

0
7

Authors

Journals

citations
Cited by 9 publications
(3 citation statements)
references
References 16 publications
0
3
0
Order By: Relevance
“…Maier et al [11] introduced the Fuzzer in the Middle (FitM) for fuzzing network protocols. Instead of using a simulated socket library, FitM intercepts the emulated system-calls inside the QEMU emulator and sends the input messages to the SUT without the network communication overhead.…”
Section: Related Work With Desock+mentioning
confidence: 99%
“…Maier et al [11] introduced the Fuzzer in the Middle (FitM) for fuzzing network protocols. Instead of using a simulated socket library, FitM intercepts the emulated system-calls inside the QEMU emulator and sends the input messages to the SUT without the network communication overhead.…”
Section: Related Work With Desock+mentioning
confidence: 99%
“…For instance, taint analysis [16,20,28], concolic execution [6,29,30], static analysis [31][32][33], deep learning [34,35] and reinforcement learning [11,22,36] are used to boost fuzzer performance. On the other hand, some work has attempted to transform fuzzing to better test specific types of targets, such as JIT compilers [37][38][39][40], OS kernel [23,[41][42][43], protocol [44,45], rounter [46,47], and smart contracts [48,49]. For example, to find JIT compiler vulnerabilities, some fuzzers use an abstract syntax tree to represent and generate JavaScript code as seeds.…”
Section: Coverage-guided Greybox Fuzzingmentioning
confidence: 99%
“…Researchers continue to refine graybox fuzzing techniques by developing new methodologies for mutating test cases [3,21,33,39], managing test cases [11,43,48], providing feedback on program behavior [15,23,35,47,49] and more [13,34,41,50].…”
Section: Fuzz Testingmentioning
confidence: 99%