Ένας μηχανισμός απομόνωσης παρόμοιος με το plegde αναπτύσσεται στο FreeBSD

Έγινε γνωστό ότι έχει προταθεί υλοποίηση ένα μηχανισμός απομόνωσης εφαρμογών για το FreeBSD, που θυμίζει τις κλήσεις συστήματος fold and unveil που αναπτύχθηκαν από το έργο OpenBSD.

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

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

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

Ο συγγραφέας της θύρας fold and discover για το FreeBSD προορίζεται να παρέχει τη δυνατότητα απομόνωσης αυθαίρετων εφαρμογών, για το οποίο προτείνεται το βοηθητικό πρόγραμμα κουρτίνας, το οποίο επιτρέπει την εφαρμογή κανόνων που ορίζονται σε ξεχωριστό αρχείο σε εφαρμογές. Η προτεινόμενη διαμόρφωση περιλαμβάνει ένα αρχείο με βασικές ρυθμίσεις που ορίζουν τις κατηγορίες κλήσεων συστήματος και τυπικές διαδρομές αρχείων που αφορούν συγκεκριμένες εφαρμογές (εργασία με ήχο, δίκτυα, καταγραφή κ.λπ.), καθώς και ένα αρχείο με κανόνες πρόσβασης για συγκεκριμένες εφαρμογές.

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

επίσης είναι δυνατό να οργανωθεί ένθετη απομόνωση, όταν εκκινούνται οι εφαρμογές κληρονομούν τους κανόνες που ορίζονται από τη μητρική εφαρμογή, συμπληρώνοντάς τα με ξεχωριστούς περιορισμούς. Ορισμένες λειτουργίες του πυρήνα (εργαλεία εντοπισμού σφαλμάτων, POSIX/SysV IPC, PTY) προστατεύονται επιπλέον από έναν μηχανισμό φραγμού που εμποδίζει την πρόσβαση σε αντικείμενα του πυρήνα που δημιουργούνται από διεργασίες διαφορετικές από την τρέχουσα ή τη γονική διεργασία.

Μια διεργασία μπορεί να διαμορφώσει τη δική της απομόνωση καλώντας το curtainctl ή χρησιμοποιώντας τις συναρτήσεις plegde() και unveil() που παρέχονται από τη βιβλιοθήκη libcurtain, παρόμοια με του OpenBSD. Το sysctl 'security.curtain.log_level' παρέχεται για την παρακολούθηση κλειδαριών ενώ εκτελείται η εφαρμογή.

Η πρόσβαση στα πρωτόκολλα X11 και Wayland είναι ενεργοποιημένη ξεχωριστά, καθορίζοντας τις επιλογές "-X"/"-Y" και "-W" κατά την εκκίνηση της κουρτίνας, αλλά η υποστήριξη για εφαρμογές γραφικών δεν έχει ακόμη σταθεροποιηθεί επαρκώς και έχει μια σειρά από ανεπίλυτα ζητήματα ( προβλήματα εμφανίζονται κυρίως όταν χρησιμοποιείτε το X11 και η υποστήριξη Wayland είναι πολύ καλύτερη). Οι χρήστες μπορούν να προσθέσουν επιπλέον περιορισμούς δημιουργώντας αρχεία τοπικών κανόνων (~/.curtain.conf). Για παράδειγμα,

Η υλοποίηση περιλαμβάνει τη λειτουργική μονάδα πυρήνα mac_curtain για υποχρεωτικό έλεγχο πρόσβασης (MAC), ένα σύνολο ενημερώσεων κώδικα για τον πυρήνα του FreeBSD με την υλοποίηση των απαραίτητων προγραμμάτων οδήγησης και φίλτρων, τη βιβλιοθήκη libcurtain για τη χρήση του plegde και των αποκαλυπτόμενων λειτουργιών σε εφαρμογές, το βοηθητικό πρόγραμμα, εμφανίζει διαμόρφωση αρχεία, μια σουίτα δοκιμών και ενημερώσεις κώδικα για ορισμένα προγράμματα χώρου χρήστη (για παράδειγμα, για χρήση του $TMPDIR για ενοποίηση της εργασίας με προσωρινά αρχεία). Όποτε είναι δυνατόν, ο συγγραφέας προσπαθεί να ελαχιστοποιήσει τον αριθμό των αλλαγών που απαιτούν επιδιόρθωση του πυρήνα και των εφαρμογών.

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


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

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

*

*

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