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

Research output: Chapter in Book/Report/Conference proceedingConference contribution book

101 Downloads (Pure)

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.
Original languageEnglish
Title of host publicationSIN'16 proceedings to be published under ACM International Conference Proceeding Series (ICPS)
Number of pages8
DOIs
Publication statusAccepted/In press - 5 Jun 2016
Event9th International Conference on Security of Information and Networks - Rutgers University, Newark, United States
Duration: 20 Jul 201622 Jul 2016
http://sinconf.org/sin2016/

Conference

Conference9th International Conference on Security of Information and Networks
Abbreviated titleSIN'16
CountryUnited States
CityNewark
Period20/07/1622/07/16
Internet address

Fingerprint

Reverse engineering
Intellectual property
Software architecture
Processing
Graphics processing unit
Industry
Malware

Keywords

  • reverse engineering
  • intellectual property
  • CUDA

Cite this

@inproceedings{98aaac1330a34ee4905b872daba65c91,
title = "Strategies for protecting intellectual property when using CUDA applications on graphics processing units",
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.",
keywords = "reverse engineering, intellectual property, CUDA",
author = "Xavier Bellekens and Greig Paul and Christos Tachtatzis and James Irvine and Robert Atkinson",
year = "2016",
month = "6",
day = "5",
doi = "10.1145/2947626.294763",
language = "English",
isbn = "978-1-4503-4764-8",
booktitle = "SIN'16 proceedings to be published under ACM International Conference Proceeding Series (ICPS)",

}

Bellekens, X, Paul, G, Tachtatzis, C, Irvine, J & Atkinson, R 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). 9th International Conference on Security of Information and Networks, Newark, United States, 20/07/16. https://doi.org/10.1145/2947626.294763

Strategies for protecting intellectual property when using CUDA applications on graphics processing units. / Bellekens, Xavier; Paul, Greig; Tachtatzis, Christos; Irvine, James; Atkinson, Robert.

SIN'16 proceedings to be published under ACM International Conference Proceeding Series (ICPS). 2016.

Research output: Chapter in Book/Report/Conference proceedingConference contribution book

TY - GEN

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

AU - Bellekens, Xavier

AU - Paul, Greig

AU - Tachtatzis, Christos

AU - Irvine, James

AU - Atkinson, Robert

PY - 2016/6/5

Y1 - 2016/6/5

N2 - 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.

AB - 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.

KW - reverse engineering

KW - intellectual property

KW - CUDA

UR - http://www.sinconf.org/sin2016/index.php

U2 - 10.1145/2947626.294763

DO - 10.1145/2947626.294763

M3 - Conference contribution book

SN - 978-1-4503-4764-8

BT - SIN'16 proceedings to be published under ACM International Conference Proceeding Series (ICPS)

ER -