title: PCIe monitoring for secure code execution in heterogeneous system architectures
title: Παρακολούθηση της PCIe θύρας για ασφαλή εκτέλεση κώδικα σε αρχιτεκτονικές ετερογενών συστημάτων
Creators: name: Γεωργακας Ιωαννης-Ιασων
Publisher: name: Technical University of Crete
Year: 2024

description: Nowadays, heterogeneous systems architectures are becoming increasingly
popular for running complex and heavy-load computational tasks. Many
companies own vast data centers consisting of thousands of heterogeneous
systems, allowing developers to run their applications in GPUs, FPGA, or
TPUs. However, the rise in the use of such systems has led to a new vast
attack vector with various possibilities to emerge. GPU vulnerabilities and
their exploitations are realistic instances of such attacks. An instance of an
attack on a GPU is to misuse a miner by continuously executing it and, as a
result, overload the GPU and take it out for a long time period. This thesis
presents a novel method of detecting attacks in heterogeneous systems by
monitoring the PCIe traffic at a low level from the host to the corresponding
PCIe endpoint. Monitoring the PCIe traffic makes it possible to check all the
data and code being transferred to an accelerator in real-time and detect if
any exhibit malicious behavior. All the PCIe traffic can be monitored based
on rules that mark behaviors or patterns as malicious. This thesis presents a
tool to monitor the PCIe traffic in an emulated heterogeneous system CPU-
GPU using an MPSoC and an FPGA for any GPU miner running in the dis-
crete GPU based on a set of rules composed of patterns presented in GPU
instructions. The rules have been developed to detect miners’ execution by
checking specific patterns of GPU instructions that indicate their presence.
The monitoring tool is fully scalable and does not add processing overhead
to the execution of the application. Finally, the PCIe monitoring tool achieved
better performance than the corresponding state-of-the-art implementation
in a CPU by an overall speedup in execution time of 1.55, and it is more energy efficient by 543 times the CPU’s implementation with a minimum
amount of resources needed.
description: Οι αρχιτεκτονικές ετερογενών συστημάτων γίνονται όλο και πιο δημοφιλείς για την εκτέλεση περίπλοκων και υπολογιστικά μεγάλου φόρτου εφαρμογών, πολλές εταιρείες έχουν τεράστια κέντρα δεδομένων αποτελούμενα από χιλιάδες τέτοια ετερογενή συστήματα ώστε να παρέχουν τη δυνατότητα σε ερευνητές και επαγγελματίες να εκτελέσουν τις εφαρμογές σε διάφορους επιταχυντές όπως GPU,FPGA και TPUs. Όμως αυτή η αύξηση στη χρήση τέτοιων συστημάτων ελλοχεύει το κίνδυνο να αποτελέσουν τα ετερογενή συστήματα, μια επιφάνεια επίθεσης με διάφορες δυνατότητες. Οι ευπάθειες που έχουν οι  GPUs και οι τρόποι που μπορούν να  τις εκμεταλλευθούν αποτελούν χαρακτηριστικό παράδειγμα τέτοιων επιθέσεων. Ένα τέτοιο παράδειγμα αποτελεί μία επίθεση σε μία GPU χρησιμοποιώντας κακόβουλα έναν miner εκτελώντας τον συνεχώς, υπερφορτώνοντας την έτσι και βγάζοντας την εκτός λειτουργία για αρκετά μεγάλο χρονικό διάστημα. Σε αυτή τη διπλωματική εργασία παρουσιάζεται μια καινούργια μέθοδος ανίχνευσης επιθέσεων σε ετερογενή συστήματα παρακολουθώντας και ελέγχοντας την κίνηση των δεδομένων του PCIe πρωτοκόλλου που κατευθύνονται από τον Host στο PCIe endpoint το οποίο λειτουργεί ως ο επιταχυντής. Παρακολουθώντας και ελέγχοντας την κίνηση των δεδομένων του PCIe πρωτοκόλλου, δίνεται η δυνατότητα να ελέγχονται όλα τα δεδομένα και ο κώδικας που μεταφέρονται στο PCIe endpoint σε αληθινό χρόνο και να ανιχνεύεται αν είναι κακόβουλα. Η κίνηση των δεδομένων μέσω του PCIe πρωτοκόλλου ελέγχεται με βάση ένα σετ από κανόνες το οποίο υποδηλώνει κακόβουλες προθέσεις. Στη παρούσα διπλωματική εργασία η περίπτωση που εξετάζεται είναι η παρακολούθηση και ο έλεγχος της κίνησης των δεδομένων σε ένα εξομοιωμένο σύστημα CPU-GPU χρησιμοποιώντας ένα MPSoC και μία FPGA για την εκτέλεση ενός miner σε μια GPU βάσει ενός σετ από κανόνες οι οποίοι αποτελούνται από ακολουθίες εντολών GPU. Οι κανόνες έχουν δημιουργηθεί για να ανιχνεύουν την εκτέλεση miners ελέγχοντας συγκεκριμένες ακολουθίες εντολών των GPU οι οποίες υποδεικνύουν την εκτέλεση τους. Ο μηχανισμός παρακολούθησης είναι πλήρως κλιμακούμενος και δεν προσθέτει επιπλέον φόρτο επεξεργασίας κατά την εκτέλεση της εφαρμογής. Ο μηχανισμός παρακολούθησης επιτυγχάνει καλύτερη απόδοση από την αντίστοιχη υλοποίηση σε CPU με τελική επιτάχυνση 1.55 και ενεργειακά αποδοτικότερος 543 φορές από τη CPU χρησιμοποιώντας ελάχιστους πόρους.