Java, Προγραμματιστές .NET επιρρεπείς σε πιο συχνές ευπάθειες

Java, Προγραμματιστές .NET επιρρεπείς σε πιο συχνές ευπάθειες

Κόμβος πηγής: 1901108

Περισσότερα από τα τρία τέταρτα των εφαρμογών γραμμένων σε Java και .NET έχουν τουλάχιστον μία ευπάθεια από το OWASP Top 10, μια λίστα αδυναμιών λογισμικού που συνήθως χρησιμοποιούν οι προγραμματιστές ως βάση για την ασφάλεια εφαρμογών.

Αυτό σύμφωνα με την εταιρεία δοκιμών λογισμικού Veracode, η οποία διαπίστωσε σε μια ανάλυση σχεδόν 760,000 εφαρμογών ότι περίπου μία στις πέντε εφαρμογές που χρησιμοποιούν αυτά τα δύο οικοσυστήματα προγραμματισμού είχαν τουλάχιστον μία ευπάθεια υψηλής ή κρίσιμης σοβαρότητας.

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

Η ανάλυση υπογραμμίζει τη σημασία της ενσωμάτωσης της ασφάλειας στον αγωγό ανάπτυξης, λέει ο Tim Jarrett, αντιπρόεδρος στρατηγικής διαχείρισης προϊόντων στη Veracode.

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

Εν τω μεταξύ, οι εταιρείες λογισμικού και οι ομάδες ανάπτυξης συνεχίζουν να αγωνίζονται για την εξάλειψη των ελαττωμάτων και των τρωτών σημείων από τον κώδικα εφαρμογής. Ενώ οι προγραμματιστές και τα έργα ανοιχτού κώδικα είναι επιδιόρθωση ελαττωμάτων λογισμικού πιο γρήγορα, ο χρόνος ημιζωής της μέσης ευπάθειας συνεχίζει να μετριέται σε μήνες, όχι σε ημέρες ή εβδομάδες, σύμφωνα με την έκθεση «State of Software Security» της Veracode, που δημοσιεύτηκε στις 11 Ιανουαρίου. 

Για παράδειγμα, οι εφαρμογές Java και .NET, που αντιπροσώπευαν το 71% των συνολικών εφαρμογών που αναλύθηκαν από τη μελέτη, είδαν τα μισά από τα ελαττώματα που εξακολουθούσαν να επηρεάζουν τις εφαρμογές μετά από 243 ημέρες και 158 ημέρες, αντίστοιχα.

Χρόνος ημιζωής των τρωτών σημείων από τη γλώσσα προγραμματισμού

Πηγή: Έκθεση «Κατάσταση ασφάλειας λογισμικού» της Veracode

Το φούσκωμα της εφαρμογής και η ηλικία είχαν σημαντικό αρνητικό αντίκτυπο στην ασφάλειά τους. Η μέση εφαρμογή συγκέντρωσε περίπου 40% περισσότερο κώδικα και είναι πιο πιθανό να έχει τρωτά σημεία. Περίπου το 54% των εφαρμογών δύο ετών έχουν ελαττώματα, ενώ το 69% των εφαρμογών ηλικίας πέντε ετών, βρέθηκε η ανάλυση.

Η εκπληκτική ασφάλεια της JavaScript

Παραδόξως, οι εφαρμογές που γράφτηκαν σε JavaScript ή χρησιμοποιώντας ένα από τα πλαίσια JavaScript έτειναν να τα πηγαίνουν καλύτερα στις σαρώσεις ευπάθειας. Ενώ περίπου το 80% των εφαρμογών Java και .NET είχαν ευπάθεια, μόνο το 56% των εφαρμογών JavaScript είχε. Και ενώ περίπου το 20% των εφαρμογών Java και .NET είχαν ευπάθεια υψηλής σοβαρότητας, λιγότερο από το 10% των εφαρμογών JavaScript είχαν.

Τα πλαίσια JavaScript είναι νεότερα, έχουν περισσότερη ασφάλεια και έχουν τα πλεονεκτήματα ενός οικοσυστήματος ανοιχτού κώδικα, από το οποίο η Java επωφελήθηκε σχετικά πρόσφατα, λέει ο Jarret.

"Η JavaScript είναι μια νεότερη γλώσσα, επομένως οι εφαρμογές που είναι γραμμένες σε αυτήν [είναι] νεότερες και υπάρχει μια συσχέτιση που έχουμε διαπιστώσει σε προηγούμενες αναφορές μεταξύ της ηλικίας της εφαρμογής και του χρόνου αποκατάστασης ελαττωμάτων", λέει. "Πολλά από τα εργαλεία για JavaScript [είναι] ώριμα και είναι μια καλά υποστηριζόμενη γλώσσα."

Επιπλέον, όπου μια ευπάθεια σε μια εφαρμογή Java είναι πρόβλημα πρώτου κατασκευαστή — αφήνοντας τον προγραμματιστή να διορθώσει τα προβλήματα — στο JavaScript και στο πλαίσιο Node.js, οι ευπάθειες είναι συχνά ένα ζήτημα τρίτου μέρους, επειδή η ευπάθεια έχει παρουσιαστεί σε ένα στοιχείο από το οποίο εξαρτάται το λογισμικό.

"Ο τρόπος με τον οποίο επιλύετε ένα πρόβλημα ασφαλείας σε μια εφαρμογή Java εξακολουθεί να είναι σε μεγάλο βαθμό [όπου] κάνετε μια αλλαγή σε ένα αρχείο κλάσης και το μεταγλωττίζετε", λέει. «Όπου σε μια εφαρμογή JavaScript, είναι περισσότερο πρόβλημα διαχείρισης πακέτων. Και αυτό είναι ένα διαφορετικό πράγμα που πρέπει να μάθει ένας προγραμματιστής, κάτι που μπορεί να είναι ευκολότερο.»

Νέες γλώσσες προγραμματισμού Languish

Τα δεδομένα της έκθεσης υπογραμμίζουν επίσης τη διαφορά μεταξύ των γλωσσών προγραμματισμού που μαθαίνουν οι προγραμματιστές και των γλωσσών που χρησιμοποιούνται στην πλειονότητα των επιχειρήσεων. Οι κορυφαίες γλώσσες και οικοσυστήματα — Java, .NET και JavaScript — που βλέπει η Veracode δεν είναι επιλογή της τεχνολογίας προγραμματισμού των προγραμματιστών.

Ενώ τα πλαίσια που βασίζονται σε JavaScript και JS — όπως Node.js, React.js και Angular — κυριαρχούν στις λίστες της τεχνολογίας που προτιμά οι προγραμματιστές, η Java είναι μία από τις λιγότερο αγαπημένες γλώσσες προγραμματισμού, με το 54% των ερωτηθέντων να φοβάται τη γλώσσα, σε σύγκριση με το 46% που το αγάπησε, σύμφωνα με το Stack Overflow's Έρευνα προγραμματιστών 2022

Ωστόσο, η Java κυριαρχούσε στο μερίδιο των εφαρμογών που σαρώθηκαν από πελάτες της Veracode (44%) σε σύγκριση με 14% για το JavaScript. 

Επιπλέον, η πιο αγαπημένη γλώσσα προγραμματισμού, η Rust, δεν εμφανίζεται καν στα δεδομένα της Veracode, ενώ η υπ' αριθμόν 6 προγραμματιστών, η Python, αντιπροσωπεύει μόνο λιγότερο από το 4% των σαρωμένων εφαρμογών.

Μέρος του λόγου για την αποσύνδεση είναι ότι οι καθιερωμένες εφαρμογές είναι γραμμένες σε καθιερωμένες γλώσσες προγραμματισμού, λέει ο Jarrett της Veracode.

«Έχετε ολόκληρο το σύμπαν όλου του κώδικα που υπάρχει εκεί έξω, και μετά έχετε το είδος του αφρού στην κορυφή του κύματος της νέας ανάπτυξης που συμβαίνει, και εκεί βλέπετε τους ανθρώπους να μαζεύουν το Go and Rust και το Dart και Flutter», λέει.

Λόγω των συγκεντρωτικών βάσεων κωδικών των εφαρμογών που είναι γραμμένες σε αυτές τις γλώσσες, αυτή η κατάσταση πιθανότατα δεν θα αλλάξει.

«Οι παλιές εφαρμογές δεν πεθαίνουν ποτέ, δυστυχώς, επομένως υπάρχει μεγάλη κρίσιμη μάζα σε επιχειρήσεις με αυτές τις μεγάλες βάσεις κώδικα Java και βάσεις κώδικα .NET», λέει.

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

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