Spook.js, μια νέα τεχνική για την εκμετάλλευση τρωτών σημείων Spectre στο Chrome

Μια ομάδα ερευνητών από αμερικανικά, αυστραλιανά και ισραηλινά πανεπιστήμια ανέφεραν ότι περιέγραψε μια νέα τεχνική επίθεσης που επιτρέπει την εκμετάλλευση τρωτών σημείων Κλάση Spectre σε προγράμματα περιήγησης που υποστηρίζουν Chromium.

Η επίθεση, με κωδική ονομασία Spook.js, επιτρέπει κατά την εκτέλεση κώδικα JavaScript παράκαμψης του μηχανισμού απομόνωσης ιστότοπου και την ανάγνωση του περιεχομένου ολόκληρου του χώρου διευθύνσεων της τρέχουσας διαδικασίας, δηλαδή την πρόσβαση στα δεδομένα των σελίδων που εκτελούνται σε άλλες καρτέλες, αλλά επεξεργάζονται στην ίδια διαδικασία.

Δεδομένου ότι το Chrome ξεκινά διαφορετικούς ιστότοπους σε διαφορετικές διαδικασίες, οι πρακτικές επιθέσεις περιορίζονται σε υπηρεσίες που επιτρέπουν σε διαφορετικούς χρήστες να φιλοξενούν τις σελίδες τους. Η μέθοδος επίθεσης του Spook.js καθιστά δυνατή από μια σελίδα στην οποία ένας εισβολέας μπορεί να ενσωματώσει τον κώδικα JavaScript του, προσδιορίζει την παρουσία άλλων σελίδων που ανοίγει ο χρήστης του ίδιου ιστότοπου και να εξαγάγετε εμπιστευτικές πληροφορίες από αυτά, για παράδειγμα, διαπιστευτήρια ή τραπεζικά στοιχεία που αντικαταστάθηκαν από το σύστημα αυτόματης συμπλήρωσης σε φόρμες ιστού.

Μια άλλη εφαρμογή της μεθόδου είναι η επίθεση σε πρόσθετα προγράμματος περιήγησης, το οποίο επιτρέπει, όταν είναι εγκατεστημένο ένα plug-in που ελέγχεται από τον εισβολέα, να εξάγει δεδομένα από άλλα πρόσθετα.

Το Spook.js ισχύει για οποιοδήποτε πρόγραμμα περιήγησης που βασίζεται στον κινητήρα Chromium, συμπεριλαμβανομένων των Google Chrome, Microsoft Edge και Brave. Οι ερευνητές πιστεύουν επίσης ότι η μέθοδος μπορεί να προσαρμοστεί για να λειτουργεί με τον Firefox, αλλά δεδομένου ότι ο κινητήρας του Firefox είναι πολύ διαφορετικός από τον Chrome, το έργο της δημιουργίας ενός τέτοιου εκμεταλλεύματος αφήνεται στο μέλλον.

Για προστασία από επιθέσεις που σχετίζονται με κερδοσκοπική εκτέλεση οδηγιών μέσω του προγράμματος περιήγησης, η τμηματοποίηση χώρου διευθύνσεων εφαρμόζεται στο Chrome: η απομόνωση sandbox επιτρέπει στο JavaScript να λειτουργεί μόνο με δείκτες 32 bit και μοιράζεται τη μνήμη του ελεγκτή σε στοίβες 4 GB που δεν επικαλύπτονται.

Για να οργανώσουν την πρόσβαση σε ολόκληρο τον χώρο διευθύνσεων της διαδικασίας και να αποφύγουν τον περιορισμό των 32-bit, οι ερευνητές χρησιμοποίησαν την τεχνική σύγχυσης τύπου, η οποία επιτρέπει στη μηχανή JavaScript να επεξεργάζεται ένα αντικείμενο με λάθος τύπο, καθιστώντας δυνατή τη διαμόρφωση ενός 64-bit κώδικα που βασίζεται σε συνδυασμό δύο τιμών 32-bit.

Η ουσία της επίθεσης είναι ότι με την επεξεργασία ενός ειδικά κατασκευασμένου κακόβουλου αντικειμένου στη μηχανή JavaScript, δημιουργούνται συνθήκες που οδηγούν στην κερδοσκοπική εκτέλεση οδηγιών που έχουν πρόσβαση στον πίνακα. Το αντικείμενο επιλέγεται με τέτοιο τρόπο ώστε τα πεδία που ελέγχονται από τους επιτιθέμενους να τοποθετούνται στην περιοχή όπου χρησιμοποιείται ο δείκτης 64-bit.

Δεδομένου ότι ο τύπος κακόβουλου αντικειμένου δεν αντιστοιχεί στον τύπο του επεξεργασμένου πίνακα, υπό κανονικές συνθήκες αυτές οι ενέργειες αποκλείονται στο Chrome από τον μηχανισμό αποπιοτιστοποίησης του κώδικα που χρησιμοποιείται για την πρόσβαση στις συστοιχίες. Για την επίλυση αυτού του προβλήματος, ο κώδικας επίθεσης Type Confusion τοποθετείται σε ένα μπλοκ υπό όρους "εάν", το οποίο δεν ενεργοποιείται υπό κανονικές συνθήκες, αλλά λειτουργεί σε κερδοσκοπική λειτουργία, εάν ο επεξεργαστής προβλέψει λανθασμένα περισσότερους κλάδους.

Ως αποτέλεσμα, ο επεξεργαστής προσεγγίζει κερδοσκοπικά τον δημιουργούμενο δείκτη 64-bit και επιστρέφει την κατάσταση μετά τον προσδιορισμό της αποτυχημένης πρόβλεψης, αλλά τα ίχνη εκτέλεσης ορίζονται στην κοινή μνήμη cache και μπορούν να αποκατασταθούν χρησιμοποιώντας μεθόδους για τον προσδιορισμό του περιεχομένου της προσωρινής μνήμης μέσω τρίτου κανάλια πάρτι, αναλύοντας την αλλαγή του χρόνου πρόσβασης σε προσωρινά και μη αποθηκευμένα δεδομένα.

Για την ανάλυση του περιεχομένου της κρυφής μνήμης υπό συνθήκες ανεπαρκούς ακρίβειας του διαθέσιμου χρονοδιακόπτη στο JavaScript, χρησιμοποιείται μια μέθοδος που προτείνει η Google που ξεγελά τη στρατηγική εξόδου δεδομένων προσωρινής μνήμης Tree-PLRU που χρησιμοποιείται στους επεξεργαστές και επιτρέπει, αυξάνοντας τους αριθμούς κύκλων, να αυξάνουν σημαντικά τη διαφορά χρόνου στην παρουσία και απουσία μιας τιμής στην κρυφή μνήμη.

Οι ερευνητές κυκλοφόρησαν ένα πρωτότυπο exploit που λειτουργεί στο Chrome 89 en συστήματα με Intel i7-6700K και i7-7600U. Η εκμετάλλευση δημιουργήθηκε χρησιμοποιώντας πρωτότυπα κώδικα JavaScript που είχε δημοσιεύσει προηγουμένως η Google για να πραγματοποιήσει επιθέσεις Spectre.

Τέλος, οι ερευνητές το αναφέρουν κατάφερε να προετοιμάσει λειτουργικές εκμεταλλεύσεις για συστήματα που βασίζονται σε επεξεργαστές Intel και Apple M1, στα οποία δίνεται η δυνατότητα να οργανώσουν τη μνήμη που διαβάζεται με ταχύτητα 500 byte ανά δευτερόλεπτο και ακρίβεια 96%. Η μέθοδος υποτίθεται ότι ισχύει για τους επεξεργαστές AMD, αλλά δεν ήταν δυνατό να προετοιμαστεί ένα πλήρως λειτουργικό exploit.

πηγή: https://www.spookjs.com


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.