Παρουσίασε μια νέα τεχνική για κρυφή αναγνώριση συστήματος και προγράμματος περιήγησης

Μια ομάδα ερευνητών από το Τεχνικό Πανεπιστήμιο του Γκρατς (Αυστρία), παλαιότερα γνωστό για την ανάπτυξη μεθόδων επίθεσης MDS, NetSpectre и Σφυρί, ακάλυπτος Πληροφορίες σχετικά με μια νέα τεχνική ανάλυσης καναλιών τρίτου κατασκευαστή που σας επιτρέπει να προσδιορίσετε την ακριβή έκδοση του προγράμματος περιήγησης, το λειτουργικό σύστημα που χρησιμοποιείται, την αρχιτεκτονική της CPU και τη χρήση πρόσθετων για την καταπολέμηση της κρυφής αναγνώρισης.

Για να προσδιορίσετε αυτές τις παραμέτρους, αρκεί να εκτελέσετε κώδικα JavaScript που έχει προετοιμαστεί από ερευνητές στο πρόγραμμα περιήγησης. Στην πράξη, η μέθοδος μπορεί να χρησιμοποιηθεί όχι μόνο ως πρόσθετη πηγή για την έμμεση αναγνώριση του χρήστη, αλλά και για τον προσδιορισμό των παραμέτρων του περιβάλλοντος συστήματος για τη στοχευμένη χρήση εκμεταλλεύσεων, λαμβάνοντας υπόψη το λειτουργικό σύστημα, την αρχιτεκτονική και το πρόγραμμα περιήγησης. Η μέθοδος είναι επίσης αποτελεσματική όταν χρησιμοποιείτε προγράμματα περιήγησης που εφαρμόζουν μηχανισμούς αποκλεισμού κρυφής αναγνώρισης, όπως το Tor Browser. Πρωτότυπο πηγαίου κώδικα με υλοποίηση μεθόδου που δημοσιεύθηκε υπό την άδεια του MIT.

Ο προσδιορισμός γίνεται με βάση τον προσδιορισμό των μοτίβων καταστάσεων ιδιοτήτων στο JavaScript που είναι χαρακτηριστικά διαφορετικών προγραμμάτων περιήγησης και των χαρακτηριστικών του χρόνου εκτέλεσης των λειτουργιών, ανάλογα με τα χαρακτηριστικά των μηχανισμών JIT, CPU και εκχώρησης μνήμης. Ο ορισμός των ιδιοτήτων γίνεται με τη δημιουργία μιας λίστας με όλα τα αντικείμενα προσβάσιμα από JavaScript. Όπως αποδείχθηκε, ο αριθμός των αντικειμένων συσχετίζεται άμεσα με τη μηχανή του προγράμματος περιήγησης και την έκδοσή του.

συνάρτηση getProperties(o) {
var αποτέλεσμα = [];
ενώ (o !== null) {
αποτέλεσμα = result.concat(Reflec.ownKeys(o));
o = Object.getPrototypeOf(o);
}
αποτέλεσμα επιστροφής?
}

Για παράδειγμα, για τον Firefox, η τεκμηρίωση αναφέρει υποστήριξη για 2247 ιδιότητες, ενώ ο πραγματικός αριθμός των καθορισμένων ιδιοτήτων, συμπεριλαμβανομένων των μη τεκμηριωμένων, είναι 15709 (στο Tor Browser - 15639), για το Chrome 2698 δηλώνονται ιδιότητες, αλλά στην πραγματικότητα προσφέρονται 13570 (σε Chrome για Android - 13119) . Ο αριθμός και οι τιμές των ιδιοτήτων διαφέρουν από έκδοση προγράμματος περιήγησης σε έκδοση προγράμματος περιήγησης και σε διαφορετικά λειτουργικά συστήματα.

Οι τιμές και η παρουσία ορισμένων ιδιοτήτων μπορούν να χρησιμοποιηθούν για τον προσδιορισμό του τύπου λειτουργικού συστήματος. Για παράδειγμα, στο Kubuntu η ιδιότητα window.innerWidth έχει οριστεί σε 1000 και στα Windows 10 έχει οριστεί σε 1001. Η ιδιότητα window.navigator.activeVRDdisplays είναι διαθέσιμη στα Windows, αλλά δεν είναι διαθέσιμη σε Linux. Για Android, παρέχονται πολλές συγκεκριμένες κλήσεις, αλλά το window.SharedWorker δεν παρέχεται. Για την αναγνώριση του λειτουργικού συστήματος, προτείνεται επίσης η χρήση ανάλυσης των παραμέτρων WebGL, η κατάσταση των οποίων εξαρτάται από τα προγράμματα οδήγησης. Επιπλέον, η κλήση του WEBGL_debug_renderer_infoextension σάς επιτρέπει να λαμβάνετε πληροφορίες σχετικά με τη μηχανή απόδοσης OpenGL, η οποία είναι διαφορετική για κάθε λειτουργικό σύστημα.

Για τον προσδιορισμό της CPU, χρησιμοποιείται μια αξιολόγηση των διαφορών στον χρόνο εκτέλεσης διαφόρων τυπικών μπλοκ κώδικα, η επεξεργασία των οποίων εξαρτάται από την αρχιτεκτονική του συνόλου εντολών, λαμβάνοντας υπόψη τη συμπεριφορά JIT (καθορίζεται πόσοι καταχωρητές CPU θα χρησιμοποιηθούν και σε ποιες περιπτώσεις το JIT θα παράγει αποτελεσματικό κώδικα με βελτιστοποιήσεις και χρήση εκτεταμένων οδηγιών, και πότε όχι ). Για να προσδιοριστεί ο τύπος του συστήματος εκχώρησης μνήμης και του λειτουργικού συστήματος, μετράται επίσης η διαφορά στους χρόνους εκχώρησης μνήμης για διάφορες δομές, η οποία μπορεί να χρησιμοποιηθεί για να κριθεί το μέγεθος των μπλοκ μνήμης.

Οι παράμετροι που προσδιορίζονται κατά την εκτέλεση του σεναρίου συγκρίνονται με τιμές αναφοράς που είναι τυπικές για περιβάλλοντα που έχουν δοκιμαστεί προηγουμένως. Κατά τη διάρκεια της δοκιμής, η τεχνική που αναπτύχθηκε κατέστησε δυνατό τον ακριβή εντοπισμό 40 διαφορετικών περιβαλλόντων δοκιμής, προσδιορίζοντας τις εκδόσεις των χρησιμοποιούμενων προγραμμάτων περιήγησης, τον κατασκευαστή της CPU, το λειτουργικό σύστημα που χρησιμοποιήθηκε και το γεγονός ότι εκτελούνταν σε πραγματικό υλικό ή σε εικονική μηχανή .

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

Άλλες μέθοδοι αναγνώρισης περιλαμβάνουν τη λήψη υπόψη έμμεσων δεδομένων όπως ανάλυση οθόνης, λίστα υποστηριζόμενων τύπων MIME, επιλογές για συγκεκριμένες κεφαλίδες (HTTP / 2 и HTTPS), ανάλυση καθιερωμένων πρόσθετα και γραμματοσειρές, διαθεσιμότητα ορισμένων Web API ειδικά για κάρτες γραφικών χαρακτηριστικά απόδοση με χρήση WebGL και καμβάς, χειρισμός με CSS, ανάλυση των χαρακτηριστικών της εργασίας με ποντίκι и ένα πληκτρολόγιο.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο