CuFuzz: Hardening CUDA Programs through Transformation and Fuzzing
Saurabh Singh, Ruobing Han, Jaewon Lee, Seonjin Na, Yonghae Kim, Taesoo Kim, Hyesoon Kim

TL;DR
CuFuzz is a pioneering tool that transforms CUDA GPU programs into CPU programs to enable effective fuzz testing, uncovering numerous security vulnerabilities and improving GPU application security.
Contribution
CuFuzz introduces the first GPU fuzzing mechanism using compiler transformations and novel optimizations, bridging a critical gap in GPU security research.
Findings
Uncovered 122 security vulnerabilities in benchmarks.
Achieved up to 224.31x fuzzing speedup.
Introduced effective compiler-runtime co-optimizations.
Abstract
GPUs have gained significant popularity over the past decade, extending beyond their original role in graphics rendering. This evolution has brought GPU security and reliability to the forefront of concerns. Prior research has shown that CUDA's lack of memory safety can lead to serious vulnerabilities. While fuzzing is effective for finding such bugs on CPUs, equivalent tools for GPUs are lacking due to architectural differences and lack of built-in error detection. In this paper, we propose CuFuzz, a novel compiler-runtime co-design solution to extend state-of-the-art CPU fuzzing tools to GPU programs. CuFuzz transforms GPU programs into CPU programs using compiler IR-level transformations to enable effective fuzz testing. To the best of our knowledge, CuFuzz is the first mechanism to bring fuzzing support to CUDA, addressing a critical gap in GPU security research. By leveraging CPU…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Radiation Effects in Electronics · Software Testing and Debugging Techniques
