Το OpenBSD έχει υιοθετήσει αλλαγές για την περαιτέρω προστασία της μνήμης διεργασιών

Ο Theo de Raadt έχει προσθέσει μια σειρά ενημερώσεων κώδικα στη βάση κώδικα OpenBSD για την περαιτέρω προστασία της μνήμης διεργασιών στο χώρο του χρήστη. Προσφέρεται στους προγραμματιστές μια νέα κλήση συστήματος και η σχετική συνάρτηση βιβλιοθήκης με το ίδιο όνομα, με δυνατότητα αλλαγής, η οποία σας επιτρέπει να διορθώσετε δικαιώματα πρόσβασης κατά την ανάκλαση στη μνήμη (αντιστοιχίσεις μνήμης). Μετά τη δέσμευση, τα δικαιώματα που έχουν οριστεί για μια περιοχή μνήμης, για παράδειγμα, απαγόρευση εγγραφής και εκτέλεσης, δεν μπορούν να αλλάξουν στη συνέχεια μέσω επακόλουθων κλήσεων στις συναρτήσεις mmap(), mprotect() και munmap(), οι οποίες θα δημιουργήσουν ένα σφάλμα EPERM κατά την προσπάθεια να αλλάξει.

Για τον έλεγχο της δυνατότητας αλλαγής των δικαιωμάτων ανακλώμενης μνήμης για αρχεία αντικειμένων, έχει προταθεί μια νέα ενότητα Μεταβλητού BSS (.openbsd.mutable, Σύμβολο έναρξης μεταλλαγμένου μπλοκ) και έχουν προστεθεί νέες σημαίες PF_MUTABLE και UVM_ET_IMMUTABLE. Προστέθηκε υποστήριξη στον σύνδεσμο για τον ορισμό ενοτήτων "openbsd.mutable" και την τοποθέτησή τους σε ξεχωριστή περιοχή στο BSS, ευθυγραμμισμένη με ένα όριο σελίδας μνήμης. Καλώντας τη συνάρτηση mimmutable, είναι δυνατό να επισημανθούν όλες οι κατοπτρισμένες περιοχές ως αμετάβλητες, με εξαίρεση τις ενότητες με την ένδειξη "openbsd.mutable". Η νέα δυνατότητα θα διατεθεί στους χρήστες στην έκδοση OpenBSD 7.3.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο