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

Shisong Qin

dblp:297/2374 · DBLP profile ↗
← Back
5ranked-venue papers
2as first author
5since 2021 · last 2023
0000-0002-1935-5747ORCID · verified

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

Software engineering, systems software and programming languages · 3 · 2 first-author · 3 since 2021Security and privacy · 2 · 2 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.

Software engineering, system software, and programming languages
5 papers
Software testing · 75% Program analysis · 21% Operating systems · 4%
Network and information security
3 papers
Systems and software security · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Processor architecture and microarchitecture · 100%

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

TopicWeightPapersLastEvidence papers
Software testing
fuzzing
2.142023
NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing · ACM Trans. Softw. Eng. Methodol. 2023
AIFORE: Smart Fuzzing Based on Automatic Input Format Reverse Engineering · USENIX Security Symposium 2023
StateFuzz: System Call-Based State-Aware Linux Driver Fuzzing · USENIX Security Symposium 2022
Systems and software security
vulnerability discovery
1.222023
NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing · ACM Trans. Softw. Eng. Methodol. 2023
iDEV: exploring and exploiting semantic deviations in ARM instruction processing · ISSTA 2021
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
directed fuzzing
0.712023
AIFORE: Smart Fuzzing Based on Automatic Input Format Reverse Engineering · USENIX Security Symposium 2023
Software testing › fuzzing
state-aware fuzzing
0.712023
NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing · ACM Trans. Softw. Eng. Methodol. 2023
Processor architecture and microarchitecture
instruction set architecture
0.512021
iDEV: exploring and exploiting semantic deviations in ARM instruction processing · ISSTA 2021
Operating systems › i/o › i/o subsystem › device drivers
linux device drivers
0.212022
StateFuzz: System Call-Based State-Aware Linux Driver Fuzzing · USENIX Security Symposium 2022
Program analysis › binary analysis
disassembly
0.112021
iDEV: exploring and exploiting semantic deviations in ARM instruction processing · ISSTA 2021
Program analysis
static analysis
0.112021
iDEV: exploring and exploiting semantic deviations in ARM instruction processing · ISSTA 2021

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

differential testing · 1.5static analysis · 1.3fuzzing · 1.3compile-time instrumentation · 1.3automatic input format reverse engineering · 0.7state-aware fuzzing · 0.6
YearPublicationVenuePosition
2023 AIFORE: Smart Fuzzing Based on Automatic Input Format Reverse Engineering
Ji Shi 0002, Zhun Wang, Zhiyao Feng, Shisong Qin, Wei You 0001, Mathias Payer, Chao Zhang 0008
USENIX Security Symposium5
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.2
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.1
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 Symposium3
2021 iDEV: exploring and exploiting semantic deviations in ARM instruction processing
abstract
ARM has become the most competitive processor architecture. Many platforms or tools are developed to execute or analyze ARM instructions, including various commercial CPUs, emulators, and binary analysis tools. However, they have deviations when processing the same ARM instructions, and little attention has been paid to systematically analyze such semantic deviations, not to mention the security implications of such deviations. In this paper, we conduct an empirical study on the ARM Instruction Semantic Deviation (ISDev) issue. First, we classify this issue into several categories and analyze the security implications behind them. Then, we further demonstrate several novel attacks which utilize the ISDev issue, including stealthy targeted attacks and targeted defense evasion. Such attacks could exploit the semantic deviations to generate malware that is specific to certain platforms or able to detect and bypass certain detection solutions. We have developed a framework iDEV to systematically explore the ISDev issue in existing ARM instructions processing tools and platforms via differential testing. We have evaluated iDEV on four hardware devices, the QEMU emulator, and five disassemblers which could process the ARMv7-A instruction set. The evaluation results show that, over six million instructions could cause dynamic executors (i.e., CPUs and QEMU) to present different runtime behaviors, and over eight million instructions could cause static disassemblers yielding different decoding results, and over one million instructions cause inconsistency between dynamic executors and static disassemblers. After analyzing the root causes of each type of deviation, we point out they are mostly due to ARM unpredictable instructions and program defects.
Shisong Qin, Chao Zhang 0008, Kaixiang Chen, Zheming Li
ISSTA1