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

Xavier Bellekens, Greig Paul, Christos Tachtatzis, James Irvine, Robert Atkinson

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

103 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 elds, particularly when investigating malicious software or carrying out forensic analysis following a successful security breach. Due to the complexity of the Nvidia CUDA (Compute Uni ed 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 di erent 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 publicationProceedings of the the International Conference on Security of Information and Networks
PublisherAssociation for Computing Machinery (ACM)
Pages166-173
Number of pages8
ISBN (Print)9781450347648
DOIs
Publication statusPublished - 20 Jul 2016
Event9th International Conference on Security of Information and Networks - Rutgers University, New Jersey, United States
Duration: 20 Jul 201622 Jul 2016

Conference

Conference9th International Conference on Security of Information and Networks
Abbreviated titleSIN2016
CountryUnited States
CityNew Jersey
Period20/07/1622/07/16

Fingerprint

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

Cite this

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 Proceedings of the the International Conference on Security of Information and Networks (pp. 166-173). Association for Computing Machinery (ACM). https://doi.org/10.1145/2947626.2947635
Bellekens, Xavier ; Paul, Greig ; Tachtatzis, Christos ; Irvine, James ; Atkinson, Robert. / Strategies for protecting intellectual property when using CUDA applications on graphics processing units. Proceedings of the the International Conference on Security of Information and Networks. Association for Computing Machinery (ACM), 2016. pp. 166-173
@inproceedings{5c9cf5fad46945cead96f1052381bb28,
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 elds, particularly when investigating malicious software or carrying out forensic analysis following a successful security breach. Due to the complexity of the Nvidia CUDA (Compute Uni ed 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 di erent 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.",
author = "Xavier Bellekens and Greig Paul and Christos Tachtatzis and James Irvine and Robert Atkinson",
year = "2016",
month = "7",
day = "20",
doi = "10.1145/2947626.2947635",
language = "English",
isbn = "9781450347648",
pages = "166--173",
booktitle = "Proceedings of the the International Conference on Security of Information and Networks",
publisher = "Association for Computing Machinery (ACM)",
address = "United States",

}

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 Proceedings of the the International Conference on Security of Information and Networks. Association for Computing Machinery (ACM), pp. 166-173, 9th International Conference on Security of Information and Networks, New Jersey, United States, 20/07/16. https://doi.org/10.1145/2947626.2947635

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

Proceedings of the the International Conference on Security of Information and Networks. Association for Computing Machinery (ACM), 2016. p. 166-173.

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

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/7/20

Y1 - 2016/7/20

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 elds, particularly when investigating malicious software or carrying out forensic analysis following a successful security breach. Due to the complexity of the Nvidia CUDA (Compute Uni ed 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 di erent 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 elds, particularly when investigating malicious software or carrying out forensic analysis following a successful security breach. Due to the complexity of the Nvidia CUDA (Compute Uni ed 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 di erent 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.

U2 - 10.1145/2947626.2947635

DO - 10.1145/2947626.2947635

M3 - Conference contribution

SN - 9781450347648

SP - 166

EP - 173

BT - Proceedings of the the International Conference on Security of Information and Networks

PB - Association for Computing Machinery (ACM)

ER -

Bellekens X, Paul G, Tachtatzis C, Irvine J, Atkinson R. Strategies for protecting intellectual property when using CUDA applications on graphics processing units. In Proceedings of the the International Conference on Security of Information and Networks. Association for Computing Machinery (ACM). 2016. p. 166-173 https://doi.org/10.1145/2947626.2947635