EDBT 2026 Demo / reviewers in the wild / expert
Pengfei Wang 0010
dblp:90/4693-10 · also Peng-Fei Wang 0010
· DBLP profile ↗
26ranked-venue papers
6as first author
17since 2021 · last 2026
0000-0003-3408-4153ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 14 · 2 first-author · 10 since 2021Software engineering, systems software and programming languages · 4 · 1 first-author · 4 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 first-author · 2 since 2021Systems, architecture and hardware · 3 · 2 first-author · 1 since 2021Computer networks · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Not All Paths Are Equal: Multi-path Optimization for Directed Hybrid FuzzingabstractDirected Grey-Box Fuzzing (DGF) can improve bug exposure efficiency by stressing bug-prone areas. Recent studies have modeled DGF as the problem of finding and optimizing paths to reach target sites. However, they still face the “ multi-path ” challenge. When a target site is reachable by multiple paths, it is crucial to comprehensively evaluate and effectively select these paths, as this affects the fuzzer’s choice between reaching target sites via optimal paths and enhancing path diversity toward targets to expose hidden bugs in non-optimal paths. In this article, we propose MultiGo, a directed hybrid fuzzer designed for multi-path optimization. First, we propose a new fitness metric called path difficulty to comprehensively evaluate the promising paths. This metric uses the Poisson distribution to estimate the probability of exploring basic blocks along execution paths based on statistical block frequency, distinguishing between optimal and challenging paths. With path difficulty as a key factor, a customized Contextual Multi-Armed Bandit (CMAB) model is employed to efficiently optimize path scheduling by comprehensively considering the impact of testing conditions on path scheduling. We introduce the concept of the fuzzing context to represent and evaluate testing conditions, which encompass factors such as path characteristics (e.g., path difficulty), the testing agent (e.g., fuzzing or symbolic execution), and the testing goal (e.g., path exploitation or exploration). Then, the CMAB model predicts the expected rewards for scheduling paths under different testing agents and goals, thereby optimizing path scheduling. By leveraging the CMAB model, MultiGo enhances DGF’s capability to explore easier paths and symbolic execution’s capacity to handle more complex ones, enabling efficient target reaching through optimal paths while ensuring sufficient coverage of non-optimal paths. MultiGo is evaluated on 136 target sites of 41 real-world programs from 3 benchmarks. The experimental results show that MultiGo outperforms the state-of-the-art directed fuzzers (AFLGo, SelectFuzz, Beacon, WindRanger, and DAFL) and hybrid fuzzers (SymCC and SymGo) in reaching target sites and exposing known vulnerabilities. Moreover, MultiGo also discovered 14 undisclosed vulnerabilities. Peihong Lin, Pengfei Wang 0010, Xu Zhou 0004, Wei Xie 0007, Gen Zhang, Kai Lu 0001 |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2025 | Constructing arbitrary write via puppet objects and delivering gadgets in Linux kernel
Danjun Liu, Xuan Meng, Pengfei Wang 0010, Xu Zhou 0004, Wei Xie 0007 |
Comput. Secur. | 3 |
| 2025 | Efficient Forward-Edge Control-Flow Integrity for COTS Binaries via Arm BTIabstractControl-Flow Integrity (CFI) has been widely recognized as an effective technique for mitigating control-flow hijacking attacks. However, many binary-level CFI approaches suffer from weaknesses in safeguarding forward edges, particularly for the obfuscated binaries, due to the imprecision in binary analysis or heuristic algorithms. Moreover, these approaches often involve non-negligible overhead and are challenging to deploy, as they instrument plenty of code or employ hardware tracing to enforce the CFI policies. This paper introduces Mobius, the first complete implementation of security-instruction-based binary-only CFI solution on commercial processors. Mobius leverages the Branch Target Identification (BTI) technology in Arm v8.5 to safeguard the forward edges of binaries and shared libraries efficiently. It determines the forward-edge targets without false negatives and carefully instruments the bti instructions to conduct the CFI checking efficiently. Then, it mounts a runtime monitor to detect potential attacks. We deploy Mobius on an Alibaba Cloud server with Yitian 710 processors in practice without modifying the kernel or loader. Remarkably, Mobius successfully provides efficient protection for real-world applications, including obfuscated code, with marginal overhead (5.78% on SPEC2006). Tai Yue, Kai Lu 0001, Zhenyu Ning, Pengfei Wang 0010, Lei Zhou 0023, Xu Zhou 0004, Fengwei Zhang, Gen Zhang |
IEEE Trans. Inf. Forensics Secur. | 4 |
| 2024 | DeepGo: Predictive Directed Greybox Fuzzing
Peihong Lin, Pengfei Wang 0010, Xu Zhou 0004, Wei Xie 0007, Gen Zhang, Kai Lu 0001 |
NDSS | 2 |
| 2024 | Efficiently Rebuilding Coverage in Hardware-Assisted Greybox FuzzingabstractCoverage-based greybox fuzzing (CGF) is an efficient technique for detecting vulnerabilities, but its coverage-feedback mechanism introduces significant overhead in binary-only fuzzing. Although hardware-assisted greybox fuzzing (HGF) has been proposed to address this issue, existing approaches struggle to achieve a balance between the efficiency and sensitivity of coverage, as well as to cope with trace buffer overflow. Tai Yue, Yibo Jin 0006, Fengwei Zhang, Zhenyu Ning, Pengfei Wang 0010, Xu Zhou 0004, Kai Lu 0001 |
RAID | 5 |
| 2024 | HyperGo: Probability-based directed hybrid fuzzing
Peihong Lin, Pengfei Wang 0010, Xu Zhou 0004, Wei Xie 0007, Kai Lu 0001, Gen Zhang |
Comput. Secur. | 2 |
| 2024 | The progress, challenges, and perspectives of directed greybox fuzzingabstractSummary Greybox fuzzing is a scalable and practical approach for software testing. Most greybox fuzzing tools are coverage‐guided as reaching high code coverage is more likely to find bugs. However, since most covered codes may not contain bugs, blindly extending code coverage is less efficient, especially for corner cases. Unlike coverage‐guided greybox fuzzing which increases code coverage in an undirected manner, directed greybox fuzzing (DGF) spends most of its time allocation on reaching specific targets (e.g. the bug‐prone zone) without wasting resources stressing unrelated parts. Thus, DGF is particularly suitable for scenarios such as patch testing, bug reproduction, and special bug detection. For now, DGF has become an active research area. However, DGF has general limitations and challenges that are worth further studying. Based on the investigation of 42 state‐of‐the‐art fuzzers that are closely related to DGF, we conducted the first in‐depth study to summarize the empirical evidence on the research progress of DGF. This paper studies DGF from a broader view, which takes into account not only the location‐directed type that targets specific code parts but also the behavior‐directed type that aims to expose abnormal program behaviors. By analyzing the benefits and limitations of DGF research, we try to identify gaps in current research, meanwhile, reveal new research opportunities and suggest areas for further investigation. Pengfei Wang 0010, Xu Zhou 0004, Tai Yue, Peihong Lin, Kai Lu 0001 |
Softw. Test. Verification Reliab. | 1 |
| 2024 | Instiller: Toward Efficient and Realistic RTL FuzzingabstractBugs exist in hardware, such as CPU. Unlike software bugs, these hardware bugs need to be detected before deployment. Previous fuzzing work in CPU bug detection has several disadvantages, e.g., the length of RTL input instructions keeps growing, and longer inputs are ineffective for fuzzing. In this paper, we propose INSTILLER (Instruction Distiller), an RTL fuzzer based on ant colony optimization (ACO). First, to keep the input instruction length short and efficient in fuzzing, it distills input instructions with a variant of ACO (VACO). Next, related work cannot simulate realistic interruptions well in fuzzing, and INSTILLER solves the problem of inserting interruptions and exceptions in generating the inputs. Third, to further improve the fuzzing performance of INSTILLER, we propose hardware-based seed selection and mutation strategies. We implement a prototype and conduct extensive experiments against state-of-the-art fuzzing work in real-world target CPU cores. In experiments, INSTILLER has 29.4% more coverage than DiFuzzRTL. In addition, 17.0% more mismatches are detected by INSTILLER. With the VACO algorithm, INSTILLER generates 79.3% shorter input instructions than DiFuzzRTL, demonstrating its effectiveness in distilling the input instructions. In addition, the distillation leads to a 6.7% increase in execution speed on average. Gen Zhang, Pengfei Wang 0010, Tai Yue, Danjun Liu, Yubei Guo, Kai Lu 0001 |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 2 |
| 2024 | Armor: Protecting Software Against Hardware Tracing TechniquesabstractMany modern processors have embedded hardware tracing techniques (e.g., Intel Processor Trace or ARM CoreSight). While these techniques are widely used due to their transparency and low overhead, they also bring serious security threats. Attackers can utilize hardware tracing to trace the trusted applications from a non-secure application. Existing protection techniques fail to effectively protect the runtime information when hardware tracing is employed. To counter these threats, in this paper, we propose a novel direction called anti-hardware tracing. Our key idea is to exploit the limitations of hardware tracing: trace buffer overflow can cause trace data loss. We build a model to analyse the overflow and outline three principles for efficient triggering overflows and achieving anti-hardware tracing: numerous branches in the program, high-speed execution of the program, and the high-water mark of the trace buffer. We develop a framework called Armor on ARM Juno R2 to realize our approach. Armor protects software against the trace unit Embedded Trace Macrocell (ETM) in CoreSight by instrumenting protection and loop functions. The protection function detects runtime environments, efficiently fills the trace buffer, and employs various protection strategies like PID (process identifier) replacement and PIE+STRIP+ASLR. Meanwhile, the loop function triggers overflows efficiently based on context-based calculations and anti-ETM loop. Our evaluation demonstrates that the overhead of Armor is 77.31% lower than that of OLLVM [1] on SPEC2006. Armor effectively hides 54.51% of basic blocks across 16 real-world applications, triggering 113× more overflows. Moreover, we showcase two practical applications of Armor. Firstly, we conduct a cryptographic and cross-world attack on GnuPG 1.4.13 RSA private keys using ETM, which can steal entire keys from a program in the Secure world with a single run. Armor successfully reduces leaked bits by 84.5%. Secondly, Armor impedes hardware-assisted fuzzing by reducing throughput by 89.71% and branch coverage by 47.99%. Tai Yue, Fengwei Zhang, Zhenyu Ning, Pengfei Wang 0010, Xu Zhou 0004, Kai Lu 0001, Lei Zhou 0023 |
IEEE Trans. Inf. Forensics Secur. | 4 |
| 2023 | VulHawk: Cross-architecture Vulnerability Detection with Entropy-based Binary Code Search
Zhenhao Luo, Pengfei Wang 0010, Yong Tang 0005, Wei Xie 0007, Xu Zhou 0004, Danjun Liu, Kai Lu 0001 |
NDSS | 2 |
| 2023 | From Release to Rebirth: Exploiting Thanos Objects in Linux KernelabstractVulnerability fixing is time-consuming, hence, not all of the discovered vulnerabilities can be fixed timely. In reality, developers prioritize vulnerability fixing based on exploitability. Large numbers of vulnerabilities are delayed to patch or even ignored as they are regarded as “unexploitable” or underestimated owing to the difficulty in exploiting the weak primitives. However, exploits may have been in the wild. In this paper, to exploit the weak primitives that traditional approaches fail to exploit, we propose a versatile exploitation strategy that can transform weak exploit primitives into strong exploit primitives. Based on a special object in the kernel named Thanos object, our approach can exploit a UAF vulnerability that does not have function pointer dereference and an OOB write vulnerability that has limited write length and value. Our approach overcomes the shortage that traditional exploitation strategies heavily rely on the capability of the vulnerability. To facilitate using Thanos objects, we devise a tool namedTAODEto automatically search for eligible Thanos objects from the kernel. Then, it evaluates the usability of the identified Thanos objects by the complexity of the constraints. Finally, it pairs vulnerabilities with eligible Thanos objects. We have evaluated our approach with real-world kernels.TAODEsuccessfully identified numerous Thanos objects from Linux. Using the identified Thanos objects, we proved the feasibility of our approach with 20 real-world vulnerabilities, most of which traditional techniques failed to exploit. Through the experiments, we find that in addition to exploiting weak primitives, our approach can sometimes bypass the kernel SMAP mechanism (CVE-2016-10150, CVE-2016-0728), better utilize the leaked heap pointer address (CVE-2022-25636), and even theoretically break certain vulnerability patches (e.g., double-free). Danjun Liu, Pengfei Wang 0010, Xu Zhou 0004, Wei Xie 0007, Gen Zhang, Zhenhao Luo, Tai Yue |
IEEE Trans. Inf. Forensics Secur. | 2 |
| 2023 | UltraFuzz: Towards Resource-Saving in Distributed FuzzingabstractRecent research has sought to improve fuzzing performance via parallel computing. However, researchers focus on improving efficiency while ignoring the increasing cost of testing resources. Parallel fuzzing in the distributed environment amplifies the resource-wasting problem caused by the random nature of fuzzing. In the parallel mode, owing to the lack of an appropriate task dispatching scheme and timely fuzzing status synchronization among different fuzzing instances, task conflicts and workload imbalance occur, making the resource-wasting problem severe. In this paper, we design UltraFuzz, a fuzzer for resource-saving in distributed fuzzing. Based on centralized dynamic scheduling, UltraFuzz can dispatch tasks and schedule power globally and reasonably to avoid resource-wasting. Besides, UltraFuzz can elastically allocate computing power for fuzzing and seed evaluation, thereby avoiding the potential bottleneck of seed evaluation that blocks the fuzzing process. UltraFuzz was evaluated using real-world programs, and the results show that with the same testing resource, UltraFuzz outperforms state-of-the-art tools, such as AFL, AFL-P, PAFL, and EnFuzz. Most importantly, the experiment reveals certain results that seem counter-intuitive, namely that parallel fuzzing can achieve “super-linear acceleration” when compared with single-core fuzzing. We conduct additional experiments to reveal the deep reasons behind this phenomenon and dig deep into the inherent advantages of parallel fuzzing over serial fuzzing, including the global optimization of seed energy scheduling and the escape of local optimal seed. Additionally, 24 real-world vulnerabilities were discovered using UltraFuzz. Xu Zhou 0004, Pengfei Wang 0010, Chenyifan Liu, Tai Yue, Congxi Song, Kai Lu 0001, Qidi Yin |
IEEE Trans. Software Eng. | 2 |
| 2022 | MobFuzz: Adaptive Multi-objective Optimization in Gray-box Fuzzing
Gen Zhang, Pengfei Wang 0010, Tai Yue, Shan Huang 0002, Xu Zhou 0004, Kai Lu 0001 |
NDSS | 2 |
| 2022 | ovAFLow: Detecting Memory Corruption Bugs with Fuzzing-Based Taint Inference
Gen Zhang, Pengfei Wang 0010, Tai Yue, Xu Zhou 0004, Kai Lu 0001 |
J. Comput. Sci. Technol. | 2 |
| 2021 | ARGUS: Assessing Unpatched Vulnerable Devices on the Internet via Efficient Firmware RecognitionabstractAssessing unpatched devices affected by a specified vulnerability is a vital but unsolved issue. Using a proof-of-concept tool on the Internet is illegal, while identifying vulnerable device models and firmware versions via fingerprints is a safer method. However, device search engines such as Shodan do not claim to accurately identify device models or versions, and existing works on firmware online recognition neglect the efficiency challenge of scanning redundant fingerprints. Consequently, this fingerprint-checking method has few real-world verifications on the Internet. Wei Xie 0007, Chao Zhang 0008, Pengfei Wang 0010 |
AsiaCCS | 3 |
| 2021 | HashMTI: Scalable Mutation-based Taint Inference with Hash RecordsabstractMutation-based taint inference (MTI) is a novel technique for taint analysis. Compared with traditional techniques that track propagations of taint tags, MTI infers a variable is tainted if its values change due to input mutations, which is lightweight and conceptually sound. However, there are 3 challenges to its efficiency and scalability: (1) it cannot efficiently record variable values to monitor their changes; (2) it consumes a large amount of memory monitoring variable values, especially on complex programs; and (3) its excessive memory overhead leads to a low hit ratio of CPU cache, which slows down the speed of taint inference. This paper presents an efficient and scalable solution named HashMTI. We first explain the above challenges based on 4 observations. Motivated by these challenges, we propose a hash record scheme to efficiently monitor changes in variable values and significantly reduce the memory overhead. The scheme is based on our specially selected and optimized hash functions that possess 3 crucial properties. Moreover, we propose the DoubleMutation strategy, which applies additional mutations to mitigate the limitation of the hash record and detect more taint information. We implemented a prototype of HashMTI and evaluated it on 18 real-world programs and 4 LAVA-M programs. Compared with the baseline OrigMTI, HashMTI significantly reduces the overhead while having similar accuracy. It achieves a speedup of 2.5X to 23.5X and consumes little memory which is on average 70.4 times less than that of OrigMTI. Yong Tang 0005, Pengfei Wang 0010, Shuning Wei, Tai Yue |
SANER | 3 |
| 2021 | MEBS: Uncovering Memory Life-Cycle Bugs in Operating System Kernels
Gen Zhang, Pengfei Wang 0010, Tai Yue, Xu Zhou 0004, Kai Lu 0001 |
J. Comput. Sci. Technol. | 2 |
| 2020 | EcoFuzz: Adaptive Energy-Saving Greybox Fuzzing as a Variant of the Adversarial Multi-Armed Bandit
Tai Yue, Pengfei Wang 0010, Yong Tang 0005, Enze Wang, Bo Yu 0008, Kai Lu 0001, Xu Zhou 0004 |
USENIX Security Symposium | 2 |
| 2020 | Sabotaging the system boundary: A study of the inter-boundary vulnerability
Pengfei Wang 0010, Xu Zhou 0004, Kai Lu 0001 |
J. Inf. Secur. Appl. | 1 |
| 2019 | Poster: Fuzzing IoT Firmware via Multi-stage Message GenerationabstractIn this work, we present IoTHunter, the first grey-box fuzzer for fuzzing stateful protocols in IoT firmware. IoTHunter addresses the state scheduling problem based on a multi-stage message generation mechanism on runtime monitoring of IoT firmware. We evaluate IoTHunter with a set of real-world programs, and the result shows that IoTHunter outperforms black-box fuzzer boofuzz, which has a 2.2x, 2.0x, and 2.5x increase for function coverage, block coverage, and edge coverage, respectively. IoTHunter also found five new vulnerabilities in the firmware of home router Mikrotik, which have been reported to the vendor. Bo Yu 0008, Pengfei Wang 0010, Tai Yue, Yong Tang 0005 |
CCS | 2 |
| 2019 | AVPredictor: Comprehensive prediction and detection of atomicity violationsabstractSummary Concurrency bugs, such as atomicity‐violation bugs, are difficult to detect due to the uncertainty of thread‐scheduling. It is particularly difficult to conduct a thorough bug fix when an atomicity‐violation bug can be triggered by different buggy interleavings. This paper proposes a prediction‐based approach to comprehensively detect atomicity‐violation bugs. A bug fix can be incomplete when the developer cannot have all the buggy interleavings. Based on the candidate interleavings, this approach can predict unmanifested atomicity‐violation bugs from a non‐buggy execution and comprehensively display all the buggy interleavings for the same bug to assist a thorough fix. We use a monitored execution to record execution traces and predict potential buggy interleavings based on the candidate interleavings identified from the trace. Then, we use controlled executions to verify the predicted buggy interleavings by controlling the thread‐scheduling. We implemented a prototype tool called AVPredictor and evaluated it with real‐world tests. Experiments show that AVPredictor can effectively find all the known atomicity‐violation bugs as well as a previously unknown bug together with all the buggy interleavings for each bug. The runtime overhead is 13x for the monitored execution and 18x for the controlled execution. Pengfei Wang 0010, Jens Krinke, Xu Zhou 0004, Kai Lu 0001 |
Concurr. Comput. Pract. Exp. | 1 |
| 2019 | DFTracker: detecting double-fetch bugs by multi-taint parallel tracking
Pengfei Wang 0010, Kai Lu 0001, Gen Li 0002, Xu Zhou 0004 |
Frontiers Comput. Sci. | 1 |
| 2018 | DFTinker: Detecting and Fixing Double-Fetch Bugs in an Automated Way
Yingqi Luo, Pengfei Wang 0010, Xu Zhou 0004, Kai Lu 0001 |
WASA | 2 |
| 2018 | A survey of the double-fetch vulnerabilitiesabstractSummary Race conditions widely exist in concurrent programs, and concurrency errors caused by harmful races could lead to severe system failures. A double fetch is a typical situation when the system kernel inevitably accesses user space data multiple times, and it turns into a vulnerability when the data consistency is violated under a special race condition between kernel and user space. In this survey, we present the first (to the best of our knowledge) comprehensive study on double‐fetch vulnerabilities in the real world. Our study is based on the investigation of 91 real‐world double‐fetch vulnerabilities collected from the CVE database and other relevant reports, which covers a period of recent 12 years. Our work reveals some interesting findings on the double‐fetch vulnerabilities, ranging from the various occurrences across different kernels and system levels to the involvement of specific patterns. We also divide the consequences that are usually caused by the double‐fetch vulnerabilities into four categories and discuss each, summarize viable exploitation techniques from existing works, provide useful guidances to detect and practical strategies to prevent double‐fetch vulnerabilities. Pengfei Wang 0010, Kai Lu 0001, Gen Li 0002, Xu Zhou 0004 |
Concurr. Comput. Pract. Exp. | 1 |
| 2018 | Untrusted Hardware Causes Double-Fetch Problems in the I/O Memory
Kai Lu 0001, Pengfei Wang 0010, Gen Li 0002, Xu Zhou 0004 |
J. Comput. Sci. Technol. | 2 |
| 2017 | How Double-Fetch Situations turn into Double-Fetch Vulnerabilities: A Study of Double Fetches in the Linux Kernel
Pengfei Wang 0010, Jens Krinke, Kai Lu 0001, Gen Li 0002, Steve Dodier-Lazaro |
USENIX Security Symposium | 1 |