BeyondTrust. Εφαρμογή βέλτιστων πρακτικών Ελέγχου Λογαριασμού Χρήστη (UAC) με τη Διαχείριση Προνομιακής Πρόσβασης σε Τερματικά
Ο Έλεγχος Λογαριασμού Χρήστη (UAC) είναι ένα χαρακτηριστικό ασφαλείας στο λειτουργικό σύστημα Windows που σχεδιάστηκε για τον μετριασμό του αντικτύπου σε περίπτωση μόλυνσης με κακόβουλο λογισμικό ή στην περίπτωση μη εξουσιοδοτημένων αλλαγών στο σύστημα. Όλοι οι χρήστες των Windows έχουν σε κάποια φάση ενεργοποιήσει ένα UAC prompt. Οι εργασίες που ενδέχεται να ενεργοποιήσουν ένα UAC prompt περιλαμβάνουν την προσπάθεια εγκατάστασης ενός προγράμματος ή την πραγματοποίηση κάποιας αλλαγής σε μία ρύθμιση του λειτουργικού συστήματος που απαιτεί δικαιώματα διαχειριστή. Το UAC prompt (αίτημα UAC) είναι μία εντολή αναδυόμενου παραθύρου που ζητά από τον χρήστη να εγκρίνει/επιβεβαιώσει ότι θέλει πράγματι να γίνει η εγκατάσταση (του προγράμματος) ή η αλλαγή (στις ρυθμίσεις).
Τα Windows Vista εισήγαγαν το UAC prompt για να βελτιώσουν τις προκλήσεις ασφαλείας με τις οποίες ήρθαν αντιμέτωποι οι χρήστες των Windows XP. Το αίτημα UAC δεν έχει αλλάξει σημαντικά από τότε, εκτός από ορισμένες οπτικές βελτιώσεις που έγιναν στα Windows 10.
Γιατί υπάρχει ανάγκη για το UAC;
Όταν πραγματοποιείται η εκκίνηση μίας εφαρμογής στα Windows, γίνεται και εκχώρηση ενός διακριτικού/τεκμηρίου (token) πρόσβασης. Αυτό το διακριτικό καθορίζει τα προνόμια και την πρόσβαση για την εφαρμογή. Η αρχή πίσω από το UAC στα Windows είναι να παρέχονται στους τοπικούς διαχειριστές δύο διακριτικά, ένα τυπικού χρήστη και ένα διαχειριστή.
Αρχικά, εκδίδεται μόνο ένα τυπικό διακριτικό. Όταν ωστόσο μία εφαρμογή από προεπιλογή ζητά συγκεκριμένα ένα διακριτικό διαχειριστή, τότε ενεργοποιεί την εμφάνιση ενός μηνύματος UAC prompt. Αν ο χρήστης επιλέξει «ναι» στο UAC prompt για να προχωρήσει στην εκτέλεση του αιτήματός, τότε εκδίδεται ένα διακριτικό διαχειριστή. Στη συνέχεια, το διακριτικό διαχειριστή επιτρέπει στην εφαρμογή να εκτελεστεί με υψηλό επίπεδο προνομίων.
Ένα διακριτικό διαχειριστή είναι σαν ένα πάσο «πρόσβασης σε όλες τις περιοχές» που επιτρέπει στην εφαρμογή να κάνει σχεδόν τα πάντα στο σύστημα. Έτσι, όταν μια εφαρμογή με διακριτικό διαχειριστή παραβιάζεται, ένας εισβολέας μπορεί να προκαλέσει σημαντική ζημιά.
Η εισαγωγή του βήματος UAC βοηθά στην ελαχιστοποίηση του αριθμού των εφαρμογών που εκτελούνται με διακριτικά διαχειριστή και που μπορεί να εκμεταλλευτεί ένας εισβολέας. Επιπλέον, ο έλεγχος λογαριασμού χρήστη μειώνει τον κίνδυνο να αποκτήσει ένας εισβολέας το διακριτικό διαχειριστή χωρίς να ενεργοποιήσει ένα μήνυμα προς έγκριση από τον χρήστη.
Δεδομένου ότι η πλειονότητα των εφαρμογών δεν χρειάζεται διακριτικό διαχειριστή για να λειτουργήσει, οι χρήστες δεν βομβαρδίζονται με αναδυόμενα παράθυρα. Έτσι, φαίνεται να έχουμε ένα αποτελεσματικό χαρακτηριστικό ασφαλείας. Περιμένετε όμως γιατί έχουμε πολλά ακόμη να πούμε.
Προτού μεταβείτε στην αρχή του άρθρου για να ελέγξετε αν αντιφάσκουμε, είπαμε ότι ο Έλεγχος Λογαριασμού Χρήστη στα Windows είναι ένα χαρακτηριστικό ασφαλείας και όχι κάποιος περιορισμός. Η Microsoft μάλιστα περιγράφει το χαρακτηριστικό UAC ως «θεμελιώδες στοιχείο του συνολικού οράματος ασφαλείας της». Αν και πολλοί εξακολουθούν να χαρακτηρίζουν ή να περιγράφουν το χαρακτηριστικό UAC ως έναν περιορισμό ασφαλείας, σε τεχνικό επίπεδο, δεν είναι.
Με την πάροδο των ετών, πολλοί ερευνητές ασφάλειας και παράγοντες απειλών έχουν καταφέρει με επιτυχία να βρουν τρόπους να λειτουργούν τα εργαλεία τους χωρίς να ενεργοποιούν κάποιο UAC prompt. Όταν οι συγκεκριμένες τακτικές αναφέρθηκαν στο πρόγραμμα επιβράβευσης σφαλμάτων (bug bounty program) της Microsoft, η απάντηση της εταιρείας ήταν «το UAC δεν αποτελεί περιορισμός ή όριο ασφαλείας».
Η Microsoft δεν θέλει οι δικές της εφαρμογές να ενεργοποιούν πολλά αναδυόμενα παράθυρα με UAC prompts. Έτσι, η Microsoft δημιούργησε έναν μηχανισμό ώστε οι εφαρμογές που είναι εμπιστοσύνης να αποφεύγουν την ενεργοποίηση του UAC prompt. Αυτό που είναι μειονέκτημα σε επίπεδο ασφάλειας στη συγκεκριμένη περίπτωση είναι ότι οι αξιόπιστες εφαρμογές μπορούν στη συνέχεια να πέσουν θύματα εκμετάλλευσης ή να αξιοποιηθούν για την παράκαμψη του UAC.
Επειδή το UAC δεν θεωρείται περιορισμός ασφαλείας, τέτοιες τεχνικές παράκαμψης δεν αντιμετωπίζονται ως σφάλματα και δεν διορθώνονται. Τη στιγμή της σύνταξης αυτού του άρθρου, το πρότζεκτ UACME (https://github.com/hfiref0x/UACME) παραθέτει 76 διαφορετικές τεχνικές παράκαμψης του UAC. Πολλές από αυτές τις τεχνικές παράκαμψης χρησιμοποιούνται ενεργώς σε κακόβουλο λογισμικό με στόχο την σιωπηρή κλιμάκωση των προνομίων σε ένα τερματικό (endpoint) με Windows. Υπάρχουν πολύ περισσότερες τεχνικές παράκαμψης -οι 76 που αναφέρονται στην παραπάνω ιστοσελίδα απλώς αντιπροσωπεύουν τις περισσότερο διαδεδομένες.
Το παραπάνω δημιουργεί μία δύσκολη κατάσταση, καθώς οι τελικοί χρήστες χρειάζονται διακριτικά διαχειριστή για να εκτελέσουν κοινές δραστηριότητες, όπως είναι η εγκατάσταση λογισμικού, η εγκατάσταση εκτυπωτών και η αλλαγή στις ρυθμίσεις. Αν καταργήσετε τα δικαιώματα διαχειριστή τοπικά, οι τελικοί χρήστες θα είναι ασφαλείς, αν και λιγότερο παραγωγικοί. Επιπλέον, οι χρήστες μπορεί να περνούν όλη την ημέρα δημιουργώντας help desk tickets. Εναλλακτικά, αν προχωρήσετε στην παραχώρηση δικαιωμάτων διαχειριστή σε τοπικό επίπεδο, τότε ένας παράγοντας απειλής μπορεί να παρακάμψει τον μηχανισμό ασφαλείας UAC του λειτουργικού συστήματος και να χρησιμοποιήσει τα δικαιώματα διαχειριστή εναντίον σας.
Ευτυχώς, τα σύγχρονα εργαλεία Endpoint Privilege Management όπως είναι το Privilege Management για Windows της BeyondTrust αντιμετωπίζουν αποτελεσματικά αυτήν την πρόκληση και πολλά άλλα. Η λύση της BeyondTrust σάς επιτρέπει να αφαιρέσετε αμέσως τα δικαιώματα διαχειριστή σε τοπικό επίπεδο από όλους τους χρήστες, γεγονός που μειώνει σημαντικά την επιφάνεια επίθεσης. Η διαχείριση προνομίων για Windows παρεμποδίζει τα αιτήματα UAC και κλιμάκωσης (των προνομίων) και κλιμακώνει απρόσκοπτα μόνο τις εφαρμογές που χρειάζονται οι χρήστες σας για να κάνουν τη δουλειά τους βάσει πολιτικής.
Για γνωστές και αξιόπιστες εφαρμογές, μπορείτε να χρησιμοποιήσετε απλούς κανόνες πολιτικής ή έτοιμα πρότυπα πολιτικών (out-of-the-box) για την απρόσκοπτη εκκίνηση αυτών των εφαρμογών χωρίς να χρειάζεται να προχωρήσετε σε σχετικό αίτημα για τον χρήστη. Στη συνέχεια, για άγνωστες εφαρμογές ή εργασίες, μπορείτε να ζητήσετε από τον χρήστη να αιτιολογήσει γιατί χρειάζεται μια συγκεκριμένη εφαρμογή, να εκτελέσετε ελέγχους φήμης, να επαληθεύσετε τον εκδότη της εφαρμογής ή να ενεργοποιήσετε εκτεταμένο έλεγχο ταυτότητας μέσω MFA για να διασφαλίσετε ότι τόσο η εφαρμογή όσο και ο χρήστης είναι αυτοί που λένε ότι είναι.
Το Privilege Management για Windows παρέχει πρότυπα Γρήγορης Εκκίνησης που διευκολύνουν πρακτικά τους οργανισμούς να αντιμετωπίζουν κοινότυπες περιπτώσεις χρήσης πολιτικής ελάχιστου προνομίου από την 1η μέρα, επιτρέποντας τους να κάνουν γρήγορα άλματα για την ελαχιστοποίηση του κινδύνου. Επιπλέον, τα προσαρμοσμένα διακριτικά πρόσβασης σας επιτρέπουν να εκχωρείτε δικαιώματα σε κοκκώδες/ αναλυτικό επίπεδο για να διασφαλίσετε ότι κανένας χρήστης ή εφαρμογή δεν έχει υπερβολικά προνόμια.
Μην πέσετε στη παγίδα να εκθέσετε υπερβολικά τον οργανισμό σας στον κίνδυνο των υπερβολικά προνομιούχων τοπικών διαχειριστών ή να παρεμποδίσετε την παραγωγικότητα των χρηστών σας επειδή δεν διαθέτουν τα απαραίτητα προνόμια. Βρείτε την ισορροπία μεταξύ της ασφάλειας και παραγωγικότητας, ακολουθήστε τις βέλτιστες πρακτικές ασφάλειας και, το πιο σημαντικό, δημιουργήστε μια ασφαλή βάση που εμποδίζει τους εισβολείς να αποκτήσουν προνομιακή πρόσβαση στα συστήματα σας.
Endpoint Privilege Management | BeyondTrust
Μάθετε περισσότερα για το Endpoint Privilege Management της BeyondTrust.
Πηγή: BeyondTrust