Computing
Νέα τεχνική αποκάλυψης δραστηριότητας χρηστών μέσω SSD από ιστοσελίδες
Ερευνητές δείχνουν πως JavaScript σε μια σελίδα μπορεί να μετρήσει προσβάσεις σε μεγάλο OPFS αρχείο και με μοντέλο CNN να «μαντέψει» ποιες εφαρμογές ή ιστοσελίδες τρέχουν στη συσκευή. Η επίθεση έχει όρια αλλά αναδεικνύει ανάγκες για quota, ειδοποιήσεις και καλύτερο sandboxing.
Μια ομάδα ερευνητών παρουσιάζει έναν τρόπο με τον οποίο μια ιστοσελίδα μπορεί να «κατασκοπεύσει» τι τρέχει στην συσκευή ενός επισκέπτη, αναλύοντας τις αλληλεπιδράσεις με τον αποθηκευτικό χώρο τύπου SSD. Η μέθοδος, που ονομάζεται FROST, αξιοποιεί τη δυνατότητα των προγραμμάτων περιήγησης να αποθηκεύουν μεγάλα αρχεία στον τοπικό χώρο εργασίας (OPFS) και ένα μοντέλο μηχανικής μάθησης για να συμπεράνει ποιες εφαρμογές ή ιστοσελίδες είναι ενεργές στον υπολογιστή του θύματος.
Δεν πρόκειται για κλασικό malware που εγκαθίσταται στο σύστημα, αλλά για έναν πλευρικό κανάλι (side-channel) που λειτουργεί μέσα από JavaScript: ο εισβολέας μετράει την επίδραση της δραστηριότητας του χρήστη στη latencies πρόσβασης του SSD και στη συνέχεια ταξινομεί αυτά τα μοτίβα με ένα εκπαιδευμένο νευρωνικό δίκτυο.
Πώς λειτουργεί η επίθεση στην πράξη
Η βασική ιδέα είναι απλή στο χαρτί αλλά λεπτομερής στην υλοποίηση: μια επίσκεψη σε μια μολυσμένη σελίδα φορτώνει JavaScript η οποία δημιουργεί ή ανοίγει ένα πολύ μεγάλο αρχείο OPFS (Origin Private File System) στον αποθηκευτικό χώρο του browser. Στη συνέχεια, το script εκτελεί επαναλαμβανόμενες τυχαίες αναγνώσεις από αυτό το αρχείο και καταγράφει πόσο χρόνο χρειάζεται κάθε ανάγνωση.
Όταν ο χρήστης ανοίγει άλλη εφαρμογή ή επισκέπτεται άλλη ιστοσελίδα που επίσης γράφει ή διαβάζει από το ίδιο φυσικό SSD, οι γραμμές εισόδου/εξόδου ανταγωνίζονται για τους ίδιους πόρους. Αυτό δημιουργεί μικρές αλλά μετρήσιμες διαφορές στη latency, δηλαδή μεταβολές στο χρόνο ανταπόκρισης των ανάγνωσεων.
Οι ερευνητές χρησιμοποιούν ένα προ-εκπαιδευμένο convolutional neural network (CNN) για να μάθουν τα μοτίβα αυτών των χρονικών σειρών. Μετά την εκπαίδευση, το μοντέλο μπορεί να ταξινομεί νέες σειρές μετρήσεων και να προβλέπει ποιες εφαρμογές ή ποιες ιστοσελίδες παράγουν τα συγκεκριμένα μοτίβα πρόσβασης στο SSD.
Τεχνικά όρια και πρακτικά εμπόδια
Η μέθοδος δεν είναι πανάκεια και οι συγγραφείς του πειράματος τονίζουν αρκετούς περιορισμούς. Πρώτον, το αρχείο OPFS που χρησιμοποιείται από την επιτιθέμενη σελίδα πρέπει να είναι πολύ μεγάλο — στην πειραματική εκτέλεση απαιτούνται συνήθως αρχεία της τάξης του 1 GB ή και περισσότερο — ώστε να δημιουργούνται αρκετές επαναλαμβανόμενες ανάγνώσεις που να αποκαλύπτουν μοτίβα.
Αυτό σημαίνει ότι επιθέσεις σε μεγάλη κλίμακα θα μπορούσαν να γίνουν εύκολα αντιληπτές από τον χρήστη ή από εργαλεία ασφαλείας, αφού η δημιουργία τεράστιων τοπικών αρχείων δεν περνά απαρατήρητη. Επιπλέον, το OPFS αρχείο πρέπει να βρίσκεται στον ίδιο φυσικό δίσκο SSD με τις εφαρμογές που ο εισβολέας επιθυμεί να «δεί» — αν ένα πρόγραμμα εκτελείται σε διαφορετικό φυσικό δίσκο, δεν υπάρχει αλληλεπίδραση I/O και επομένως δεν υπάρχει και «διαρροή» πληροφοριών.
Αυτοί οι περιορισμοί έχουν συνέπειες: η ανίχνευση ενεργών ιστοσελίδων σε ένα browser είναι πρακτικά ευκολότερη, καθώς τα OPFS αρχεία τυπικά αποθηκεύονται στη θέση που χρησιμοποιεί ο browser, αλλά η ανίχνευση native εφαρμογών που έχουν εγκατασταθεί σε ξεχωριστό SSD είναι περιορισμένη ή αδύνατη.
Πού δοκιμάστηκε και τι απέδωσε
Οι ερευνητές εκτέλεσαν την πλήρη επίθεση FROST σε ένα Mac με M2 Mac chip και πέτυχαν ικανοποιητικά αποτελέσματα στην ταξινόμηση δραστηριοτήτων. Σε συστήματα Linux απέδειξαν ότι το βασικό primitive — η μέτρηση latency προσβάσεων SSD μέσω JavaScript — λειτουργεί, αλλά δεν εκτέλεσαν την πλήρη διαδικασία εκπαίδευσης και ταξινόμησης όπως στο macOS.
Στο email ενός εκ των συγγραφέων, ο Hannes Weissteiner, αναφέρεται ότι η απόδοση του primitive είναι παρόμοια ανάμεσα σε macOS και Linux, συνεπώς αναμένουν συγκρίσιμα αποτελέσματα και για την πλήρη επίθεση σε Linux αν ολοκληρωθεί. Οι ερευνητές δεν δοκίμασαν την τεχνική σε Windows, οπότε το εύρος των επιδόσεων σε αυτή την πλατφόρμα παραμένει άγνωστο.
Δεν υπάρχουν προς το παρόν ενδείξεις ότι επιθέσεις FROST έχουν εμφανιστεί στην άγρια αγορά· το πείραμα παρουσιάζεται ως ερευνητικό και θα εκτεθεί στο συνέδριο DIMVA τον Ιούλιο.
Προτεινόμενες άμυνες για χρήστες και browsers
Οι ερευνητές και οι ειδικοί ασφάλειας προτείνουν συνδυασμό μέτρων σε επίπεδο χρήστη και σε επίπεδο κατασκευαστών προγραμμάτων περιήγησης. Για τον απλό χρήστη, οι πιο άμεσες ενέργειες είναι πρακτικές αλλά αποτελεσματικές: κλείστε αμέσως τις καρτέλες που δεν χρειάζεστε και προσέξτε την ασυνήθιστη δημιουργία μεγάλων αρχείων από άγνωστους ιστότοπους.
Πιο «τεχνικές» προτάσεις περιλαμβάνουν την παρακολούθηση της δημιουργίας και του μεγέθους OPFS αρχείων μέσω εργαλείων συστήματος ή επεκτάσεων που επιτρέπουν τον έλεγχο τοπικής αποθήκευσης. Για πιο προχωρημένους χρήστες, ο διαχωρισμός εφαρμογών και browser σε ξεχωριστούς φυσικούς δίσκους ή η χρήση sandboxed περιβαλλόντων μπορεί να μειώσει τον κίνδυνο.
Οι συγγραφείς προτείνουν επίσης αλλαγές από τους κατασκευαστές browser. Ένα απλό αλλά δραστικό μέτρο είναι ο περιορισμός του μέγιστου μεγέθους που μπορεί να δεσμεύσει μια σελίδα στο OPFS, ώστε να καταστεί πρακτικά αδύνατη η δημιουργία αρχείων αρκετά μεγάλης χωρητικότητας για τέτοιου τύπου μετρήσεις.
- Μείωση του μέγιστου OPFS quota ανά origin.
- Ειδοποίηση/ζήτηση αδειών όταν ένα origin προσπαθεί να δημιουργήσει μεγάλα τοπικά αρχεία.
- Αναθεώρηση των sandboxing μοντέλων ώστε να μην επιτρέπουν τέτοιου είδους πλευρικές διαρροές I/O.
Πώς συγκρίνεται με άλλες side-channel επιθέσεις
Η χρήση του αποθηκευτικού μέσου ως κανάλι διαρροής δεν είναι εντελώς καινούργια ιδέα — οι ερευνητές ασφάλειας έχουν παλιότερα δείξει side-channels μέσω cache του επεξεργαστή, μέσω χρόνων αποκρίσεων δικτύου (timing attacks) και μέσω πλήθους άλλων μικροαρχιτεκτονικών τεχνικών όπως το Spectre. Αυτό που κάνει το FROST ξεχωριστό είναι η εκμετάλλευση του browser storage API και του SSD ως κοινό πόρο που μπορούν να μοιραστούν διαφορετικά origins.
Σε σχέση με fingerprinting με βάση το δίκτυο ή το browser fingerprinting που βασίζεται σε JavaScript APIs, το FROST δεν απαιτεί πρόσβαση σε ευαίσθητα API ή σύνδεση σε κάποιο απομακρυσμένο σημείο: λειτουργεί μετριώντας τη φυσική συμπεριφορά του αποθηκευτικού μέσου, κάτι που κάνει την ανίχνευσή του πιο διακριτή αλλά και πιο δύσκολο να αναχαιτιστεί χωρίς επεμβάσεις στο επίπεδο του browser ή του OS.
Αυτό σημαίνει ότι η άμυνα πρέπει να σχεδιαστεί διαφορετικά: όχι μόνο περιορισμός API αλλά και διαχείριση του πως το λειτουργικό και ο browser μοιράζονται πόρους I/O.
Επιχειρησιακές, νομικές και ιδιωτικές επιπτώσεις
Σε επιχειρησιακό επίπεδο, τεχνικές σαν την FROST έχουν ενδιαφέρον για διάφορους παράγοντες: διαφημιστικές εταιρείες θα προσπαθούσαν να χρησιμοποιήσουν τέτοιες πληροφορίες για πιο ακριβές profiling, επιτιθέμενοι μπορούν να αναγνωρίζουν ενεργές εφαρμογές για να στοχεύσουν ευπάθειες ή να εκτελέσουν social engineering, ενώ εταιρείες που προσφέρουν συστήματα ανίχνευσης απειλών πρέπει να ενσωματώσουν νέους δείκτες για τέτοιου είδους συμπεριφορές.
Στο νομικό επίπεδο, η συλλογή τέτοιων πληροφοριών χωρίς συναίνεση εγείρει ερωτήματα για παραβίαση της ιδιωτικότητας και πιθανές παραβιάσεις νομοθεσίας προστασίας δεδομένων, ειδικά όταν τα μοτίβα χρήσης μπορούν να συνδεθούν με συγκεκριμένα άτομα. Η απόδειξη βλάβης και η ιχνηλάτηση του υπαίτιου origin όμως παραμένει τεχνικά δύσκολη.
Τέλος, για οργανισμούς με αυστηρούς κανόνες ασφάλειας και συμμόρφωσης, η ύπαρξη τέτοιων side-channels υπογραμμίζει την ανάγκη για βαθύτερο έλεγχο του πώς οι browsers χειρίζονται την τοπική αποθήκευση και για πολιτικές που περιορίζουν μη απαραίτητη πρόσβαση σε ευαίσθητους πόρους.
Τι σημαίνει για τους χρήστες
Για τον απλό χρήστη η κύρια takeaway είναι ότι ακόμα και «αβλαβείς» ιστότοποι μπορούν θεωρητικά να συλλέξουν πιο λεπτομερείς πληροφορίες για τη χρήση της συσκευής του, χωρίς να εγκαταστήσουν οτιδήποτε ή να ζητήσουν άμεση άδεια. Αυτό δεν σημαίνει ότι πρέπει να πανικοβληθείτε, αλλά αξίζει να υιοθετήσετε ορισμένες συνήθειες προστασίας: να κλείνετε καρτέλες που δεν χρειάζεστε, να ενημερώνετε τακτικά το λειτουργικό και τον browser, και να επιθεωρείτε τυχόν ασυνήθιστα μεγάλο τοπικό αποθηκευτικό χώρο που δεσμεύουν οι σελίδες.
Σε μεσαίο και μακροπρόθεσμο επίπεδο, η πραγματική λύση θα έρθει από τους κατασκευαστές browser και από την κοινότητα ασφάλειας, που οφείλουν να εξετάσουν ρυθμίσεις quota, ειδοποιήσεις χρήστη και βελτιωμένα sandboxing μοντέλα για OPFS και αντίστοιχα APIs. Μέχρι τότε, η ενημέρωση και η προσοχή παραμένουν οι καλύτερες άμυνες.
Η παρουσίαση της έρευνας στο DIMVA θα φέρει περισσότερες τεχνικές λεπτομέρειες στο φως, αλλά και την απαραίτητη συζήτηση για το πώς θα ελαχιστοποιηθεί ο κίνδυνος χωρίς να θυσιαστεί η λειτουργικότητα των web εφαρμογών.