EDBT 2026 Demo / reviewers in the wild / expert
Chao Zhang 0008
dblp:94/3019-8
· DBLP profile ↗
137ranked-venue papers
7as first author
99since 2021 · last 2026
0000-0001-7894-8828ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 80 · 6 first-author · 57 since 2021Software engineering, systems software and programming languages · 25 · 23 since 2021Artificial intelligence and machine learning · 10 · 9 since 2021Systems, architecture and hardware · 10 · 7 since 2021Computer networks · 8 · 1 first-author · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 5 · 4 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 1 since 2021Human-computer interaction and ubiquitous computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | BDLF-Qwen3: Enhanced Cross-Architecture Binary Function Similarity Detection Through Binary Dynamic Layer FusionabstractBinary code analysis is essential for software security across various instruction set architectures. Cross-architecture binary function similarity detection faces significant challenges due to substantial differences in instruction sets and architectural conventions. Existing approaches struggle to capture relationships between code abstraction levels, and lack comprehensive cross-architecture datasets for effective evaluation. Inspired by human cognitive processes of dynamically integrating multi-level information, we propose Binary Dynamic Layer Fusion (BDLF), a novel neural architecture that enhances cross-architecture similarity detection through adaptive layer-wise feature integration. BDLF leverages Qwen3's multilingual code understanding and introduces dynamic weight generation to optimally combine representations from all previous layers. We also construct Cross-Bin, a high quality cross-architecture binary function dataset. BDLF-Qwen3 employs two-stage training: partial fine-tuning with pairwise similarity learning followed by BDLF enhancement with InfoNCE contrastive learning. Experiments demonstrate BDLF-Qwen3 significantly outperforms state-of-the-art methods, achieving 36-65\% improvement in Recall@10 across diverse CPU architectures. Yuanda Wang, Xinhui Han, Chao Zhang 0008 |
AAAI | 4 |
| 2026 | Revisiting the Reliability of Language Models in Instruction-FollowingabstractAdvanced LLMs have achieved near-ceiling instruction-following accuracy on benchmarks such as IFEVAL.However, these impressive scores do not necessarily translate to reliable services in real-world use, where users often vary their phrasing, contextual framing, and task formulations.In this paper, we study nuance-oriented reliability: whether models exhibit consistent competence across cousin prompts that convey analogous user intents but with subtle nuances.To quantify this, we introduce a new metric, reliable@k, and develop an automated pipeline that generates high-quality cousin prompts via data augmentation.Building upon this, we construct IFE-VAL++ for systematic evaluation.Across 20 proprietary and 26 open-source LLMs, we find that current models exhibit substantial insufficiency in nuance-oriented reliability-their performance can drop by up to 61.8% with nuanced prompt modifications.What's more, we characterize it and explore three potential improvement recipes.Our findings highlight nuance-oriented reliability as a crucial yet underexplored next step toward more dependable and trustworthy LLM behavior.Our code and benchmark are accessible: https: //github.com/jianshuod/IFEval-pp. Jianshuo Dong, Liu Yan, Zhenyu Zhong, Tao Wei 0002, Chao Zhang 0008, Han Qiu 0001 |
ACL (1) | 6 |
| 2026 | SPDAgent: Leveraging LLM Agents for Context-Aware Binary Security Patch Detection via Pseudocode Diff Analysis
Fengrui Yang, Xi Xiao 0001, Lingyun Ying, Chao Zhang 0008, Qing Li 0006 |
DSN | 6 |
| 2026 | FirmAgent: Leveraging Fuzzing to Assist LLM Agents with IoT Firmware Vulnerability Discovery
Jiangan Ji, Chao Zhang 0008, Shuitao Gan, Lin Jian, Hangtian Liu, Tieming Liu, Zhipeng Jia |
NDSS | 2 |
| 2026 | SYSYPHUZZ: the Pressure of More Coverage
Zezhong Ren, Han Zheng 0006, Zhiyao Feng, Qinying Wang, Marcel Busch, Yuqing Zhang 0001, Chao Zhang 0008, Mathias Payer |
NDSS | 7 |
| 2026 | TRIGFUZZ: Triggering Conditions Guided Directed Fuzzing
Nuoqi Gui, Xuanqing Shi, Chao Zhang 0008 |
SP | 7 |
| 2026 | CiRCLE: Recovering Complex Data Structures in Binaries Beyond Fragmentation
Junlin Zhou, Songtao Yang 0001, Chao Zhang 0008 |
SP | 4 |
| 2026 | A unified modeling framework for automated penetration testing
Changling Zhou, Chao Zhang 0008, Jiandong Jin |
Comput. Secur. | 5 |
| 2026 | RTFuzz: Fuzzing browsers via efficient render tree mutation
Yishun Zeng, Xicheng Lu, Chao Zhang 0008 |
Comput. Secur. | 4 |
| 2026 | Fuzzing JavaScript JIT Compilers With Optimization Path Feedback
Jiming Wang, Chenggang Wu 0002, Yan Kang 0002, Yuhao Hu, Jikai Ren, Yuanming Lai, Mengyao Xie, Chao Zhang 0008, Tao Li 0022, Zhe Wang 0017 |
IEEE Trans. Dependable Secur. Comput. | 9 |
| 2026 | HyRES: Recovering Data Structures in Binaries via Semantic Enhanced Hybrid ReasoningabstractBinary reverse engineering is pivotal in the realm of cybersecurity, enabling critical applications such as malware analysis, legacy code hardening, and vulnerability detection. However, the challenge of recovering structural information from binaries, especially stripped ones, persists due to the significant loss of variable boundaries, types, names, and dataflow information during compilation. In this article, we introduce Hy brid RE asoning for S tructure Recovery ( HyRES ), an innovative hybrid reasoning technique that energizes static analysis, Large Language Model (LLM), and heuristic methods to recover data structures from stripped binaries. It analyzes the structure layout and proficiently infer its semantics via LLM, and utilizes semantics to perform semantic-enhanced structure aggregation, which overcomes the need for complete dataflow. HyRES outperforms State-of-the-Art (SOTA) solutions in terms of structure pointer identification and layout recovery. Specifically, HyRES achieves 65.1% higher recall and 33.4% higher accuracy than the SOTA, while also being 64.2% faster than existing SOTA solutions. Comprehensive experiments demonstrate HyRES ’s superior performance and practical utility in real-world reverse engineering tasks, marking a significant advancement in binary analysis. Zihan Sha, Hui Shu, Hao Wang 0226, Chao Zhang 0008 |
ACM Trans. Softw. Eng. Methodol. | 6 |
| 2026 | TypeNFuzz: Dynamic Type-aware Object Dependence Graph-Guided Fuzzing for JavaScript Library Bug DiscoveryabstractNode.js owes much of its popularity to an enormous library ecosystem. While this abundance speeds development, widely varying code quality complicates efforts to assure robustness. Effective library testing is hard for two reasons: (1) dynamic typing obscures the construction of valid, complex inputs and (2) crucial internal logic is hidden behind shallow exports, making deep paths difficult to reach. Existing tools handle neither challenge well. To address these challenges and elevate library quality, we propose TypeNFuzz, a novel testing approach for Node.js libraries. TypeNFuzz integrates: (1) Type-driven Input Synthesis : mines TypeScript declaration files to build semantically correct objects, defeating dynamic-typing ambiguities. (2) Deep Reachability Exploration : fuzzing guided by a dynamic and type-aware object dependence graph (ODG), systematically triggering execution deep within the internal code paths to uncover deep logic. The evaluation demonstrates the effectiveness of TypeNFuzz: it achieves 1.70–6.74 times higher code coverage than state-of-the-art tools, directly attributed to its ability to handle complex types and penetrate deep logic. Critically, it uncovered 77 defects in popular built-in and third-party libraries, significantly contributing to improved robustness and stability. Yishun Zeng, Chao Zhang 0008 |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2025 | Your Scale Factors are My Weapon: Targeted Bit-Flip Attacks on Vision Transformers via Scale Factor ManipulationabstractVision Transformers (ViTs) have experienced significant progress and are quantized for deployment in resource-constrained applications. Quantized models are vulnerable to targeted bit-flip attacks (BFAs). A targeted BFA prepares a trigger and a corresponding Trojan/backdoor, inserting the latter (with RowHammer bit flipping) into a victim model, to mislead its classification on samples containing the trigger. Existing targeted BFAs on quantized ViTs are limited in that: (1) they require numerous bit-flips, and (2) the separation between flipped bits is below 4 KB, making attacks infeasible with RowHammer in real-world scenarios. We propose a new and practical targeted attack Flip-S against quantized ViTs. The core insight is that in quantized models, a scale factor change ripples through a batch of model weights. Consequently, flipping bits in scale factors, rather than solely in model weights, enables more cost-effective attacks. We design a Scale-Factor-Search (SFS) algorithm to identify critical bits in scale factors for flipping, and adopt a mutual exclusion strategy to guarantee a 4 KB separation between flips. We evaluate Flip-S on CIFAR-10 and ImageNet datasets across five ViT architectures and two quantization levels. Results show that Flip-S achieves attack success rate (ASR) exceeding 90.0% on all models with 50 bits flipped, outperforming baselines with ASR typically below 80.0%. Furthermore, compared to the SOTA, Flip-S reduces the number of required bit-flips by 8×-20× while reaching equal or higher ASR. Our source code is publicly available1. Jialai Wang, Yuxiao Wu, Chao Zhang 0008, Zongpeng Li, Zhenkai Liang |
CVPR | 5 |
| 2025 | DCDiff: Enhancing JPEG Compression via Diffusion-based DC Coefficients EstimationabstractJPEG is the most widely-used image compression method on low-cost cameras which cannot support learning-based compressors. One promising approach to enhance JPEG aims to drop DC coefficients at the cameras’ ends (without extra computation) and reconstruct those DC coefficients after receiving them. They all face the challenge that their DC reconstruction relies on a statistical property, which will cause deviationintroduced errors and propagate. In this paper, we propose DCDiff, a novel end-to-end DC estimation method to tackle the above challenge. Instead of using statistical methods to recover DC coefficients and then fix errors, we directly leverage a generative model to estimate DC coefficients in an end-to-end manner. In the meantime, we generate masks to correct certain image locations that do not satisfy the statistical distribution to suppress error propagation. Extensive experiments show that DCDiff not only outperforms all baselines on compression performance but also introduces a tiny impact on downstream tasks and is fully compatible with 2 typical low-cost processors with JPEG support. Han Qiu 0001, Tianwei Zhang 0004, Bin Chen 0011, Chao Zhang 0008 |
DAC | 5 |
| 2025 | "I've Decided to Leak": Probing Internals Behind Prompt Leakage IntentsabstractLarge language models (LLMs) exhibit prompt leakage vulnerabilities, where they may be coaxed into revealing system prompts embedded in LLM services, raising intellectual property and confidentiality concerns.An intriguing question arises: Do LLMs genuinely internalize prompt leakage intents in their hidden states before generating tokens?In this work, we use probing techniques to capture LLMs' intent-related internal representations and confirm that the answer is yes.We start by comprehensively inducing prompt leakage behaviors across diverse system prompts, attack queries, and decoding methods.We develop a hybrid labeling pipeline, enabling the identification of broader prompt leakage behaviors beyond mere verbatim leaks.Our results show that a simple linear probe can predict prompt leakage risks from pre-generation hidden states without generating any tokens.Across all tested models, linear probes consistently achieve 90%+ AUROC, even when applied to new system prompts and attacks.Understanding the model internals behind prompt leakage drives practical applications, including intention-based detection of prompt leakage risks. Jianshuo Dong, Liu Yan, Zhenyu Zhong, Tao Wei 0002, Ke Xu 0002, Minlie Huang, Chao Zhang 0008, Han Qiu 0001 |
EMNLP | 8 |
| 2025 | An Engorgio Prompt Makes Large Language Model Babble onabstractAuto-regressive large language models (LLMs) have yielded impressive performance in many real-world tasks.
However, the new paradigm of these LLMs also exposes novel threats.
In this paper, we explore their vulnerability to inference cost attacks, where a malicious user crafts Engorgio prompts to intentionally increase the computation cost and latency of the inference process. We design Engorgio, a novel methodology, to efficiently generate adversarial Engorgio prompts to affect the target LLM's service availability. Engorgio has the following two technical contributions.
(1) We employ a parameterized distribution to track LLMs' prediction trajectory. (2) Targeting the auto-regressive nature of LLMs' inference process, we propose novel loss functions to stably suppress the appearance of the <EOS> token, whose occurrence will interrupt the LLM's generation process.
We conduct extensive experiments on 13 open-sourced LLMs with parameters ranging from 125M to 30B.
The results show that Engorgio prompts can successfully induce LLMs to generate abnormally long outputs (i.e., roughly 2-13$\times$ longer to reach 90\%+ of the output length limit)
in a white-box scenario and our real-world experiment demonstrates Engergio's threat to LLM service with limited computing resources.
The code is released at https://github.com/jianshuod/Engorgio-prompt. Jianshuo Dong, Tianwei Zhang 0004, Hao Wang 0003, Hewu Li, Qi Li 0002, Chao Zhang 0008, Ke Xu 0002, Han Qiu 0001 |
ICLR | 8 |
| 2025 | A Benchmark for Semantic Sensitive Information in LLMs OutputsabstractLarge language models (LLMs) can output sensitive information, which has emerged as a novel safety concern. Previous works focus on structured sensitive information (e.g. personal identifiable information).
However, we notice that sensitive information can also be at semantic level, i.e. semantic sensitive information (SemSI).
Particularly, *simple natural questions* can let state-of-the-art (SOTA) LLMs output SemSI.
%which is hard to be detected compared with structured ones.
Compared to previous work of structured sensitive information in LLM's outputs, SemSI are hard to define and are rarely studied.
Therefore, we propose a novel and large-scale investigation on the existence of SemSI in SOTA LLMs induced by simple natural questions.
First, we construct a comprehensive and labeled dataset of semantic sensitive information, SemSI-Set, by including three typical categories of SemSI.
Then, we propose a large-scale benchmark, SemSI-Bench, to systematically evaluate semantic sensitive information in 25 SOTA LLMs.
Our finding reveals that SemSI widely exists in SOTA LLMs' outputs by querying with simple natural questions.
We open-source our project at https://semsi-project.github.io/. Han Qiu 0001, Yiming Li 0004, Tianwei Zhang 0004, Wenyu Zhu, Haiqin Weng, Liu Yan, Chao Zhang 0008 |
ICLR | 9 |
| 2025 | Cowpox: Towards the Immunity of VLM-based Multi-Agent SystemsabstractVision Language Model (VLM) Agents are stateful, autonomous entities capable of perceiving and interacting with their environments through vision and language. Multi-agent systems comprise specialized agents who collaborate to solve a (complex) task. A core security property is robustness, stating that the system maintains its integrity during adversarial attacks. Multi-agent systems lack robustness, as a successful exploit against one agent can spread and infect other agents to undermine the entire system’s integrity. We propose a defense Cowpox to provably enhance the robustness of a multi-agent system by a distributed mechanism that improves the recovery rate of agents by limiting the expected number of infections to other agents. The core idea is to generate and distribute a special cure sample that immunizes an agent against the attack before exposure. We demonstrate the effectiveness of Cowpox empirically and provide theoretical robustness guarantees. Yutong Wu 0009, Jie Zhang 0073, Yiming Li 0004, Chao Zhang 0008, Qing Guo 0005, Han Qiu 0001, Nils Lukas, Tianwei Zhang 0004 |
ICML | 4 |
| 2025 | Improving LLM-based Log Parsing by Learning from Errors in Reasoning TracesabstractRecent advances in reasoning-capable large lan-guage models (LLMs) have led to their application in a wide range of tasks, including log parsing. These LLMs generate intermediate reasoning traces during inference, offering a unique opportunity to analyze and improve their performance. In this work, we investigate how reasoning traces can be leveraged to enhance LLM-based log parsers. We propose TraceDoctor, a framework that analyzes reasoning traces associated with parsing errors to understand the causes of failure. We categorize these error causes into high-level error types and design targeted log variant generation strategies guided by these high-level error types. The generated variants are then used to fine-tune the LLMs. We instantiate five state-of-the-art (SOTA) reasoning-capable LLMs as log parsers and identify 29 distinct high-level error types. Our approach improves their average parsing accuracy by up to 17.3% and 16.3% on parsing accuracy (PA) and group accuracy (GA), respectively. Jialai Wang, Juncheng Lu, Junjie Wang 0001, Chao Zhang 0008, Zhenkai Liang, Ee-Chien Chang |
ASE | 6 |
| 2025 | VulShield: Protecting Vulnerable Code Before Deploying Patches
Yuan Li 0061, Chao Zhang 0008, Jinhao Zhu, Penghui Li 0001, Songtao Yang 0001, Wende Tan |
NDSS | 2 |
| 2025 | CCTAG: Configurable and Combinable Tagged Architecture
Zhanpeng Liu, Wende Tan, Yuan Li 0061, Xinhui Han, Songtao Yang 0001, Chao Zhang 0008 |
NDSS | 8 |
| 2025 | EAGLEYE: Exposing Hidden Web Interfaces in IoT Devices via Routing Analysis
Hangtian Liu, Shuitao Gan, Chao Zhang 0008, Zicong Gao, Yishun Zeng, Zhiyuan Jiang |
NDSS | 4 |
| 2025 | Truman: Constructing Device Behavior Models from OS Drivers to Fuzz Virtual Devices
Zheyu Ma, Qiang Liu 0034, Zheming Li, Tingting Yin, Wende Tan, Chao Zhang 0008, Mathias Payer |
NDSS | 6 |
| 2025 | IDFuzz: Intelligent Directed Grey-box Fuzzing
Chao Zhang 0008, Wenyu Zhu, Changhua Luo, Nuoqi Gui, Zheyu Ma, Xingjian Zhang 0009, Bingkai Su |
USENIX Security Symposium | 2 |
| 2025 | Tady: A Neural Disassembler without Structural Constraint Violations
Siliang Qin, Fengrui Yang, Hao Wang 0003, Chao Zhang 0008, Kai Chen 0012 |
USENIX Security Symposium | 6 |
| 2025 | OpTrans: enhancing binary code similarity detection with function inlining re-optimization
Zihan Sha, Chao Zhang 0008, Hao Wang 0003, Hui Shu |
Empir. Softw. Eng. | 3 |
| 2025 | PromeTrans: Bootstrap binary functionality classification with knowledge transferred from pre-trained models
Zihan Sha, Chao Zhang 0008, Hao Wang 0003, Hui Shu |
Empir. Softw. Eng. | 2 |
| 2025 | SmartTrans: Advanced Similarity Analysis for Detecting Vulnerabilities in Ethereum Smart ContractsabstractIn the ever-evolving landscape of Ethereum smart contracts, the specter of vulnerabilities intensified by code reuse presents a significant challenge to the security of the blockchain. Recent studies employ deep learning for similarity analysis to identify these vulnerabilities, yet their effectiveness wanes as the volume of analyzed code increases. This article introducesSmartTrans, an advanced similarity analysis model designed to efficiently and accurately retrieve similar vulnerabilities within Ethereum bytecodes. Leveraging a novel jump-aware Transformer-based model, our approach captures the semantics and control flow of bytecodes. It not only refines the representation of functions by integrating program analysis with natural language processing techniques but also innovates a contract-level similarity detection scheme tailored for the expansive scale of contracts. Our experiments show thatSmartTransoutperforms state-of-the-art techniques at both function and contract levels, proving its capability to detect n-day vulnerabilities across Ethereum bytecodes accurately. Vulnerabilities recalling experiments show thatSmartTransachieves 95.43% and 99.37% accuracy at two levels. Furthermore, we stand out as the first work to retrieve N-day vulnerabilities across the Ethereum bytecode corpus, unveiling 4,988 vulnerable contracts. Our methodology secures an accuracy of 88.60%, which is 1.30 times higher than the best baseline. Hao Wang 0226, Yuchen Zhou 0007, Taiyu Wong, Jialai Wang, Chao Zhang 0008 |
IEEE Trans. Dependable Secur. Comput. | 6 |
| 2025 | CALLEE: Recovering Call Graphs for Binaries With Transfer and Contrastive LearningabstractRecovering call graphs of binary programs plays an instrumental role in facilitating inter-procedural analysis tasks and subsequent applications. A salient challenge inherent in this process is the identification of indirect call targets, i.e., indirect callees. Existing solutions all have high false positives and negatives, making call graphs inaccurate. In this paper, we introduce CALLEE, an approach combining transfer learning and contrastive learning. The key insight is that, deep neural networks (DNNs) can automatically identify patterns concerning indirect calls. Inspired by question-answering applications, we employ contrastive learning to answer the callsite-callee question. To overcome the data-intensive nature of DNNs, we use transfer learning to pre-train on easy-to-collect direct calls and then fine-tune with indirect calls. Upon evaluating CALLEE across various target sets, our findings underscored its efficacy, associating callsites with callees surpasses state-of-the-art solutions, achieving over seven to eight times higher performance in both MRR and Recall@5. Further, when implementing CALLEE within two distinct applications-binary code similarity detection and hybrid fuzzing-we observed a marked enhancement in their operational performance. Wenyu Zhu, Yuanda Wang, Chao Zhang 0008, Xinhui Han |
IEEE Trans. Dependable Secur. Comput. | 4 |
| 2025 | llasm: Naming Functions in Binaries by Fusing Encoder-only and Decoder-only LLMsabstractPredicting function names in stripped binaries, which requires succinctly summarizing semantics of binary code in natural languages, is a crucial but challenging task. Recently, many machine learning based solutions have been proposed. However, they have poor generalizability, i.e., fail to handle unseen binaries. To advance the state of the art, we present large assembly language Model ( llasm ) , a novel framework which fuses encoder-only and decoder-only LLMs for function name prediction. It refines encoder-only models to preserve more binary information and learn better binary representations. Then it adopts a novel architecture to project the encoding to the input space of a decoder-only natural language model, which enables it to have better capability of inferring general knowledge and better generalizability. We have evaluated llasm in the BinaryCorp and Debin datasets. llasm outperforms the state-of-the-art function name prediction tools by up to 19.9%, 40.7%, and 36.5% in precision, recall, and F1 score, with significantly better generalizability in unseen binaries. Our case studies further demonstrate the practical use cases of llasm in analyzing real-world malware, showing the usefulness of function name prediction. Zihan Sha, Hao Wang 0226, Hui Shu, Chao Zhang 0008 |
ACM Trans. Softw. Eng. Methodol. | 7 |
| 2024 | Virtual Compiler Is All You Need For Assembly Code SearchabstractAssembly code search is vital for reducing the burden on reverse engineers, allowing them to quickly identify specific functions using natural language within vast binary programs.Despite its significance, this critical task is impeded by the complexities involved in building highquality datasets.This paper explores training a Large Language Model (LLM) to emulate a general compiler.By leveraging Ubuntu packages to compile a dataset of 20 billion tokens, we further continue pre-train CodeLlama as a Virtual Compiler (ViC), capable of compiling any source code of any language to assembly code.This approach allows for virtual compilation across a wide range of programming languages without the need for a real compiler, preserving semantic equivalency and expanding the possibilities for assembly code dataset construction.Furthermore, we use ViC to construct a sufficiently large dataset for assembly code search.Employing this extensive dataset, we achieve a substantial improvement in assembly code search performance, with our model surpassing the leading baseline by 26%. Hao Wang 0003, Yuanda Wang, Chao Zhang 0008 |
ACL (1) | 4 |
| 2024 | Sublinear Distributed Product Checks on Replicated Secret-Shared Data over Z2k Without Ring ExtensionsabstractMultiple works have designed or used maliciously secure honest majority MPC protocols over Z2k using replicated secret sharing (e.g. Koti et al. USENIX'21). A recent trend in the design of such MPC protocols is to first execute a semi-honest protocol, and then use a check that verifies the correctness of the computation requiring only sublinear amount of communication in terms of the circuit size. The so-called Galois ring extensions are needed in order to execute such checks over Z2k, but these rings incur incredibly high computation overheads, which completely undermine any potential benefits the ring Z2k had to begin with. Yun Li 0010, Daniel Escudero 0001, Yufei Duan, Cheng Hong 0001, Chao Zhang 0008, Yifan Song 0001 |
CCS | 6 |
| 2024 | Test Suites Guided Vulnerability Validation for Node.js ApplicationsabstractDynamic methods have shown great promise in validating vulnerabilities and generating Proof-of-Concept (PoC) exploits of Node.js applications. They typically rely on dictionaries or specifications to determine the values of request parameters and their relationships. However, they still struggle to generate complex inputs from the provided dictionaries or specifications. Changhua Luo, Penghui Li 0001, Wei Meng 0001, Chao Zhang 0008 |
CCS | 4 |
| 2024 | Laser Shield: a Physical Defense with Polarizer against Laser Attacks on Autonomous Driving SystemsabstractAutonomous driving systems (ADS) are boosted with deep neural networks (DNN) to perceive environments, while their security is doubted by DNN's vulnerability to adversarial attacks. Among them, a diversity of laser attacks emerges to be a new threat due to its minimal requirements and high attack success rate in the physical world. Nevertheless, current defense methods exhibit either a low defense success rate or a high computation cost against laser attacks. To fill this gap, we propose Laser Shield which leverages a polarizer along with a min-energy rotation mechanism to eliminate adversarial lasers from ADS scenes. We also provide a physical world dataset, LAPA, to evaluate its performance. Through exhaustive experiments with three baselines, four metrics, and three settings, Laser Shield is proved to surpass SOTA performance. Lijun Chi, Mounira Msahli, Gérard Memmi, Tianwei Zhang 0004, Chao Zhang 0008, Han Qiu 0001 |
DAC | 7 |
| 2024 | Graph Pre-training for Reconnaissance Perception in Automated Penetration Testing
Chao Zhang 0008, Jiandong Jin, Changling Zhou |
ICIC (3) | 3 |
| 2024 | On the Effectiveness of Function-Level Vulnerability Detectors for Inter-Procedural VulnerabilitiesabstractSoftware vulnerabilities are a major cyber threat and it is important to detect them. One important approach to detecting vulnerabilities is to use deep learning while treating a program function as a whole, known as function-level vulnerability detectors. However, the limitation of this approach is not understood. In this paper, we investigate its limitation in detecting one class of vulnerabilities known as inter-procedural vulnerabilities, where the to-be-patched statements and the vulnerability-triggering statements belong to different functions. For this purpose, we create the first Inter-Procedural Vulnerability Dataset (InterPVD) based on C/C++ open-source software, and we propose a tool dubbed VulTrigger for identifying vulnerability-triggering statements across functions. Experimental results show that VulTrigger can effectively identify vulnerability-triggering statements and inter-procedural vulnerabilities. Our findings include: (i) inter-procedural vulnerabilities are prevalent with an average of 2.8 inter-procedural layers; and (ii) function-level vulnerability detectors are much less effective in detecting to-be-patched functions of inter-procedural vulnerabilities than detecting their counterparts of intra-procedural vulnerabilities. Zhen Li 0027, Ning Wang 0098, Deqing Zou, Ruqian Zhang, Shouhuai Xu, Chao Zhang 0008, Hai Jin 0001 |
ICSE | 7 |
| 2024 | Formatted Stateful Greybox Fuzzing of TLS ServerabstractThe TLS protocol is one of the most crucial foundations for ensuring internet security. Consequently, vulnerabilities within the TLS protocol have a significant impact on the Internet security. This paper aims to explore more efficient methods of discovering vulnerabilities in the TLS protocol. Fuzzing stands out as one of the most important techniques for vulnerability discovery in the TLS protocol. To tackle the high complexity of the TLS protocol, stateful greybox fuzzers such as AFLnet have been introduced to enable stateful fuzzing of TLS servers. However, these mutation-based fuzzers often encounter chal-lenges in preserving the message format information during the mutation process, which can undermine the testing results. As a result, this paper proposes a novel approach that incorporates a formatted mutation strategy into the stateful greybox fuzzing process, with the aim of achieving more efficient mutation results. The evaluation process involves four mainstream fuzzers, with OpenSSL's TLS server serving as the target. The results demonstrate that the proposed method significantly enhances the quality of generated seeds, code coverage, and state coverage across all four fuzzers. Jiangan Ji, Hui Shu, Zheming Li, Tieming Liu, Chao Zhang 0008 |
ICST | 6 |
| 2024 | ConFuzz: Towards Large Scale Fuzz Testing of Smart Contracts in EthereumabstractFuzzing is effective at finding vulnerabilities in traditional applications and has been adapted to smart contracts. However, existing fuzzing solutions for smart contracts are not smart enough and can hardly be applied to large-scale testing since they heavily rely on source code or ABI. In this paper, we propose a fuzzing solution ConFuzz applicable to large-scale testing, especially for bytecode-only contracts. ConFuzz adopts Adaptive Interface Recovery (AIR) and Function Information Collection (FIC) algorithm to automatically recover the function interfaces and information, supporting fuzzing smart contracts without source code or ABI. Furthermore, ConFuzz employs a Dependence-based Transaction Sequence Generation (DTSG) algorithm to infer dependencies of transactions and generate high-quality sequences to trigger the vulnerabilities. Lastly, ConFuzz utilizes taint analysis and function information to help detect harmful vulnerabilities and reduce false positives. The experiment shows that ConFuzz can accurately recover over 99.7% of function interfaces and reports more vulnerabilities than state-of-the-art solutions with 98.89% precision and 93.69% accuracy. On all 1.4M unique contracts from Ethereum, ConFuzz found over 11.92% vulnerable contracts. To the best of our knowledge, ConFuzz is the first efficient and scalable solution to test all smart contracts deployed in Ethereum. Taiyu Wong, Chao Zhang 0008, Yuandong Ni, Mingsen Luo, Heying Chen, Yufei Yu, Xiapu Luo, Haoyu Wang 0001 |
INFOCOM | 2 |
| 2024 | CLAP: Learning Transferable Binary Code Representations with Natural Language SupervisionabstractBinary code representation learning has shown significant performance in binary analysis tasks. But existing solutions often have poor transferability, particularly in few-shot and zero-shot scenarios where few or no training samples are available for the tasks. To address this problem, we present CLAP (Contrastive Language-Assembly Pre-training), which employs natural language supervision to learn better representations of binary code (i.e., assembly code) and get better transferability. At the core, our approach boosts superior transfer learning capabilities by effectively aligning binary code with their semantics explanations (in natural language), resulting a model able to generate better embeddings for binary code. To enable this alignment training, we then propose an efficient dataset engine that could automatically generate a large and diverse dataset comprising of binary code and corresponding natural language explanations. We have generated 195 million pairs of binary code and explanations and trained a prototype of CLAP. The evaluations of CLAP across various downstream tasks in binary analysis all demonstrate exceptional performance. Notably, without any task-specific training, CLAP is often competitive with a fully supervised baseline, showing excellent transferability. Hao Wang 0226, Chao Zhang 0008, Zihan Sha, Yuchen Zhou 0007, Wenyu Zhu, Wenju Sun, Han Qiu 0001, Xi Xiao 0001 |
ISSTA | 3 |
| 2024 | CEBin: A Cost-Effective Framework for Large-Scale Binary Code Similarity DetectionabstractBinary code similarity detection (BCSD) is a fundamental technique for various applications. Many BCSD solutions have been proposed recently, which mostly are embedding-based, but have shown limited accuracy and efficiency especially when the volume of target binaries to search is large. To address this issue, we propose a cost-effective BCSD framework, CEBin, which fuses embedding-based and comparison-based approaches to significantly improve accuracy while minimizing overheads. Specifically, CEBin utilizes a refined embedding-based approach to extract features of target code, which efficiently narrows down the scope of candidate similar code and boosts performance. Then, it utilizes a comparison-based approach that performs a pairwise comparison on the candidates to capture more nuanced and complex relationships, which greatly improves the accuracy of similarity detection. By bridging the gap between embedding-based and comparison-based approaches, CEBin is able to provide an effective and efficient solution for detecting similar code (including vulnerable ones) in large-scale software ecosystems. Experimental results on three well-known datasets demonstrate the superiority of CEBin over existing state-of-the-art (SOTA) baselines. To further evaluate the usefulness of BCSD in real world, we construct a large-scale benchmark of vulnerability, offering the first precise evaluation scheme to assess BCSD methods for the 1-day vulnerability detection task. CEBin could identify the similar function from millions of candidate functions in just a few seconds and achieves an impressive recall rate of 85.46% on this more practical but challenging task, which are several order of magnitudes faster and 4.07× better than the best SOTA baseline. Hao Wang 0226, Chao Zhang 0008, Yuchen Zhou 0007, Han Qiu 0001, Xi Xiao 0001 |
ISSTA | 3 |
| 2024 | Beyond the Surface: Uncovering the Unprotected Components of Android Against Overlay Attack
Hao Zhou 0043, Shuohan Wu, Chenxiong Qian, Xiapu Luo, Haipeng Cai, Chao Zhang 0008 |
NDSS | 6 |
| 2024 | EnclaveFuzz: Finding Vulnerabilities in SGX Applications
Zheming Li, Zheyu Ma, Yuan Li 0061, Baojian Chen, Chao Zhang 0008 |
NDSS | 6 |
| 2024 | Faster and Better: Detecting Vulnerabilities in Linux-based IoT Firmware with Optimized Reaching Definition Analysis
Zicong Gao, Chao Zhang 0008, Hangtian Liu, Wenhou Sun, Zhizhuo Tang, Liehui Jiang, Jianjun Chen 0005 |
NDSS | 2 |
| 2024 | ShapFuzz: Efficient Fuzzing via Shapley-Guided Byte Selection
Xiaogang Zhu 0001, Xi Xiao 0001, Minhui Xue 0001, Chao Zhang 0008, Sheng Wen |
NDSS | 5 |
| 2024 | ReqsMiner: Automated Discovery of CDN Forwarding Request Inconsistencies and DoS Attacks with Grammar-based Fuzzing
Linkai Zheng, Xiang Li 0108, Chuhan Wang 0001, Run Guo, Hai-Xin Duan, Jianjun Chen 0005, Chao Zhang 0008, Kaiwen Shen |
NDSS | 7 |
| 2024 | Labrador: Response Guided Directed Fuzzing for Black-box IoT DevicesabstractFuzzing is a popular solution to finding vulnerabilities in software including IoT firmware. However, due to the challenges of emulating or rehosting firmware, some IoT devices (e.g., enterprise-level devices) can only be fuzzed in a black-box manner, which makes fuzzers blind and inefficient due to missing feedbacks (e.g., code coverage or distance). In this paper, we present a novel response guided directed fuzzing solution Labrador, able to test black-box IoT devices efficiently. Specifically, we leverage the network response to infer the execution trace of firmware and deduce the code coverage of testing. Second, we leverage the test case (i.e., request) and its response to estimate the distance to the target sensitive code (i.e., sink). Lastly, we further leverage the distance to guide test case mutation, which efficiently drives directed fuzzing toward candidate vulnerable code. We have implemented a prototype of Labrador and evaluated it on 14 different enterprise-level IoT devices. Results showed that Labrador significantly outperforms state-of-the-art (SOTA) solutions. It finds 44X more vulnerabilities than SNIPUZZ, BOOFUZZ and FIRM-AFL and 8.57X more vulnerabilities than SaTC. In total, it discovered 79 unknown vulnerabilities, of which 61 were assigned with CVEs. Hangtian Liu, Shuitao Gan, Chao Zhang 0008, Zicong Gao, Xiangzhi Wang, Guangming Gao |
SP | 3 |
| 2024 | Break the Wall from Bottom: Automated Discovery of Protocol-Level Evasion Vulnerabilities in Web Application FirewallsabstractWeb Application Firewalls (WAFs) are a crucial line of defense against web-based attacks. However, an emerging threat comes from protocol-level evasion vulnerabilities, in which adversaries exploit parsing discrepancies between the WAF HTTP parser and those of web applications to circumvent WAFs. Currently, uncovering these vulnerabilities still depends on manual, ad hoc methods. In this paper, we propose WAF Manis, a novel testing methodology to automatically discover protocol-level evasion vulnerabilities in WAFs. We evaluated WAF Manis against 14 popular WAFs including Cloudflare and ModSecurity and 20 popular web frameworks including Laravel and Spring. In total, we discovered 311 protocol-level evasion cases affecting all tested WAFs and applications. Due to the generic nature of protocol-level evasions, these evasion vulnerabilities do not hinge on specific payload patterns and can transmit any malicious payloads - for instance, SQL injection, XSS, or Log4jShell - to the target websites. We further analyzed these vulnerabilities and identified three primary reasons contributing to WAF evasions. We have reported those identified vulnerabilities to the affected providers and received acknowledgments and bug bounty rewards from Cloudflare WAF, Fortinet WAF, Alibaba Cloud WAF, Huawei Cloud WAF, ModSecurity, Go security Team, and the PHP security team. Qi Wang 0094, Jianjun Chen 0005, Zheyu Jiang, Run Guo, Ximeng Liu, Chao Zhang 0008, Hai-Xin Duan |
SP | 6 |
| 2024 | SDFuzz: Target States Driven Directed Fuzzing
Penghui Li 0001, Wei Meng 0001, Chao Zhang 0008 |
USENIX Security Symposium | 3 |
| 2024 | Improving ML-based Binary Function Similarity Detection by Assessing and Deprioritizing Control Flow Graph Features
Jialai Wang, Chao Zhang 0008, Yuxiao Wu, Hao Wang 0003, Wende Tan, Qi Li 0002, Zongpeng Li |
USENIX Security Symposium | 2 |
| 2024 | ROLoad-PMP: Securing Sensitive Operations for Kernels and Bare-Metal FirmwareabstractA common way for attackers to compromise victim systems is hijacking sensitive operations (e.g., control-flow transfers) with attacker-controlled inputs. Existing solutions in general only protect parts of these targets and have high performance overheads, which are impractical and hard to deploy on systems with limited resources (e.g., IoT devices) or for low-level software like kernels and bare-metal firmware. In this paper, we present a lightweight hardware-software co-design solution ROLoad-PMP to protect sensitive operations from being hijacked for low-level software. First, we propose new instructions, which only load data from read-only memory regions with specific keys, to guarantee the integrity of pointees pointed by (potentially corrupted) data pointers. Then, we provide a program hardening mechanism to protect sensitive operations, by classifying and placing their operands into read-only memory with different keys at compile-time and loading them with ROLoad-PMP-family instructions at runtime. We have implemented an FPGA-based prototype of ROLoad-PMP based on RISC-V, and demonstrated an important defense application, i.e., forward-edge control-flow integrity. Results showed that ROLoad-PMP only costs few extra hardware resources ($\lt 1.40\%$). Moreover, it enables many lightweight (e.g., with negligible overheads$\lt 0.853\%$) defenses, and provides broader and stronger security guarantees than existing hardware solutions, e.g., ARM BTI and Intel CET. Wende Tan, Yangyu Chen 0002, Yuan Li 0061, Chao Zhang 0008 |
IEEE Trans. Computers | 5 |
| 2024 | KextFuzz: A Practical Fuzzer for macOS Kernel EXTensions on Apple SiliconabstractmacOS drivers, i.e., Kernel EXTensions (kexts), are attractive attack targets for adversaries. However, automatically discovering vulnerabilities in kexts is extremely challenging because kexts are mostly closed-source, and the latest macOS running on customized Apple Silicon has limited tool-chain support. Most existing static analysis and dynamic testing solutions cannot be applied to the latest macOS. In this paper, we present the first end-to-end fuzzing solution KextFuzz to detect bugs in the latest macOS kexts running on Apple Silicon. Unlike existing driver fuzzing solutions, KextFuzz does not require source code, execution traces, hypervisors, or hardware features (e.g., coverage tracing) and thus is universal and practical. We note that macOS has deployed many mitigations, including pointer authentication, code signature, and userspace kernel layer wrappers, to thwart potential attacks. These mitigations can provide extra knowledge and resources for us to enable kernel fuzzing. KextFuzz exploits these mitigation schemes to instrument the binary for coverage tracking, infer the type and semantic information of kext interfaces, and generate multi-dimension inputs. KextFuzz has found 49 unique kernel bugs in the macOS kexts and got five CVEs. Some bugs could cause severe consequences like running arbitrary code with kernel privilege. Tingting Yin, Zicong Gao, Zhenghang Xiao, Zheyu Ma, Chao Zhang 0008 |
IEEE Trans. Dependable Secur. Comput. | 6 |
| 2024 | Graphuzz: Data-driven Seed Scheduling for Coverage-guided Greybox FuzzingabstractSeed scheduling is a critical step of greybox fuzzing, which assigns different weights to seed test cases during seed selection, and significantly impacts the efficiency of fuzzing. Existing seed scheduling strategies rely on manually designed models to estimate the potentials of seeds and determine their weights, which fails to capture the rich information of a seed and its execution and thus the estimation of seeds’ potentials is not optimal. In this article, we introduce a new seed scheduling solution, Graphuzz, for coverage-guided greybox fuzzing, which utilizes deep learning models to estimate the potentials of seeds and works in a data-driven way. Specifically, we propose an extended control flow graph called e-CFG to represent the control-flow and data-flow features of a seed's execution, which is suitable for graph neural networks (GNN) to process and estimate seeds’ potential. We evaluate each seed's code coverage increment and use it as the label to train the GNN model. Further, we propose a self-attention mechanism to enhance the GNN model so that it can capture overlooked features. We have implemented a prototype of Graphuzz based on the baseline fuzzer AFLplusplus. The evaluation results show that our model can estimate the potential of seeds and has the robust capability to generalize to different targets. Furthermore, the evaluation using 12 benchmarks from FuzzBench shows that Graphuzz outperforms AFLplusplus and the state-of-the-art seed scheduling solution K-Scheduler and other coverage-guided fuzzers in terms of code coverage, and the evaluation using 8 benchmarks from Magma shows that Graphuzz outperforms the baseline fuzzer AFLplusplus and SOTA solutions in terms of bug detection. Shuitao Gan, Chao Zhang 0008, Zheming Li, Jiangan Ji, Baojian Chen |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2023 | RaceBench: A Triggerable and Observable Concurrency Bug BenchmarkabstractConcurrency bugs are one of the most harmful and hard-to-address issues in multithreaded software. Such bugs are hard to discover, reproduce, diagnose or fix due to their non-deterministic nature. Although more and more bug discovery solutions are proposed in recent years, it is difficult to evaluate them with existing concurrency bug datasets. The demand for building a high-quality benchmark of concurrency bugs emerges. Jiashuo Liang, Ming Yuan 0003, Zhanzhao Ding, Siqi Ma 0001, Xinhui Han, Chao Zhang 0008 |
AsiaCCS | 6 |
| 2023 | Under the Dark: A Systematical Study of Stealthy Mining Pools (Ab)use in the WildabstractCryptocurrency mining is a crucial operation in blockchains, and miners often join mining pools to increase their chances of earning rewards. However, the energy-intensive nature of PoW cryptocurrency mining has led to its ban in New York State of the United States, China, and India. As a result, mining pools, serving as a central hub for mining activities, have become prime targets for regulatory enforcement. Furthermore, cryptojacking malware refers to self-owned stealthy mining pools to evade detection techniques and conceal profit wallet addresses. However, no systematic research has been conducted to analyze it, largely due to a lack of full understanding of the protocol implementation, usage, and port distribution of the stealth mining pool. Zhenrui Zhang, Geng Hong, Xiang Li 0108, Zhuoqun Fu, Jia Zhang 0004, Mingxuan Liu 0006, Chuhan Wang 0001, Jianjun Chen 0005, Baojun Liu 0002, Hai-Xin Duan, Chao Zhang 0008, Min Yang 0002 |
CCS | 11 |
| 2023 | PTStore: Lightweight Architectural Support for Page Table IsolationabstractPage tables are critical data structures in kernels, serving as the trust base of most mitigation solutions. Their integrity is thus crucial but is often taken for granted. Existing page table protection solutions usually provide insufficient security guarantees, require heavy hardware, or introduce high overheads. In this paper, we present a novel lightweight hardware-software co-design solution, PTStore, consisting of a secure region storing page tables and tokens verifying page table pointers. Evaluation results on FPGA-based prototypes show that PTStore only introduces <0.92% hardware overheads and <0.86% performance overheads, but provides strong security guarantees, showing that PTStore is efficient and effective. Wende Tan, Yangyu Chen 0002, Yuan Li 0061, Ying Liu 0024, Chao Zhang 0008 |
DAC | 7 |
| 2023 | MPass: Bypassing Learning-based Static Malware DetectorsabstractMachine learning (ML) based static malware detectors are widely deployed, but vulnerable to adversarial attacks. Unlike images or texts, tiny modifications to malware samples would significantly compromise their functionality. Consequently, existing attacks against images or texts will be significantly restricted when being deployed on malware detectors. In this work, we propose a hard-label black-box attack MPass against ML-based detectors. MPass employs a problem-space explainability method to locate critical positions of malware, applies adversarial modifications to such positions, and utilizes a runtime recovery technique to preserve the functionality. Experiments show MPass outperforms existing solutions and bypasses both state-of-the-art offline models and commercial ML-based antivirus products. Jialai Wang, Wenjie Qu 0001, Han Qiu 0001, Qi Li 0002, Zongpeng Li, Chao Zhang 0008 |
DAC | 7 |
| 2023 | One-bit Flip is All You Need: When Bit-flip Attack Meets Model TrainingabstractDeep neural networks (DNNs) are widely deployed on real-world devices. Concerns regarding their security have gained great attention from researchers. Recently, a new weight modification attack called bit flip attack (BFA) was proposed, which exploits memory fault inject techniques such as row hammer to attack quantized models in the deployment stage. With only a few bit flips, the target model can be rendered useless as a random guesser or even be implanted with malicious functionalities. In this work, we seek to further reduce the number of bit flips. We propose a training-assisted bit flip attack, in which the adversary is involved in the training stage to build a high-risk model to release. This high-risk model, obtained coupled with a corresponding malicious model, behaves normally and can escape various detection methods. The results on benchmark datasets show that an adversary can easily convert this high-risk but normal model to a malicious one on victim’s side by flipping only one critical bit on average in the deployment stage. Moreover, our attack still poses a significant threat even when defenses are employed. The codes for reproducing main experiments are available at https://github.com/jianshuod/TBA. Jianshuo Dong, Han Qiu 0001, Yiming Li 0004, Tianwei Zhang 0004, Yuanjie Li, Zeqi Lai, Chao Zhang 0008, Shutao Xia |
ICCV | 7 |
| 2023 | 1dFuzz: Reproduce 1-Day Vulnerabilities with Directed Differential Fuzzingabstract1-day vulnerabilities are common in practice and have posed severe threats to end users, as adversaries could learn from released patches to find them and exploit them. Reproducing 1-day vulnerabilities is also crucial for defenders, e.g., to block attack traffic against 1-day vulnerabilities. A core question that affects the effectiveness of recognizing and triggering 1-day vulnerabilities is what is the unique feature of a security patch. After conducting a large-scale empirical study, we point out that a common and unique feature of patches is the trailing call sequence (TCS) and present a novel directed differential fuzzing solution 1dFuzz to efficiently reproduce 1-day vulnerabilities in this paper. Based on the TCS feature, we present a locator 1dLoc able to find candidate patch locations via static analysis, a novel TCS-based distance metric for directed fuzzing, and a novel sanitizer 1dSan able to catch PoCs for 1-day vulnerabilities during fuzzing. We have systematically evaluated 1dFuzz on a set of real-world software vulnerabilities in 11 different settings. Results show that 1dFuzz significantly outperforms state-of-the-art (SOTA) baselines and could find up to 2.26x more 1-day vulnerabilities with a 43% shorter time. Songtao Yang 0001, Yubo He, Kaixiang Chen, Zheyu Ma, Xiapu Luo, Jianjun Chen 0005, Chao Zhang 0008 |
ISSTA | 8 |
| 2023 | Thunderkaller: Profiling and Improving the Performance of SyzkallerabstractFuzzing is widely adopted to discover vulnerabilities in software, including the kernel. One of the most popular and state-of-the-art fuzzers for kernels is Syzkaller. However, Syzkaller has a much lower testing throughput compared to other user-space fuzzers, which affects the efficiency of both Syzkaller and other Syzkaller-based fuzzers. In this paper, we profiled the performance of Syzkaller, recognized that the major cost comes from program isolation and kernel instrumentation, and then proposed kernel image duplication and three optimization techniques to mitigate such overheads and present the solution Thunderkaller. Our solution does not change or depend on the fuzzing algorithm in any way, orthogonal to other refinements to Syzkaller. Our evaluation shows that, in 24 hours, Thunderkaller speeds up 2.8× compared to vanilla Syzkaller, achieves 25.8% more basic block coverage, detects 21 more unique bugs, and triggers the common bugs 6.3× faster. In a long time of fuzzing, we have found 6 unique Linux kernel bugs and obtained a CVE. Zhun Wang, Wende Tan, Zheyu Ma, Chao Zhang 0008 |
ASE | 6 |
| 2023 | One Simple API Can Cause Hundreds of Bugs An Analysis of Refcounting Bugs in All Modern Linux KernelsabstractReference counting (refcounting) is widely used in Linux kernel. However, it requires manual operations on the related APIs. In practice, missing or improperly invoking these APIs has introduced too many bugs, known as refcounting bugs. To evaluate the severity of these bugs in history and in future, this paper presents a comprehensive study on them. Liang He 0011, Purui Su, Chao Zhang 0008, Yan Cai 0001, Jinxin Ma |
SOSP | 3 |
| 2023 | ODDFuzz: Discovering Java Deserialization Vulnerabilities via Structure-Aware Directed Greybox FuzzingabstractJava deserialization vulnerability is a severe threat in practice. Researchers have proposed static analysis solutions to locate candidate vulnerabilities and fuzzing solutions to generate proof-of-concept (PoC) serialized objects to trigger them. However, existing solutions have limited effectiveness and efficiency.In this paper, we propose a novel hybrid solution ODDFuzz to efficiently discover Java deserialization vulnerabilities. First, ODDFuzz performs lightweight static taint analysis to identify candidate gadget chains that may cause deserialization vulnerabilities. In this step, ODDFuzz tries to locate all candidates and avoid false negatives. Then, ODDFuzz performs directed greybox fuzzing (DGF) to explore those candidates and generate PoC testcases to mitigate false positives. Specifically, ODDFuzz applies a structure-aware seed generation method to guarantee the validity of the testcases, and adopts a novel hybrid feedback and a step-forward strategy to guide the directed fuzzing.We implemented a prototype of ODDFuzz and evaluated it on the popular Java deserialization repository ysoserial. Results show that, ODDFuzz could discover 16 out of 34 known gadget chains, while two state-of-the-art baselines only identify three of them. In addition, we evaluated ODDFuzz on real-world applications including Oracle WebLogic Server, Apache Dubbo, Sonatype Nexus, and protostuff, and found six previously unreported exploitable gadget chains with five CVEs assigned. Sicong Cao, Biao He 0002, Xiaobing Sun 0001, Yu Ouyang, Chao Zhang 0008, Xiaoxue Wu 0001, Ting Su 0001, Lili Bo, Bin Li 0006, Chuanlei Ma, Tao Wei 0002 |
SP | 5 |
| 2023 | Callee: Recovering Call Graphs for Binaries with Transfer and Contrastive LearningabstractRecovering binary programs’ call graphs is crucial for inter-procedural analysis tasks and applications based on them. One of the core challenges is recognizing targets of indirect calls (i.e., indirect callees). Existing solutions all have high false positives and negatives, making call graphs inaccurate. In this paper, we propose a new solution Callee combining transfer learning and contrastive learning. The key insight is that, deep neural networks (DNNs) can automatically identify patterns concerning indirect calls. Inspired by the advances in question-answering applications, we utilize contrastive learning to answer the callsite-callee question. However, one of the toughest challenges is that DNNs need large datasets to achieve high performance, while collecting large-scale indirect-call ground truths can be computational-expensive. Therefore, we leverage transfer learning to pre-train DNNs with easy-to-collect direct calls and further fine-tune DNNs for indirect-calls. We evaluate Callee on several groups of targets, and results show that our solution could match callsites to callees with an F1-Measure of 94.6%, much better than state-of-the-art solutions. Further, we apply Callee to two applications – binary code similarity detection and hybrid fuzzing, and found it could greatly improve their performance. Wenyu Zhu, Zhiyao Feng, Jianjun Chen 0005, Zhijian Ou, Min Yang 0002, Chao Zhang 0008 |
SP | 7 |
| 2023 | MTSan: A Feasible and Practical Memory Sanitizer for Fuzzing COTS Binaries
Xingman Chen, Yinghao Shi, Zheyu Jiang, Yuan Li 0061, Ruoyu Wang 0001, Hai-Xin Duan, Haoyu Wang 0001, Chao Zhang 0008 |
USENIX Security Symposium | 8 |
| 2023 | Temporal CDN-Convex Lens: A CDN-Assisted Practical Pulsing DDoS Attack
Run Guo, Jianjun Chen 0005, Keran Mu, Baojun Liu 0002, Xiang Li 0108, Chao Zhang 0008, Hai-Xin Duan |
USENIX Security Symposium | 7 |
| 2023 | Efficient 3PC for Binary Circuits with Application to Maliciously-Secure DNN Inference
Yun Li 0010, Yufei Duan, Cheng Hong 0001, Chao Zhang 0008, Yifan Song 0001 |
USENIX Security Symposium | 5 |
| 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 Symposium | 9 |
| 2023 | AlphaEXP: An Expert System for Identifying Security-Sensitive Kernel Objects
Kaixiang Chen, Chao Zhang 0008, Zulie Pan, Qianyu Li 0001, Siliang Qin, Shenglin Xu, Min Zhang 0054, Yang Li 0215 |
USENIX Security Symposium | 3 |
| 2023 | Aegis: Mitigating Targeted Bit-flip Attacks against Deep Neural Networks
Jialai Wang, Han Qiu 0001, Tianwei Zhang 0004, Qi Li 0002, Zongpeng Li, Tao Wei 0002, Chao Zhang 0008 |
USENIX Security Symposium | 9 |
| 2023 | KextFuzz: Fuzzing macOS Kernel EXTensions on Apple Silicon via Exploiting Mitigations
Tingting Yin, Zicong Gao, Zhenghang Xiao, Zheyu Ma, Chao Zhang 0008 |
USENIX Security Symposium | 6 |
| 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 Symposium | 7 |
| 2023 | Tunter: Assessing Exploitability of Vulnerabilities with Taint-Guided Exploitable States Exploration
Kaixiang Chen, Zulie Pan, Yuwei Li 0002, Qianyu Li 0001, Yang Li 0215, Min Zhang 0054, Chao Zhang 0008 |
Comput. Secur. | 8 |
| 2023 | Automatic Generation of Adversarial Readable Chinese TextsabstractNatural language processing (NLP) models are known vulnerable to adversarial examples, similar to image processing models. Studying adversarial texts is an essential step to improve the robustness of NLP models. However, existing studies mainly focus on generating adversarial texts for English, with no prior knowledge that whether those attacks could be applied to Chinese. After analyzing the differences between Chinese and English, we propose a novel adversarial Chinese text generation solution Argot, by utilizing the method for adversarial English examples and several novel methods developed on Chinese characteristics. Argot could effectively and efficiently generate adversarial Chinese texts with good readability in both white-box and black-box settings. Argot could also automatically generatetargetedChinese adversarial texts, achieving a high success rate and ensuring the readability of the generated texts. Furthermore, we apply Argot to the spam detection task in both local detection models and a public toxic content detection system from a well-known security company. Argot achieves a relatively high bypass success rate with fluent readability, which proves that the real-world toxic content detection system is vulnerable to adversarial example attacks. We also evaluate some available defense strategies, and the results indicate that Argot can still achieve high attack success rates. Mingxuan Liu 0006, Yiming Zhang 0009, Chao Zhang 0008, Zhou Li 0001, Qi Li 0002, Hai-Xin Duan, Donghong Sun |
IEEE Trans. Dependable Secur. Comput. | 4 |
| 2023 | TAICHI: Transform Your Secret Exploits Into Mine From a Victim's PerspectiveabstractAcquiring and analyzing exploits, which take advantage of vulnerabilities to conduct malicious actions, are crucial for victims (and defenders) when responding to system compromising incidents. However, exploits are sensitive and valuable assets that are not available to victims. The most common resource available for victims to investigate is network traffic, which covers the exploitation period. Thus reconstructing exploits from network traffic is demanded. In practice, the reconstruction process is performed manually, thus inefficient and non-scalable. In this article, we present an automated solutionTAICHIto reconstruct exploits from network traffic, able to generate replica exploits and facilitate timely incident analysis. By nature, a working exploit has to satisfy (1)path constraintswhich ensure the program path same as the original exploit's is explored and the same vulnerability is triggered, and (2)exploit constraintswhich ensure the same exploitation strategy is applied, e.g., to bypass deployed defenses or to stitch multiple gadgets together. We propose a hybrid solution to this problem by integrating techniques including multi-version execution (MVE), dynamic taint analysis (DTA), and concolic execution. We have implemented a prototype ofTAICHIon x86 and x86-64 Linux and tested it on the Cyber Grand Challenge (CGC) dataset, several Capture the Flag (CTF) challenges, and Metasploit exploit modules targeting real world applications. The evaluation results showed thatTAICHIcould reconstruct exploits efficiently with a high success rate. Moreover, it could be applied to production environments without disrupting running services, and could reconstruct exploits even if only one round of exploitation traffic is available. Zhongyu Pei, Xingman Chen, Songtao Yang 0001, Hai-Xin Duan, Chao Zhang 0008 |
IEEE Trans. Dependable Secur. Comput. | 5 |
| 2023 | NSFuzz: Towards Efficient and State-Aware Network Service Fuzzing - RCR ReportabstractWe 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. | 6 |
| 2023 | NSFuzz: Towards Efficient and State-Aware Network Service FuzzingabstractAs 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. | 6 |
| 2022 | Evocatio: Conjuring Bug Capabilities from a Single PoCabstractThe popularity of coverage-guided greybox fuzzers has led to a tsunami of security-critical bugs that developers must prioritize and fix. Knowing the capabilities a bug exposes (e.g., type of vulnerability, number of bytes read/written) enables prioritization of bug fixes. Unfortunately, understanding a bug's capabilities is a time consuming process, requiring (a) an understanding of the bug's root cause, (b) an understanding how an attacker may exploit the bug, and (c) the development of a patch mitigating these threats. This is a mostly-manual process that is qualitative and arbitrary, potentially leading to a misunderstanding of the bug's capabilities. Zhiyuan Jiang, Shuitao Gan, Adrian Herrera, Flavio Toffalini, Lucio Romerio, Chaojing Tang, Manuel Egele, Chao Zhang 0008, Mathias Payer |
CCS | 8 |
| 2022 | PACMem: Enforcing Spatial and Temporal Memory Safety via ARM Pointer AuthenticationabstractMemory safety is a key security property that stops memory corruption vulnerabilities. Different types of memory safety enforcement solutions have been proposed and adopted by sanitizers or mitigations to catch and stop such bugs, at the development or deployment phase. However, existing solutions either provide partial memory safety or have overwhelmingly high performance overheads. Yuan Li 0061, Wende Tan, Zhizheng Lv, Songtao Yang 0001, Mathias Payer, Ying Liu 0024, Chao Zhang 0008 |
CCS | 7 |
| 2022 | PrIntFuzz: fuzzing Linux drivers via automated virtual device simulationabstractLinux 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 |
ISSTA | 7 |
| 2022 | BET: black-box efficient testing for convolutional neural networksabstractIt is important to test convolutional neural networks (CNNs) to identify defects (e.g. error-inducing inputs) before deploying them in security-sensitive scenarios. Although existing white-box testing methods can effectively test CNN models with high neuron coverage, they are not applicable to privacy-sensitive scenarios where full knowledge of target CNN models is lacking. In this work, we propose a novel Black-box Efficient Testing (BET) method for CNN models. The core insight of BET is that CNNs are generally prone to be affected by continuous perturbations. Thus, by generating such continuous perturbations in a black-box manner, we design a tunable objective function to guide our testing process for thoroughly exploring defects in different decision boundaries of the target CNN models. We further design an efficiency-centric policy to find more error-inducing inputs within a fixed query budget. We conduct extensive evaluations with three well-known datasets and five popular CNN structures. The results show that BET significantly outperforms existing white-box and black-box testing methods considering the effective error-inducing inputs found in a fixed query/inference budget. We further show that the error-inducing inputs found by BET can be used to fine-tune the target model, improving its accuracy by up to 3%. Jialai Wang, Han Qiu 0001, Hengkai Ye, Qi Li 0002, Zongpeng Li, Chao Zhang 0008 |
ISSTA | 7 |
| 2022 | jTrans: jump-aware transformer for binary code similarity detectionabstractBinary code similarity detection (BCSD) has important applications in various fields such as vulnerabilities detection, software component analysis, and reverse engineering. Recent studies have shown that deep neural networks (DNNs) can comprehend instructions or control-flow graphs (CFG) of binary code and support BCSD. In this study, we propose a novel Transformer-based approach, namely jTrans, to learn representations of binary code. It is the first solution that embeds control flow information of binary code into Transformer-based language models, by using a novel jump-aware representation of the analyzed binaries and a newly-designed pre-training task. Additionally, we release to the community a newly-created large dataset of binaries, BinaryCorp, which is the most diverse to date. Evaluation results show that jTrans outperforms state-of-the-art (SOTA) approaches on this more challenging dataset by 30.5% (i.e., from 32.0% to 62.5%). In a real-world task of known vulnerability searching, jTrans achieves a recall that is 2X higher than existing SOTA baselines. Hao Wang 0226, Wenjie Qu 0001, Gilad Katz, Wenyu Zhu, Han Qiu 0001, Jianwei Zhuge, Chao Zhang 0008 |
ISSTA | 8 |
| 2022 | NCScope: hardware-assisted analyzer for native code in Android appsabstractMore and more Android apps implement their functionalities in native code, so does malware. Although various approaches have been designed to analyze the native code used by apps, they usually generate incomplete and biased results due to their limitations in obtaining and analyzing high-fidelity execution traces and memory data with low overheads. To fill the gap, in this paper, we propose and develop a novel hardware-assisted analyzer for native code in apps. We leverage ETM, a hardware feature of ARM platform, and eBPF, a kernel component of Android system, to collect real execution traces and relevant memory data of target apps, and design new methods to scrutinize native code according to the collected data. To show the unique capability of NCScope, we apply it to four applications that cannot be accomplished by existing tools, including systematic studies on self-protection and anti-analysis mechanisms implemented in native code of apps, analysis of memory corruption in native code, and identification of performance differences between functions in native code. The results uncover that only 26.8% of the analyzed financial apps implement self-protection methods in native code, implying that the security of financial apps is far from expected. Meanwhile, 78.3% of the malicious apps under analysis have anti-analysis behaviors, suggesting that NCScope is very useful to malware analysis. Moreover, NCScope can effectively detect bugs in native code and identify performance differences. Hao Zhou 0043, Shuohan Wu, Xiapu Luo, Ting Wang 0006, Yajin Zhou, Chao Zhang 0008, Haipeng Cai |
ISSTA | 6 |
| 2022 | HTFuzz: Heap Operation Sequence Sensitive FuzzingabstractHeap-based temporal vulnerabilities (i.e., use-after-free, double-free and null pointer dereference) are highly sensitive to heap operation (e.g., memory allocation, deallocation and access) sequences. To efficiently find such vulnerabilities, traditional code coverage-guided fuzzing solutions could be promoted by integrating heap operation sequence feedback. But current sequence sensitive solutions have limitations in practice. Yuanping Yu, Xiangkun Jia, Yuwei Liu 0001, Qian Sang, Chao Zhang 0008, Purui Su |
ASE | 6 |
| 2022 | AutoDA: Automated Decision-based Iterative Adversarial Attacks
Qi-An Fu, Yinpeng Dong, Hang Su 0006, Jun Zhu 0001, Chao Zhang 0008 |
USENIX Security Symposium | 5 |
| 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 Symposium | 8 |
| 2022 | CAMFuzz: Explainable Fuzzing with Local InterpretationabstractAbstract Grey-box fuzzing techniques have been widely used in software bug finding. In general, there are many decisions to make in the fuzzing process, including which code block in the target program should be explored first, which bytes of an input seed should be mutated to reach the target code block, and how to mutate the chosen input bytes. However, existing solutions usually rely on random exploration or certain heuristics to choose where and how to fuzz, which limits the efficiency of fuzzing. In this paper, we propose a novel solution CAMFuzz to guide the fuzzing process with explainable decisions in explainable artificial intelligence (XAI). First, we propose a dynamic weight adjustment algorithm, which considers both the difficulty of reaching a block and the number of unvisited blocks nearby, to find code blocks worthy to explore first. Second, we utilize a widely used local interpretation technique, i.e., class activation mapping (CAM), to recognize which part of an input seed should be mutated to reach a given target code block. Therefore, CAMFuzz can distinguish which part of code in the program is more important and which positions in the input file should be mutated first, in order to achieve a better code coverage and bug finding efficiency. Third, to further help the fuzzer increase fuzzing efficiency, we leverage a lightweight static program analysis to help the fuzzer identify magic values. We implement a prototype of CAMFuzz and evaluate it on 13 real-world programs (including 11 open source targets, 2 closed-source commercial products including a Microsoft component and Hancom Office) Results show that CAMFuzz outperforms state-of-the-art fuzzers in both code coverage and bug finding. To detail, CAMFuzz on average achieves 2.07 $$\times$$ × more bugs and 1.17 $$\times$$ × coverage improvements. In total, it found 19 previously unknown vulnerabilities, of which 6 have been assigned by CVE so far. Ji Shi 0002, Chao Zhang 0008, Lingxiao Tan, Yanyan Zou 0002, Wei Huo 0005 |
Cybersecur. | 3 |
| 2022 | Path Sensitive Fuzzing for Native ApplicationsabstractCoverage-guided fuzzing is a widely used and effective solution to find software vulnerabilities. Tracking code coverage and utilizing it to guide fuzzing are crucial to coverage-guided fuzzers. However, tracking full and accurate path coverage is infeasible in practice due to the high instrumentation overhead. Popular fuzzers (e.g., AFL) often usecoarsecoverage information, e.g., edge hit counts stored in a compact bitmap, to achieve highly efficient greybox testing. Such inaccuracy and incompleteness in coverage introduce serious limitations to fuzzers. First, it causespath collisions, which prevent fuzzers from discovering potential paths that lead to new crashes. More importantly, it prevents fuzzers from making wise decisions on fuzzing strategies. In this article, we propose a coverage sensitive fuzzing solution CollAFL. It mitigates path collisions by providing more accurate coverage information, while still preserving low instrumentation overhead. It also utilizes the coverage information to apply three new fuzzing strategies, promoting the speed of discovering new paths and vulnerabilities. We implemented two variants of this solution, namely CollAFL (based on AFL) and CollAFL-bin (based on AFL-dyninst), to test applications with and without source code respectively, and evaluated them on 24 popular applications. The results showed that path collisions are common, i.e., up to 75 percent of edges could collide with others in some applications. But our solutions CollAFL and CollAFL-bin could reduce the edge collision ratio to nearly zero. Moreover, armed with the three fuzzing strategies, they outperform their counterparts (i.e., AFL and AFL-dyninst) in terms of both code coverage and vulnerability discovery. On average, CollAFL covered 20 percent more program paths, and found 320 percent more unique crashes and 260 percent more bugs than AFL in 200 hours. Moreover, CollAFL-bin covered 15 percent more paths, and found 200 percent more unique crashes and 150 percent more vulnerabilities than AFL-dyninst, showing that the proposed solution also works for binary application fuzzing. In total, CollAFL found 157 new security bugs with 95 new CVEs assigned. Shuitao Gan, Chao Zhang 0008, Xiaojun Qin, Xuwen Tu, Zhongyu Pei, Zuoning Chen |
IEEE Trans. Dependable Secur. Comput. | 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 | 2 |
| 2021 | Igor: Crash Deduplication Through Root-Cause ClusteringabstractFuzzing has emerged as the most effective bug-finding technique. The output of a fuzzer is a set of proof-of-concept (PoC) test cases for all observed "unique'' crashes. It costs developers substantial efforts to analyze each crashing test case. This, mostly manual, process has lead to the number of reported crashes out-pacing the number of bug fixes. Automatic crash deduplication techniques, which mostly rely on coverage profiles and stack hashes, are supposed to alleviate these pressures. However, these techniques both inflate actual bug counts and falsely conflate unrelated bugs. This hinders, rather than helps, developers, and calls for more accurate techniques. Zhiyuan Jiang, Xiyue Jiang, Ahmad Hazimeh, Chaojing Tang, Chao Zhang 0008, Mathias Payer |
CCS | 5 |
| 2021 | ZKCPlus: Optimized Fair-exchange Protocol Supporting Practical and Flexible Data ExchangeabstractDevising a fair-exchange protocol for digital goods has been an appealing line of research in the past decades. The Zero-Knowledge Contingent Payment (ZKCP) protocol first achieves fair exchange in a trustless manner with the aid of the Bitcoin network and zero-knowledge proofs. However, it incurs setup issues and substantial proving overhead, and has difficulties handling complicated validation of large-scale data. In this paper, we propose an improved solution ZKCPlus for practical and flexible fair exchange. ZKCPlus incorporates a new commit-and-prove non-interactive zero-knowledge (CP-NIZK) argument of knowledge under standard discrete logarithmic assumption, which is prover-efficient for data-parallel computations. With this argument we avoid the setup issues of ZKCP and reduce seller's proving overhead, more importantly enable the protocol to handle complicated data validations. We have implemented a prototype of ZKCPlus and built several applications atop it. We rework a ZKCP's classic application of trading sudoku solutions, and ZKCPlus achieves 21-67 times improvement in seller efficiency than ZKCP, with only milliseconds of setup time and 1 MB public parameters. In particular, our CP-NIZK argument shows an order of magnitude higher proving efficiency than the zkSNARK adopted by ZKCP. We also built a realistic application of trading trained CNN models. For a 3-layer CNN containing 8,620 parameters, it takes less than 1 second to prove and verify an inference computation, and also about 1 second to deliver the parameters, which is very promising for practical use. Yun Li 0010, Cun Ye, Yuguang Hu, Ivring Morpheus, Chao Zhang 0008, Yupeng Zhang 0001, Haodi Wang |
CCS | 6 |
| 2021 | ROLoad: Securing Sensitive Operations with Pointee IntegrityabstractSensitive operations (e.g. control-flow transfers) are attractive targets for attackers. To protect them from being hijacked, we propose a new solution ROLoad to guarantee the integrity of their operands, which are loaded from (potentially corrupted) memory. We extend the RISC-V instruction set, implement an FPGA-based prototype of ROLoad, and then demonstrate two specific defense applications. Results show that this solution only costs few extra hardware resources (< 3.32%). However, it could enable many lightweight (e.g. with overheads less than 0.31%) defenses, and provide broader and stronger security guarantees than existing hardware solutions, e.g. ARM BTI and Intel CET. Wende Tan, Yuan Li 0061, Chao Zhang 0008, Xingman Chen, Songtao Yang 0001, Ying Liu 0024 |
DAC | 3 |
| 2021 | A Deep Transfer Learning-Based Object Tracking Algorithm for Hyperspectral Video
Yiming Tang 0003, Yufei Liu 0004, Hong Huang 0002, Chao Zhang 0008, Yuan Li 0061 |
ICIG (3) | 4 |
| 2021 | Code is the (F)Law: Demystifying and Mitigating Blockchain Inconsistency Attacks Caused by Software BugsabstractBlockchains promise to provide a tamper-proof medium for transactions, and thus enable many applications including cryptocurrency. As a system built on consensus, the correctness of a blockchain heavily relies on the consistency of states between its nodes. But consensus protocols of blockchains only guarantee the consistency in the transaction sequence rather than nodes' internal states. Instead, nodes must replay and exe-cute all transactions to maintain their local states independently. When executing transactions, any different execution result could cause a node out-of-sync and thus gets isolated from other nodes.After systematically modeling the transaction execution process in blockchains, we present a new attack INCITE, which can lead different nodes to different states. Specifically, attackers could invoke an ambiguous transaction of a vulnerable smart contract, utilize software bugs in smart contracts to lead nodes that execute this transaction into different states. Unlike attacks that bring short-term inconsistencies, such as fork attacks, INCITE can cause nodes in the blockchain to fall into a long-term inconsistent state, which further leads to great damages to the chain (e.g., double-spending attacks and expelling mining power). We have discovered 7 0day vulnerabilities in 5 popular blockchains which can enable this attack. We also proposed a defense solution to mitigate this threat. Experiments showed that it is effective and lightweight. Guorui Yu, Shibin Zhao, Chao Zhang 0008, Zhiniang Peng, Yuandong Ni, Xinhui Han |
INFOCOM | 3 |
| 2021 | iDEV: exploring and exploiting semantic deviations in ARM instruction processingabstractARM 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 |
ISSTA | 2 |
| 2021 | RAProducer: efficiently diagnose and reproduce data race bugs for binaries via trace analysisabstractA 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 |
ISSTA | 3 |
| 2021 | POP and PUSH: Demystifying and Defending against (Mach) Port-oriented Programming
Xiaolong Bai, Yajin Zhou, Chao Zhang 0008, Fuping Qu |
NDSS | 4 |
| 2021 | VScape: Assessing and Escaping Virtual Call Protections
Kaixiang Chen, Chao Zhang 0008, Tingting Yin, Xingman Chen |
USENIX Security Symposium | 2 |
| 2021 | Sharing More and Checking Less: Leveraging Common Input Keywords to Detect Bugs in Embedded Systems
Libo Chen 0001, Quanpu Cai, Yunfan Zhan, Hong Hu 0004, Jiaqi Linghu, Qinsheng Hou, Chao Zhang 0008, Hai-Xin Duan, Zhi Xue |
USENIX Security Symposium | 8 |
| 2021 | MAZE: Towards Automated Heap Feng Shui
Chao Zhang 0008, Xiaorui Gong |
USENIX Security Symposium | 2 |
| 2021 | ESRFuzzer: an enhanced fuzzing framework for physical SOHO router devices to discover multi-Type vulnerabilitiesabstractAbstract SOHO (small office/home office) routers provide services for end devices to connect to the Internet, playing an important role in cyberspace. Unfortunately, security vulnerabilities pervasively exist in these routers, especially in the web server modules, greatly endangering end users. To discover these vulnerabilities, fuzzing web server modules of SOHO routers is the most popular solution. However, its effectiveness is limited due to the lack of input specification, lack of routers’ internal running states, and lack of testing environment recovery mechanisms. Moreover, existing works for device fuzzing are more likely to detect memory corruption vulnerabilities.In this paper, we propose a solution ESRFuzzer to address these issues. It is a fully automated fuzzing framework for testing physical SOHO devices. It continuously and effectively generates test cases by leveraging two input semantic models, i.e., KEY-VALUE data model and CONF-READ communication model, and automatically recovers the testing environment with power management. It also coordinates diversified mutation rules with multiple monitoring mechanisms to trigger multi-type vulnerabilities. With the guidance of the two semantic models, ESRFuzzer can work in two ways: general mode fuzzing and D-CONF mode fuzzing. General mode fuzzing can discover both issues which occur in the CONF and READ operation, while D-CONF mode fuzzing focus on the READ-op issues especially missed by general mode fuzzing.We ran ESRFuzzer on 10 popular routers across five vendors. In total, it discovered 136 unique issues, 120 of which have been confirmed as 0-day vulnerabilities we found. As an improvement of SRFuzzer, ESRFuzzer have discovered 35 previous undiscovered READ-op issues that belong to three vulnerability types, and 23 of them have been confirmed as 0-day vulnerabilities by vendors. The experimental results show that ESRFuzzer outperforms state-of-the-art solutions in terms of types and number of vulnerabilities found. Wei Huo 0005, Kunpeng Jian, Ji Shi 0002, Longquan Liu, Yanyan Zou 0002, Chao Zhang 0008, Baoxu Liu |
Cybersecur. | 7 |
| 2020 | Finding Cracks in Shields: On the Security of Control Flow Integrity MechanismsabstractControl-flow integrity (CFI) is a promising technique to mitigate control-flow hijacking attacks. In the past decade, dozens of CFI mechanisms have been proposed by researchers. Despite the claims made by themselves, the security promises of these mechanisms have not been carefully evaluated, and thus are questionable. Yuan Li 0061, Chao Zhang 0008, Xingman Chen, Songtao Yang 0001, Ying Liu 0024 |
CCS | 3 |
| 2020 | RIPT - An Efficient Multi-Core Record-Replay SystemabstractGiven the same input, a program may not behave the same in two runs due to some non-deterministic features, e.g., context switch and randomization. Such behaviors would cause non-deterministic program bugs which are hard to discover or diagnose. Record-and-replay is a promising technique to address such issues, however, performance and transparency are the main obstacles of existing works. In this poster, we propose a novel record-and-replay system named RIPT. RIPT utilizes Intel Processor Trace to record control flow information with very low overhead, and transparently captures non-deterministic sources such as system calls and signals with a kernel module. During replay, RIPT recovers the effect of non-deterministic events from the collected information, and makes target programs behave the same as recorded. We evaluate it with real-world program bugs and show that RIPT works well in practice. Jiashuo Liang, Guancheng Li, Chao Zhang 0008, Ming Yuan 0003, Xingman Chen, Xinhui Han |
CCS | 3 |
| 2020 | A large-scale empirical study on vulnerability distribution within projects and the lessons learnedabstractThe number of vulnerabilities increases rapidly in recent years, due to advances in vulnerability discovery solutions. It enables a thorough analysis on the vulnerability distribution and provides support for correlation analysis and prediction of vulnerabilities. Previous research either focuses on analyzing bugs rather than vulnerabilities, or only studies general vulnerability distribution among projects rather than the distribution within each project. In this paper, we collected a large vulnerability dataset, consisting of all known vulnerabilities associated with five representative open source projects, by utilizing automated crawlers and spending months of manual efforts. We then analyzed the vulnerability distribution within each project over four dimensions, including files, functions, vulnerability types and responsible developers. Based on the results analysis, we presented 12 practical insights on the distribution of vulnerabilities. Finally, we applied such insights on several vulnerability discovery solutions (including static analysis and dynamic fuzzing), and helped them find 10 zero-day vulnerabilities in target projects, showing that our insights are useful. Bingchang Liu, Guozhu Meng, Feng Li 0045, Dandan Sun, Wei Huo 0005, Chao Zhang 0008 |
ICSE | 9 |
| 2020 | Argot: Generating Adversarial Readable Chinese TextsabstractNatural language processing (NLP) models are known vulnerable to adversarial examples, similar to image processing models. Studying adversarial texts is an essential step to improve the robustness of NLP models. However, existing studies mainly focus on analyzing English texts and generating adversarial examples for English texts. There is no work studying the possibility and effect of the transformation to another language, e.g, Chinese. In this paper, we analyze the differences between Chinese and English, and explore the methodology to transform the existing English adversarial generation method to Chinese. We propose a novel black-box adversarial Chinese texts generation solution Argot, by utilizing the method for adversarial English samples and several novel methods developed on Chinese characteristics. Argot could effectively and efficiently generate adversarial Chinese texts with good readability. Furthermore, Argot could also automatically generate targeted Chinese adversarial text, achieving a high success rate and ensuring readability of the Chinese. Mingxuan Liu 0006, Chao Zhang 0008, Yiming Zhang 0009, Zhou Li 0001, Qi Li 0002, Hai-Xin Duan, Donghong Sun |
IJCAI | 3 |
| 2020 | DRAMD: Detect Advanced DRAM-based Stealthy Communication Channels with Neural NetworksabstractShared resources facilitate stealthy communication channels, including side channels and covert channels, which greatly endanger the information security, even in cloud environments. As a commonly shared resource, DRAM memory also serves as a source of stealthy channels. Existing solutions rely on two common features of DRAM-based channels, i.e., high cache miss and high bank locality, to detect the existence of such channels. However, such solutions could be defeated. In this paper, we point out the weakness of existing detection solutions by demonstrating a new advanced DRAM-based channel, which utilizes the hardware Intel SGX to conceal cache miss and bank locality. Further, we propose a novel neural network based solution DRAMD to detect such advanced stealthy channels. DRAMD uses hardware performance counters to track not only cache miss events that are used by existing solutions, but also counts of branches and instructions executed, as well as branch misses. Then DRAMD utilizes neural networks to model the access patterns of different applications and therefore detects potential stealthy communication channels. Our evaluation shows that DRAMD achieves up to 99% precision with 100% recall. Furthermore, DRAMD introduces less than 5% performance overheads and negligible impacts on legacy applications. Zhiyuan Lv, Youjian Zhao, Chao Zhang 0008 |
INFOCOM | 3 |
| 2020 | GREYONE: Data Flow Sensitive Fuzzing
Shuitao Gan, Chao Zhang 0008, Peng Chen 0034, Bodong Zhao, Xiaojun Qin, Zuoning Chen |
USENIX Security Symposium | 2 |
| 2020 | FANS: Fuzzing Android Native System Services via Automated Interface Analysis
Baozheng Liu, Chao Zhang 0008, Guang Gong, Yishun Zeng, Haifeng Ruan, Jianwei Zhuge |
USENIX Security Symposium | 2 |
| 2019 | SRFuzzer: an automatic fuzzing framework for physical SOHO router devices to discover multi-type vulnerabilitiesabstractSOHO (small office/home office) routers provide services for end devices to connect to the Internet, playing an important role in the cyberspace. Unfortunately, security vulnerabilities pervasively exist in these routers, especially in the web server modules, greatly endangering end users. To discover these vulnerabilities, fuzzing web server modules of SOHO routers is the most popular solution. However, its effectiveness is limited, due to the lack of input specification, lack of routers' internal running states, and lack of testing environment recovery mechanisms. Moreover, fuzzing in general only reports memory corruption vulnerabilities, and fails to discover other vulnerabilities, e.g., web-based vulnerabilities. Wei Huo 0005, Kunpeng Jian, Ji Shi 0002, Haoliang Lu, Longquan Liu, Dandan Sun, Chao Zhang 0008, Baoxu Liu |
ACSAC | 9 |
| 2019 | Fuzzing IPC with Knowledge InferenceabstractSandboxing provides a strong security guarantee for applications, by isolating untrusted code into separated compartments. Untrusted code could only use IPC (inter-process communication) to launch sensitive actions, which are implemented in trusted (and maybe privileged) code. IPC-related security bugs in trusted code could facilitate jailbreaks of sandboxing, and thus are becoming high-value targets. However, finding vulnerabilities that could be triggered by IPC is challenging, due to the fact that IPC communication is stateful and format-sensitive. In this paper, we propose a new fuzzing solution to discover IPC bugs in IPC services without source code, by combining static analysis and dynamic analysis. We use static analysis to recognize format checks and help construct IPC messages of valid formats. We then use dynamic analysis to infer the constraints between IPC messages, and model the stateful logic with a probability matrix. Therefore, we are able to generate high-quality IPC messages to test IPC services, and discover deep and complex IPC bugs. Without loss of generality, we implemented a prototype MachFuzzer, for a specific complicated and crucial IPC service, i.e., WindowServer in macOS. This prototype helps us find 12 previously unknown vulnerabilities in WindowServer in 48 hours. Among them, three vulnerabilities are confirmed exploitable, and could be exploited to escape the sandbox and gain root privilege. Chao Zhang 0008, Jianwei Zhuge, Hai-Xin Duan |
SRDS | 3 |
| 2019 | MOPT: Optimized Mutation Scheduling for Fuzzers
Chenyang Lyu, Shouling Ji, Chao Zhang 0008, Yuwei Li 0002, Wei-Han Lee, Raheem A. Beyah |
USENIX Security Symposium | 3 |
| 2019 | From proof-of-concept to exploitableabstractExploitability assessment of vulnerabilities is important for both defenders and attackers. The ultimate way to assess the exploitability is crafting a working exploit. However, it usually takes tremendous hours and significant manual efforts. To address this issue, automated techniques can be adopted. Existing solutions usually explore in depth the crashing paths , i.e., paths taken by proof-of-concept (PoC) inputs triggering vulnerabilities, and assess exploitability by finding exploitable states along the paths. However, exploitable states do not always exist in crashing paths. Moreover, existing solutions heavily rely on symbolic execution and are not scalable in path exploration and exploit generation. In this paper, we propose a novel solution to generate exploit for userspace programs or facilitate the process of crafting a kernel UAF exploit. Technically, we utilize oriented fuzzing to explore diverging paths from vulnerability point. For userspace programs, we adopt a control-flow stitching solution to stitch crashing paths and diverging paths together to generate exploit. For kernel UAF, we leverage a lightweight symbolic execution to identify, analyze and evaluate the system calls valuable and useful for exploiting vulnerabilities. We have developed a prototype system and evaluated it on a set of 19 CTF (capture the flag) programs and 15 realworld Linux kernel UAF vulnerabilities. Experiment results showed it could generate exploit for most of the userspace test set, and it could also facilitate security mitigation bypassing and exploitability evaluation for kernel test set. Wei Wu 0010, Chao Zhang 0008, Xinyu Xing 0001, Xiaorui Gong |
Cybersecur. | 3 |
| 2018 | Revery: From Proof-of-Concept to ExploitableabstractAutomatic exploit generation is an open challenge. Existing solutions usually explore in depth the crashing paths, i.e., paths taken by proof-of-concept (POC) inputs triggering vulnerabilities, and generate exploits when exploitable states are found along the paths. However, exploitable states do not always exist in crashing paths. Moreover, existing solutions heavily rely on symbolic execution and are not scalable in path exploration and exploit generation. In addition, few solutions could exploit heap-based vulnerabilities. In this paper, we propose a new solution revery to search for exploitable states in paths diverging from crashing paths, and generate control-flow hijacking exploits for heap-based vulnerabilities. It adopts three novel techniques:(1) a digraph to characterize a vulnerability's memory layout and its contributor instructions;(2) a fuzz solution to explore diverging paths, which have similar memory layouts as the crashing paths, in order to search more exploitable states and generate corresponding diverging inputs;(3) a stitch solution to stitch crashing paths and diverging paths together, and synthesize EXP inputs able to trigger both vulnerabilities and exploitable states. We have developed a prototype of revery based on the binary analysis engine angr, and evaluated it on a set of 19 real world CTF (capture the flag) challenges. Experiment results showed that it could generate exploits for 9 (47%) of them, and generate EXP inputs able to trigger exploitable states for another 5 (26%) of them. Chao Zhang 0008, Xiaobo Xiang, Wenjie Li 0006, Xiaorui Gong, Bingchang Liu, Kaixiang Chen |
CCS | 2 |
| 2018 | ICUFuzzer: Fuzzing ICU Library for Exploitable Bugs in Multiple Software
Chao Zhang 0008, Jianwei Zhuge, Hai-Xin Duan |
ISC | 3 |
| 2018 | αDiff: cross-version binary code similarity detection with DNNabstractBinary code similarity detection (BCSD) has many applications, including patch analysis, plagiarism detection, malware detection, and vulnerability search etc. Existing solutions usually perform comparisons over specific syntactic features extracted from binary code, based on expert knowledge. They have either high performance overheads or low detection accuracy. Moreover, few solutions are suitable for detecting similarities between cross-version binaries, which may not only diverge in syntactic structures but also diverge slightly in semantics. Bingchang Liu, Wei Huo 0005, Chao Zhang 0008, Feng Li 0045, Aihua Piao |
ASE | 3 |
| 2018 | CollAFL: Path Sensitive FuzzingabstractCoverage-guided fuzzing is a widely used and effective solution to find software vulnerabilities. Tracking code coverage and utilizing it to guide fuzzing are crucial to coverage-guided fuzzers. However, tracking full and accurate path coverage is infeasible in practice due to the high instrumentation overhead. Popular fuzzers (e.g., AFL) often use coarse coverage information, e.g., edge hit counts stored in a compact bitmap, to achieve highly efficient greybox testing. Such inaccuracy and incompleteness in coverage introduce serious limitations to fuzzers. First, it causes path collisions, which prevent fuzzers from discovering potential paths that lead to new crashes. More importantly, it prevents fuzzers from making wise decisions on fuzzing strategies. In this paper, we propose a coverage sensitive fuzzing solution CollAFL. It mitigates path collisions by providing more accurate coverage information, while still preserving low instrumentation overhead. It also utilizes the coverage information to apply three new fuzzing strategies, promoting the speed of discovering new paths and vulnerabilities. We implemented a prototype of CollAFL based on the popular fuzzer AFL and evaluated it on 24 popular applications. The results showed that path collisions are common, i.e., up to 75% of edges could collide with others in some applications, and CollAFL could reduce the edge collision ratio to nearly zero. Moreover, armed with the three fuzzing strategies, CollAFL outperforms AFL in terms of both code coverage and vulnerability discovery. On average, CollAFL covered 20% more program paths, found 320% more unique crashes and 260% more bugs than AFL in 200 hours. In total, CollAFL found 157 new security bugs with 95 new CVEs assigned. Shuitao Gan, Chao Zhang 0008, Xiaojun Qin, Xuwen Tu, Zhongyu Pei, Zuoning Chen |
IEEE Symposium on Security and Privacy | 2 |
| 2018 | Abusing CDNs for Fun and Profit: Security Issues in CDNs' Origin ValidationabstractContent Delivery Networks (CDNs) are critical Internet infrastructure. Besides high availability and high performance, CDNs also provide security services such as anti-DoS and Web Application Firewalls to CDN-powered websites. However, the massive resources of CDNs may also be leveraged by attackers exploiting their architectural, implementation, or operational weaknesses. In this paper, we show that today's CDN operation is overly loose in customer-controlled forwarding policy and the lack of origin validation leads to a wide range of abuse cases such as DoS attack and stealthy port scan. We systematically study these abuse cases and demonstrate their feasibility in popular CDNs. Further, we evaluate the impact of these abuses by discovering that there are millions of CDN edge servers, and a substantial fraction of them can be abused. Lastly, we propose mitigation solutions against such abuses and discuss their feasibility. Run Guo, Jianjun Chen 0005, Baojun Liu 0002, Jia Zhang 0004, Chao Zhang 0008, Hai-Xin Duan, Tao Wan 0004, Jian Jiang 0002, Shuang Hao 0001, Yaoqi Jia |
SRDS | 5 |
| 2018 | Fuzzing: a surveyabstractSecurity 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. | 3 |
| 2017 | Towards Efficient Heap Overflow Discovery
Xiangkun Jia, Chao Zhang 0008, Purui Su, Yi Yang 0040, Huafeng Huang, Dengguo Feng |
USENIX Security Symposium | 2 |
| 2017 | Accurate and efficient exploit capture and classification
Tao Wei 0002, Hui Xue 0003, Chao Zhang 0008, Xinhui Han |
Sci. China Inf. Sci. | 5 |
| 2016 | VTrust: Regaining Trust on Virtual Calls
Chao Zhang 0008, Dawn Song, Scott A. Carr, Mathias Payer, Tongxin Li 0002, Chengyu Song |
NDSS | 1 |
| 2015 | JITScope: Protecting web users from control-flow hijacking attacksabstractWeb browsers are one of the most important enduser applications to browse, retrieve, and present Internet resources. Malicious or compromised resources may endanger Web users by hijacking web browsers to execute arbitrary malicious code in the victims' systems. Unfortunately, the widely-adopted Just-In-Time compilation (JIT) optimization technique, which compiles source code to native code at runtime, significantly increases this risk. By exploiting JIT compiled code, attackers can bypass all currently deployed defenses. In this paper, we systematically investigate threats against JIT compiled code, and the challenges of protecting JIT compiled code. We propose a general defense solution, JITScope, to enforce Control-Flow Integrity (CFI) on both statically compiled and JIT compiled code. Our solution furthermore enforces the W⊕X policy on JIT compiled code, preventing the JIT compiled code from being overwritten by attackers. We show that our prototype implementation of JITScope on the popular Firefox web browser introduces a reasonably low performance overhead, while defeating existing real-world control flow hijacking attacks. Chao Zhang 0008, Mehrdad Niknami, Kevin Zhijie Chen, Chengyu Song, Zhaofeng Chen, Dawn Song |
INFOCOM | 1 |
| 2015 | Exploiting and Protecting Dynamic Code Generation
Chengyu Song, Chao Zhang 0008, Tielei Wang, Wenke Lee, David Melski |
NDSS | 2 |
| 2015 | VTint: Protecting Virtual Function Tables' Integrity
Chao Zhang 0008, Chengyu Song, Kevin Zhijie Chen, Zhaofeng Chen, Dawn Song |
NDSS | 1 |
| 2015 | SF-DRDoS: The store-and-flood distributed reflective denial of service attack
Bingshuang Liu, Jun Li 0001, Tao Wei 0002, Skyler Berg, Jiayi Ye, Chao Zhang 0008, Xinhui Han |
Comput. Commun. | 7 |
| 2015 | Improving lookup reliability in Kad
Bingshuang Liu, Tao Wei 0002, Chao Zhang 0008, Jun Li 0001 |
Peer-to-Peer Netw. Appl. | 3 |
| 2014 | Splider: A split-based crawler of the BT-DHT network and its applicationsabstractCapturing accurate snapshots of peer-to-peer (P2P) networks, especially those with millions of users, is essential to many P2P-based applications, including those monitoring and analyzing P2P networks. The large scale and dynamic nature of P2P networks, however, make this task very challenging. Existent crawlers of P2P networks, for example, often miss a substantial portion of the ID space while unnecessarily crawling numerous nodes repeatedly. In this paper, we design and evaluate a new crawler called Splider. Unlike traditional crawling algorithms that adopt an iterative approach, Splider recursively splits the ID space of P2P nodes to crawl even tiny corners of the ID space, while avoiding crawling repeated nodes. We further implement a Splider prototype for BT-DHT, a Kademlia-based distributed hash table (DHT) P2P network, that exploits the structure of routing tables at BT-DHT nodes. Experiments show that Splider is able to gather more than 16 million nodes with a 100% recall ratio, whereas a traditional iterative crawler can at best capture only about 8 million nodes with a 66% recall ratio while its traffic-cost effectiveness is 50% less than Splider. Splider can further support distributed deployment; without any synchronization overhead, it reduces the time of capturing a full snapshot to be only about 3 minutes. We finally report and analyze the captured BT-DHT snapshots, including the spatial and temporal distribution of BT-DHT nodes and the existence of sybil and eclipse attacks in BT-DHT. Bingshuang Liu, Shidong Wu, Tao Wei 0002, Chao Zhang 0008, Jun Li 0001 |
CCNC | 4 |
| 2014 | POSTER: UAFChecker: Scalable Static Detection of Use-After-Free VulnerabilitiesabstractUse-after-free vulnerabilities are gaining more and more attentions in recent years, since they are commonly exploited in applications like browsers, and exposed in abundant security updates, e.g., from Microsoft, Google or Mozilla. This kind of vulnerabilities are triggered by dereferencing a dangling pointer, and may introduce high risks into the system once they are exploited. In this paper, we propose a comprehensive solution called UAFChecker to detect use-after-free vulnerabilities in source code. Our solution utilizes classical static analysis techniques, including taint analysis and symbolic execution, to make an inter-procedural analysis to find as many use-after-free vulnerabilities as possible, with a low false negative rate and a low false positive rate. We implement a prototype of UAFChecker based on the compiler framework LLVM. We then use the Juliet Test Suite to evaluate UAFChecker's capability of detecting use-after-free vulnerabilities. Results show that UAFChecker is able to identify most use-after-free vulnerabilities in the Juliet Test Suite. We also test UAFChecker against two open source applications, and successfully find out all known use-after-free vulnerabilities in them. Jiayi Ye, Chao Zhang 0008, Xinhui Han |
CCS | 2 |
| 2014 | Android low entropy demystifiedabstractWe look into the issue that the amount of entropy kept by the pseudorandom number generator (PRNG) of Android is constantly low. We find that the accusation against this issue of causing poor performance and low frame rate experienced by users is ungrounded. We also investigate possible security vulnerabilities resulting from this issue. We find that this issue does not affect the quality of random numbers that are generated by the PRNG and used in Android applications because recent Android devices do not lack entropy sources. However, we identify a vulnerability in which the stack canary for all future Android applications is generated earlier than the PRNG is properly setup. This vulnerability makes stack overflow simpler and threats Android applications linked with native code (through NDK) as well as Dalvik VM instances. An attacker could nullify the stack protecting mechanism, given the knowledge of the time of boot or a malicious app running on the victim device. This vulnerability also affects the address space layout randomization (ASLR) mechanism on Android, and can turn it from a weak protection to void. We discuss in this paper several possible attacks against this vulnerability as well as ways of defending. As this vulnerability is rooted in an essential Android design choice since the very first version, it is difficult to fix. Zhuo Peng, Chao Zhang 0008 |
ICC | 4 |
| 2014 | The store-and-flood distributed reflective denial of service attackabstractDistributed reflective denial of service (DRDoS) attacks, especially those based on UDP reflection and amplification, can generate hundreds of gigabits per second of attack traffic, and have become a significant threat to Internet security. In this paper we show that an attacker can further make the DRDoS attack more dangerous. In particular, we describe a new DRDoS attack called store-and-flood DRDoS, or SF-DRDoS. By leveraging peer-to-peer (P2P) file-sharing networks, SF-DRDoS becomes more surreptitious and powerful than traditional DRDoS. An attacker can store carefully prepared data on reflector nodes before the flooding phase to greatly increase the amplification factor of an attack. We implemented a prototype of SF-DRDoS on Kad, a popular Kademlia-based P2P file-sharing network. With real-world experiments, this attack achieved an amplification factor of 2400 on average, with the upper bound of attack bandwidth at 670 Gbps in Kad. Finally, we discuss possible defenses to mitigate the threat of SF-DRDoS. Bingshuang Liu, Skyler Berg, Jun Li 0001, Tao Wei 0002, Chao Zhang 0008, Xinhui Han |
ICCCN | 5 |
| 2013 | Protecting function pointers in binaryabstractFunction pointers have recently become an important attack vector for control-flow hijacking attacks. However, no protection mechanisms for function pointers have yet seen wide adoption. Methods proposed in the literature have high overheads, are not compatible with existing development process, or both. In this paper, we investigate several protection methods and propose a new method called FPGate (i.e., Function Pointer Gate). FPGate rewrites x86 binary executables and implements a novel method to overcome compatibility issues. All these protection methods are then evaluated and compared from the perspectives of performance and ease of deployment. Experiments show that FPGate achieves a good balance between performance, robustness and compatibility. Chao Zhang 0008, Tao Wei 0002, Zhaofeng Chen, Lei Duan, Stephen McCamant, Laszlo Szekeres |
AsiaCCS | 1 |
| 2013 | Practical Control Flow Integrity and Randomization for Binary ExecutablesabstractControl Flow Integrity (CFI) provides a strong protection against modern control-flow hijacking attacks. However, performance and compatibility issues limit its adoption. We propose a new practical and realistic protection method called CCFIR (Compact Control Flow Integrity and Randomization), which addresses the main barriers to CFI adoption. CCFIR collects all legal targets of indirect control-transfer instructions, puts them into a dedicated "Springboard section" in a random order, and then limits indirect transfers to flow only to them. Using the Springboard section for targets, CCFIR can validate a target more simply and faster than traditional CFI, and provide support for on-site target-randomization as well as better compatibility. Based on these approaches, CCFIR can stop control-flow hijacking attacks including ROP and return-into-libc. Results show that ROP gadgets are all eliminated. We observe that with the wide deployment of ASLR, Windows/x86 PE executables contain enough information in relocation tables which CCFIR can use to find all legal instructions and jump targets reliably, without source code or symbol information. We evaluate our prototype implementation on common web browsers and the SPEC CPU2000 suite: CCFIR protects large applications such as GCC and Firefox completely automatically, and has low performance overhead of about 3.6%/8.6% (average/max) using SPECint2000. Experiments on real-world exploits also show that CCFIR-hardened versions of IE6, Firefox 3.6 and other applications are protected effectively. Chao Zhang 0008, Tao Wei 0002, Zhaofeng Chen, Lei Duan, Laszlo Szekeres, Stephen McCamant, Dawn Song |
IEEE Symposium on Security and Privacy | 1 |
| 2012 | A Framework to Eliminate Backdoors from Response-Computable AuthenticationabstractResponse-computable authentication (RCA) is a two-party authentication model widely adopted by authentication systems, where an authentication system independently computes the expected user response and authenticates a user if the actual user response matches the expected value. Such authentication systems have long been threatened by malicious developers who can plant backdoors to bypass normal authentication, which is often seen in insider-related incidents. A malicious developer can plant backdoors by hiding logic in source code, by planting delicate vulnerabilities, or even by using weak cryptographic algorithms. Because of the common usage of cryptographic techniques and code protection in authentication modules, it is very difficult to detect and eliminate backdoors from login systems. In this paper, we propose a framework for RCA systems to ensure that the authentication process is not affected by backdoors. Our approach decomposes the authentication module into components. Components with simple logic are verified by code analysis for correctness, components with cryptographic/ obfuscated logic are sand boxed and verified through testing. The key component of our approach is NaPu, a native sandbox to ensure pure functions, which protects the complex and backdoor-prone part of a login module. We also use a testing-based process to either detect backdoors in the sand boxed component or verify that the component has no backdoors that can be used practically. We demonstrated the effectiveness of our approach in real-world applications by porting and verifying several popular login modules into this framework. Shuaifu Dai, Tao Wei 0002, Chao Zhang 0008, Tielei Wang, Zhenkai Liang |
IEEE Symposium on Security and Privacy | 3 |
| 2011 | Using type analysis in compiler to mitigate integer-overflow-to-buffer-overflow threatabstractOne of the top two causes of software vulnerabilities in operating systems is the integer overflow. A typical integer overflow vulnerability is the Integer Overflow to Buffer Overflow (IO2BO for short) vulnerability. IO2BO is an underestimated threat. Many programmers have not realized the existenc e of IO2BO and its harm. Even for those who are aware of IO2BO, locating and fixing IO2BO vulnerabilities are still tedious and error-prone. Automatically identifying and fixing this kind of vulnerability are critical for software security. In this article, we present the design and implementation of IntPatch, a compiler extension for automatically fixing IO2BO vulnerabilities in C/C++ programs at compile time. IntPatch utilizes classic type theory and a dataflow analysis framework to identify potential IO2BO vulnerabilities, and then uses backward slicing to find out related vulnerable arithmetic operations, and finally instruments programs with runtime checks. Moreover, IntPatch provides an interface for programmers who want to check integer overflows manually. We evaluated IntPatch on a few real-world applications. It caught all 46 previously known IO2BO vulnerabilities in our test suite and found 21 new bugs. Applications patched by IntPatch have negligible runtime performance losses which are on average 1%. Chao Zhang 0008, Tielei Wang, Tao Wei 0002 |
J. Comput. Secur. | 1 |
| 2010 | IntPatch: Automatically Fix Integer-Overflow-to-Buffer-Overflow Vulnerability at Compile-Time
Chao Zhang 0008, Tielei Wang, Tao Wei 0002 |
ESORICS | 1 |
| 2007 | TCMM: Hybrid Overlay Strategy for P2P Live Streaming Services
Hai Jin 0001, Xuping Tu, Chao Zhang 0008, Xiaofei Liao |
GPC | 3 |
| 2005 | Design and Deployment of Locality-Aware Overlay Multicast Protocol for Live Streaming Services
Xuping Tu, Hai Jin 0001, Dafu Deng, Chao Zhang 0008 |
NPC | 4 |
| 2005 | Adaptive Query-Caching in Peer-to-Peer Systems
Zuoning Yin, Hai Jin 0001, Chao Zhang 0008, Chucheng Zhao |
NPC | 3 |
| 2004 | Honeycomb: A Peer-to-Peer Substrate for On-Demand Media Streaming Service
Dafu Deng, Hai Jin 0001, Chao Zhang 0008, Hao Chen 0002, Xiaofei Liao |
ISPA | 3 |