Cloud FPGA Cartography using PCIe Contention

Public cloud infrastructures allow for easy, on-demand access to FPGA resources. However, the low-level, direct access to the FPGA hardware exposes the infrastructure providers to new types of attacks. Prior work has shown that it is possible to uniquely identify the underlying hardware by creating fingerprints of the different FPGA instances that users rent from a cloud provider, but such work was not able to actually map the cloud FPGA infrastructure itself. Meanwhile, this paper demonstrates that it is possible to reverse-engineer the co-location of FPGA boards inside a cloud FPGA server using PCIe contention. Specifically, this work deduces the Non-Uniform Memory Access (NUMA) locality of FPGA boards within a server by analyzing their mutual PCIe contention during simultaneous use of the PCIe bus. In addition, experiments conducted in data centers located in several geographic regions and repeated at different times are used to calculate the probability that cloud providers allocate FPGA boards co-located in the same server to a user. This paper thus shows that it is possible to map cloud FPGA infrastructures, and learn how FPGA instances are physically co-located within a server. Consequently, this paper also highlights the importance of mitigating these novel avenues for reverse-engineering and mapping of cloud FPGA setups, as they can reveal insights about the cloud infrastructure itself, or assist other single- and multi-tenant attacks.

[1]  Jeyavijayan Rajendran,et al.  Security of Cloud FPGAs: A Survey , 2020, ArXiv.

[2]  Andrew W. Moore,et al.  Understanding PCIe performance for end host networking , 2018, SIGCOMM.

[3]  Ahmad Afsahi,et al.  Topology-Aware GPU Selection on Multi-GPU Nodes , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

[4]  Jeffrey S. Vetter,et al.  Quantifying NUMA and contention effects in multi-GPU systems , 2011, GPGPU-4.

[5]  Jakub Szefer,et al.  Reading Between the Dies: Cross-SLR Covert Channels on Multi-Tenant Cloud FPGAs , 2019, 2019 IEEE 37th International Conference on Computer Design (ICCD).

[6]  David R. Kaeli,et al.  Exploring the multiple-GPU design space , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[7]  Mehdi Baradaran Tahoori,et al.  FPGAhammer: Remote Voltage Fault Attacks on Shared FPGAs, suitable for DFA on AES , 2018, IACR Trans. Cryptogr. Hardw. Embed. Syst..

[8]  Jakub Szefer,et al.  Fingerprinting Cloud FPGA Infrastructures , 2020, FPGA.

[9]  Andreas Herkersdorf,et al.  Resolving Performance Interference in SR-IOV Setups with PCIe Quality-of-Service Extensions , 2016, 2016 Euromicro Conference on Digital System Design (DSD).

[10]  Christoph Lameter,et al.  NUMA (Non-Uniform Memory Access): An Overview , 2013, ACM Queue.

[11]  Chris Lupo,et al.  TARUC: A Topology-Aware Resource Usability and Contention Benchmark , 2017, ICPE.

[12]  Hovav Shacham,et al.  Hey, you, get off of my cloud: exploring information leakage in third-party compute clouds , 2009, CCS.

[13]  Murray Cole,et al.  PARTANS: An autotuning framework for stencil computation on multi-GPU systems , 2013, TACO.

[14]  Torsten Hoefler,et al.  A PCIe Congestion-Aware Performance Model for Densely Populated Accelerator Servers , 2016, SC16: International Conference for High Performance Computing, Networking, Storage and Analysis.

[15]  Daniel E. Holcomb,et al.  Characterization of Long Wire Data Leakage in Deep Submicron FPGAs , 2019, FPGA.

[16]  H. Howie Huang,et al.  Swiper: Exploiting Virtual Machine Vulnerability in Third-Party Clouds with Competition for I/O Resources , 2015, IEEE Transactions on Parallel and Distributed Systems.

[17]  Jakub Szefer,et al.  Measuring Long Wire Leakage with Ring Oscillators in Cloud FPGAs , 2019, 2019 29th International Conference on Field Programmable Logic and Applications (FPL).

[18]  Takeshi Sugawara,et al.  Oscillator without a combinatorial loop and its threat to FPGA in data centre , 2019, Electronics Letters.

[19]  Andreas Herkersdorf,et al.  Denial-of-Service attacks on PCI passthrough devices: Demonstrating the impact on network- and storage-I/O performance , 2015, J. Syst. Archit..

[20]  Ken Eguro,et al.  Leaky Wires: Information Leakage and Covert Communication Between FPGA Long Wires , 2016, AsiaCCS.

[21]  Jakub Szefer,et al.  Temporal Thermal Covert Channels in Cloud FPGAs , 2019, FPGA.

[22]  Dirk Koch,et al.  FPGADefender , 2020, ACM Trans. Reconfigurable Technol. Syst..

[23]  Matthias S. Müller,et al.  Memory Performance and Cache Coherency Effects on an Intel Nehalem Multiprocessor System , 2009, 2009 18th International Conference on Parallel Architectures and Compilation Techniques.

[24]  G. Edward Suh,et al.  FPGA-Based Remote Power Side-Channel Attacks , 2018, 2018 IEEE Symposium on Security and Privacy (SP).

[25]  Daniel E. Holcomb,et al.  Characterizing Power Distribution Attacks in Multi-User FPGA Environments , 2019, 2019 29th International Conference on Field Programmable Logic and Applications (FPL).

[26]  Francesco Regazzoni,et al.  Are Cloud FPGAs Really Vulnerable to Power Analysis Attacks? , 2020, 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[27]  Calton Pu,et al.  Understanding Performance Interference of I/O Workload in Virtualized Cloud Environments , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[28]  Collin McCurdy,et al.  The Scalable Heterogeneous Computing (SHOC) benchmark suite , 2010, GPGPU-3.

[29]  Collin McCurdy,et al.  Memphis: Finding and fixing NUMA-related performance problems on multi-core platforms , 2010, 2010 IEEE International Symposium on Performance Analysis of Systems & Software (ISPASS).

[30]  Chen Li,et al.  Priority-Based PCIe Scheduling for Multi-Tenant Multi-GPU Systems , 2019, IEEE Computer Architecture Letters.

[31]  Christof Paar,et al.  The Unpatchable Silicon: A Full Break of the Bitstream Encryption of Xilinx 7-Series FPGAs , 2021, USENIX Security Symposium.

[32]  Yipei Niu,et al.  When FPGA Meets Cloud: A First Look at Performance , 2022, IEEE Transactions on Cloud Computing.