Ένα έργο για την υλοποίηση των βοηθητικών προγραμμάτων sudo και su στο Rust

Η ISRG (Internet Security Research Group), η οποία είναι ο ιδρυτής του έργου Let's Encrypt και προωθεί το HTTPS και την ανάπτυξη τεχνολογιών για την αύξηση της ασφάλειας του Διαδικτύου, παρουσίασε το έργο Sudo-rs για τη δημιουργία εφαρμογών sudo και su utilities γραμμένες σε Rust που σας επιτρέπουν να εκτελείτε εντολές για λογαριασμό άλλων χρηστών. Κάτω από τις άδειες Apache 2.0 και MIT, έχει ήδη δημοσιευτεί μια έκδοση προέκδοσης του Sudo-rs, που δεν είναι ακόμη έτοιμη για γενική χρήση. Το έργο, το οποίο ξεκίνησε τις εργασίες τον Δεκέμβριο του 2022, έχει προγραμματιστεί να ολοκληρωθεί τον Σεπτέμβριο του 2023.

Επί του παρόντος, η εργασία επικεντρώνεται στην υλοποίηση λειτουργιών στο Sudo-rs που επιτρέπουν τη χρήση του ως διαφανή αντικατάσταση του sudo σε τυπικές περιπτώσεις χρήσης (προεπιλεγμένες διαμορφώσεις sudoers σε Ubuntu, Fedora και Debian). Στο μέλλον, υπάρχουν σχέδια για τη δημιουργία μιας βιβλιοθήκης που θα επιτρέπει την ενσωμάτωση της λειτουργικότητας sudo σε άλλα προγράμματα και θα παρέχει μια εναλλακτική μέθοδο διαμόρφωσης που αποφεύγει την ανάλυση της σύνταξης του αρχείου διαμόρφωσης sudoers. Με βάση την εφαρμοζόμενη λειτουργικότητα sudo, θα προετοιμαστεί επίσης μια παραλλαγή του βοηθητικού προγράμματος su. Επιπλέον, τα σχέδια αναφέρουν υποστήριξη για SELinux, AppArmor, LDAP, εργαλεία ελέγχου, τη δυνατότητα ελέγχου ταυτότητας χωρίς χρήση PAM και την υλοποίηση όλων των επιλογών γραμμής εντολών sudo.

Σύμφωνα με τη Microsoft και την Google, περίπου το 70% των τρωτών σημείων προκαλούνται από μη ασφαλή διαχείριση μνήμης. Αναμένεται ότι η χρήση της γλώσσας Rust για την ανάπτυξη su και sudo θα μειώσει τον κίνδυνο τρωτών σημείων που προκαλούνται από τον μη ασφαλή χειρισμό της μνήμης και θα εξαλείψει την εμφάνιση σφαλμάτων όπως η πρόσβαση σε μια περιοχή μνήμης μετά την απελευθέρωσή της και οι υπερβάσεις buffer. Το Sudo-rs αναπτύσσεται από μηχανικούς της Ferrous Systems και της Tweede Golf με κεφάλαια που παρέχονται από εταιρείες όπως η Google, η Cisco, η Amazon Web Services.

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

Πηγή: opennet.ru

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