Kasper, ένας σαρωτής συσκευής για κερδοσκοπικό κώδικα στον πυρήνα του Linux

Μια ομάδα από αποκάλυψαν ερευνητές από το Ελεύθερο Πανεπιστήμιο του Άμστερνταμ μέσω μιας ανάρτησης ιστολογίου ένα εργαλείο που ονομάζεται «Κάσπερ» που τονίζουν ότι είναι έχει σχεδιαστεί για να αναγνωρίζει αποσπάσματα κώδικα στον πυρήνα του Linux που μπορεί να χρησιμοποιηθεί για την εκμετάλλευση του Ευπάθειες κατηγορίας Spectre που προκαλείται από κερδοσκοπική εκτέλεση κώδικα από τον επεξεργαστή.

Για όσους δεν γνωρίζουν αυτού του είδους την επίθεση, θα πρέπει να το ξέρετε Τα τρωτά σημεία κλάσης όπως το Spectre v1 επιτρέπουν τον προσδιορισμό του περιεχομένου της μνήμης, απαιτείται ένα συγκεκριμένο σενάριο (gadget) στον προνομιακό κώδικα, που οδηγεί σε κερδοσκοπική εκτέλεση εντολών.

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

Εργαλεία σάρωσης gadget με βάση το μοτίβο προηγουμένως διαθέσιμο για ευπάθεια Spectre έδειξε πολύ υψηλό ποσοστό ψευδώς θετικών, ενώ πολλά πραγματικά gadget χάθηκαν (τα πειράματα έδειξαν ότι το 99% των gadget που εντοπίστηκαν από τέτοια εργαλεία δεν μπορούσαν να χρησιμοποιηθούν για επιθέσεις και το 33% των συσκευών που λειτουργούσαν δεν παρατηρήθηκαν ικανές να οδηγήσουν σε επίθεση).

Παρουσιάζουμε το Kasper, έναν μεταβατικό (ή υποθετικό) σαρωτή συσκευών εκτέλεσης. Χρησιμοποιεί πολιτικές ανάλυσης διαφθοράς για να μοντελοποιήσει έναν εισβολέα ικανό να εκμεταλλευτεί αυθαίρετα τρωτά σημεία λογισμικού/υλισμικού σε μια μεταβατική διαδρομή. 

Σχετικά με τον Kasper

Για βελτίωση της ποιότητας την αναγνώριση προβληματικών συσκευών, Η Kasper μοντελοποιεί τα τρωτά σημεία που μπορεί να χρησιμοποιήσει ένας εισβολέας σε κάθε βήμα επιθέσεων κλάσης Specter: τα προβλήματα μοντελοποιούνται ώστε να επιτρέπουν τον έλεγχο των δεδομένων (για παράδειγμα, αντικατάσταση δεδομένων εισβολέα σε δομές μικροαρχιτεκτονικής για να επηρεάσει την επακόλουθη κερδοσκοπική εκτέλεση) χρησιμοποιώντας επιθέσεις κλάσης LVI , αποκτά πρόσβαση σε ευαίσθητες πληροφορίες (για παράδειγμα, όταν Η προσωρινή μνήμη είναι εκτός ορίων ή η μνήμη χρησιμοποιείται μετά την απελευθέρωσή της) και διαρρέουν ευαίσθητες πληροφορίες (για παράδειγμα, αναλύοντας την κατάσταση της κρυφής μνήμης του επεξεργαστή ή χρησιμοποιώντας τη μέθοδο MDS ).

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

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

Ο Kasper επιχειρεί επίσης να μοντελοποιήσει διάφορες ευπάθειες λογισμικού και υλικού., αναλύει την επιρροή των αρχιτεκτονικών και μικροαρχιτεκτονικών εφέ και εκτελεί δοκιμές fuzzing πιθανών ενεργειών εισβολέα. Για την ανάλυση των ροών εκτέλεσης, χρησιμοποιείται η θύρα DataFlowSanitizer για τον πυρήνα του Linux και για δοκιμές fuzzing, μια τροποποιημένη έκδοση του πακέτου syzkaller.

Ως αποτέλεσμα, ο Kasper ανακάλυψε 1.379 προηγουμένως άγνωστες συσκευές στον πολύ σκληρυμένο πυρήνα του Linux. Επιβεβαιώσαμε τα ευρήματά μας επιδεικνύοντας μια ολοκληρωμένη απόδειξη της ιδέας για μία από τις συσκευές που βρέθηκαν.

Κατά τη σάρωση του πυρήνα του Linux με το Kasper, εντοπίστηκαν 1379 προηγουμένως άγνωστες συσκευές, που πιθανώς να οδηγήσουν σε διαρροή δεδομένων κατά τη διάρκεια της εικαστικής εκτέλεσης εντολών.

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

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό για τον Kasper, πρέπει να το ξέρεις τον πηγαίο κώδικα διανέμεται με την άδεια Apache 2.0.

πηγή: https://www.vusec.net


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

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

*

*

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