Περίληψη
Καλύτερες μετρικές και μέθοδοι για την αξιολόγηση της ασφάλειας του λογισμικού θα βελτίωναν σημαντικά την ασφάλεια των οικοσυστημάτων λογισμικού. Τέτοια μέσα θα έκαναν την ασφάλεια ένα παρατηρήσιμο χαρακτηριστικό, βοηθώντας τους χρήστες να κάνουν ενημερωμένες επιλογές και επιτρέποντας στους προμηθευτές να «χρεώνουν» για αυτήν, παρέχοντας έτσι ισχυρά κίνητρα για περισσότερες επενδύσεις στην ασφάλεια. Αυτή η διατριβή παρουσιάζει τρεις εμπειρικές μελέτες μέτρησης που εισάγουν νέες προσεγγίσεις για την αξιολόγηση πτυχών της ασφάλειας του λογισμικού, εστιάζοντας στο Ελεύθερο/Ανοιχτό Λογισμικό και Λογισμικό Ανοιχτού Κώδικα (FLOSS). Πρώτον, για να επανεξετάσουμε το θεμελιώδες ερώτημα του κατά πόσον το λογισμικό ωριμάζει με την πάροδο του χρόνου, μελετάμε το ποσοστό ευπάθειας των πακέτων σε σταθερές εκδόσεις της διανομής λογισμικού Debian GNU/Linux. Η μέτρηση του ποσοστού ευπάθειας μέσω του Debian stable: (α) παρέχει ένα φυσικό χρονικό πλαίσιο για τη δοκιμή της ωρίμανσης, (β) μειώνει τον θόρυβ ...
Καλύτερες μετρικές και μέθοδοι για την αξιολόγηση της ασφάλειας του λογισμικού θα βελτίωναν σημαντικά την ασφάλεια των οικοσυστημάτων λογισμικού. Τέτοια μέσα θα έκαναν την ασφάλεια ένα παρατηρήσιμο χαρακτηριστικό, βοηθώντας τους χρήστες να κάνουν ενημερωμένες επιλογές και επιτρέποντας στους προμηθευτές να «χρεώνουν» για αυτήν, παρέχοντας έτσι ισχυρά κίνητρα για περισσότερες επενδύσεις στην ασφάλεια. Αυτή η διατριβή παρουσιάζει τρεις εμπειρικές μελέτες μέτρησης που εισάγουν νέες προσεγγίσεις για την αξιολόγηση πτυχών της ασφάλειας του λογισμικού, εστιάζοντας στο Ελεύθερο/Ανοιχτό Λογισμικό και Λογισμικό Ανοιχτού Κώδικα (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) συνδυάζοντας πληροφορίες από διάφορες δημόσια διαθέσιμες διαδικτυακές πηγές. Προχωρούμε στην ανάλυση του συνόλου δεδομένων και προσδιορίζουμε μια σειρά ποσοτήτων που, όταν συνδυάζονται κατάλληλα, μπορούν να παρέχουν ενδείξεις σχετικά με την υγεία του οικοσυστήματος ασφάλειας ενός έργου.Συνολικά, δείξαμε ότι οι μελέτες μέτρησης που έχουν σχεδιαστεί προσεκτικά για να στοχεύουν σε κρίσιμες πτυχές του οικοσυστήματος ασφάλειας λογισμικού μπορούν να παρέχουν πολύτιμες πληροφορίες και ενδείξεις σχετικά με την «ποιότητα ασφάλειας» του λογισμικού. Ωστόσο, ο δρόμος προς την επίτευξη καλών μετρήσεων ασφάλειας είναι ακόμη μακρύς. Απαιτούνται νέες προσεγγίσεις που να καλύπτουν άλλες σημαντικές πτυχές της διαδικασίας, ενώ οι προσεγγίσεις που παρουσιάζονται σε αυτή τη διατριβή πρέπει να αναπτυχθούν περαιτέρω και να βελτιωθούν.
περισσότερα
Περίληψη σε άλλη γλώσσα
Meaningful metrics and methods for measuring software security would greatly improve the security of software ecosystems. Such means would make security an observable attribute, helping users make informed choices and allowing vendors to ‘charge’ for it—thus, providing strong incentives for more security investment. This dissertation presents three empirical measurement studies introducing new approaches to measuring aspects of software security, focusing on Free/Libre and Open Source Software (FLOSS). First, to revisit the fundamental question of whether software is maturing over time, we study the vulnerability rate of packages in stable releases of the Debian GNU/Linux software distribution. Measuring the vulnerability rate through the lens of Debian stable: (a) provides a natural time frame to test for maturing behavior, (b) reduces noise and bias in the data (only CVEs with a Debian Security Advisory), and (c) provides a best-case assessment of maturity (as the Debian release cycl ...
Meaningful metrics and methods for measuring software security would greatly improve the security of software ecosystems. Such means would make security an observable attribute, helping users make informed choices and allowing vendors to ‘charge’ for it—thus, providing strong incentives for more security investment. This dissertation presents three empirical measurement studies introducing new approaches to measuring aspects of software security, focusing on Free/Libre and Open Source Software (FLOSS). First, to revisit the fundamental question of whether software is maturing over time, we study the vulnerability rate of packages in stable releases of the Debian GNU/Linux software distribution. Measuring the vulnerability rate through the lens of Debian stable: (a) provides a natural time frame to test for maturing behavior, (b) reduces noise and bias in the data (only CVEs with a Debian Security Advisory), and (c) provides a best-case assessment of maturity (as the Debian release cycle is rather conservative). Overall, our results do not support the hypothesis that software in Debian is maturing over time, suggesting that vulnerability finding-and-fixing does not scale and more effort should be invested in significantly reducing the introduction rate of vulnerabilities, e.g. via ‘security by design’ approaches like memory-safe programming languages. Second, to gain insights beyond the number of reported vulnerabilities, we study how long vulnerabilities remain in the code of popular FLOSS projects (i.e. their lifetimes). We provide the first, to the best of our knowledge, method for automatically estimating the mean lifetime of a set of vulnerabilities based on information in vulnerability-fixing commits. Using this method, we study the lifetimes of ~6 000 CVEs in 11 popular FLOSS projects. Among a number of findings, we identify two quantities of particular interest for software security metrics: (a) the spread between mean vulnerability lifetime and mean code age at the time of fix, and (b) the rate of change of the aforementioned spread. Third, to gain insights into the important human aspect of the vulnerability finding process, we study the characteristics of vulnerability reporters for 4 popular FLOSS projects. We provide the first, to the best of our knowledge, method to create a large dataset of vulnerability reporters (>2 000 reporters for >4 500 CVEs) by combining information from a number of publicly available online sources. We proceed to analyze the dataset and identify a number of quantities that, suitably combined, can provide indications regarding the health of a project’s vulnerability finding ecosystem. Overall, we showed that measurement studies carefully designed to target crucial aspects of the software security ecosystem can provide valuable insights and indications regarding the ‘quality of security’ of software. However, the road to good security metrics is still long. New approaches covering other important aspects of the process are needed, while the approaches introduced in this dissertation should be further developed and improved.
περισσότερα
Περίληψη σε άλλη γλώσσα
Aussagekräftige Metriken und Methoden zur Messung der Softwaresicherheit können erheblich zur Verbesserung der Sicherheit von Software-Ökosystemen beitragen. Damit kann Sicherheit sichtbar und nachvollziehbar gemacht werden, wodurch weiterhin Nutzer darin unterstützt werden, bei der Auswahl sowie der Interaktion mit Software informierte Entscheidungen zu treffen. Darüber hinaus werden starke Anreize für mehr Investitionen in die Sicherheit von Software geliefert, sodass Software-Anbieter dazu ermächtigt werden, für höhere Sicherheit in ihren Produkten Geld zu verlangen. In dieser Dissertation werden drei empirische Messstudien vorgestellt, die neue Ansätze zur Messung von Aspekten der Softwaresicherheit vorstellen, wobei der Schwerpunkt auf Free/Libre and Open Source Software (FLOSS) liegt.
Erstens: Um die grundlegende Frage zu klären, ob Software im Laufe der Zeit ausgereifter wird, untersuchten wir die Schwachstellenrate von Paketen in stabilen Veröffentlichungen der Debian GNU/Li ...
Aussagekräftige Metriken und Methoden zur Messung der Softwaresicherheit können erheblich zur Verbesserung der Sicherheit von Software-Ökosystemen beitragen. Damit kann Sicherheit sichtbar und nachvollziehbar gemacht werden, wodurch weiterhin Nutzer darin unterstützt werden, bei der Auswahl sowie der Interaktion mit Software informierte Entscheidungen zu treffen. Darüber hinaus werden starke Anreize für mehr Investitionen in die Sicherheit von Software geliefert, sodass Software-Anbieter dazu ermächtigt werden, für höhere Sicherheit in ihren Produkten Geld zu verlangen. In dieser Dissertation werden drei empirische Messstudien vorgestellt, die neue Ansätze zur Messung von Aspekten der Softwaresicherheit vorstellen, wobei der Schwerpunkt auf Free/Libre and Open Source Software (FLOSS) liegt.
Erstens: Um die grundlegende Frage zu klären, ob Software im Laufe der Zeit ausgereifter wird, untersuchten wir die Schwachstellenrate von Paketen in stabilen Veröffentlichungen der Debian GNU/Linux Software Distribution. Die Messung der Schwachstellenrate mit dem Fokus auf von Debian Stable: (a) bietet einen natürlichen Zeitrahmen, um die Entwicklung der Ausgereiftheit zu testen, (b) reduziert Rauschen und Verzerrungen in den Daten (nur CVEs mit einem Debian-Sicherheitshinweis) und (c) bietet eine Best-Case-Bewertung der Ausgereiftheit (da der Debian-Veröffentlichungszyklus eher konservativ ist). Insgesamt unterstützen unsere Ergebnisse nicht die Hypothese, dass Software-Sicherheit in Debian im Laufe der Zeit fortschreitet, was darauf hindeutet, dass mehr Anstrengungen unternommen werden sollten, um die Rate von neu eingeführten Schwachstellen signifikant zu reduzieren, z.B. durch ‘security by design’-Ansätze wie speichersichere Programmiersprachen.
Zweitens: Um über die Anzahl der gemeldeten Schwachstellen hinaus Erkenntnisse zu gewinnen, untersuchten wir, wie lange Schwachstellen im Code beliebter FLOSS-Projekte (in Bezug auf ihre Lebensdauer) verbleiben. Wir bieten die unseres Wissens nach erste Methode zur automatisierten Schätzung der durchschnittlichen Lebensdauer einer Reihe von Schwachstellen auf der Grundlage von Informationen in Commits zur Entfernung von Schwachstellen. Mit dieser Methode untersuchten wir die Lebensdauer von ~6 000 CVEs in 11 populären FLOSS-Projekten. Unter einer Reihe von Ergebnissen identifizierten wir zwei Größen, die für Software-Sicherheitsmetriken von besonderem Interesse sind: (a) die Spanne zwischen der mittleren Lebensdauer der Schwachstelle und dem mittleren Code-Alter zum Zeitpunkt der Korrektur und (b) die Änderungsrate der zuvor genannten Spanne.
Drittens: Um Einblicke in den wichtigen menschlichen Aspekt des Schwachstellenfindungsprozesses zu erhalten, untersuchten wir die Charakteristika von Schwachstellenmeldern für vier populäre FLOSS-Projekte. Unseres Wissens nach ist dies die erste Methode zur Erstellung eines großen Datensatzes von Schwachstellenberichten (>2 000 Berichte für >4 500 CVEs) durch die Kombination von Informationen aus einer Reihe öffentlich zugänglicher Online-Quellen. Wir analysierten den Datensatz und ermittelten eine Reihe von Größen, die in geeigneter Kombination Hinweise auf den Zustand des Ökosystems eines Projekts zum Auffinden von Schwachstellen liefern können.
Insgesamt haben wir gezeigt, dass sorgfältig konzipierte Messstudien, die auf wichtige Aspekte des Ökosystems der Softwaresicherheit abzielen, wertvolle Einblicke und Hinweise auf die ‘Sicherheitsqualität’ von Software liefern können. Der Weg zu guten Sicherheitsmetriken ist jedoch noch weit. Neue Ansätze, die andere wichtige Aspekte des Prozesses abdecken, sind erforderlich, während die in dieser Dissertation vorgestellten Ansätze weiterentwickelt und verbessert werden sollten.
περισσότερα