Ανέπτυξαν μια σειρά επιθέσεων αποκατάστασης προσωρινής μνήμης CPU σε προγράμματα περιήγησης ιστού χωρίς να απαιτούν JavaScript

Μια ομάδα ερευνητών από διάφορα πανεπιστήμια Αμερικανοί, Ισραηλινοί και Αυστραλοί έχει αναπτύξει τρεις επιθέσεις που στοχεύουν προγράμματα περιήγησης ιστού που επιτρέπουν την εξαγωγή πληροφοριών σχετικά με το περιεχόμενο της προσωρινής μνήμης του επεξεργαστή. Μια μέθοδος λειτουργεί σε προγράμματα περιήγησης χωρίς JavaScript και οι άλλες δύο παράκαμπες υπάρχουσες μέθοδοι προστασίας από επιθέσεις μέσω καναλιών τρίτων, συμπεριλαμβανομένων εκείνων που χρησιμοποιούνται στο πρόγραμμα περιήγησης Tor και στο DeterFox.

Για να αναλύσετε τα περιεχόμενα της προσωρινής μνήμης στο όλες οι επιθέσεις χρησιμοποιούν τη μέθοδο "Prime + Probe"Ότι περιλαμβάνει την πλήρωση της προσωρινής μνήμης με ένα σύνολο τιμών αναφοράς και τον καθορισμό των αλλαγών με τη μέτρηση του χρόνου πρόσβασης σε αυτούς όταν επαναφορτίζονται. Για να παρακάμψετε τους μηχανισμούς ασφαλείας που υπάρχουν στα προγράμματα περιήγησης, οι οποίοι αποτρέπουν την ακριβή μέτρηση του χρόνου, σε δύο εκδόσεις απαιτείται ένας ελεγχόμενος επιθετικός DNS ή διακομιστής WebSocket, ο οποίος διατηρεί αρχείο του χρόνου παραλαβής των αιτημάτων. Σε μία πραγματοποίηση, ο σταθερός χρόνος απόκρισης DNS χρησιμοποιείται ως αναφορά χρόνου.

Οι μετρήσεις που πραγματοποιήθηκαν χρησιμοποιώντας εξωτερικούς διακομιστές DNS ή WebSocket, χάρη στη χρήση ενός συστήματος ταξινόμησης που βασίζεται σε μηχανική εκμάθηση, ήταν αρκετές για την πρόβλεψη τιμών με ακρίβεια 98% στο βέλτιστο σενάριο (κατά μέσο όρο 80-90%). Οι μέθοδοι επίθεσης έχουν δοκιμαστεί σε διάφορες πλατφόρμες υλικού (Intel, AMD Ryzen, Apple M1, Samsung Exynos) και έχουν αποδειχθεί ευέλικτες.

Η πρώτη παραλλαγή της επίθεσης DNS Racing χρησιμοποιεί μια κλασική υλοποίηση της μεθόδου Prime+Probe χρησιμοποιώντας πίνακες JavaScript. Οι διαφορές οφείλονται στη χρήση ενός εξωτερικού χρονοδιακόπτη που βασίζεται σε DNS και ενός χειριστή σφαλμάτων που ενεργοποιείται κατά την προσπάθεια φόρτωσης μιας εικόνας από έναν ανύπαρκτο τομέα. Ο εξωτερικός χρονοδιακόπτης επιτρέπει Prime + Probe επιθέσεις σε προγράμματα περιήγησης που περιορίζουν ή απενεργοποιούν εντελώς την πρόσβαση χρονοδιακόπτη JavaScript.

Για έναν διακομιστή DNS που φιλοξενείται στο ίδιο δίκτυο Ethernet, η ακρίβεια του χρονοδιακόπτη εκτιμάται ότι είναι περίπου 2 ms, η οποία είναι αρκετή για να πραγματοποιήσει επίθεση πλευρικού καναλιού (για σύγκριση: η ακρίβεια του τυπικού χρονοδιακόπτη JavaScript στο πρόγραμμα περιήγησης Tor έχει έχει μειωθεί στα 100ms). Για την επίθεση, δεν απαιτείται έλεγχος του διακομιστή DNS, δεδομένου ότι ο χρόνος εκτέλεσης της λειτουργίας επιλέγεται έτσι ώστε ο χρόνος απόκρισης DNS να χρησιμεύει ως σήμα για μια πρώιμη ολοκλήρωση της επαλήθευσης (ανάλογα με το αν ο χειριστής σφαλμάτων ενεργοποιήθηκε νωρίτερα ή αργότερα). , συμπεραίνεται ότι η λειτουργία επαλήθευσης με την προσωρινή μνήμη έχει ολοκληρωθεί) ...

Η δεύτερη επίθεση "String and Sock" έχει σχεδιαστεί για να παρακάμψει τεχνικές ασφαλείας που περιορίζουν τη χρήση συστοιχιών JavaScript χαμηλού επιπέδου. Αντί για συστοιχίες, το String και το Sock χρησιμοποιεί λειτουργίες σε πολύ μεγάλες συμβολοσειρές, το μέγεθος των οποίων επιλέγεται έτσι ώστε η μεταβλητή να καλύπτει ολόκληρη την προσωρινή μνήμη LLC (cache ανώτατου επιπέδου).

Στη συνέχεια, χρησιμοποιώντας τη συνάρτηση indexOf (), αναζητείται ένα μικρό υπόστρωμα στη συμβολοσειρά, η οποία αρχικά απουσιάζει από την αρχική συμβολοσειρά, δηλαδή, η λειτουργία αναζήτησης οδηγεί σε επανάληψη ολόκληρης της συμβολοσειράς. Δεδομένου ότι το μέγεθος της γραμμής αντιστοιχεί στο μέγεθος της προσωρινής μνήμης LLC, η σάρωση επιτρέπει την εκτέλεση μιας λειτουργίας ελέγχου κρυφής μνήμης χωρίς χειρισμό συστοιχιών. Για να μετρήσετε τις καθυστερήσεις, αντί για DNS, αυτό είναι μια έκκληση για έναν επιθετικό διακομιστή WebSocket που ελέγχεται από τον εισβολέα: πριν από την έναρξη και μετά το τέλος της λειτουργίας αναζήτησης, τα αιτήματα αποστέλλονται στην αλυσίδα,

Η τρίτη έκδοση της επίθεσης "CSS PP0" μέσω HTML και CSS και μπορεί να λειτουργήσει σε προγράμματα περιήγησης με απενεργοποιημένη τη JavaScript. Αυτή η μέθοδος μοιάζει με "String and Sock" αλλά δεν δεσμεύεται με JavaScript. Η επίθεση δημιουργεί ένα σύνολο επιλογών CSS που αναζητούν κατά μάσκα. Η υπέροχη πρωτότυπη γραμμή που γεμίζει την κρυφή μνήμη ρυθμίζεται δημιουργώντας μια ετικέτα div με πολύ μεγάλο όνομα τάξης, καιn που μέσα υπάρχει ένα σύνολο άλλων div με τα δικά τους αναγνωριστικά.

Κάθε ένα από τα Αυτά τα ένθετα div έχουν στυλ με έναν επιλογέα που αναζητά ένα substring. Κατά την απόδοση της σελίδας, το πρόγραμμα περιήγησης προσπαθεί πρώτα να επεξεργαστεί τα εσωτερικά div, με αποτέλεσμα την αναζήτηση σε μια μεγάλη συμβολοσειρά. Η αναζήτηση γίνεται χρησιμοποιώντας μια προφανώς λείπει μάσκα και οδηγεί σε επανάληψη ολόκληρης της συμβολοσειράς, μετά την οποία ενεργοποιείται η συνθήκη "όχι" και γίνεται προσπάθεια φόρτωσης της εικόνας φόντου.


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

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

*

*

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