Breadcrumbs
- Information Security
- Diplomarbeiten
- Evaluation of Static Code Analysis Tools
Evaluation of Static Code Analysis Tools
Master-Studiengang Information SecurityDipl.-Ing. Mario Rubak, BSc (Jg. 2014/2016)
Betreuer: FH-Prof. Mag. Dr. Simon Tjoa
Ausgangslage
Software ist im Internet von heute allgegenwärtig. Firmen steuern ihre Produkte, Banken verwalten ihr Geld und Personen jeden Alters fangen mittels der „Pokémon GO“-App virtuelle BegleiterInnen. Alle diese Aspekte unseres Lebens werden von Software beeinflusst.
Wie in den Medien immer öfter berichtet wird, nimmt die Anzahl an Datendiebstählen zu und verursacht Schäden in Millionenhöhe. Viele dieser Einbrüche sind auf Programmierfehler in einer Software zurückzuführen. Unternehmen arbeiten hart, um solche Sicherheitslücken aufzudecken und damit Einbrüche zu verhindern.
Dieses Vorgehen ist vergleichsweise zu einer frühen Bekämpfung der Problemquelle teuer und zeitaufwändig. Mittels der Einbindung einer statischen Code-Analyse-Software in den Entwicklungsprozess von Programmen können Sicherheitsrisiken frühzeitig erkannt und kostensparend behoben werden.
Ziel
Eines der Ziele dieser Arbeit ist es, sowohl einen grundlegenden Überblick über statische Analysen und deren Unterschied zu dynamischen Analysen deutlich zu machen, als auch einen Einblick in das Thema der Usability-Evaluierung zu geben. Dieses Hintergrundwissen wurde außerdem ausgebaut, um eine möglichst leicht umsetzbare Evaluierung von zwei statischen Code-Analyse-Programmen im Hinblick auf Security und Usability durchzuführen.
Ergebnis
Als Ergebnis liegt für die Security- als auch für die Usability-Evaluierung eine Excel-Datei vor, in welcher zwei statische Code-Analyse-Programme verglichen und dabei deren Stärken und Schwächen aufzeigt werden. Um die Security-Evaluierung zu ermöglichen, wurden zusätzlich Testfälle gesammelt, umgestaltet und ausprogrammiert. Zur Durchführung der Usability-Evaluierung wurde ein Fragebogen erstellt, ausgewertet und den Heuristiken von Jakob Nielsen zugeordnet.
Ausblick
Die Genauigkeit der Security-Evaluierung kann noch weiter ausgebaut werden, indem mehr Testsätze entwickelt werden sowie ein größeres Spektrum an Schwachstellen herangezogen wird. Weiters kann versucht werden, mit Hilfe eines automatisierten Weges – ohne Verwendung von Testsätzen, aber mittels Machine Learning – die Security-Evaluierung durchzuführen. Die Usability-Evaluierung könnte anstatt als heuristische Evaluierung mittels Befragungen von Expertinnen und Experten durchgeführt werden. Dies könnte zu einem anderen Ergebnis führen.