Δευτέρα, 22 Φεβρουαρίου, 02:15
Αρχική security Ένας White Hat hacker της Google εντόπισε νέα κατηγορία bug στα Windows

Ένας White Hat hacker της Google εντόπισε νέα κατηγορία bug στα Windows

Ο hacker του Google Project, ο James Forshaw, ανακάλυψε μια νέα κατηγορία αδυναμιών που βρίσκονται σε μερικούς από τους kernel mode drivers στα Windows που θα μπορούσαν να επιτρέψουν στους εισβολείς να κλιμακώσουν τα προνόμια. Τα ελαττώματα οφείλονται στην έλλειψη απαραίτητων ελέγχων κατά τη διεκπεραίωση συγκεκριμένων αιτημάτων.

Windows

Τα Windows χρησιμοποιούν τα πεδία PreviousMode για τη ρύθμιση του UserMode ή του KernelMode και, συνεπώς, καθορίζουν εάν τα επιχειρήματα της κλήσης προέρχονται από μια αξιόπιστη ή μη αξιόπιστη πηγή.

Ο μηχανισμός χρησιμοποιείται επίσης για τη δημιουργία και το άνοιγμα αρχείων, όπου ο κώδικας kernel mode μπορεί να επιλέξει από διάφορες λειτουργίες του API, συμπεριλαμβανομένων ορισμένων που οδηγούν στην εσωτερική λειτουργία του I / O Manager IopCreateFile.

Σε αυτήν την περίπτωση, το PreviousMode εκχωρείται σε μια συγκεκριμένη μεταβλητή για να καθορίσει εάν θα ελέγξει για έγκυρες παραμέτρους και buffer.

Το λειτουργικό σύστημα χρησιμοποιεί τη μεταβλητή επίσης για έλεγχο προνομίων στο αντικείμενο της συσκευής αν είναι UserMode. Η παράμετρος Options στο IopCreateFile εκτίθεται σε λειτουργίες API που θα μπορούσαν να χρησιμοποιηθούν μόνο από τη λειτουργία kernel για να ορίσετε ένα flag για να παρακάμψετε την AccessMode και να την ορίσετε στο KernelMode.

“Το IoCreateFile μπορεί να καλείται μόνο από τον κώδικα λειτουργίας του kernel και δεν υπάρχει μεταβατική περίοδος syscall, επομένως όλες οι κλήσεις θα χρησιμοποιήσουν όποια προηγούμενη λειτουργία έχει οριστεί στο thread. Αν το IoCreateFile κληθεί από ένα thread με προηγούμενη κατάσταση που έχει οριστεί στο UserMode, αυτό σημαίνει ότι θα γίνει SecAC και MemAC. ” διαβάζοντας την ανάλυση του white hat hacker.

“Η εφαρμογή του MemAC είναι ιδιαίτερα προβληματική, καθώς σημαίνει ότι το kernel mode δεν μπορεί να περάσει τους δείκτες του πυρήνα σε IoCreateFilewhich κάνοντας το API πολύ δύσκολο να το χρησιμοποιήσει. Ωστόσο, ο καλών του IoCreateFile δεν μπορεί απλώς να αλλάξει την προηγούμενη κατάσταση του thread σε KernelMode, καθώς τότε θα απενεργοποιηθεί το SecAC.”

Υπό συγκεκριμένες συνθήκες, αυτό σημαίνει ότι οι έλεγχοι πρόσβασης είναι αναγκασμένοι να συμβούν, επιτρέποντας στους drivers kernel mode να ανοίγουν ένα όνομα αντικειμένου που καθορίζεται από μια εφαρμογή λειτουργίας χρήστη.

Το Forshaw εξήγησε ότι ορισμένοι drivers που έχουν αποσταλεί με Windows που λειτουργούν σε kernel mode δεν πραγματοποίησαν όλους τους ελέγχους πρόσβασης κατά το χειρισμό συγκεκριμένων αιτημάτων (IRP_MJ_CREATE). Ο κώδικας λειτουργίας kernel mode θα μπορούσε να αναγκάσει τους ελέγχους πρόσβασης, ανοίγοντας την πόρτα σε κακόβουλη δραστηριότητα.

“Ο τύπος λειτουργίας που εκτελείται και οι συγκεκριμένες παράμετροι της λειτουργίας διαβιβάζονται στη δομή τοποθεσίας στοίβας IO που βρίσκεται αμέσως μετά τη δομή IRP”, συνεχίζει ο εμπειρογνώμονας. “Σε περίπτωση ανοίγματος ενός αρχείου, ο κύριος τύπος λειτουργίας είναι IRP_MJ_CREATE και χρησιμοποιεί το πεδίο Create union της δομής IO_STACK_LOCATION.”

Ένας εισβολέας που ελέγχει τα arguments ενός αρχείου δημιουργίας / ανοιχτής κλήσης θα μπορούσε να χρησιμοποιήσει αιτήματα που προέρχονται από τη λειτουργία χρήστη για να καταστραφεί το ζήτημα και να στείλει ένα αίτημα IRP_MJ_CREATE με έναν έλεγχο που έχει οριστεί στο KernelMode, με αυτόν τον τρόπο θα μπορούσε να αυξήσει τα προνόμια.

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

  1. Ένας αρχικός μηχανισμός λειτουργίας πυρήνα (ο οποίος καλεί το IoCreateFile ή το IoCreateFileEx) ο οποίος θέτει τα flag INPC και IFAC αλλά δεν ορίζει OFAC. Αυτό θα μπορούσε να είναι σε ένα πρόγραμμα οδήγησης ή στον ίδιο τον πυρήνα.
  2. Ένας ευάλωτος δέκτης ο οποίος χρησιμοποιεί το RequestorMode κατά τη διεκπεραίωση του IRP_MJ_CREATE για μια απόφαση ασφάλειας, αλλά δεν ελέγχει επίσης τα Flag για το SFAC.

“Ένας εισβολέας θα πρέπει να είναι σε θέση να κατευθύνει τον μυητή για να ανοίξει ένα αντικείμενο της συσκευής που χειρίζεται ο δέκτης. Ο έλεγχος ασφαλείας στον δέκτη παρακάμπτεται, επειδή το Irp-> RequestorMode θα είναι KernelMode, αλλά το flag SL_FORCE_ACCESS_CHECK δεν εξετάζεται. “Διαβάστε την ανάλυση που δημοσιεύεται από τη Microsoft.”

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

Η Microsoft θα λύσει το σφάλμα στις μελλοντικές εκδόσεις του λειτουργικού συστήματος Windows και εν τω μεταξύ σχεδιάζει να εφαρμόσει τις περισσότερες από τις ενημερώσεις κώδικα στα Windows 10 19H1.

“Για να συνοψίσουμε τις συνδυασμένες έρευνες του James και του MSRC, δεν φαινόταν να υπάρχει συνδυασμός μυητή και δέκτη που να υπάρχει στις τρέχουσες υποστηριζόμενες εκδόσεις των Windows που θα μπορούσαν να χρησιμοποιηθούν για την κλιμάκωση τοπικών προνομίων “out of the box”.

Παρ ‘όλα αυτά, επιλέξαμε να τις αντιμετωπίσουμε σε μελλοντικές εκδόσεις των Windows ως μέτρο άμυνας σε βάθος. Οι περισσότερες από αυτές τις ενημερώσεις κώδικα βρίσκονται σε εξέλιξη για κυκλοφορία στα Windows 10 19H1, με λίγους να κρατήθηκαν πίσω για περαιτέρω δοκιμές συμβατότητας και / ή επειδή το στοιχείο που υπάρχει και είναι απενεργοποιημένο από προεπιλογή ” καταλήγει η Microsoft.

“Υπάρχει κάποιος κίνδυνος οι drivers τρίτων μερών να είναι ευάλωτοι σε αυτήν την κατηγορία ευπάθειας και παροτρύνουμε όλους τους προγραμματιστές του kernel driver να αναθεωρήσουν τον κώδικα τους για να διασφαλίσουν τη σωστή επεξεργασία των αιτημάτων IRP και την αμυντική χρήση των API ανοιχτών αρχείων”

ΑΦΗΣΤΕ ΜΙΑ ΑΠΑΝΤΗΣΗ

Please enter your comment!
Please enter your name here

Teo Ehc
Teo Ehchttps://www.secnews.gr
Be the limited edition.

LIVE NEWS

Πως να πραγματοποιήσετε μια κλήση Facetime Audio

Έχετε κουραστεί από τις κλήσεις κινητής τηλεφωνίας χαμηλής ποιότητας; Χάρη στο FaceTime, μπορείτε να πραγματοποιείτε κλήσεις υψηλής ανάλυσης αν χρησιμοποιείτε iPhone, iPad,...

Πώς θα προσθέσετε ειδικά εφέ στα μηνύματα του Instagram

Γνωρίζατε ότι μπορείτε να κάνετε τα άμεσα μηνύματα του Instagram πιο εντυπωσιακά; Όπως κάθε άλλη δυνατότητα του Instagram, μπορείτε να προσθέσετε ειδικά...

Μόνο 270 διευθύνσεις είναι υπεύθυνες για το 55% του συνόλου της νομιμοποίησης εσόδων από παράνομες δραστηριότητες

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

Twitter: Έρχονται τα φωνητικά μηνύματα! Πώς θα τα στέλνουμε;

Το Twitter θα υποστηρίζει σύντομα φωνητικά μηνύματα τόσο στην iOS όσο και στην Android εφαρμογή. Αυτό σημαίνει ότι θα μπορείτε να στέλνετε...

Πως να συνδέσετε ακουστικά Bluetooth σε ένα Nintendo Switch

Το Nintendo Switch διαθέτει υποδοχή ακουστικών. Ωστόσο, τα περισσότερα ακουστικά έχουν γίνει ασύρματα οπότε θα χρειαστείτε έναν τρόπο για να συνδέσετε αυτά...

Πώς να αποκρύψετε τον αριθμό τηλεφώνου σας στο Telegram

Εάν επιθυμείτε να δημιουργήσετε ένα λογαριασμό Telegram, πρέπει να δώσετε τον αριθμό τηλεφώνου σας. Με αυτό τον τρόπο, το Telegram επικυρώνει την...

Google Assistant: Πώς μπορείτε να διαγράψετε τις ηχογραφήσεις σας;

Το Google Assistant μπορεί να σας διευκολύνει πολύ στην καθημερινότητά σας. Ωστόσο, συνεπάγεται και κάποια ζητήματα ως προς το απόρρητο, καθώς όσα...

Microsoft: Office 2021 / Office LTSC έρχονται το δεύτερο εξάμηνο του 2021

Η Microsoft ανακοίνωσε ότι θα κυκλοφορήσει μέσα στο 2021 το Microsoft Office Long Term Servicing Channel (LTSC) και το Office 2021, για...

Πώς να δημιουργήσετε με γρήγορο τρόπο QR codes με το Bing

Αν χρειαστεί ποτέ να δημιουργήσετε έναν QR code, αλλά δεν ξέρετε πως, η Microsoft διαθέτει ένα εύχρηστο εργαλείο διαθέσιμο σε οποιοδήποτε πρόγραμμα...

Brave: Διέρρευσαν διευθύνσεις onion σε DNS traffic

Η λειτουργία Tor που περιλαμβάνεται στον Brave web browser, επιτρέπει στους χρήστες να έχουν πρόσβαση σε .onion dark web domains μέσα σε...