Σύνοψη
- Μια νέα μέθοδος παρακολούθησης με την ονομασία FROST επιτρέπει σε ιστοσελίδες να εξάγουν δεδομένα χρήστη αναλύοντας αποκλειστικά τη δραστηριότητα του αποθηκευτικού μέσου SSD.
- Η τεχνική λειτουργεί ως επίθεση πλευρικού καναλιού (side-channel attack), παρακάμπτοντας πλήρως τα παραδοσιακά cookies και τα λογισμικά αποτροπής ιχνηλάτησης (anti-tracking).
- Εκμεταλλεύεται εγγενείς εντολές χρονομέτρησης υψηλής ακρίβειας της JavaScript για την καταγραφή μικροδιαφορών στους χρόνους ανάγνωσης και εγγραφής στη μνήμη NAND.
- Η ευπάθεια αφορά άμεσα την πλειονότητα των σύγχρονων συστημάτων με NVMe SSDs και επηρεάζει όλους τους δημοφιλείς περιηγητές (Chrome, Firefox, Edge).
- Οι ομάδες ανάπτυξης των browsers προετοιμάζουν ήδη διορθωτικά patches τα οποία μειώνουν σκόπιμα την ανάλυση των χρονομέτρων (timers) στα API χρονομέτρησης.
Η βιομηχανία της τεχνολογίας αντιμετωπίζει μια ριζική αλλαγή στον τρόπο με τον οποίο επιτυγχάνεται η συλλογή δεδομένων τηλεμετρίας. Μέχρι σήμερα, το βάρος της ιχνηλάτησης έπεφτε σε αρχεία κειμένου και σε τεχνικές αναγνώρισης συσκευής μέσω του λειτουργικού συστήματος.
Η τεχνική FROST (Flash Read Optimization Snooping Technique) αποτελεί μια νέα μορφή επίθεσης τύπου side-channel. Επιτρέπει σε κακόβουλες ιστοσελίδες να παρακολουθούν τη δραστηριότητα του SSD ενός χρήστη μέσω του browser, αναλύοντας τους χρόνους απόκρισης της μνήμης NAND. Έτσι, υποκλέπτουν το ιστορικό περιήγησης και τα πρότυπα χρήσης χωρίς να απαιτούνται cookies.
Η συγκεκριμένη μέθοδος δεν εστιάζει στο λογισμικό αλλά στο υλικό, στοχεύοντας άμεσα τον controller του SSD. Όταν ένας χρήστης φορτώνει μια ιστοσελίδα, ο κώδικας JavaScript εκτελεί ένα αόρατο script στο παρασκήνιο. Το script αυτό στέλνει επαναλαμβανόμενα μικρά φορτία δεδομένων για προσωρινή αποθήκευση στη μνήμη cache ή αναλύει τους χρόνους φόρτωσης συγκεκριμένων στοιχείων που καλούνται από το λειτουργικό σύστημα. Καθώς οι δίσκοι Solid State Drives (SSD) χρησιμοποιούν σύνθετους αλγόριθμους για τη διαχείριση της φθοράς και την κατανομή των δεδομένων, ο χρόνος απόκρισης της μνήμης NAND παρουσιάζει μικροδιακυμάνσεις της τάξης των νανοδευτερολέπτων. Αναλύοντας αυτές ακριβώς τις διακυμάνσεις, η ιστοσελίδα μπορεί να δημιουργήσει ένα μοναδικό "δακτυλικό αποτύπωμα" της συμπεριφοράς του δίσκου, το οποίο ταυτοποιεί τον χρήστη.
Πώς η ανάλυση δραστηριότητας του SSD παρακάμπτει τα συστήματα ασφαλείας;
Παραδοσιακά συστήματα αποκλεισμού διαφημίσεων και cookies αδυνατούν να εντοπίσουν το FROST, διότι η επίθεση εκμεταλλεύεται νόμιμα API της JavaScript (όπως το SharedArrayBuffer) για τη χρονομέτρηση διεργασιών. Η διαρκής ανάλυση των εγγραφών και αναγνώσεων στον SSD αποκαλύπτει ψηφιακά "ίχνη" απολύτως μοναδικά για την εκάστοτε συσκευή.
Η πολυπλοκότητα της επίθεσης έγκειται στο γεγονός ότι δεν παραβιάζει κάποιον κανόνα του λειτουργικού συστήματος ούτε απαιτεί αυξημένα δικαιώματα διαχειριστή. Αντίθετα, αξιοποιεί απολύτως θεμιτές εντολές χρονομέτρησης όπως η performance.now(), η οποία παρέχεται από τη μηχανή V8 της JavaScript για τη βελτιστοποίηση των εφαρμογών ιστού. Οι μηχανισμοί αποκλεισμού ιχνηλατών του Safari ή του Firefox εντοπίζουν τη ροή δεδομένων προς γνωστούς servers διαφημίσεων. Στην περίπτωση του FROST, όμως, η παραγωγή του αποτυπώματος λαμβάνει χώρα τοπικά, χρησιμοποιώντας πόρους που η ιστοσελίδα ήδη διαθέτει νόμιμα για την απεικόνιση του περιεχομένου της.
Αυτό καθιστά τα υπάρχοντα ad-blockers και τις επεκτάσεις τύπου Privacy Badger πρακτικά τυφλά απέναντι στην απειλή. Εφόσον το script καμουφλάρεται μέσα στον βασικό κώδικα της ιστοσελίδας, η διακοπή της εκτέλεσής του απαιτεί τον πλήρη αποκλεισμό της JavaScript, κάτι που αναπόφευκτα "σπάει" τη λειτουργικότητα του ιστότοπου. Τα δεδομένα δραστηριότητας που εξάγονται μπορούν να συνδυαστούν με άλλες μετρικές του συστήματος, δίνοντας στον επιτιθέμενο πλήρη εικόνα για τον χρόνο που περνάει ο χρήστης μπροστά από την οθόνη, τις ώρες αιχμής της χρήσης, ακόμη και τις συγκεκριμένες εφαρμογές που εκτελούνται στο παρασκήνιο τη δεδομένη στιγμή.
Ποιες συσκευές και προγράμματα περιήγησης επηρεάζονται από την ευπάθεια;
Η ευπάθεια επηρεάζει εγγενώς όλους τους σύγχρονους υπολογιστές που ενσωματώνουν δίσκους τεχνολογίας NVMe SSD. Όσον αφορά το λογισμικό, οι browsers που βασίζονται στο οικοσύστημα Chromium (Google Chrome, Microsoft Edge, Brave) και ο Mozilla Firefox είναι ευάλωτοι, επιτρέποντας την εκτέλεση κώδικα χρονομέτρησης υψηλής ακρίβειας.
Ο τρόπος διασύνδεσης των σημερινών δίσκων M.2 NVMe, μέσω των απευθείας διαδρόμων PCIe (Peripheral Component Interconnect Express), προσφέρει τεράστιες ταχύτητες μεταφοράς δεδομένων, αλλά ταυτόχρονα εκθέτει τη λειτουργία τους σε αναλύσεις υψηλής ακρίβειας. Η ελληνική αγορά πληροφορικής έχει πραγματοποιήσει σχεδόν ολοκληρωτική μετάβαση στους δίσκους NVMe. Ακόμη και τα πλέον οικονομικά laptops ή οι υπολογιστές γραφείου που πωλούνται αυτή τη στιγμή από τις εγχώριες αλυσίδες λιανικής ενσωματώνουν τη συγκεκριμένη τεχνολογία. Συνεπώς, η δεξαμενή των δυνητικών θυμάτων της επίθεσης FROST στην Ελλάδα καλύπτει τη συντριπτική πλειονότητα των ενεργών συστημάτων.
Από πλευράς λογισμικού, η αρχιτεκτονική απομόνωσης ιστότοπων που έχουν υιοθετήσει οι Chrome και Firefox δεν είναι επαρκής για τον περιορισμό επιθέσεων στο υλικό. Η χρονομέτρηση αφορά τον ίδιο τον ελεγκτή αποθήκευσης του λειτουργικού συστήματος (I/O stack των Windows ή του Linux), επιτρέποντας στο κακόβουλο script να συμπεράνει τι συμβαίνει πέρα από το "sandbox" του browser.
Μέτρα προστασίας: Πώς να αποκλείσετε την παρακολούθηση μέσω του δίσκου σας
Για την αντιμετώπιση του FROST, οι προγραμματιστές των browsers αναπτύσσουν ήδη ενημερώσεις ασφαλείας που μειώνουν σκόπιμα την ακρίβεια των χρονομέτρων της JavaScript. Σε επίπεδο τελικού χρήστη, η απενεργοποίηση της JavaScript σε μη έμπιστες πηγές και η χρήση προηγμένων επεκτάσεων ασφαλείας αποτελούν την πλέον άμεση μέθοδο προστασίας.
Η κοινότητα της κυβερνοασφάλειας διερευνά επιθετικά μεθόδους μετριασμού του προβλήματος. Η πιο διαδεδομένη πρακτική αντιμετώπισης αυτού του είδους των επιθέσεων side-channel είναι η εφαρμογή “θορύβου" στα API χρονομέτρησης. Η Google και το Ίδρυμα Mozilla εξετάζουν ήδη την ενσωμάτωση διορθώσεων στους πυρήνες V8 και SpiderMonkey αντίστοιχα, οι οποίες θα μειώσουν την ανάλυση της συνάρτησης performance.now() κατά αρκετά χιλιοστά του δευτερολέπτου, καθιστώντας αδύνατη την ανάλυση της δραστηριότητας NAND επιπέδου νανοδευτερολέπτου.
Ωστόσο, έως ότου διανεμηθούν οι σχετικές ενημερώσεις, οι χρήστες οφείλουν να παραμείνουν προσεκτικοί. Επεκτάσεις όπως το NoScript παρέχουν εξαιρετική προστασία, αποκλείοντας τη λειτουργία της JavaScript από άγνωστους servers. Παράλληλα, τα συστήματα εταιρικής ασφάλειας εντός της Ελλάδας θα πρέπει να λάβουν άμεσα υπόψη τους τη συγκεκριμένη τεχνική, ρυθμίζοντας τις πολιτικές ορθής χρήσης των εταιρικών browsers και επιβάλλοντας αυστηρότερο έλεγχο στην πρόσβαση των API από τρίτα scripts.