Η Google, η Microsoft καταφύγιο στη Rust Language's Better Security

Η Google, η Microsoft καταφύγιο στη Rust Language's Better Security

Όταν το Fortanix κυκλοφόρησε το 2016, η εταιρεία πήρε μια απόφαση: Θα δεσμευόταν στη γλώσσα προγραμματισμού του ενός έτους Rust να επωφεληθεί από τα δυνατά σημεία ασφαλείας και τις επιδόσεις της.

Επτά χρόνια αργότερα, η δέσμευση της Fortanix στο Rust έχει αποδειχθεί επιτυχημένη. Η εταιρεία έχει δημιουργήσει υποστήριξη για το Intel Software Guard Extensions (SGX), το οποίο επιτρέπει τη χρήση ασφαλών θυλάκων για δεδομένα χρήστη και επωφελείται από την ικανότητα του μεταγλωττιστή Rust να αποφεύγει ορισμένες κατηγορίες τρωτών σημείων, ειδικά ζητήματα ασφάλειας της μνήμης, λέει ο Jethro Beekman, αντιπρόεδρος. τεχνολογίας και CISO στο εταιρεία ασφάλειας δεδομένων.

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

Οκτώ χρόνια μετά την κυκλοφορία του 1.0, η γλώσσα και οι πλατφόρμες ανάπτυξης Rust συνεχίζουν να κερδίζουν δημοτικότητα μεταξύ προγραμματιστών και εταιρειών επικεντρώνεται στον ασφαλή κώδικα. Ενώ το Rust έχει πολύ χαμηλότερο Αξιολόγηση TIOBE από C ή C++, η γλώσσα βλέπει σημαντικούς επιπλέον χρήστες κάθε χρόνο. Η Rust έχει επίσης ένα δεσμευμένο ακόλουθο: Ενώ μόνο το 12% των προγραμματιστών χρησιμοποίησε την τεχνολογία το περασμένο έτος, σχεδόν το 85% αυτών των προγραμματιστών θέλει να συνεχίσει να χρησιμοποιεί τη γλώσσα, καθιστώντας την την "πιο θαυμαστή" γλώσσα προγραμματισμού, σύμφωνα με το Stack Overflow «2023 Developer Survey».

Διαγράμματα που δείχνουν την ανάπτυξη της γλώσσας προγραμματισμού Rust

Η υιοθέτηση σκουριάς συνεχίζει να αυξάνεται εκθετικά. Πηγή: Lib.rs (https://lib.rs/stats)

Ως μέρος μιας προσπάθειας εξάλειψης κατηγοριών σφαλμάτων, για παράδειγμα, η Microsoft ξαναγράφει τμήματα του πυρήνα χρησιμοποιώντας το Rust, δήλωσε ο David Weston, αντιπρόεδρος ασφάλειας επιχειρήσεων και λειτουργικών συστημάτων στη Microsoft, κατά τη διάρκεια του BlueHat Israel τον Μάρτιο. Η εταιρεία δημιούργησε το DWriteCore σε Rust για να μετατρέψει την ανάλυση γραμματοσειρών σε χαρακτηριστικό ασφαλείας μνήμης και επί του παρόντος εργάζεται πάνω στον πειραματισμό με τη σύνταξη τμημάτων της διεπαφής προγράμματος οδήγησης γραφικών (GDI) στο Rust. Η εταιρεία έχει δει αύξηση της απόδοσης κατά 5% έως 15% στις πρώτες εκδόσεις του κώδικα.

«Θα έλεγα ότι βρισκόμαστε στο στάδιο ανίχνευσης… για το Rust στα Windows», είπε ο Weston βιντεοσκόπηση της παρουσίασής του. «Πειραματιζόμαστε με μια αλυσίδα εργαλείων. εξετάζουμε τη γενιά κώδικα και προσπαθούμε να καταλάβουμε αν αξίζει το κόστος για την εκμάθηση του Rust."

Ωστόσο, η Microsoft, χορηγός του Ιδρύματος Rust, έχει δεσμευτεί για τη γλώσσα. «Θα έχετε πραγματικά την εκκίνηση των Windows με το Rust στον πυρήνα», λέει ο Weston.

Google, 1Password και άλλα ενσωματωμένα

Η Google είναι επίσης μεγάλος υποστηρικτής του Rust. Η εταιρεία αποδίδει μια πτώση στο μερίδιο των τρωτών σημείων ασφαλείας της μνήμης στο Android στη μετάβαση σε Rust, Kotlin (μια λειτουργική γλώσσα προγραμματισμού) και Java από C και C++. Το 2022, τα τρωτά σημεία ασφάλειας της μνήμης, όπως υπερβάσεις buffer, αντιπροσώπευε λιγότερο από το ήμισυ όλων των τρωτών σημείων στο Android.

«Συνιστούμε γενικά τη χρήση του Rust οπουδήποτε σκέφτεστε να δημιουργήσετε νέο κώδικα C [ή] C++», λέει ο Lars Bergstrom, διευθυντής μηχανικής για γλώσσες προγραμματισμού Android στην Google και πρόεδρος του διοικητικού συμβουλίου του ιδρύματος Rust. "Έτσι το Rust είναι συχνά μια καλή επιλογή όπου χρειάζεστε αυστηρό έλεγχο του υποκείμενου συστήματος και των πόρων του, όπως η μνήμη."

Η Υπηρεσία Εθνικής Ασφάλειας συνιστά επίσης ότι οι προγραμματιστές αναζητούν εναλλακτικές λύσεις στη C και τη C++ για κρίσιμο κώδικα ασφαλείας επειδή αυτές οι γλώσσες βασιστείτε πάρα πολύ στο ότι ο προγραμματιστής δεν κάνει λάθη.

Ενώ η Fortanix έχει δεσμευτεί να χρησιμοποιεί εκτενώς το Rust, άλλες εταιρείες είναι πιο τακτικές σχετικά με το πώς εισάγουν τη γλώσσα στις βάσεις κωδικών τους. Η εταιρεία διαχείρισης κωδικών πρόσβασης και ταυτότητας 1Password, η οποία απαιτεί σταθερή ασφάλεια για την προστασία των αποθηκών κωδικών πρόσβασης των χρηστών, υιοθέτησε το Rust ως πλατφόρμα ανάπτυξης για τα βασικά στοιχεία ασφάλειας δεδομένων, χρησιμοποιώντας άλλες γλώσσες για τη διεπαφή του front-end σε διαφορετικά λειτουργικά συστήματα. δήλωσε η εταιρεία σε ανάρτηση στο blog.

Η Microsoft βρίσκεται σε παρόμοια κατάσταση και δεν θα ξαναγράψει μεγάλα τμήματα της βάσης κωδικών της στο Rust, είπε ο Weston.

«Δεν μου αρέσει να σας λέω - ξέρω τους οπαδούς του Rust εκεί έξω - η επανεγγραφή των Windows στο Rust πιθανότατα δεν πρόκειται να συμβεί σύντομα», είπε στους παρευρισκόμενους στο συνέδριο BlueHat Israel. "Ενώ αγαπάμε το Rust, χρειαζόμαστε μια στρατηγική που περιλαμβάνει επίσης την εξασφάλιση μεγαλύτερου μέρους του εγγενούς μας κώδικα."

Η καμπύλη μάθησης δεν είναι τόσο απότομη

Το Rust Foundation έχει γνωρίσει μεγάλη υιοθέτηση από εταιρείες ενσωματωμένων και συνδεδεμένων συσκευών - ειδικά σε εφαρμογές αυτοκινήτων, βιομηχανιών και αεροδιαστημικής - καθώς και στη δημιουργία εφαρμογών Web και cloud σε μια άλλη νέα πλατφόρμα, το WebAssembly, λέει η Rebecca Rambul, εκτελεστική διευθύντρια και Διευθύνων Σύμβουλος του Ιδρύματος Rust.

«Αυτού του είδους οι οργανισμοί ήταν από τους ... πρώτους εκτός των μεγάλων τεχνολογικών οργανισμών που είδαν πραγματικά τις δυνατότητες του Rust, όχι μόνο λόγω της ασφάλειας, αλλά λόγω της ταχύτητας και της απόδοσης," αυτή λέει. "Έχετε αυτό το επίπεδο ασφάλειας λόγω της ασφάλειας της μνήμης, αλλά δεν χάνετε τίποτα από την άποψη της απόδοσης."

Όταν ξεκίνησε το Fortanix, κάθε προγραμματιστής έπρεπε να μάθει το Rust. Αν και η κοινή σοφία είναι ότι η γλώσσα είναι δύσκολο να μαθευτεί, πάνω από τα δύο τρίτα των προγραμματιστών που μαθαίνουν Rust δήλωσαν ότι αισθάνονται σίγουροι ότι θα συνεισφέρουν σε ένα έργο μέσα σε δύο μήνες, σύμφωνα με μια έρευνα εσωτερικών προγραμματιστών από την Google.

Ενώ οι νέοι προγραμματιστές έπιασαν το Rust γρήγορα, ο μεταγλωττιστής συνεχίζει να είναι πιο αργός από ό,τι θα ήθελαν πολλοί, διαπίστωσε επίσης η έρευνα.

Η γλώσσα απαιτεί κάποια προσαρμογή, αναγνωρίζει ο Michael Erquitt, ανώτερος μηχανικός ασφαλείας στην εταιρεία εκπαίδευσης ασφαλούς κωδικοποίησης Security Journey. Επιπλέον, οι προγραμματιστές πρέπει να αναπτύξουν τη δική τους αίσθηση για το ποιες λειτουργίες και εφαρμογές θα επωφεληθούν από τη γλώσσα.

"Υπάρχουν πάντα εγγενείς συμβιβασμούς κατά την επιλογή γλωσσών και εργαλείων προγραμματισμού." Erquitt λέει. "Η Rust ως σύγχρονη γλώσσα προγραμματισμού μπορεί να χρησιμοποιηθεί για ένα ευρύ φάσμα έργων, αλλά η επιλογή τελικά εξαρτάται από αυτό που ικανοποιεί καλύτερα τις λειτουργικές απαιτήσεις/απαιτήσεις πελατών του έργου σας."

Σφραγίδα ώρας:

Περισσότερα από Σκοτεινή ανάγνωση