Ο πρωταρχικός στόχος της σειράς συνεδρίων BlueHat είναι να δημιουργήσει γέφυρες μεταξύ προγραμματιστών και στελεχών της Microsoft, βασικών συνεργατών προγραμμάτων ασφαλείας και μελών της κοινότητας.
Η Microsoft αποκάλυψε λίγες μέρες πριν εργάζεται ήδη για την επανεγγραφή του κώδικα πυρήνα των Windows, ειδικά στην περιοχή που είναι υπεύθυνη για τη διαχείριση των παραθύρων, στη γλώσσα Rust.
Με το οποίο η Microsoft εντάσσεται στο κύμα εφαρμογής του Rust στα προϊόντα της και κυρίως λαμβάνοντας υπόψη το μέλλον και πάνω από όλα έναν ιδανικό υποψήφιο για εγκατάλειψη των γλωσσών C και C ++. Και είναι ότι αυτός ο ελιγμός θυμίζει την υιοθέτηση της ίδιας γλώσσας για την ανάπτυξη του πυρήνα του Linux. Σε αυτό, το Rust διαφέρει από πολλές γλώσσες που ανακοινώθηκαν στο παρελθόν ως αντικαταστάσεις για C και C++.
Η Microsoft έχει μεταφέρει τη βιβλιοθήκη Win32k GDI (διαχειριστής παραθύρων) στη γλώσσα της σκουριάς. ΕΝΑ στέλεχος της εταιρείαςa έκανε την ανακοίνωση στην τελευταία έκδοση του συνεδρίου BlueHat. Ο στόχος ήταν να μετατραπούν ορισμένοι από τους τύπους C++ αυτής της βιβλιοθήκης στα ισοδύναμα Rust, σε μια προσπάθεια να καταστήσουν τις προσβάσεις στη μνήμη λιγότερο διαρροές.
Ένας από τους κύριους λόγους για να το κάνετε αυτό είναι να επωφεληθείτε από τα πλεονεκτήματα που εισάγει η Rust σε σχέση με τη γλώσσα C, όπως η ασφάλεια της μνήμης. Στην πράξη, η Google, για παράδειγμα, χρησιμοποιεί πλέον σε μεγάλο βαθμό το Rust στο Android.
«Ο στόχος δεν είναι να μετατρέψουμε την υπάρχουσα C/C++ σε Rust, αλλά να μετατοπίσουμε την ανάπτυξη νέου κώδικα σε γλώσσες που είναι ασφαλείς για μνήμη με την πάροδο του χρόνου», λέει ο τεχνολογικός γίγαντας.
Με αποτέλεσμα:
«Η ποσότητα του νέου κώδικα μη ασφαλούς μνήμης που εισέρχεται στο Android έχει μειωθεί, ενώ ο αριθμός των τρωτών σημείων ασφαλείας της μνήμης έχει επίσης μειωθεί. Από το 2019 έως το 2022, μειώθηκε από το 76% στο 35% των συνολικών τρωτών σημείων του Android. Το 2022 είναι η πρώτη χρονιά που τα τρωτά σημεία ασφαλείας της μνήμης δεν αντιπροσωπεύουν την πλειονότητα των τρωτών σημείων του Android», προσθέτει.
Ωστόσο, ορισμένοι ενδιαφερόμενοι πιστεύουν ότι οι πρωτοβουλίες κατάργησης της C είναι καταδικασμένες καθώς ο δημιουργός της γλώσσας C3, ωστόσο, παρέχει έναν μακρύ κατάλογο λόγων για τους οποίους οι πρωτοβουλίες κατάργησης της γλώσσας C είναι καταδικασμένες.
Από την πλευρά της, ωστόσο, η απόφαση της Microsoft να χρησιμοποιήσει το Rust στα Windows είναι ένα σημάδι της αυξανόμενης επιρροής της γλώσσας στη βιομηχανία λογισμικού. Η Rust έχει ψηφιστεί ως η πιο αγαπημένη γλώσσα προγραμματισμού από τους χρήστες του Stack Overflow εδώ και έξι χρόνια και αποτελεί αντικείμενο ακαδημαϊκής έρευνας και καινοτομίας. Η Rust θα μπορούσε επίσης να βοηθήσει τη Microsoft να ανταγωνιστεί το Linux, το οποίο πρόσφατα ανακοίνωσε ότι υποστηρίζει τη Rust ως δεύτερη γλώσσα υψηλού επιπέδου για την ανάπτυξη πυρήνα.
«Βρισκόμαστε στο στάδιο της παρακολούθησης και της εκτέλεσης του Rust στα Windows», είπε ο Weston κατά τη διάρκεια μιας εμφάνισής του στο συνέδριο BlueHat IL 2023 της Microsoft. «Μιλάμε για ένα από τα πιο σύνθετα μηχανολογικά προϊόντα στον πλανήτη. Αλλά ο στόχος μας είναι να το κάνουμε αυτό για να βελτιώσουμε την ασφάλεια... Έτσι, θα δείτε τα Windows να εκκινούν με Rust στον πυρήνα πιθανότατα τις επόμενες εβδομάδες ή μήνες, κάτι που είναι υπέροχο. Ο βασικός στόχος εδώ είναι να μετατρέψουμε ορισμένους από αυτούς τους εσωτερικούς τύπους δεδομένων C++ στα ισοδύναμα Rust».
Αποδεικνύεται ότι ο λόγος αυτής της μετατροπής είναι ότι το Οι μηχανικοί της Microsoft είναι απόλυτα πεπεισμένοι ότι ο κώδικας Rust είναι πολύ πιο εύκολο να γραφτεί και να κατανοηθεί από τον πραγματικό κώδικα C++. Είναι επίσης πιο ασφαλές: Για όσους δεν είναι εξοικειωμένοι, η Rust είναι μια σύγχρονη γλώσσα προγραμματισμού τύπου C που αγαπούν οι προγραμματιστές επειδή αναγκάζει τη δημιουργία ασφαλούς εγγενούς κώδικα χωρίς την επιβάρυνση των διαχειριζόμενων γλωσσών.
Σύμφωνα με τον Weston, Η Microsoft έχει ήδη ξαναγράψει 36 γραμμές κώδικα στον πυρήνα των Windows στο Rust, συν άλλες 152 γραμμές κώδικα που έγραψε για μια βιβλιοθήκη αποδεικτικών στοιχείων του DirectWrite Core και η απόδοση είναι εξαιρετική, χωρίς παλινδρόμηση σε σύγκριση με τον προηγούμενο κώδικα C++.
Είπε επίσης ότι:
"Υπάρχει τώρα μια κλήση συστήματος, στον πυρήνα των Windows, γραμμένη σε Rust." Μια κλήση συστήματος, ή syscall, είναι ο τρόπος με τον οποίο οι εφαρμογές σε λειτουργία χρήστη αλληλεπιδρούν με τις εσωτερικές λειτουργίες του πυρήνα (για την υπεραπλούστευση).
Τέλος, αν ενδιαφέρεστε να μάθετε περισσότερα για αυτό, μπορείτε να συμβουλευτείτε το βίντεο του συνεδρίου Blue Hat.