Ο δημιουργός της C ++ επέκρινε την επιβολή ασφαλών γλωσσών προγραμματισμού

Ο Bjarne Stroustrup, ο δημιουργός της γλώσσας C++, δημοσίευσε αντιρρήσεις για τα συμπεράσματα της έκθεσης της NSA, η οποία συνιστούσε στους οργανισμούς να απομακρυνθούν από γλώσσες προγραμματισμού όπως η C και η C++, οι οποίες αφήνουν τη διαχείριση της μνήμης στον προγραμματιστή, υπέρ των γλωσσών όπως τα C#, Go, Java, Ruby, Rust και Swift, τα οποία παρέχουν αυτόματη διαχείριση μνήμης ή εκτελούν ελέγχους ασφαλείας της μνήμης κατά τη διάρκεια της μεταγλώττισης.

Σύμφωνα με τον Stroustrup, οι ασφαλείς γλώσσες που αναφέρονται στην έκθεση της NSA στην πραγματικότητα δεν υπερτερούν της C++ στις εφαρμογές που είναι σημαντικές από την άποψή του. Ειδικότερα, οι βασικές συστάσεις για τη χρήση της C++ (C++ Core Guidelines), που αναπτύχθηκαν τα τελευταία χρόνια, καλύπτουν ασφαλείς μεθόδους προγραμματισμού και προβλέπουν τη χρήση εργαλείων που εγγυώνται ασφαλή εργασία με τύπους και πόρους. Ωστόσο, οι προγραμματιστές που δεν απαιτούν τέτοιες αυστηρές εγγυήσεις ασφαλείας έχουν την επιλογή να συνεχίσουν να χρησιμοποιούν παλιές μεθόδους ανάπτυξης.

Ο Stroustrup πιστεύει ότι ένας καλός στατικός αναλυτής που ακολουθεί τις κατευθυντήριες γραμμές C++ Core μπορεί να παρέχει τις απαραίτητες εγγυήσεις για την ασφάλεια του κώδικα C++ με σημαντικά χαμηλότερο κόστος από τη μετάβαση σε νέες ασφαλείς γλώσσες προγραμματισμού. Για παράδειγμα, οι περισσότερες από τις βασικές κατευθυντήριες γραμμές έχουν ήδη εφαρμοστεί στον στατικό αναλυτή και στο προφίλ ασφάλειας της μνήμης που περιλαμβάνονται στο Microsoft Visual Studio. Ορισμένες συστάσεις λαμβάνονται επίσης υπόψη στον στατικό αναλυτή Clang tidy.

Η έκθεση της NSA επικρίθηκε επίσης επειδή εστιάζει μόνο σε προβλήματα μνήμης, παραλείποντας πολλά άλλα προβλήματα γλώσσας προγραμματισμού που επηρεάζουν την ασφάλεια και την αξιοπιστία. Ο Stroustrup βλέπει την ασφάλεια ως μια ευρύτερη έννοια, οι διαφορετικές πτυχές της οποίας μπορούν να επιτευχθούν με συνδυασμό στυλ κωδικοποίησης, βιβλιοθηκών και στατικών αναλυτών. Για τον έλεγχο της συμπερίληψης κανόνων που διασφαλίζουν την ασφάλεια της εργασίας με τύπους και πόρους, προτείνεται η χρήση σχολιασμών στις επιλογές κώδικα και μεταγλωττιστή.

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

Πηγή: opennet.ru

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