TU Darmstadt / ULB / TUprints

New Approaches to Software Security Metrics and Measurements

Alexopoulos, Nikolaos (2022)
New Approaches to Software Security Metrics and Measurements.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00021520
Ph.D. Thesis, Primary publication, Publisher's Version

[img] Text
diss_finalfinal.pdf
Copyright Information: CC BY-SA 4.0 International - Creative Commons, Attribution ShareAlike.

Download (2MB)
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: New Approaches to Software Security Metrics and Measurements
Language: English
Referees: Mühlhäuser, Prof. Dr. Max ; Freiling, Prof. Dr. Felix
Date: 2022
Place of Publication: Darmstadt
Collation: xviii, 180 Seiten
Date of oral examination: 22 March 2022
DOI: 10.26083/tuprints-00021520
Abstract:

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.

Alternative Abstract:
Alternative AbstractLanguage

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.

German
Status: Publisher's Version
URN: urn:nbn:de:tuda-tuprints-215201
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Telecooperation
Date Deposited: 31 Aug 2022 11:10
Last Modified: 01 Sep 2022 11:05
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/21520
PPN: 49875085X
Export:
Actions (login required)
View Item View Item