skip to main content
10.1145/3330345.3330389acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
research-article
Open access

GPUGuard: mitigating contention based side and covert channel attacks on GPUs

Published: 26 June 2019 Publication History

Abstract

Graphics processing units (GPUs) are moving towards supporting concurrent kernel execution where multiple kernels may be co-executed on the same GPU and even on the same streaming multiprocessor (SM) core. While concurrent kernel execution improves hardware resource utilization, it opens up vulnerabilities to covert-channel and side-channel attacks. These attacks exploit information leakage across kernels that results from contention on shared resources; they have been shown to be a dangerous threat on CPUs, and are starting to be demonstrated on GPUs. The unique micro-architectural features of GPUs, such as specialized cache structures and massive parallel thread support, create opportunities for GPU-specific channels to be formed. In this paper, we propose GPUGuard, a decision tree based detection and a hierarchical defense framework that can reliably close the covert channels. Our results show that GPUGuard can detect contention with 100% sensitivity and a small (8.5%) false positive rate. The timing channels are mitigated through Tangram, a GPU-specific contention channel elimination scheme, with only 8% to 23% overhead when there is an attack and zero performance overhead when no attacks are detected. Compared to temporal partitioning, GPUGuard is 69%-96% faster in various architectures even when active, showing that it is possible to gain substantial performance from executing concurrent kernels on a single SM while securing GPUs against these attacks.

References

[1]
2014. Whitepaper: NVIDIA GeForce GTX980. Technical Report. NVIDIA.
[2]
2016. GRID VIRTUAL GPU. Technical Report. Nvidia.
[3]
2016. Whitepaper: AMD multiuser GPU: hardware-enabled GPU virtualization for a true workstation experience. Technical Report. AMD.
[4]
2017. NVIDIA Profiler User's Guide. "http://docs.nvidia.com/cuda/profiler-users-guide/index.html#metrics-reference".
[5]
2017. NVIDIA Tesla V100 GPU Architecture. Technical Report. NVIDIA.
[6]
Jacob T. Adriaens, Katherine Compton, Nam Sung Kim, and Michael J. Schulte. 2012. The Case for GPGPU Spatial Multitasking. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[7]
Amazon AWS. 2019. Amazon Elastic Graphics. https://aws.amazon.com/ec2/Elastic-GPUs/.
[8]
Ali Bakhoda, George L. Yuan, Wilson W. L. Fung, Henry Wong, and Tor M. Aamodt. 2009. Analyzing CUDA workloads using a detailed GPU simulator. In Proceedings of the International Symposium on Performance Analysis of Systems and Software (ISPASS).
[9]
Shuai Che, Michael Boyer, Jiayuan Meng, David Tarjan, Jeremy W. Sheaffer, Sang-Ha Lee, and Kevin Skadron. 2009. Rodinia: A benchmark suite for heterogeneous computing. In Proceedings of the International Symposium on Workload Characterization (IISWC).
[10]
Jie Chen and Guru Venkataramani. 2014. CC-Hunter: Uncovering Covert Timing Channels on Shared Processor Hardware. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[11]
Xuhao Chen, Li-Wen Chang, Christopher I. Rodrigues, Jie Lv, Zhiying Wang, and Wen-Mei Hwu. 2014. Adaptive cache management for energy-efficient GPU computing. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[12]
Niket K. Choudhary, Salil V. Wadhavkar, Tanmay A. Shah, Hiran Mayukh, Jayneel Gandhi, Brandon H. Dwiel, Sandeep Navada, Hashem H. Najaf-abadi, and Eric Rotenberg. 2011. FabScalar: composing synthesizable RTL designs of arbitrary cores within a canonical superscalar template. In Proceedings of the International Symposium on Computer Architecture (ISCA).
[13]
Hongwen Dai, Zhen Lin, Chao Li, Chen Zhao, Fei Wang, Nanning Zheng, and Huiyang Zhou. 2018. Accelerate GPU Concurrent Kernel Execution by Mitigating Memory Pipeline Stalls. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[14]
John Demme, Matthew Maycock, Jared Schmitz, Adrian Tang, Adam Waksman, Simha Sethumadhavan, and Salvatore Stolfo. 2013. On the Feasibility of Online Malware Detection with Performance Counters. In Proceedings of the International Symposium on Computer Architecture (ISCA).
[15]
Leonid Domnitser, Aamer Jaleel, Jason Loew, Nael Abu-Ghazaleh, and Dmitry Ponomarev. 2012. Non-Monopolizable Caches: Low-Complexity Mitigation of Cache Side-Channel Attacks. In ACM Transactions on Architecture and Code Optimization, Special Issue on High Performance and Embedded Architectures and Compilers.
[16]
Dmitry Evtyushkin, Dmitry Ponomarev, and Nael Abu-Ghazaleh. 2016. Jump over ASLR: Attacking Branch Predictors to Bypass ASLR. In Proceedings of the International Symposium on Microarchitecture(MICRO).
[17]
Dmitry Evtyushkin, Ryan Riley, Nael CSE Abu-Ghazaleh, ECE, and Dmitry Ponomarev. 2018. BranchScope: A New Side-Channel Attack on Directional Branch Predictor. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems(ASPLOS).
[18]
Google Cloud Platform. 2019. Cloud GPUs. https://cloud.google.com/gpu/.
[19]
HSA Foundation. 2014. Heterogeneous System Architecture (HSA): Architecture and Algorithms. In Proceedings of the International Symposium on Computer Architecture tutorial (ISCA).
[20]
Casen Hunger, Mikhail Kazdagli, Ankit Rawat, Alex Dimakis, Sriram Vishwanath, and Mohit Tiwari. 2015. Understanding contention-based channels and using them for defense. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[21]
Aamer Jaleel, Eric Borch, Malini Bhandaru, Simon C. Steely Jr., and Joel Emer. 2010. Achieving Non-Inclusive Cache Performance with Inclusive Caches - Temporal Locality Aware (TLA) Cache Management Policies. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[22]
Hyeran Jeon and M. Annavaram. 2012. Warped-DMR: Light-weight Error Detection for GPGPU. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[23]
Wenhao Jia, Kelly A. Shaw, and Margaret Martonosi. 2014. MRPB: Memory request prioritization for massively parallel processors. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[24]
Zhen Hang Jiang, Yunsi Fei, and David Kaeli. 2016. A complete key recovery timing attack on a GPU. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[25]
Zhen Hang Jiang, Yunsi Fei, and David Kaeli. 2017. A Novel Side-Channel Timing Attack on GPUs. In Proceedings of the Great Lakes Symposium on VLSI. 167--172.
[26]
Gurunath Kadam, Danfeng Zhang, and Adwait Jog. 2018. RCoal: Mitigating GPU Timing Attack via Subwarp-Based Randomized Coalescing Techniques. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[27]
Mehmet Kayaalp, Khaled N Khasawneh, Hodjat Asghari Esfeden, Jesse Elwell, Nael Abu-Ghazaleh, Dmitry Ponomarev, and Aamer Jaleel. 2017. RIC: Relaxed Inclusion Caches for Mitigating LLC Side-Channel Attacks. In Proceedings of the 54th Annual Design Automation Conference (DAC).
[28]
Mehmet Kayaalp, Dmitry Ponomarev, Nael Abu-Ghazaleh, and Aamer Jaleel. 2016. A high-resolution side-channel attack on last-level cache. In Proceedings of the 53th Annual Design Automation Conference.
[29]
Mikhail Kazdagli, Vijay Janapa Reddi, and Mohit Tiwari. 2016. Quantifying and improving the efficiency of hardware-based mobile malware detectors. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[30]
Paul Kocher, Daniel Genkin, Daniel Gruss, Werner Haas, Mike Hamburg, Moritz Lipp, Stefan Mangard, Thomas Prescher, Michael Schwarz, and Yuval Yarom. 2018. Spectre Attacks: Exploiting Speculative Execution. arXiv preprint arXiv:1801.01203 (2018).
[31]
Jingfei Kong, Onur Aciicmez, Jean-Pierre Seifert, and Huiyang Zhou. 2009. Hardware-Software Integrated Approaches to Defend Against Software Cache-based Side Channel Attacks. In Proceedings of the International Symposium on High Performance Comp. Architecture (HPCA).
[32]
Esmaeil Mohammadian Koruyeh, Khaled N. Khasawneh, Chengyu Song, and Nael Abu-Ghazaleh. 2018. Spectre Returns! Speculation Attacks using the Return Stack Buffer. In 12th USENIX Workshop on Offensive Technologies (WOOT 18).
[33]
Jingwen Leng, Tayler Hetherington, Ahmed ElTantawy, Syed Gilani, Nam Sung Kim, Tor M. Aamodt, and Vijay Janapa Reddi. 2013. GPUWattch: Enabling Energy Optimizations in GPGPUs. In Proceedings of the International Symposium on Computer Architecture (ISCA).
[34]
Ang Li, Gert-Jan van den Braak, Akash Kumar, and Henk Corporaal. 2015. Adaptive and transparent cache bypassing for GPUs. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC).
[35]
Chao Li, Shuaiwen Leon Song, Hongwen Dai, Albert Sidelnik, Siva Kumar Sastry Hari, and Huiyang Zhou. 2015. Locality-Driven Dynamic GPU Cache Bypassing. In Proceedings of the International Conference on Supercomputing (ICS).
[36]
Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom, and Mike Hamburg. 2018. Meltdown. arXiv preprint arXiv:1801.01207 (2018).
[37]
Fangfei Liu, Qian Ge, Yuval Yarom, Frank Mckeen, Carlos Rozas, Gernot Heiser, and Ruby Lee. 2016. Catalyst: Defeating last-level cache side channel attacks in cloud computing. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[38]
Fangfei Liu and Ruby B. Lee. 2014. Random Fill Cache Architecture. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[39]
Fangfei Liu, Yuval Yarom, Qian Ge, Gernot Heiser, and Ruby B. Lee. 2015. Last-level cache side-channel attacks are practical. In Security and Privacy (SP).
[40]
Robert Martin, John Demme, and Simha Sethumadhavan. 2012. TimeWarp: Rethinking Timekeeping and Performance Monitoring Mechanisms to Mitigate Side-Channel Attacks. In Proceedings of the International Symposium on Computer Architecture (ISCA).
[41]
Clémentine Maurice, Manuel Weber, Michael Schwarz, Lukas Giner, Daniel Gruss, Carlo Alberto Boano, Stefan Mangard, and K. RÃűmer. 2017. Hello from the Other Side: SSH over Robust Cache Covert Channels in the Cloud. In Network and Distributed System Security Symposium (NDSS).
[42]
Microsoft Azure. 2019. GPU-Accelerated Microsoft Azure. http://www.nvidia.com/object/gpu-accelerated-microsoft-azure.html.
[43]
Tom M. Mitchell. 1997. Machine Learning. In McGraw-Hill Science/Engineering/Math.
[44]
Hoda Naghibijouybari and Nael Abu-Ghazaleh. 2016. Covert Channels on GPGPUs. In IEEE Computer Architecture Letters.
[45]
Hoda Naghibijouybari, Khaled Khasawneh, and Nael Abu-Ghazaleh. 2017. Constructing and Characterizing Covert Channels on GPGPUs. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[46]
Hoda Naghibijouybari, Ajaya Neupane, Zhiyun Qian, and Nael Abu-Ghazaleh. 2018. Rendered Insecure: GPU Side Channel Attacks are Practical. In Conference on Computer and Communications Security (CCS). 2139--2153.
[47]
Nvidia. 2009. CUDA SDK 2.3. https://developer.nvidia.com/cuda-toolkit-23-downloads.
[48]
Mike O'Connor, Niladrish Chatterjee, Donghyuk Lee, John Wilson, Aditya Agrawal, Stephen W. Keckler, and William J. Dally. 2017. Fine-grained DRAM: Energy-efficient DRAM for Extreme Bandwidth Systems. In Proceedings of the International Symposium on Microarchitecture. 41--54.
[49]
Meltem Ozsoy, Caleb Donovick, Iakov Gorelik, Nael Abu-Ghazaleh, and Dmitry Ponomarev. 2015. Malware-aware processors: A framework for efficient online malware detection. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[50]
D. Page. 2005. Partitioned Cache Architecture as a Side-Channel Defense Mechanism. In Crypt. ePrint Arch.
[51]
Sreepathi Pai, Matthew J. Thazhuthaveetil, and R. Govindarajan. 2013. Improving GPGPU Concurrency with Elastic Kernels. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).
[52]
Jason Jong Kyu Park, Yongjun Park, and Scott Mahlke. 2015. Chimera: Collaborative Preemption for Multitasking on a Shared GPU. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).
[53]
Colin Percival. 2005. Cache missing for fun and profit. In BSDCan.
[54]
J.R. Quinlan. 1986. Induction of decision trees. In Machine Learning.
[55]
Moinuddin K. Qureshi and Yale N. Patt. 2006. Utility-Based Partitioning: A Low-Overhead, High-Performance, Runtime Mechanism to Partition Shared Caches. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[56]
Timothy G. Rogers, Daniel R. Johnson, Mike O'Connor, and Stephen W. Keckler. 2015. A Variable Warp Size Architecture. In Proceedings of the International Symposium on Computer Architecture (ISCA).
[57]
Ali Shafiee, Akhila Gundu, Manjunath Shevgoor, Rajeev Balasubramonian, and Mohit Tiwari. 2015. Avoiding Information Leakage in the Memory Controller with Fixed Service Policies. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[58]
J.E. Stine, I. Castellanos, M. Wood, J. Henson, F. Love, W.R. Davis, P.D. Franzon, M. Bucher, S. Basavarajaiah, Julie Oh, and R. Jenkal. 2007. FreePDK: An Open-Source Variation-Aware Design Kit. In Proceedings of the International Conference on Microelectronic Systems Education.
[59]
John A. Stratton, Christopher Rodrigues, I-Jui Sung, Nady Obeid, Li-Wen Chang, Nasser Anssari, Geng Daniek Liu, and Wen Mei Hwu. 2012. Parboil: A revised benchmark suite for scientific and commercial throughput computing. Technical Report.
[60]
Synopsys. 2010. Synopsys Design Compiler. http://www.synopsys.com/Tools/Implementation/RTLSynthesis/DesignCompiler/Pages/default.aspx.
[61]
Yingying Tian, Sooraj Puthoor, Joseph L. Greathouse, Bradford M. Beckmann, and Daniel A. Jiménez. 2015. Adaptive GPU Cache Bypassing. In Proceedings of the 8th Workshop on General Purpose Processing Using GPUs.
[62]
Yao Wang and G. Edward Suh. 2014. Timing channel protection for a shared memory controller. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[63]
Zhenghong Wang and Ruby B Lee. 2006. Covert and Side Channels Due to Processor Architecture. In Computer Security Applications Conference (ACSAC).
[64]
Zhenghong Wang and Ruby B. Lee. 2007. New Cache Designs for Thwarting Software Cache-based Side Channel Attacks. In Proceedings of the International Symposium on Computer Architecture (ISCA).
[65]
Zhenghong Wang and Ruby B. Lee. 2008. A Novel Cache Architecture with Enhanced Performance and Security. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[66]
Zhenning Wang, Jun Yang, Rami Melhem, Bruce Childers, Youtao Zhang, and Minyi Guo. 2016. Simultaneous Multikernel GPU: Multi-tasking throughput processors via fine-grained sharing. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[67]
Zhenning Wang, Jun Yang, Rami Melhem, Bruce Childers, Youtao Zhang, and Minyi Guo. 2017. Quality of Service Support for Fine-Grained Sharing on GPUs. In Proceedings of the International Symposium on Computer Architecture (ISCA).
[68]
Xiaolong Xie, Yun Liang, Yu Wang, Guangyu Sun, and Tao Wang. 2015. Coordinated static and dynamic cache bypassing for GPUs. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).
[69]
Qiumin Xu and Murali Annavaram. 2014. PATS: Pattern Aware Scheduling and Power Gating for GPGPUs. In Proceedings of the International Conference on Parallel Architecture and Compilation Techniques (PACT).
[70]
Qiumin Xu, Hyeran Jeon, Keunsoo Kim, Won Woo Ro, and Murali Annavaram. 2016. Warped-Slicer: Efficient Intra-SM Slicing through Dynamic Resource Partitioning for GPU Multiprogramming. In Proceedings of the International Symposium on Computer Architecture (ISCA).
[71]
Mengjia Yan, Yasser Shalabi, and Josep Torrellas. 2016. ReplayConfusion: Detecting Cache-based Covert Channel Attacks Using Record and Replay. In Proceedings of the International Symposium on Microarchitecture (MICRO).
[72]
Fan Yao, Milos Doroslovacki, and Guru Venkataramani. 2018. Are Coherence Protocol States Vulnerable to Information Leakage?. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA).

Cited By

View all
  • (2025)DYST (Did You See That?): An Amplified Covert Channel That Points To Previously Seen DataIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2024.341067922:1(614-631)Online publication date: Jan-2025
  • (2024)WebGPU-SPY: Finding Fingerprints in the Sandbox through GPU Cache AttacksProceedings of the 19th ACM Asia Conference on Computer and Communications Security10.1145/3634737.3637648(158-171)Online publication date: 1-Jul-2024
  • (2024)GPUSecBench: Evaluating the Cache Side-Channel Resilience of a GPU Security Execution Pipeline2024 Second International Conference on Intelligent Cyber Physical Systems and Internet of Things (ICoICI)10.1109/ICoICI62503.2024.10696012(564-571)Online publication date: 28-Aug-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICS '19: Proceedings of the ACM International Conference on Supercomputing
June 2019
533 pages
ISBN:9781450360791
DOI:10.1145/3330345
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 June 2019

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

  • NSF CAREER
  • DARPA-PERFECT
  • NSF CNS

Conference

ICS '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 629 of 2,180 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)362
  • Downloads (Last 6 weeks)44
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2025)DYST (Did You See That?): An Amplified Covert Channel That Points To Previously Seen DataIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2024.341067922:1(614-631)Online publication date: Jan-2025
  • (2024)WebGPU-SPY: Finding Fingerprints in the Sandbox through GPU Cache AttacksProceedings of the 19th ACM Asia Conference on Computer and Communications Security10.1145/3634737.3637648(158-171)Online publication date: 1-Jul-2024
  • (2024)GPUSecBench: Evaluating the Cache Side-Channel Resilience of a GPU Security Execution Pipeline2024 Second International Conference on Intelligent Cyber Physical Systems and Internet of Things (ICoICI)10.1109/ICoICI62503.2024.10696012(564-571)Online publication date: 28-Aug-2024
  • (2024)SideLink: Exposing NVLink to Covert and Side-Channel Attacks Official Work-in-Progress PaperSecurity, Privacy, and Applied Cryptography Engineering10.1007/978-3-031-80408-3_2(6-15)Online publication date: 13-Dec-2024
  • (2023)Hardware Support for Constant-Time ProgrammingProceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3613424.3623796(856-870)Online publication date: 28-Oct-2023
  • (2023)Spy in the GPU-box: Covert and Side Channel Attacks on Multi-GPU SystemsProceedings of the 50th Annual International Symposium on Computer Architecture10.1145/3579371.3589080(1-13)Online publication date: 17-Jun-2023
  • (2023)Methods of Identifying and Reducing Covert Channel Attacks: An Analysis2023 2nd International Conference on Futuristic Technologies (INCOFT)10.1109/INCOFT60753.2023.10425607(1-7)Online publication date: 24-Nov-2023
  • (2023)Detection and Mitigation Mechanisms for Covert Channel Attack2023 IEEE International Carnahan Conference on Security Technology (ICCST)10.1109/ICCST59048.2023.10474231(1-7)Online publication date: 11-Oct-2023
  • (2023)Secrets Leaking Through Quicksand: Covert Channels in Approximate Computing2023 IEEE European Test Symposium (ETS)10.1109/ETS56758.2023.10174181(1-6)Online publication date: 22-May-2023
  • (2022)Microarchitectural Attacks in Heterogeneous Systems: A SurveyACM Computing Surveys10.1145/354410255:7(1-40)Online publication date: 15-Dec-2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media