Picture of neon light reading 'Open'

Discover open research at Strathprints as part of International Open Access Week!

23-29 October 2017 is International Open Access Week. The Strathprints institutional repository is a digital archive of Open Access research outputs, all produced by University of Strathclyde researchers.

Explore recent world leading Open Access research content this Open Access Week from across Strathclyde's many research active faculties: Engineering, Science, Humanities, Arts & Social Sciences and Strathclyde Business School.

Explore all Strathclyde Open Access research outputs...

Strategies for protecting intellectual property when using CUDA applications on graphics processing units

Bellekens, Xavier and Paul, Greig and Tachtatzis, Christos and Irvine, James and Atkinson, Robert (2016) Strategies for protecting intellectual property when using CUDA applications on graphics processing units. In: SIN'16 proceedings to be published under ACM International Conference Proceeding Series (ICPS). ACM Press. ISBN 978-1-4503-4764-8 (In Press)

Text (Bellekens-etal-ICSIN-2016-Strategies-for-protecting-intellectual-property-when-using-CUDA)
Bellekens_etal_ICSIN_2016_Strategies_for_protecting_intellectual_property_when_using_CUDA.pdf - Accepted Author Manuscript

Download (311kB) | Preview


Recent advances in the massively parallel computational abilities of graphical processing units (GPUs) have increased their use for general purpose computation, as companies look to take advantage of big data processing techniques. This has given rise to the potential for malicious software targeting GPUs, which is of interest to forensic investigators examining the operation of software. The ability to carry out reverse-engineering of software is of great importance within the security and forensics fields, particularly when investigating malicious software or carrying out forensic analysis following a successful security breach. Due to the complexity of the Nvidia CUDA (Compute Unified Device Architecture) framework, it is not clear how best to approach the reverse engineering of a piece of CUDA software. We carry out a review of the different binary output formats which may be encountered from the CUDA compiler, and their implications on reverse engineering. We then demonstrate the process of carrying out disassembly of an example CUDA application, to establish the various techniques available to forensic investigators carrying out black-box disassembly and reverse engineering of CUDA binaries. We show that the Nvidia compiler, using default settings, leaks useful information. Finally, we demonstrate techniques to better protect intellectual property in CUDA algorithm implementations from reverse engineering.