Πρόσφατα, η εταιρεία Edera, η οποία είναι υπεύθυνη για την ανάπτυξη λύσεων για προστασία των υποδομών Kubernetes και συστήματα AI, παρουσίασε το OpenPaX, ένα έργο του Ενημερωμένες εκδόσεις κώδικα του πυρήνα Linux με στόχο τη βελτίωση της ασφάλειας μέσω της αντιμετώπισης τρωτών σημείων που σχετίζονται με τη διαχείριση της μνήμης.
Ως εκ τούτου, OpenPaX τοποθετείται ως λύση που βασίζεται σε patch για τον πυρήνα του Linux, προορίζεται ως εναλλακτική λύση στην αρχική ενημέρωση κώδικα PaX, που περιλαμβάνεται πλέον στο grsecurity, παρέχοντας στους διαχειριστές του συστήματος ένα πρόσθετο επίπεδο άμυνας έναντι ευπαθειών ασφαλείας που σχετίζονται με τη μνήμη.
Με τη σειρά της, η κοινότητα του πυρήνα του Linux μπορεί να εκμεταλλευτεί αυτές τις ενημερώσεις κώδικα ανοιχτού κώδικα, με τη δυνατότητα να ενσωματωθεί μέρος της λειτουργικότητάς τους στον κύριο πυρήνα όταν χρειάζεται.
Το OpenPaX προσφέρει μετριασμούς ανοιχτού κώδικα για σφάλματα ασφαλείας μνήμης χρόνου εκτέλεσης, ξεκλειδώνοντας την πρόσβαση των προγραμματιστών σε κρίσιμα χαρακτηριστικά ασφαλείας, εξοικονομώντας παράλληλα περιττό κόστος υποστήριξης των επιχειρήσεων.
Από τα πιο αξιοσημείωτα χαρακτηριστικά από το OpenPaX βρίσκεται ο Μηχανισμός W^X (Γράψτε το XOR Execute), το οποίο στοχεύει στη βελτίωση της ασφάλειας του συστήματος με χαρτογράφηση σελίδων μνήμης. Αυτός ο μηχανισμός διασφαλίζει ότι δεν είναι δυνατή η δημιουργία σελίδων ώστε, επιτρέπουν τόσο την εγγραφή όσο και την ταυτόχρονη εκτέλεση, που αποτρέπει ορισμένους τύπους τρωτών σημείων. Επιπλέον, το W^X θέτει πρόσθετους περιορισμούς αποτρέποντας τις σελίδες που έχουν εκχωρηθεί για γραφή από το να αλλάξουν σε εκτελέσιμη κατάσταση.
Ένα άλλο χαρακτηριστικό σημαντικό πράγμα για το OpenPaX είναι ο μηχανισμός εξομοίωσης του τραμπολίνου, ότι σας επιτρέπει να πραγματοποιείτε κλήσεις σε λειτουργίες που βρίσκονται στη στοίβα και περιοχές μνήμης όπου η εκτέλεση κώδικα είναι ρητά απενεργοποιημένη. Παρά αυτόν τον περιορισμό, η εξομοίωση τραμπολίνου χρησιμοποιεί ασφαλείς τεχνικές για να διασφαλίσει ότι ο κώδικας μπορεί να συνεχίσει να εκτελείται χωρίς να διακυβεύεται η ασφάλεια του συστήματος. Αυτός ο μηχανισμός παρεμποδίζει τα σφάλματα σελίδας που συμβαίνουν κατά την προσπάθεια εκτέλεσης κώδικα σε μια περιοχή μνήμης που έχει επισημανθεί ως μη εκτελέσιμη και προσομοιώνει το άλμα που απαιτείται για να συνεχιστεί η εκτέλεση.
Αυτό Είναι ιδιαίτερα χρήσιμο σε εφαρμογές που εξαρτώνται από το libffi ή το GCC, που δημιουργούν δυναμικά εφαλτήρια στη στοίβα. Με αυτόν τον τρόπο, το OpenPaX διασφαλίζει ότι οι λειτουργίες που περιλαμβάνουν χειρισμό τραμπολίνου μπορούν να εκτελεστούν με ασφάλεια, χωρίς να παραβιάζονται οι πολιτικές εκτέλεσης κώδικα του συστήματος.
Αναφέρεται ότι επειδή οι τεχνικές προστασίας που εφαρμόζονται μπορούν να επηρεάσουν τη λειτουργία των μεταγλωττιστών JIT, το OpenPaX σάς επιτρέπει να διαχειρίζεστε επιλεκτικά ποιες λειτουργίες εφαρμόζονται σε εκτελέσιμα αρχεία χρησιμοποιώντας xattr και το εργαλείο paxmark.
Υπάρχει επίσης ένα "μαλακή" λειτουργία για να ενεργοποιήσετε το OpenPaX (μέσω sysctl kernel.pax.softmode=1
), στο οποίο η προστασία είναι απενεργοποιημένη από προεπιλογή, αλλά μπορεί να ενεργοποιηθεί για συγκεκριμένες εφαρμογές που χρειάζονται πρόσθετη ασφάλεια.
«Είμαστε στην ευχάριστη θέση να το προσφέρουμε στον κλάδο γενικότερα και ως μια ολοκληρωμένη προσφορά για τους πελάτες μας με το Edera Protect», δήλωσε η Ariadne Conill, διακεκριμένη μηχανικός και συνιδρυτής της Edera και συντηρητής του Alpine Linux. «Μέχρι τώρα, η πρόσβαση σε μετριασμούς ασφαλείας της μνήμης κοινής λογικής, όπως ο χώρος χρηστών W^X, απαιτούσε από τους προγραμματιστές και τις επιχειρήσεις να χορηγούν άδεια χρήσης μιας ακριβής ενημερωμένης έκδοσης κώδικα πυρήνα που δεν μπορούσαν να αναδιανείμουν χωρίς να χάσουν την πρόσβαση σε ενημερωμένες εκδόσεις της ενημέρωσης κώδικα, κάτι που θα μπορούσε να παραβιάζει την GPL. Το OpenPaX τα αλλάζει όλα αυτά προς το καλύτερο."
Τέλος, πρέπει να αναφερθεί ότι Το OpenPaX θεωρείται μια απεριόριστη εναλλακτική τα μπαλώματα PaX από το έργο Grsecurity, που από το 2017 Είναι προϊόν επί πληρωμή. Οι ενημερώσεις κώδικα OpenPaX είναι ανοιχτές στο κοινό με την άδεια GPLv2, καθιστώντας εύκολη την υιοθέτησή τους σε διάφορες διανομές.
Επί του παρόντος, Οι ενημερώσεις κώδικα OpenPaX μπορούν να βρεθούν στο αποθετήριο GitHub και όσοι ενδιαφέρονται να δοκιμάσουν ή να μάθουν περισσότερα για αυτά μπορούν να λάβουν περισσότερες πληροφορίες Στον ακόλουθο σύνδεσμο.
Από την πλευρά του, Το Alpine Linux ανακοίνωσε ότι θα περιλαμβάνει μια πειραματική έκδοση του πυρήνα με αυτές τις ενημερώσεις κώδικα στην επερχόμενη έκδοση 3.21 και σχεδιάζει να τις ενσωματώσει ως τυπική επιλογή στην έκδοση 3.22. Διανομές όπως Gentoo y Arch Linux, που στο παρελθόν προσέφερε εκδόσεις πυρήνα με PaX, θα μπορούσε επίσης να υιοθετήσει το OpenPaX. Ομοίως, οι προγραμματιστές του OpenPaX επιδιώκουν να έχουν μερικούς από τους μηχανισμούς τους ενσωματωμένους απευθείας στον κύριο πυρήνα του Linux.
Αν είστε ενδιαφέρεται να μάθει περισσότερα για αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.