Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Bodong Zhao

dblp:237/1416 · DBLP profile ↗
← Back
8ranked-venue papers
1as first author
6since 2021 · last 2023
0000-0003-4443-3708ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Security and privacy · 4 · 1 first-author · 2 since 2021Software engineering, systems software and programming languages · 4 · 4 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Network and information security
6 papers
Systems and software security · 100%
Software engineering, system software, and programming languages
6 papers
Software testing · 55% Operating systems · 19% Debugging and program repair · 13%

Topics — the 12 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Systems and software security
vulnerability discovery
2.342023
NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing · ACM Trans. Softw. Eng. Methodol. 2023
DDRace: Finding Concurrency UAF Vulnerabilities in Linux Drivers with Directed Fuzzing · USENIX Security Symposium 2023
PrIntFuzz: fuzzing Linux drivers via automated virtual device simulation · ISSTA 2022
Software testing
fuzzing
1.432023
NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing · ACM Trans. Softw. Eng. Methodol. 2023
StateFuzz: System Call-Based State-Aware Linux Driver Fuzzing · USENIX Security Symposium 2022
NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing - RCR Report · ACM Trans. Softw. Eng. Methodol. 2023
Systems and software security › vulnerability discovery › fuzzing
state-aware fuzzing
0.712023
NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing - RCR Report · ACM Trans. Softw. Eng. Methodol. 2023
Software testing › fuzzing
state-aware fuzzing
0.712023
NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing · ACM Trans. Softw. Eng. Methodol. 2023
Systems and software security › vulnerability discovery › fuzzing
kernel driver fuzzing
0.612022
PrIntFuzz: fuzzing Linux drivers via automated virtual device simulation · ISSTA 2022
Concurrent programming › concurrency bug detection
data race detection
0.512021
RAProducer: efficiently diagnose and reproduce data race bugs for binaries via trace analysis · ISSTA 2021
Debugging and program repair
fault localization
0.512021
RAProducer: efficiently diagnose and reproduce data race bugs for binaries via trace analysis · ISSTA 2021
Systems and software security › vulnerability discovery
fuzzing
0.412020
GREYONE: Data Flow Sensitive Fuzzing · USENIX Security Symposium 2020
Operating systems › i/o › i/o subsystem
device drivers
0.422023
DDRace: Finding Concurrency UAF Vulnerabilities in Linux Drivers with Directed Fuzzing · USENIX Security Symposium 2023
PrIntFuzz: fuzzing Linux drivers via automated virtual device simulation · ISSTA 2022
Operating systems › i/o › i/o subsystem › device drivers
linux device drivers
0.322022
StateFuzz: System Call-Based State-Aware Linux Driver Fuzzing · USENIX Security Symposium 2022
PrIntFuzz: fuzzing Linux drivers via automated virtual device simulation · ISSTA 2022
Systems and software security
binary analysis
0.112021
RAProducer: efficiently diagnose and reproduce data race bugs for binaries via trace analysis · ISSTA 2021
Systems and software security
vulnerability analysis
0.112021
RAProducer: efficiently diagnose and reproduce data race bugs for binaries via trace analysis · ISSTA 2021

Methods — techniques the papers use, named apart from their topics

static analysis · 2.5fuzzing · 2.5directed fuzzing · 1.3compile-time instrumentation · 1.3device emulation · 1.1trace analysis · 1.0state-aware fuzzing · 0.6greybox fuzzing · 0.4data flow analysis · 0.4
YearPublicationVenuePosition
2023 DDRace: Finding Concurrency UAF Vulnerabilities in Linux Drivers with Directed Fuzzing
Ming Yuan 0003, Bodong Zhao, Penghui Li 0001, Jiashuo Liang, Xinhui Han, Xiapu Luo, Chao Zhang 0008
USENIX Security Symposium2
2023 NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing - RCR Report
abstract
We provide artifacts to reproduce the evaluation results of our article: “NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing”. The provided artifacts can be downloaded from https://zenodo.org/record/7134490 . It includes 14 docker containers, several scripts for execution and analysis, one additional proof for the crash results, and six related documents for the running of experiments. We claim for all three badges, i.e., Available, Functional, and Reusable. This report gives instructions on how to reproduce the answers which mainly involve basic operations on the Ubuntu operating system.
Shisong Qin, Zheyu Ma, Bodong Zhao, Tingting Yin, Chao Zhang 0008
ACM Trans. Softw. Eng. Methodol.4
2023 NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing
abstract
As an essential component responsible for communication, network services are security critical, thus, it is vital to find their vulnerabilities. Fuzzing is currently one of the most popular software vulnerability discovery techniques, widely adopted due to its high efficiency and low false positives. However, existing coverage-guided fuzzers mainly aim at stateless local applications, leaving stateful network services underexplored. Recently, some fuzzers targeting network services have been proposed but have certain limitations, for example, insufficient or inaccurate state representation and low testing efficiency. In this article, we propose a new fuzzing solution NSFuzz for stateful network services. We studied typical implementations of network service programs to determine how they represent states and interact with clients. Accordingly, we propose (1) a program variable–based state representation scheme and (2) an efficient interaction synchronization mechanism to improve fuzzing efficiency. We implemented a prototype of NSFuzz, which uses static analysis and annotation application programming interfaces (APIs) to identify synchronization points and state variables within the services. It then achieves fast I/O synchronization and accurate service state tracing to carry out efficient state-aware fuzzing via lightweight compile-time instrumentation. The evaluation results show that compared with other network service fuzzers, including AFL net and S tate AFL, our solution NSFuzz could infer a more accurate state model during fuzzing and improve fuzzing throughput by up to 200×. In addition, NSFuzz could improve code coverage by up to 25% and trigger more crashes in less time. We also performed a fuzzing campaign to find new bugs in the latest version of the target services; 8 zero-day vulnerabilities have been found by NSFuzz.
Shisong Qin, Zheyu Ma, Bodong Zhao, Tingting Yin, Chao Zhang 0008
ACM Trans. Softw. Eng. Methodol.4
2022 PrIntFuzz: fuzzing Linux drivers via automated virtual device simulation
abstract
Linux drivers share the same address space and privilege with the core of the kernel but have a much larger code base and attack surface. The Linux drivers are not well tested and have weaker security guarantees than the kernel. Missing support from hardware devices, existing fuzzing solutions fail to cover a large portion of the driver code, e.g., the initialization code and interrupt handlers. In this paper, we present PrIntFuzz, an efficient and universal fuzzing framework that can test the overlooked driver code, including the PRobing code and INTerrupt handlers. PrIntFuzz first extracts knowledge from the driver through inter-procedural field-sensitive, path-sensitive, and flow-sensitive static analysis. Then it utilizes the information to build a flexible and efficient simulator, which supports device probing, hardware interrupts emulation and device I/O interception. Lastly, PrIntFuzz applies a multi-dimension fuzzing strategy to explore the overlooked code. We have developed a prototype of PrIntFuzz and successfully simulated 311 virtual PCI (Peripheral Component Interconnect) devices, 472 virtual I2C (Inter-Integrated Circuit) devices, 169 virtual USB (Universal Serial Bus) devices, and found 150 bugs in the corresponding device drivers. We have submitted patches for these bugs to the Linux kernel community, and 59 patches have been merged so far. In a control experiment of Linux 5.10-rc6, PrIntFuzz found 99 bugs, while the state-of-the-art fuzzer only found 50. PrIntFuzz covers 11,968 basic blocks on the latest Linux kernel, while the state-of-the-art fuzzer Syzkaller only covers 2,353 basic blocks.
Zheyu Ma, Bodong Zhao, Letu Ren, Zheming Li, Siqi Ma 0001, Xiapu Luo, Chao Zhang 0008
ISSTA2
2022 StateFuzz: System Call-Based State-Aware Linux Driver Fuzzing
Bodong Zhao, Zheming Li, Shisong Qin, Zheyu Ma, Ming Yuan 0003, Wenyu Zhu, Zhihong Tian, Chao Zhang 0008
USENIX Security Symposium1
2021 RAProducer: efficiently diagnose and reproduce data race bugs for binaries via trace analysis
abstract
A growing number of bugs have been reported by vulnerability discovery solutions. Among them, some bugs are hard to diagnose or reproduce, including data race bugs caused by thread interleavings. Few solutions are able to well address this issue, due to the huge space of interleavings to explore. What’s worse, in security analysis scenarios, analysts usually have no access to the source code of target programs and have troubles in comprehending them.
Ming Yuan 0003, Yeseop Lee, Chao Zhang 0008, Yun Li 0010, Yan Cai 0001, Bodong Zhao
ISSTA6
2020 GREYONE: Data Flow Sensitive Fuzzing
Shuitao Gan, Chao Zhang 0008, Peng Chen 0034, Bodong Zhao, Xiaojun Qin, Zuoning Chen
USENIX Security Symposium4
2018 Fuzzing: a survey
abstract
Security vulnerability is one of the root causes of cyber-security threats. To discover vulnerabilities and fix them in advance, researchers have proposed several techniques, among which fuzzing is the most widely used one. In recent years, fuzzing solutions, like AFL, have made great improvements in vulnerability discovery. This paper presents a summary of the recent advances, analyzes how they improve the fuzzing process, and sheds light on future work in fuzzing. Firstly, we discuss the reason why fuzzing is popular, by comparing different commonly used vulnerability discovery techniques. Then we present an overview of fuzzing solutions, and discuss in detail one of the most popular type of fuzzing, i.e., coverage-based fuzzing. Then we present other techniques that could make fuzzing process smarter and more efficient. Finally, we show some applications of fuzzing, and discuss new trends of fuzzing and potential future directions.
Jun Li 0001, Bodong Zhao, Chao Zhang 0008
Cybersecur.2