macOS SIP
WhiteIntel είναι ένας κινητήρας αναζήτησης που τροφοδοτείται από το dark web και προσφέρει δωρεάν λειτουργίες για να ελέγξετε αν μια εταιρεία ή οι πελάτες της έχουν διαρρεύσει από κλέφτες κακόβουλων λογισμικών.
Ο κύριος στόχος του WhiteIntel είναι η καταπολέμηση των αναλήψεων λογαριασμών και των επιθέσεων ransomware που προκύπτουν από κακόβουλα λογισμικά που κλέβουν πληροφορίες.
Μπορείτε να ελέγξετε την ιστοσελίδα τους και να δοκιμάσετε τον κινητήρα τους δωρεάν στο:
Βασικές Πληροφορίες
Η Προστασία Ακεραιότητας Συστήματος (SIP) στο macOS είναι ένας μηχανισμός σχεδιασμένος για να αποτρέψει ακόμα και τους πιο προνομιούχους χρήστες από το να κάνουν μη εξουσιοδοτημένες αλλαγές σε βασικούς φακέλους του συστήματος. Αυτό το χαρακτηριστικό παίζει έναν κρίσιμο ρόλο στη διατήρηση της ακεραιότητας του συστήματος περιορίζοντας ενέργειες όπως προσθήκη, τροποποίηση ή διαγραφή αρχείων σε προστατευμένες περιοχές. Οι κύριοι φάκελοι που προστατεύονται από το SIP περιλαμβάνουν:
/System
/bin
/sbin
/usr
Οι κανόνες που διέπουν τη συμπεριφορά του SIP ορίζονται στο αρχείο ρυθμίσεων που βρίσκεται στη διαδρομή /System/Library/Sandbox/rootless.conf
. Μέσα σε αυτό το αρχείο, οι διαδρομές που προηγούνται από ένα αστερίσκο (*) χαρακτηρίζονται ως εξαιρέσεις από τους αυστηρούς περιορισμούς του SIP.
Λάβετε υπόψη το παρακάτω παράδειγμα:
Αυτό το απόσπασμα υπονοεί ότι ενώ το SIP ασφαλίζει γενικά τον κατάλογο /usr
, υπάρχουν συγκεκριμένοι υποκατάλογοι (/usr/libexec/cups
, /usr/local
, και /usr/share/man
) όπου οι τροποποιήσεις επιτρέπονται, όπως υποδεικνύεται από τον αστερίσκο (*) που προηγείται των διαδρομών τους.
Για να επαληθεύσετε εάν ένας κατάλογος ή ένα αρχείο προστατεύεται από το SIP, μπορείτε να χρησιμοποιήσετε την εντολή ls -lOd
για να ελέγξετε την παρουσία της σημαίας restricted
ή sunlnk
. Για παράδειγμα:
Σε αυτήν την περίπτωση, η σημαία sunlnk
υποδηλώνει ότι το ίδιο το φάκελο /usr/libexec/cups
δεν μπορεί να διαγραφεί, αν και τα αρχεία μέσα σε αυτόν μπορούν να δημιουργηθούν, τροποποιηθούν ή διαγραφούν.
Από την άλλη:
Εδώ, η restricted
σημαία υποδεικνύει ότι το φάκελο /usr/libexec
προστατεύεται από το SIP. Σε έναν φάκελο που προστατεύεται από το SIP, τα αρχεία δεν μπορούν να δημιουργηθούν, να τροποποιηθούν ή να διαγραφούν.
Επιπλέον, αν ένα αρχείο περιέχει το χαρακτηριστικό com.apple.rootless
επεκταμένο χαρακτηριστικό, αυτό το αρχείο θα προστατεύεται επίσης από το SIP.
Το SIP περιορίζει επίσης άλλες ενέργειες ριζικού χρήστη όπως:
Φόρτωση μη έμπιστων επεκτάσεων πυρήνα
Λήψη task-ports για διεργασίες που έχουν υπογραφεί από την Apple
Τροποποίηση μεταβλητών NVRAM
Επιτροπή πυρήνα εντοπισμού σφαλμάτων
Οι επιλογές διατηρούνται στη μεταβλητή nvram ως bitflag (csr-active-config
στο Intel και lp-sip0
διαβάζεται από τον εκκινούμενο Device Tree για ARM). Μπορείτε να βρείτε τις σημαίες στον πηγαίο κώδικα XNU στο csr.sh
:
Κατάσταση SIP
Μπορείτε να ελέγξετε εάν το SIP είναι ενεργοποιημένο στο σύστημά σας με την ακόλουθη εντολή:
Εάν χρειάζεται να απενεργοποιήσετε το SIP, πρέπει να επανεκκινήσετε τον υπολογιστή σας σε λειτουργία ανάκαμψης (πατώντας Command+R κατά την εκκίνηση), και στη συνέχεια να εκτελέσετε την ακόλουθη εντολή:
Αν επιθυμείτε να διατηρήσετε ενεργοποιημένο το SIP αλλά να αφαιρέσετε τις προστασίες από αποσφαλμάτωση, μπορείτε να το κάνετε με:
Άλλοι Περιορισμοί
Απαγορεύει τη φόρτωση μη υπογεγραμμένων επεκτάσεων πυρήνα (kexts), εξασφαλίζοντας ότι μόνο επαληθευμένες επεκτάσεις αλληλεπιδρούν με τον πυρήνα του συστήματος.
Αποτρέπει την εντοπισμό των διαδικασιών του συστήματος macOS, προστατεύοντας τα βασικά στοιχεία του συστήματος από μη εξουσιοδοτημένη πρόσβαση και τροποποίηση.
Αναστέλλει εργαλεία όπως το dtrace από τον έλεγχο των διαδικασιών του συστήματος, προστατεύοντας περαιτέρω την ακεραιότητα της λειτουργίας του συστήματος.
Μάθετε περισσότερα για τις πληροφορίες του SIP σε αυτήν την ομιλία.
Παρακάμψεις SIP
Η παράκαμψη του SIP επιτρέπει σε έναν εισβολέα να:
Αποκτήσει πρόσβαση σε Δεδομένα Χρήστη: Διαβάσει ευαίσθητα δεδομένα χρήστη όπως email, μηνύματα και ιστορικό Safari από όλους τους λογαριασμούς χρηστών.
Παράκαμψη TCC: Να ελέγξει απευθείας τη βάση δεδομένων TCC (Διαφάνεια, Συγκατάθεση και Έλεγχος) για να χορηγήσει μη εξουσιοδοτημένη πρόσβαση στην κάμερα, το μικρόφωνο και άλλους πόρους.
Δημιουργία Μόνιμης Παρουσίας: Τοποθετήσει κακόβουλο λογισμικό σε τοποθεσίες που προστατεύονται από το SIP, καθιστώντας το ανθεκτικό στην αφαίρεση, ακόμη και από δικαιώματα ρίζας. Αυτό περιλαμβάνει επίσης τη δυνατότητα να παραβιάσει το Εργαλείο Αφαίρεσης Κακόβουλου Λογισμικού (MRT).
Φόρτωση Επεκτάσεων Πυρήνα: Παρόλο που υπάρχουν επιπλέον μέτρα προστασίας, η παράκαμψη του SIP απλοποιεί τη διαδικασία φόρτωσης μη υπογεγραμμένων επεκτάσεων πυρήνα.
Πακέτα Εγκατάστασης
Τα πακέτα εγκατάστασης που έχουν υπογραφεί με το πιστοποιητικό της Apple μπορούν να παρακάμψουν τις προστασίες του SIP. Αυτό σημαίνει ότι ακόμη και τα πακέτα που έχουν υπογραφεί από τυπικούς προγραμματιστές θα αποκλειστούν αν προσπαθήσουν να τροποποιήσουν καταλόγους που προστατεύονται από το SIP.
Ανύπαρκτο Αρχείο SIP
Ένα πιθανό κενό είναι ότι αν ένα αρχείο καθορίζεται στο rootless.conf
αλλά δεν υπάρχει προς το παρόν, μπορεί να δημιουργηθεί. Το κακόβουλο λογισμικό θα μπορούσε να εκμεταλλευτεί αυτό για να δημιουργήσει μόνιμη παρουσία στο σύστημα. Για παράδειγμα, ένα κακόβουλο πρόγραμμα θα μπορούσε να δημιουργήσει ένα αρχείο .plist στο /System/Library/LaunchDaemons
αν αυτό αναφέρεται στο rootless.conf
αλλά δεν υπάρχει.
com.apple.rootless.install.heritable
Η επιτροπή com.apple.rootless.install.heritable
επιτρέπει την παράκαμψη του SIP
Shrootless
Ερευνητές από αυτήν την ανάρτηση στο blog ανακάλυψαν μια ευπάθεια στο μηχανισμό Προστασίας Ακεραιότητας Συστήματος (SIP) του macOS, με την ονομασία 'Shrootless' ευπάθεια. Αυτή η ευπάθεια εστιάζεται στον δαίμονα system_installd
, ο οποίος έχει μια επιτροπή, com.apple.rootless.install.heritable
, που επιτρέπει σε οποιαδήποτε από τις υποδιεργασίες του να παρακάμψει τους περιορισμούς του SIP στο σύστημα αρχείων.
Ο δαίμονας system_installd
θα εγκαταστήσει πακέτα που έχουν υπογραφεί από την Apple.
Οι ερευνητές ανέφεραν ότι κατά την εγκατάσταση ενός πακέτου που έχει υπογραφεί από την Apple (.pkg αρχείο), ο system_installd
εκτελεί οποιαδήποτε post-install scripts περιλαμβάνονται στο πακέτο. Αυτά τα scripts εκτελούνται από το προεπιλεγμένο κέλυφος, zsh
, το οποίο αυτόματα εκτελεί εντολές από το αρχείο /etc/zshenv
, αν υπάρχει, ακόμη και σε μη διαδραστική λειτουργία. Αυτή η συμπεριφορά θα μπορούσε να εκμεταλλευτεί από εισβολείς: δημιουργώντας ένα κακόβουλο αρχείο /etc/zshenv
και περιμένοντας τον system_installd
να καλέσει το zsh
, θα μπορούσαν να εκτελέσουν αυθαίρετες λειτουργίες στη συσκευή.
Επιπλέον, ανακαλύφθηκε ότι το /etc/zshenv
θα μπορούσε να χρησιμοποιηθεί ως γενική τεχνική επίθεσης, όχι μόνο για παράκαμψη του SIP. Κάθε προφίλ χρήστη έχει ένα αρχείο ~/.zshenv
, το οποίο λειτουργεί με τον ίδιο τρόπο με το /etc/zshenv
αλλά δεν απαιτεί δικαιώματα ρίζας. Αυτό το αρχείο θα μπορούσε να χρησιμοποιηθεί ως μηχανισμός μόνιμης παρουσίας, ενεργοποιώντας κάθε φορά που ξεκινά η zsh
, ή ως μηχανισμός ανύψωσης προνομίων. Αν ένας διαχειριστής χρήστη αναβαθμίζει σε ρίζα χρησιμοποιώντας sudo -s
ή sudo <εντολή>
, το αρχείο ~/.zshenv
θα ενεργοποιηθεί, ανεβάζοντας αποτελεσματικά σε ρίζα.
Στο CVE-2022-22583 ανακαλύφθηκε ότι ο ίδιος διακομιστής system_installd
μπορούσε να καταχραστεί επειδή έβαζε το post-install script μέσα σε ένα φάκελο με τυχαίο όνομα που προστατευόταν από το SIP μέσα στο /tmp
. Το θέμα είναι ότι το /tmp
δεν προστατεύεται από το SIP, οπότε ήταν δυνατό να προσαρτηθεί ένα εικονικό εικονίδιο επάνω του, στη συνέχεια ο εγκαταστάτης θα έβαζε εκεί το post-install script, αποσυναρμολογούσε το εικονίδιο, αναδημιουργούσε όλους τους φακέλους και πρόσθετε το script με το payload προς εκτέλεση.
Αναγνωρίστηκε μια ευπάθεια όπου το fsck_cs
παραπλανήθηκε να καταστρέψει ένα κρίσιμο αρχείο, λόγω της ικανότητάς του να ακολουθεί συμβολικούς συνδέσμους. Συγκεκριμένα, οι εισβολείς δημιούργησαν ένα σύνδεσμο
Η εκμετάλλευση αυτής της ευπάθειας έχει σοβαρές επιπτώσεις. Το αρχείο Info.plist
, που είναι υπεύθυνο για τη διαχείριση των δικαιωμάτων για τις πυρήνα επεκτάσεις, γίνεται αναποτελεσματικό. Αυτό περιλαμβάνει την αδυναμία μαύρης λίστας ορισμένων επεκτάσεων, όπως η AppleHWAccess.kext
. Ως αποτέλεσμα, με το μηχανισμό ελέγχου του SIP να είναι εκτός λειτουργίας, αυτή η επέκταση μπορεί να φορτωθεί, παρέχοντας μη εξουσιοδοτημένη πρόσβαση ανάγνωσης και εγγραφής στη RAM του συστήματος.
Ήταν δυνατό να τοποθετηθεί ένα νέο σύστημα αρχείων πάνω από τους φακέλους που προστατεύονται από το SIP για να παρακάμψει την προστασία.
Το σύστημα έχει ρυθμιστεί να εκκινεί από ένα ενσωματωμένο δισκίο εγκατάστασης μέσα στο Install macOS Sierra.app
για να αναβαθμίσει το λειτουργικό σύστημα, χρησιμοποιώντας το εργαλείο bless
. Η εντολή που χρησιμοποιείται είναι η ακόλουθη:
Η ασφάλεια αυτής της διαδικασίας μπορεί να διακυβευτεί εάν ένας εισβολέας τροποποιήσει την εικόνα αναβάθμισης (InstallESD.dmg
) πριν την εκκίνηση. Η στρατηγική περιλαμβάνει την αντικατάσταση ενός δυναμικού φορτωτή (dyld) με μια κακόβουλη έκδοση (libBaseIA.dylib
). Αυτή η αντικατάσταση οδηγεί στην εκτέλεση του κώδικα του εισβολέα όταν ξεκινά ο εγκαταστάτης.
Ο κώδικας του εισβολέα αποκτά έλεγχο κατά τη διάρκεια της διαδικασίας αναβάθμισης, εκμεταλλευόμενος την εμπιστοσύνη του συστήματος στον εγκαταστάτη. Η επίθεση συνεχίζεται με την τροποποίηση της εικόνας InstallESD.dmg
μέσω της μεθόδου swizzling, εστιάζοντας ιδιαίτερα στη μέθοδο extractBootBits
. Αυτό επιτρέπει την εισαγωγή κακόβουλου κώδικα πριν από τη χρήση της εικόνας δίσκου.
Επιπλέον, μέσα στο InstallESD.dmg
, υπάρχει ένα BaseSystem.dmg
, το οποίο λειτουργεί ως ριζικό σύστημα αρχείων αναβάθμισης. Η εισαγωγή ενός δυναμικού βιβλιοθήκης σε αυτό επιτρέπει στον κακόβουλο κώδικα να λειτουργεί μέσα σε ένα διεργασία ικανή να τροποποιήσει αρχεία σε επίπεδο λειτουργικού συστήματος, αυξάνοντας σημαντικά τη δυνατότητα για διακύβευση του συστήματος.
Σε αυτήν την ομιλία από το DEF CON 31, δείχνεται πώς το systemmigrationd
(το οποίο μπορεί να παρακάμψει το SIP) εκτελεί ένα bash και ένα σενάριο perl, τα οποία μπορούν να καταχραστούνται μέσω των μεταβλητών περιβάλλοντος BASH_ENV
και PERL5OPT
.
com.apple.rootless.install
Η εξουσία com.apple.rootless.install
επιτρέπει την παράκαμψη του SIP
Η εξουσία com.apple.rootless.install
είναι γνωστή για την παράκαμψη της Προστασίας Ακεραιότητας Συστήματος (SIP) στο macOS. Αυτό αναφέρθηκε ιδιαίτερα σε σχέση με το CVE-2022-26712.
Σε αυτήν τη συγκεκριμένη περίπτωση, η υπηρεσία XPC του συστήματος που βρίσκεται στο /System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc
διαθέτει αυτήν την εξουσία. Αυτό επιτρέπει στη σχετική διαδικασία να παρακάμψει τους περιορισμούς του SIP. Επιπλέον, αυτή η υπηρεσία παρουσιάζει μια μέθοδο που επιτρέπει τη μετακίνηση αρχείων χωρίς την εφαρμογή οποιωνδήποτε μέτρων ασφαλείας.
Σφραγισμένα Στιγμιότυπα Συστήματος
Τα Σφραγισμένα Στιγμιότυπα Συστήματος είναι μια λειτουργία που εισήγαγε η Apple στο macOS Big Sur (macOS 11) ως μέρος του μηχανισμού της Προστασίας Ακεραιότητας Συστήματος (SIP) για να παρέχει ένα επιπλέον επίπεδο ασφάλειας και σταθερότητας συστήματος. Ουσιαστικά είναι αναγνώσιμες μόνο εκδόσεις του όγκου του συστήματος.
Εδώ υπάρχει μια πιο λεπτομερής ματιά:
Αμετάβλητο Σύστημα: Τα Σφραγισμένα Στιγμιότυπα Συστήματος καθιστούν τον όγκο του συστήματος macOS "αμετάβλητο", πράγμα που σημαίνει ότι δεν μπορεί να τροποποιηθεί. Αυτό εμποδίζει οποιεσδήποτε μη εξουσιοδοτημένες ή ατύχητες αλλαγές στο σύστημα που θα μπορούσαν να διακυβεύσουν την ασφάλεια ή τη σταθερότητα του συστήματος.
Ενημερώσεις Λογισμικού Συστήματος: Όταν εγκαθιστάτε ενημερώσεις ή αναβαθμίσεις macOS, το macOS δημιουργεί ένα νέο στιγμιότυπο συστήματος. Ο όγκος εκκίνησης του macOS χρησιμοποιεί στη συνέχεια το APFS (Apple File System) για να μεταβεί σε αυτό το νέο στιγμιότυπο. Ολόκληρη η διαδικασία εφαρμογής ενημερώσεων γίνεται πιο ασφαλής και αξιόπιστη καθώς το σύστημα μπορεί πάντα να επανέλθει στο προηγούμενο στιγμιότυπο αν κάτι πάει στραβά κατά τη διάρκεια της ενημέρωσης.
Διαχωρισμός Δεδομένων: Σε συνδυασμό με την έννοια του διαχωρισμού όγκου Δεδομένων και Συστήματος που εισήγαγε το macOS Catalina, η λειτουργία Σφραγισμένων Στιγμιοτύπων Συστήματος βεβαιώνει ότι όλα τα δεδομένα και οι ρυθμίσεις σας αποθηκεύονται σε έναν ξεχωριστό όγκο "Δεδομένων". Αυτός ο διαχωρισμός κάνει τα δεδομένα σας ανεξάρτητα από το σύστημα, το οποίο απλοποιεί τη διαδικασία ενημέρωσης του συστήματος και ενισχύει την ασφάλεια του συστήματος.
Θυμηθείτε ότι αυτά τα στιγμιότυπα διαχειρίζονται αυτόματα από το macOS και δεν καταλαμβάνουν επιπλέον χώρο στο δίσκο σας, χάρη στις δυνατότητες κοινής χρήσης χώρου του APFS. Είναι επίσης σημαντικό να σημειωθεί ότι αυτά τα στιγμιότυπα διαφέρουν από τα στιγμιότυπα Time Machine, τα οποία είναι διαθέσιμα για τον χρήστη ως αντίγραφα ασφαλείας ολόκληρου του συστήματος.
Έλεγχος Στιγμιοτύπων
Η εντολή diskutil apfs list
εμφανίζει τις λεπτομέρειες των όγκων APFS και τη διάταξή τους:
Last updated