Σε μια μελέτη-ορόσημο που υπογραμμίζει τον διάχυτο ρόλο του ελεύθερου και ανοιχτού λογισμικού (FOSS) στη σημερινή ψηφιακή οικονομία, οι ερευνητές ανακάλυψαν ότι στοιχεία ανοιχτού κώδικα υπάρχουν σε όλες σχεδόν τις σύγχρονες εφαρμογές, ενώ τα πακέτα ειδικά για το cloud δείχνουν την δραματική ανάπτυξη του ανοιχτού κώδικα σε αυτό τον τομέα.
Η έκθεση Census III of Free and Open Source Software που κυκλοφόρησε πριν από λίγες ημέρες, συντάχθηκε από ερευνητές από το Harvard Business School και το Laboratory for Innovation Science στο Harvard (LISH), σε συνεργασία με το Linux Foundation Research και το OpenSSF (Open Source Security Foundation). Η μελέτη βασίζεται σε δύο προηγούμενες απογραφές, προχωρώντας πέρα από τις βιβλιοθήκες λειτουργικών συστημάτων για να εξετάσει στοιχεία σε επίπεδο εφαρμογής που αποτελούν τα δομικά στοιχεία του σύγχρονου λογισμικού.
Η νέα έκθεση ανέλυσε πάνω από 12 εκατομμύρια instances χρήσης FOSS σε περισσότερες από 10.000 εταιρείες. Η ερευνητική ομάδα του Harvard-Linux Foundation συνεργάστηκε με κορυφαίες εταιρείες ανάλυσης σύνθεσης λογισμικού (SCA), συμπεριλαμβανομένων των FOSSA, Snyk, Sonatype και Synopsis, συνδυάζοντας ανώνυμα δεδομένα από πολλές πλατφόρμες. Η ανάλυση περιελάμβανε τόσο αυτοματοποιημένες σαρώσεις βάσεων παραγωγικού κώδικα όσο και διεξοδικούς ανθρώπινους ελέγχους των στοιχείων λογισμικού, παρέχοντας πληροφορίες τόσο για την άμεση χρήση των πακέτων FOSS όσο και για τις έμμεσες εξαρτήσεις τους σε όλη την αλυσίδα εφοδιασμού λογισμικού.
Τα βασικά ευρήματα της απογραφής περιλαμβάνουν:
- Τα στοιχεία ανοιχτού κώδικα υπάρχουν στο 96% των βάσεων κώδικα.
- Υπάρχει μια δραματική αύξηση στη χρήση πακέτων για συγκεκριμένες υπηρεσίες cloud.
- Υπάρχει συνεχής εξάρτηση από την ξεπερασμένη Python 2, εκθέτοντας τα συστήματα σε κινδύνους ασφαλείας.
- Η υιοθέτηση της γλώσσας Rust αυξήθηκε κατά 500% από την προηγούμενη έρευνα, σηματοδοτώντας μια στροφή προς το memory-safe programming.
- Η έλλειψη τυποποιημένης ονομασίας για στοιχεία λογισμικού αυξάνει τους κινδύνους ασφαλείας.
- Μια μικρή ομάδα συνεισφερόντων καθοδηγεί μεγάλα έργα FOSS, θέτοντας ανησυχίες για τη βιωσιμότητα τους.
“Το μεγαλύτερο εύρημα έκπληξη ήταν η σημαντική αύξηση στη χρήση βιβλιοθηκών OSS για πρόσβαση σε υπηρεσίες cloud”, δήλωσε στο ITPro Today ο David Wheeler, διευθυντής του Open Source Supply Chain Security στο OpenSSF.
Ο Wheeler σημείωσε ότι ενώ η χρήση των υπηρεσιών cloud δεν ήταν νέα όταν έγινε η προηγούμενη ανάλυση Census II, η άνοδος στο Census III είναι αρκετά δραματική. Κατά την άποψή του, υποδηλώνει ότι οι προηγούμενες αναπτύξεις cloud συχνά ακολουθούσαν μια προσέγγιση ανύψωσης και μετατόπισης – απλώς μεταφέροντας υπάρχουσες εφαρμογές λογισμικού για να εκτελούνται σε σύννεφο – ενώ τώρα το λογισμικό αναπτύσσεται όλο και περισσότερο ειδικά για να τρέχει σε σύννεφο και να χρησιμοποιεί συγκεκριμένες διαθέσιμες υπηρεσίες πάνω τους.
Ο κίνδυνος για τα έργα μεμονωμένων συντηρητών
Η έκθεση διαπίστωσε ότι το 40% των κορυφαίων έργων είχαν μόνο έναν ή δύο προγραμματιστές που αντιστοιχούσαν σε περισσότερο από το 80% των συνεισφορών. Αυτή η συγκέντρωση των συντηρητών αντιπροσωπεύει μια πιθανή ανησυχία για την ασφάλεια.
Το 2024, ανακαλύφθηκε μια επίθεση στην αλυσίδα εφοδιασμού που βασιζόταν στην κοινωνική μηχανική για να εισαγάγει κακόβουλα μια κερκόπορτα στο δημοφιλές πακέτο ανοιχτού κώδικα XZ Utils. Η επίθεση περιελάμβανε την έναρξη μιας εκστρατείας πίεσης στον μοναχικό συντηρητή του έργου για να προσθέσει έναν δεύτερο συντηρητή, ο οποίος αργότερα εισήγαγε την κερκόπορτα. Αυτό το περιστατικό χρησιμοποιείται για να υποστηρίξει ένα από τα βασικά ευρήματα της έκθεσης σχετικά με τη συγκέντρωση της ευθύνης στα έργα FOSS και τις επιπτώσεις στην ασφάλεια από τη συντήρηση των έργων από πολύ μικρές ομάδες.
“Ορισμένα έργα έχουν έναν ή λίγους προγραμματιστές και θα θέλαμε να δούμε πολλούς προγραμματιστές σε έργα που χρησιμοποιούνται ευρέως, καθώς η ύπαρξη πολλών προγραμματιστών μπορεί να λειτουργήσει ως έλεγχος για άλλους”, είπε ο Wheeler.
Ο Wheeler σημείωσε ότι η επίθεση στο XZ Utils δείχνει επίσης μια πρόκληση για την οποία εργάζεται το OpenSSF: να διασφαλίσει ότι ο πηγαίος κώδικας που ελέγχεται είναι αυτό που εκτελούν οι άνθρωποι.
«Ένα μεγάλο πλεονέκτημα του λογισμικού ανοιχτού κώδικα είναι ότι μπορεί να αναθεωρηθεί ευρέως για την αναζήτηση ακούσιων ή σκόπιμων τρωτών σημείων», είπε.
Τούτου λεχθέντος, ο Wheeler σημείωσε ότι η αναθεώρηση δεν βοηθά εάν αυτό που εξετάζεται δεν είναι αυτό που χρησιμοποιείται για την κατασκευή του τελικού προϊόντος. Έργα OpenSSF όπως το SLSA και το Sigstore εργάζονται για να σκληρύνουν τη διαδικασία κατασκευής και διανομής, ώστε να διασφαλίσουν ότι ο κώδικας που εκτελούν οι άνθρωποι δημιουργείται από τον πηγαίο κώδικα που εξετάστηκε.
Γιατί η Python 2 εξακολουθεί να χρησιμοποιείται, 16 χρόνια μετά την κυκλοφορία της Python 3
Ένα άλλο βασικό εύρημα στην έκθεση είναι η επικράτηση παλαιότερων γλωσσών προγραμματισμού, οι οποίες αντιπροσωπεύουν πιθανούς κινδύνους για την ασφάλεια.
Συγκεκριμένα, η έκθεση σημειώνει ότι παρά το γεγονός ότι κυκλοφόρησε πριν από 16 χρόνια, η υιοθέτηση της Python 3 εξακολουθεί να είναι ημιτελής, με ορισμένους τομείς να εμφανίζουν 20-30% χρήση Python 2. Όσον αφορά το πώς οι προγραμματιστές λογισμικού ανοιχτού κώδικα μπορούν να εργαστούν για να βελτιώσουν αυτήν την κατάσταση, ο Wheeler έχει μερικές ιδέες.
«Το μάθημα είναι απλό: Κάντε εξαιρετικά εύκολη την ενημέρωση σε νέες εκδόσεις», είπε. “Σχεδόν σε όλες τις περιπτώσεις, οι νέες εκδόσεις θα πρέπει να είναι πλήρως συμβατές με παλαιότερες εκδόσεις — ειδικά την προηγούμενη έκδοση. Η διασφάλιση της συμβατότητας προς τα πίσω μπορεί να απαιτεί επιπλέον προσπάθεια προγραμματιστή, αλλά είναι σχεδόν πάντα η σωστή προσέγγιση.”
Διαβάστε όλη την μελέτη εδώ
Πηγή άρθρου: https://www.itprotoday.com