Picture of person typing on laptop with programming code visible on the laptop screen

World class computing and information science research at Strathclyde...

The Strathprints institutional repository is a digital archive of University of Strathclyde's Open Access research outputs. Strathprints provides access to thousands of Open Access research papers by University of Strathclyde researchers, including by researchers from the Department of Computer & Information Sciences involved in mathematically structured programming, similarity and metric search, computer security, software systems, combinatronics and digital health.

The Department also includes the iSchool Research Group, which performs leading research into socio-technical phenomena and topics such as information retrieval and information seeking behaviour.

Explore

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)

[img]
Preview
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

Abstract

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.