HackerPapers

arXiv:1305.7383cs.CR

CUDA Leaks: Information Leakage in GPU Architectures

Roberto Di Pietro, Flavio Lombardi, Antonio Villani

Abstract

Graphics Processing Units (GPUs) are deployed on most present server, desktop, and even mobile platforms. Nowadays, a growing number of applications leverage the high parallelism offered by this architecture to speed-up general purpose computation. This phenomenon is called GPGPU computing (General Purpose GPU computing). The aim of this work is to discover and highlight security issues related to CUDA, the most widespread platform for GPGPU computing. In particular, we provide details and proofs-of-concept about a novel set of vulnerabilities CUDA architectures are subject to, that could be exploited to cause severe information leak. Following (detailed) intuitions rooted on sound engineering security, we performed several experiments targeting the last two generations of CUDA devices: Fermi and Kepler. We discovered that these two families do suffer from information leakage vulnerabilities. In particular, some vulnerabilities are shared between the two architectures, while others are idiosyncratic of the Kepler architecture. As a case study, we report the impact of one of these vulnerabilities on a GPU implementation of the AES encryption algorithm. We also suggest software patches and alternative approaches to tackle the presented vulnerabilities. To the best of our knowledge this is the first work showing that information leakage in CUDA is possible using just standard CUDA instructions. We expect our work to pave the way for further research in the field.

arXiv comments
Journal reference
DOI
doi:10.1145/2801153
Subjects
cs.CRCryptography and Security cs.DCDistributed, Parallel, and Cluster Computing

On Hacker News

Linked by 2 identifiable commenters in 2 comments across 2 threads, from Apr 2017 to May 2017.

Comments linking this paper, per year.

Discussed in comments2 threads

    • Yup, I'd strongly consider something similar. But I'd have to seriously consider the security implications: giving Windows access to the graphics card could end up being more hassle than it's worth. GPUs' memory management isn't exactly security friendly. ->…

      inetknghtView on HNParent context

    • There's two killers, compatibility and launch overhead. CUDA is the most commonly-used compute language but it's NVIDIA-only. OpenCL is "universal" (sort of) but - being a general-purpose framework for heterogeneous compute rather than a task-specific GPGPU language - it's much…

      paulmdView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.