CET & Shadow Stack

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Τεχνολογία Επιβολής Ροής Ελέγχου (CET)

Το CET είναι μια λειτουργία ασφαλείας που εφαρμόζεται στο επίπεδο υλικού, σχεδιασμένη για να αντιμετωπίζει συνηθισμένες επιθέσεις υπεράκτιας ροής ελέγχου όπως το Return-Oriented Programming (ROP) και το Jump-Oriented Programming (JOP). Αυτοί οι τύποι επιθέσεων διαμορφώνουν τη ροή εκτέλεσης ενός προγράμματος για να εκτελέσουν κακόβουλο κώδικα ή να αλυσιδωτούν κομμάτια καλόβουλου κώδικα με έναν τρόπο που εκτελεί μια κακόβουλη ενέργεια.

Το CET εισάγει δύο κύρια χαρακτηριστικά: Indirect Branch Tracking (IBT) και Shadow Stack.

  • Το IBT εξασφαλίζει ότι οι έμμεσες αλλαγές και κλήσεις γίνονται σε έγκυρους στόχους, οι οποίοι επισημαίνονται ρητά ως νόμιμοι προορισμοί για έμμεσες αλλαγές. Αυτό επιτυγχάνεται μέσω της χρήσης ενός νέου συνόλου οδηγιών που επισημαίνουν τους έγκυρους στόχους, αποτρέποντας έτσι τους επιτιθέμενους από το να αποκλίνουν τη ροή ελέγχου σε τυχαίες τοποθεσίες.

  • Το Shadow Stack είναι ένας μηχανισμός που παρέχει ακεραιότητα για τις διευθύνσεις επιστροφής. Διατηρεί έναν ασφαλή, κρυφό αντίγραφο των διευθύνσεων επιστροφής χωριστά από την κανονική στοίβα κλήσης. Όταν μια συνάρτηση επιστρέφει, η διεύθυνση επιστροφής ελέγχεται έναντι του shadow stack, αποτρέποντας τους επιτιθέμενους από το να αντικαταστήσουν διευθύνσεις επιστροφής στη στοίβα για να αποκτήσουν τον έλεγχο της ροής.

Shadow Stack

Το shadow stack είναι ένα αφιερωμένο stack που χρησιμοποιείται αποκλειστικά για την αποθήκευση διευθύνσεων επιστροφής. Λειτουργεί δίπλα στην κανονική στοίβα αλλά προστατεύεται και κρύβεται από την κανονική εκτέλεση του προγράμματος, κάνοντας δύσκολο για τους επιτιθέμενους να παρεμβάλουν. Ο κύριος στόχος του shadow stack είναι να εξασφαλίσει ότι οποιεσδήποτε τροποποιήσεις στις διευθύνσεις επιστροφής στη συνηθισμένη στοίβα ανιχνεύονται πριν χρησιμοποιηθούν, με την αποτελεσματική μείωση των επιθέσεων ROP.

Πώς η CET και το Shadow Stack Αποτρέπουν Επιθέσεις

Οι επιθέσεις ROP και JOP βασίζονται στη δυνατότητα να αποκτήσουν τον έλεγχο της ροής ενός εφαρμογής εκμεταλλευόμενοι ευπάθειες που τους επιτρέπουν να αντικαταστήσουν δείκτες ή διευθύνσεις επιστροφής στη στοίβα. Καθοδηγώντας τη ροή σε ακολουθίες υπάρχοντων κώδικα gadgets ή return-oriented programming gadgets, οι επιτιθέμενοι μπορούν να εκτελέσουν αυθαίρετο κώδικα.

  • Η δυνατότητα IBT του CET καθιστά αυτές τις επιθέσεις σημαντικά πιο δύσκολες εξασφαλίζοντας ότι οι έμμεσες αλλαγές μπορούν να πηδήξουν μόνο σε διευθύνσεις που έχουν επισημανθεί ρητά ως έγκυροι στόχοι. Αυτό καθιστά αδύνατο για τους επιτιθέμενους να εκτελέσουν αυθαίρετα gadgets που είναι διασπαρμένα στο δυαδικό.

  • Το shadow stack, από την άλλη, εξασφαλίζει ότι ακόμη κι αν ένας επιτιθέμενος μπορεί να αντικαταστήσει μια διεύθυνση επιστροφής στην κανονική στοίβα, η αντίφαση θα ανιχνευθεί κατά τη σύγκριση της κατεστραμμένης διεύθυνσης με το ασφαλές αντίγραφο που αποθηκεύεται στο shadow stack κατά την επιστροφή από μια συνάρτηση. Αν οι διευθύνσεις δεν ταιριάζουν, το πρόγραμμα μπορεί να τερματίσει ή να λάβει άλλα μέτρα ασφαλείας, αποτρέποντας την επιτυχία της επίθεσης.

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated