Eine empirische Studie über die Korrelation zwischen Sicherheitsschwachstellen und Qualitätseigenschaften von Software-Designs
- Da Software heute nahezu alle Bereiche des Alltags durchdringt, ist Sicherheit von Softwaresystemen ein wichtigeres Anliegen als je zuvor. Die Sicherheit eines Softwaresystems zu bewerten stellt in der Praxis jedoch eine Herausforderung dar, da nicht viele Metriken existieren, die Sicherheitseigenschaften von Sourcecode auf Zahlenwerte abbilden. Eine geläufige Annahme ist, dass das Auftreten von Sicherheitslücken in Korrelation mit der Qualität von Software-Designs steht, allerdings fehlt es momentan an klaren Belegen für diese Annahme. Der Nachweis einer vorhandenen Korrelation kann dazu beitragen die Messung von Programmsicherheit zu optimieren, da man dann gezielt Qualitätsmetriken zum Messen von Sicherheit einsetzen könnte. Zu diesem Zweck wurden in dieser Arbeit für 50 Android-Apps aus dem Open Source-Bereich drei Sicherheits- und sieben Qualitätsmetriken, sowie Korrelationen zwischen diesen Metriken berechnet. Bei den Qualitätsmetriken handelt es sich um einfache Code-Metriken bis hin zu High-Level-Metriken, wie objektorientierte Antipatterns, die zusammen ein umfassendes Bild der Qualität vermitteln. Um die Sicherheit darzustellen wurden zwei Sichtbarkeitsmetriken zusammen mit einer Metrik, die die minimale Rechteanforderung mobiler Applikationen berechnet, ausgewählt. Es wurde festgestellt, dass auf Basis der betrachteten Evaluationsprojekte deutliche Korrelationen zwischen den meisten Qualitätsmetriken liegen. Zu den Sicherheitsmetriken wurden dahingegen keine signifikanten Korrelationen gefunden. Es werdendiese Korrelationen und deren Ursachen diskutiert und auf dieser Basis Empfehlungen formuliert.
- Since software influences nearly every aspect of everyday life, the security of software systems is more important than ever before. The evaluation of the security of a software system still poses a significant challenge in practice, mostly due to the lack of metrics, which can map the security properties of source code onto numeric values. It is a common assumption, that the occurrence of security vulnerabilities and the quality of the software design stand in direct correlation, but there is currently no clear evidence to support this. A proof of an existing correlation could help to optimize the measurements of program security, making it possible to apply quality measurements to evaluate it. For this purpose, this work evaluates fifty open-source android applications, using three security and seven quality metrics. It also considers the correlations between the metrics. The quality metrics range from simple code metrics to high-level metrics such as object-oriented anti-patterns, which together provide a comprehensive picture of the quality. Two visibility metrics, along with a metric that computes the minimal permission request for mobile applications, were selected to illustrate the security. Using the evaluation projects, it was found that there is a clear correlation between most quality metrics. By contrast, no significant correlations were found using the security metrics. This work discusses the correlations and their causes as well as further recommendations based on the findings.