Η 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. Θα αναπτυχθεί επίσης μια έκδοση του βοηθητικού προγράμματος su με βάση την υλοποιημένη λειτουργικότητα sudo. Η υποστήριξη για το SE αναφέρεται επίσης στα σχέδια.Linux, 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
