ΑρχικήsecurityΕυπάθεια Spectre κάνει bypass άμυνες των CPU της Intel και ARM

Ευπάθεια Spectre κάνει bypass άμυνες των CPU της Intel και ARM

Οι περιορισμοί του hardware που εισήχθησαν σε επεξεργαστές Intel και ARM τα τελευταία χρόνια για να διορθώσουν μια σοβαρή ευπάθεια που ονομάζεται Spectre δεν είναι τόσο ισχυροί απ’ότι φαίνεται. Ερευνητές έχουν επινοήσει μια νέα μέθοδο επίθεσης που μπορεί να ξεπεράσει τους περιορισμούς, αλλά η εκμετάλλευση δεν είναι τόσο εύκολη όσο ήταν με το αρχικό ελάττωμα.

Η νέα ευπάθεια, η οποία ανακαλύφθηκε από ερευνητές του Systems and Network Security Group στο VU Amsterdam, ονομάζεται Spectre-BHI (Branch History Injection) ή Spectre-BHB (Branch History Buffer) αφού η Intel και η ARM της έχουν εκχωρήσει διαφορετικά ονόματα. Σύμφωνα με την ερευνητική ομάδα, είναι μια επέκταση της επίθεσης Spectre έκδοσης 2 του 2017, γνωστή και ως Spectre-BTI (Branch Target Injection) και παρόμοια με το Spectre v2 αφού μπορεί να οδηγήσει σε διαρροή ευαίσθητων πληροφοριών από το kernel memory.

Ευπάθεια Spectre νικά τις άμυνες υλικού των CPU της Intel και ARM
Ευπάθεια Spectre νικά τις άμυνες υλικού των CPU της Intel και ARM

Το πρόγραμμα exploit που δημιουργήθηκε από τους ερευνητές του VUSec βοηθά στην διαρροή του hash του root κωδικού πρόσβασης από το αρχείο /etc/shadow χρησιμοποιώντας έναν μη προνομιούχο λογαριασμό. Το αρχείο /etc/shadow είναι ένα αρχείο συστήματος στο Linux που είναι προσβάσιμο μόνο στον λογαριασμό διαχείρισης root. Ουσιαστικά, το exploit αναγκάζει τον πυρήνα να φορτώσει το αρχείο στη μνήμη, όπου κανονικά θα προστατευόταν από την πρόσβαση μη προνομιούχων διεργασιών, αλλά στη συνέχεια αξιοποιεί την ευπάθεια Spectre-BHI για πρόσβαση και διαρροή στο περιεχόμενό του. Αυτό αποτελεί σημαντική παραβίαση ασφαλείας στα σύγχρονα λειτουργικά συστήματα που διαχωρίζει τις εφαρμογές λειτουργίας χρήστη και τον χώρο μνήμης του kernel memory στον πυρήνα.

Δείτε επίσης: SharkBot: Εξάπλωση μέσω ψεύτικου Android Antivirus App στο Google Play Store

Το Spectre αποτελεί κατηγορία κάποιων ευπαθειών ασφαλείας και αποκαλύφθηκε αρχικά τον Ιανουάριο του 2017. Αυτή η ευπάθεια προέρχεται από ένα χαρακτηριστικό που σχετίζεται με την απόδοση των σύγχρονων CPU, το οποίο ονομάζεται speculative execution, όπου η CPU προσπαθεί να προβλέψει εκ των προτέρων ποια διαδρομή θα ακολουθήσει η εκτέλεση ενός προγράμματος όταν φτάσει σε ένα conditional branch και εκτελεί εργασίες σε αυτή τη διαδρομή από πριν. Εάν αυτή η πρόβλεψη αποδειχτεί αναξιόπιστη τα αποτελέσματα που είναι αποθηκευμένα σε προσωρινές κρυφές μνήμες CPU απορρίπτονται. Οι Speculative execution ευπάθειες όπως το Spectre ξεγελούν αυτόν τον μηχανισμό για να διαρρεύσει πληροφορίες από προσωρινές μνήμες οι οποίες λειτουργούν ως πλευρικά κανάλια.

Ευπάθεια Spectre νικά τις άμυνες υλικού των CPU της Intel και ARM
Ευπάθεια Spectre νικά τις άμυνες υλικού των CPU της Intel και ARM

Πιο συγκεκριμένα, οι ερευνητές αναφέρουν ότι την εποχή που βρέθηκε το Spectre, μπορούσαμε εύκολα να εκμεταλλευτούμε το Branch Target Injection (BTI ή Spectre-v2), την πιο επικίνδυνη παραλλαγή του. Για παράδειγμα, ένας εισβολέας θα μπορούσε να εισάγει οποιοδήποτε branch target στον έμμεσο branch predictor και ως αποτέλεσμα να ξεγελάσει τον kernel, ο οποίος θα μεταπηδούσε στη θέση του εισαγόμενου κώδικα και θα τον εκτελούσε.

Με σκοπό να μετριαστεί η ευπάθεια, προμηθευτές λογισμικού όπως η Google και οι προγραμματιστές Linux βρήκαν λύσεις βασιζόμενοι σε νέα λογισμικά, όπως το retpoline. Παρ’όλο που οι λύσεις αυτές ήταν αποτελεσματικές, απέβησαν μοιραίες για την απόδοση των επεξεργαστών, κάτι που οι πωλητές των CPU απέκρουσαν αργότερα με άμυνες που εισήχθησαν σε επίπεδο hardware. Η άμυνα της Intel ονομάζεται EIBRS και της ARM ονομάζεται CSV2.

Επί της ουσίας, η άμυνα του hardware, καθιστά τον predictor ικανό να παρακολουθεί το επίπεδο προνομίων (χρήστης/πυρήνας) στο οποίο εκτελείται ένας στόχος. Αν ο στόχος ανήκει σε χαμηλό επίπεδο προνομίων, ο kernel δεν θα τον χρησιμοποιήσει.

Το πρόβλημα όμως είναι το γεγονός ότι ο predictor της CPU βασίζεται σε ένα παγκόσμιο ιστορικό για να επιλέξει τις εγγραφές-στόχους που θα εκτελέσει. Το παγκόσμιο ιστορικό όμως μπορεί εύκολα να νοθευτεί. Με άλλα λόγια, ενώ το αρχικό Spectre v2 επέτρεπε στους εισβολείς να εισάγουν τοποθεσίες κώδικα και, στη συνέχεια, να ξεγελάσουν τον πυρήνα για να τον εκτελέσει, η νέα ευπάθεια Spectre-BHI/BHB μπορεί μόνο να αναγκάσει τον πυρήνα να προβλέψει λανθασμένα και να εκτελέσει αποσπάσματα κώδικα που υπάρχουν ήδη στο ιστορικό και εκτελέστηκαν στο παρελθόν, αλλά ενδέχεται να διαρρεύσουν δεδομένα.

Ευπάθεια Spectre νικά τις άμυνες υλικού των CPU της Intel και ARM
Ευπάθεια Spectre νικά τις άμυνες υλικού των CPU της Intel και ARM

Άρα λειτουργούν τα Intel eIBRS και Arm CSV2; Τα μέτρα μετριασμού της ευπάθειας λειτουργούν όπως προβλέπεται αλλά ο υπολειπόμενος χώρος για επίθεση είναι πολύ πιο σημαντικός από ό,τι υπέθεταν αρχικά οι πωλητές. Ωστόσο, η εύρεση εκμεταλλεύσιμων συσκευών είναι πιο δύσκολη από πριν, καθώς ο εισβολέας δεν μπορεί να εισαγάγει άμεσα προβλεπόμενο κώδικα εκτός των ορίων των προνομίων.

Η Intel παρακολουθεί τη νέα ευπάθεια Spectre-BHI ως CVE-2022-0001, για την πολλαπλών προνομίων έκδοση και ως CVE-2022-0002 για την ίδιου προνομίου έκδοση. Το ARM την παρακολουθεί ως CVE-2022-23960 και για τις δύο παραλλαγές.

Σύμφωνα με την Intel, οι περισσότερες από τις CPU της εταιρείας επηρεάζονται από την ευπάθεια εκτός από αυτές της οικογένειας Atom. Για την ARM, οι ευάλωτοι επεξεργαστές είναι οι ακόλουθοι: Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78A7, Cortex-A78A7, , Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2 και Neoverse V1. Παράλληλα, και οι δύο εταιρείες έχουν εκδώσει διαθέσιμα λογισμικά για να μετριαστεί η ευπάθεια ενώ η ARM έχει πέντε διαφορετικές άμυνες ανάλογα με το σύστημα στο οποίο λειτουργεί.

Δείτε επίσης: Η Mercado Libre επιβεβαιώνει την παραβίαση δεδομένων πηγαίου κώδικα

Για την δημιουργία του προγράμματος exploit στο Linux, οι ερευνητές του VUSec έκαναν κατάχρηση του eBPF, μιας τεχνολογίας διαθέσιμης από τον πυρήνα 4.4, ο οποίος μπορεί να εκτελέσει προγράμματα sandbox σε έναν πυρήνα λειτουργικού συστήματος. Παρ’όλο που το eBPF δεν αποτελεί μέρος του προβλήματος και ακόμη και άλλοι κώδικες μπορούν να διαρρεύσουν πληροφορίες, η παρουσία μη προνομιούχου eBPF διευκολύνει τρομερά τις επιθέσεις στο speculative execution. Για αυτόν τον λόγο οι ερευνητές συνιστούν να το απενεργοποιήσετε και ορισμένες διανομές Linux έχουν αρχίσει να το απενεργοποιούν από προεπιλογή.

Πηγή: csoonline.com

SecNews
SecNewshttps://www.secnews.gr
In a world without fences and walls, who need Gates and Windows

Εγγραφή στο Newsletter

* indicates required

FOLLOW US

LIVE NEWS