New approaches to software security metrics and measurements

Νικόλαος Αλεξόπουλος · 2025

Καλύτερες μετρικές και μέθοδοι για την αξιολόγηση της ασφάλειας του λογισμικού θα βελτίωναν σημαντικά την ασφάλεια των οικοσυστημάτων λογισμικού. Τέτοια μέσα θα έκαναν την ασφάλεια ένα παρατηρήσιμο χαρακτηριστικό, βοηθώντας τους χρήστες να κάνουν ενημερωμένες επιλογές και επιτρέποντας στους προμηθευτές να «χρεώνουν» για αυτήν, παρέχοντας έτσι ισχυρά κίνητρα για περισσότερες επενδύσεις στην ασφάλεια. Αυτή η διατριβή παρουσιάζει τρεις εμπειρικές μελέτες μέτρησης που εισάγουν νέες προσεγγίσεις για την αξιολόγηση πτυχών της ασφάλειας του λογισμικού, εστιάζοντας στο Ελεύθερο/Ανοιχτό Λογισμικό και Λογισμικό Ανοιχτού Κώδικα (FLOSS). Πρώτον, για να επανεξετάσουμε το θεμελιώδες ερώτημα του κατά πόσον το λογισμικό ωριμάζει με την πάροδο του χρόνου, μελετάμε το ποσοστό ευπάθειας των πακέτων σε σταθερές εκδόσεις της διανομής λογισμικού Debian GNU/Linux. Η μέτρηση του ποσοστού ευπάθειας μέσω του Debian stable: (α) παρέχει ένα φυσικό χρονικό πλαίσιο για τη δοκιμή της ωρίμανσης, (β) μειώνει τον θόρυβο και την προκατάληψη στα δεδομένα (μόνο CVE με Debian Security Advisory) και (γ) παρέχει την καλύτερη δυνατή αξιολόγηση της ωριμότητας (καθώς ο κύκλος κυκλοφορίας του Debian είναι σχετικά συντηρητικός). Συνολικά, τα αποτελέσματά μας δεν υποστηρίζουν την υπόθεση ότι το λογισμικό στο Debian ωριμάζει με την πάροδο του χρόνου, υποδηλώνοντας ότι η εύρεση και η επιδιόρθωση ευπαθειών δεν είναι κλιμακώσιμη και ότι πρέπει να καταβληθεί μεγαλύτερη προσπάθεια για τη σημαντική μείωση του ρυθμού εισαγωγής ευπαθειών, π.χ. μέσω προσεγγίσεων «ασφάλειας από το σχεδιασμό», όπως οι γλώσσες προγραμματισμού με ασφάλεια μνήμης. Δεύτερον, για να αποκτήσουμε πληροφορίες πέρα από τον αριθμό των αναφερόμενων ευπαθειών, μελετάμε πόσο καιρό παραμένουν οι ευπάθειες στον κώδικα δημοφιλών έργων FLOSS (δηλαδή τη διάρκεια ζωής τους). Παρέχουμε την πρώτη, κατά την άποψή μας, μέθοδο για την αυτόματη εκτίμηση της μέσης διάρκειας ζωής ενός συνόλου ευπαθειών με βάση τις πληροφορίες που περιέχονται στα commits για την επιδιόρθωση ευπαθειών. Χρησιμοποιώντας αυτή τη μέθοδο, μελετάμε τη διάρκεια ζωής περίπου 6.000 CVE σε 11 δημοφιλή έργα FLOSS. Μεταξύ των διαφόρων ευρημάτων, εντοπίζουμε δύο ποσότητες που παρουσιάζουν ιδιαίτερο ενδιαφέρον για τις μετρήσεις ασφάλειας λογισμικού: (α) τη διαφορά μεταξύ της μέσης διάρκειας ζωής της ευπάθειας και της μέσης ηλικίας του κώδικα κατά τη στιγμή της επιδιόρθωσης, και (β) το ρυθμό μεταβολής της προαναφερθείσας διαφοράς. Τρίτον, για να αποκτήσουμε πληροφορίες σχετικά με τη σημαντική ανθρώπινη πτυχή της διαδικασίας εντοπισμού ευπαθειών, μελετάμε τα χαρακτηριστικά των αναφερόντων ευπάθειες για 4 δημοφιλή έργα FLOSS. Παρέχουμε την πρώτη, κατά την άποψή μας, μέθοδο για τη δημιουργία ενός μεγάλου συνόλου δεδομένων αναφορών ευπάθειας (>2 000 αναφορές για >4 500 CVE) συνδυάζοντας πληροφορίες από διάφορες δημόσια διαθέσιμες διαδικτυακές πηγές. Προχωρούμε στην ανάλυση του συνόλου δεδομένων και προσδιορίζουμε μια σειρά ποσοτήτων που, όταν συνδυάζονται κατάλληλα, μπορούν να παρέχουν ενδείξεις σχετικά με την υγεία του οικοσυστήματος ασφάλειας ενός έργου.Συνολικά, δείξαμε ότι οι μελέτες μέτρησης που έχουν σχεδιαστεί προσεκτικά για να στοχεύουν σε κρίσιμες πτυχές του οικοσυστήματος ασφάλειας λογισμικού μπορούν να παρέχουν πολύτιμες πληροφορίες και ενδείξεις σχετικά με την «ποιότητα ασφάλειας» του λογισμικού. Ωστόσο, ο δρόμος προς την επίτευξη καλών μετρήσεων ασφάλειας είναι ακόμη μακρύς. Απαιτούνται νέες προσεγγίσεις που να καλύπτουν άλλες σημαντικές πτυχές της διαδικασίας, ενώ οι προσεγγίσεις που παρουσιάζονται σε αυτή τη διατριβή πρέπει να αναπτυχθούν περαιτέρω και να βελτιωθούν.

Read the paper · More papers on PaperTik