Η Υπηρεσία Κυβερνοασφάλειας και Ασφάλειας Υποδομών των ΗΠΑ (CISA) δημοσίευσε έρευνα που εξετάζει 172 βασικά έργα ανοιχτού κώδικα και εάν είναι ευάλωτα σε ελαττώματα μνήμης.
Δείτε επίσης: Η CISA προειδοποιεί για πιθανή κλοπή δεδομένων CSAT
Η έκθεση, που συνυπογράφηκε από την CISA, το Ομοσπονδιακό Γραφείο Ερευνών (FBI), καθώς και από οργανισμούς της Αυστραλίας (ASD, ACSC) και του Καναδά (CCCS), αποτελεί συνέχεια του «Case for Memory Safe Roadmaps» που κυκλοφόρησε τον Δεκέμβριο του 2023, με στόχο την ευαισθητοποίηση σχετικά με τη σημασία του κώδικα που είναι ασφαλής για τη μνήμη.
Ασφάλεια μνήμης
Οι γλώσσες που είναι ασφαλείς για τη μνήμη, είναι γλώσσες προγραμματισμού που έχουν σχεδιαστεί για να αποτρέπουν κοινά σφάλματα που σχετίζονται με τη μνήμη, όπως buffer overflows, use-after-free και άλλους τύπους καταστροφής της μνήμης. Αυτό το επιτυγχάνουν με τη διαχείριση της μνήμης αυτόματα αντί να βασίζονται στον προγραμματιστή για την εφαρμογή μηχανισμών ασφαλούς εκχώρησης και εκχώρησης μνήμης.
Ηλιακή καταιγίδα ίσως επηρεάσει την ανάκαμψη από τον τυφώνα
Αποκαλύφθηκαν τα Cybercab robotaxi και Tesla Robovan
Πώς τα εργαλεία της OpenAI επηρεάζουν τις εκλογές;
Ένα σύγχρονο παράδειγμα ασφαλούς γλωσσικού συστήματος είναι ο έλεγχος δανεισμού της Rust, ο οποίος εξαλείφει το race condition. Άλλες γλώσσες όπως η Golang, η Java, η C# και η Python διαχειρίζονται τη μνήμη μέσω συλλογής σκουπιδιών, ανακτώντας αυτόματα την ελευθερωμένη μνήμη για να αποτρέψουν την εκμετάλλευση.
Οι μη ασφαλείς για τη μνήμη γλώσσες είναι εκείνες που δεν παρέχουν ενσωματωμένους μηχανισμούς διαχείρισης μνήμης, επιβαρύνοντας τον προγραμματιστή με αυτήν την ευθύνη και αυξάνοντας την πιθανότητα σφαλμάτων. Παραδείγματα τέτοιων περιπτώσεων είναι οι C, C++, Objective-C, Assembly, Cython και D.
Δείτε ακόμα: CISA: Απατεώνες υποδύονται υπαλλήλους της σε τηλεφωνικές κλήσεις
Η έκθεσητης CISA παρουσιάζει έρευνα που εξετάζει 172 ευρέως αναπτυγμένα έργα ανοιχτού κώδικα, διαπιστώνοντας ότι πάνω από τα μισά περιέχουν κώδικα που δεν είναι ασφαλής για τη μνήμη.
Τα βασικά ευρήματα που παρουσιάζονται στην έκθεση συνοψίζονται ως εξής:
- Το 52% των κρίσιμων έργων ανοιχτού κώδικα που αναλύθηκαν, περιέχουν κώδικα γραμμένο σε μη ασφαλείς για τη μνήμη γλώσσες.
- Το 55% των συνολικών γραμμών κώδικα (LoC) σε αυτά τα έργα, είναι γραμμένες σε μη ασφαλείς για τη μνήμη γλώσσες.
- Τα μεγαλύτερα έργα είναι δυσανάλογα γραμμένα σε μη ασφαλείς για τη μνήμη γλώσσες.
- Από τα δέκα μεγαλύτερα έργα, το καθένα έχει αναλογία μη ασφαλούς για τη μνήμη LoC άνω του 26%.
- Η διάμεση αναλογία μη ασφαλούς για τη μνήμη LoC σε αυτά τα μεγάλα έργα είναι 62,5%, με τέσσερα έργα να ξεπερνούν το 94%.
- Ακόμη και έργα που είναι γραμμένα σε γλώσσες που είναι ασφαλείς για τη μνήμη, συχνά εξαρτώνται από στοιχεία γραμμένα σε μη ασφαλείς γλώσσες.
- Μερικά αξιοσημείωτα παραδείγματα από το εξεταζόμενο σύνολο είναι το Linux (αναλογία μη ασφαλούς κώδικα 95%), το Tor (αναλογία μη ασφαλούς κώδικα 93%), το Chromium (αναλογία μη ασφαλούς 51%), ο MySQL Server (αναλογία μη ασφαλούς κώδικα 84%), το glibc (αναλογία μη ασφαλούς κώδικα 85%), Redis (αναλογία 85%), SystemD (65%) και Electron (47%).
Δείτε επίσης: Η CISA προειδοποιεί για εκμετάλλευση ευπαθειών Chrome, D-Link
Πέρα από τα ευρήματα της CISA ωστόσο, τα έργα ανοιχτού κώδικα αντιπροσωπεύουν ένα παράδειγμα συλλογικής ανάπτυξης λογισμικού όπου ο πηγαίος κώδικας γίνεται δημόσια διαθέσιμος για προβολή, τροποποίηση και διανομή από οποιονδήποτε. Αυτή η προσέγγιση προωθεί την καινοτομία και τη συμμετοχή της κοινότητας, δίνοντας τη δυνατότητα σε προγραμματιστές από όλο τον κόσμο να συνεισφέρουν την τεχνογνωσία τους, να βρουν και να διορθώσουν σφάλματα και να βελτιώσουν τη λειτουργικότητα του λογισμικού. Δημοφιλή παραδείγματα επιτυχημένων έργων ανοιχτού κώδικα περιλαμβάνουν το λειτουργικό σύστημα Linux, τον διακομιστή HTTP Apache και το πρόγραμμα περιήγησης ιστού Mozilla Firefox. Αξιοποιώντας τη συλλογική γνώση και τις δεξιότητες μιας διαφορετικής κοινότητας, τα έργα ανοιχτού κώδικα συχνά καταλήγουν σε ισχυρές, ασφαλείς και ευέλικτες λύσεις λογισμικού που ωφελούν τόσο τους χρήστες όσο και τους προγραμματιστές.
Πηγή: bleepingcomputer