Titelaufnahme

Titel
Evaluation criteria for security testing tools / von Jasmin Adamer
VerfasserAdamer, Jasmin
Begutachter / BegutachterinGrechenig, Thomas
Erschienen2011
Umfangii, 93 Bl. : Ill., graph. Darst.
HochschulschriftWien, Techn. Univ., Dipl.-Arb., 2011
Anmerkung
Zsfassung in dt. Sprache
SpracheEnglisch
DokumenttypDiplomarbeit
Schlagwörter (DE)Evaluierungskritierien / Sicherheitswerkzeuge / Evaluierungsprozess
Schlagwörter (EN)Evaluation criteria / security testing tools / evaluation process
URNurn:nbn:at:at-ubtuw:1-43960 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist frei verfügbar
Dateien
Evaluation criteria for security testing tools [1.15 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Testen von Software ist heutzutage essentiell, um den Sicherheitsgrad von Software-Produkten möglichst hoch zu halten. Dafür stehen bereits diverse automatisierte Testwerkzeuge zur Verfügung, wobei jedes Stärken in bestimmten Bereichen aufweist. Durch die Vielzahl an angebotenen Werkzeugen ist es allerdings schwierig, einen Überblick über die unterschiedlichen Funktionalitäten zu erhalten. Daher wurde zunächst ein Kriterienkatalog erarbeitet, der auf definierten und in der Community publizierten Auswahlkriterien für Sicherheitswerkzeuge aufbaut. Darauf basierend wird ein Auswahlverfahren erarbeitet, das den Tester bei der Auswahl eines optimal geeigneten Testwerkzeugs unterstützt, um Sicherheitslücken rasch und effizient aufzudecken. Bei dem in der vorliegenden Arbeit konzipierten Verfahren wurde großer Wert auf kurze Einarbeitungszeiten für Tester und rasche Umsetzbarkeit der Auswahlkriterien gelegt. Der Schwerpunkt wurde auf Sicherheitswerkzeuge gesetzt, die auf fuzz testing spezialisiert sind. Beim fuzz testing werden ungültige, unerwartete oder falsche Eingabewerte verwendet und es wird eine große Menge an zufälligen Testdaten produziert.

Ziel ist es, ein Fehlverhalten der Applikation beziehungsweise einen Systemabsturz zu verursachen, um Sicherheitsschwachstellen aufzudecken.

Die Generierung der Daten wird meist von Sicherheitswerkzeugen automatisch vorgenommen. Weiters spielt der Punkt Automatisierung eine wichtige Rolle, da die Werkezuge im Stande sein sollen, sowohl die Testfälle selbstständig zu erstellen und durchzuführen als auch die Ergebnisse zu analysieren und vergleichen.

Die Evaluierungskriterien werden ausführlich beschrieben, um Nachvollziehbarkeit zu erreichen. Weiters wird für jedes Kriterium angegeben, wie auf dessen Erfüllbarkeit überprüft werden kann. Der Prozess wird an vier verschiedenen Werkzeugen angewandt, um beispielhaft dessen Verwendung darzustellen. Der praktische Teil der Evaluierung wird auf dem Betriebssystem Windows XP Professional durchgeführt. Mit Hilfe der vorgestellten Kriterien soll es jedem Tester möglich sein, Sicherheitswerkzeuge zu vergleichen und ein für die bevorstehenden Tests geeignetes Werkzeug auszuwählen.

Außerdem konnte gezeigt werden, daß keines der gewählten Sicherheitswerkzeuge vollautomatisiert ist, da stets manueller Eingriff notwendig ist, um die Testresultate mit den gewünschten Ergebnissen zu vergleichen.

Zusammenfassung (Englisch)

Software testing is needed to assure quality of software, especially security.

Lots of automated tools exist to ease the work of testers to find security vulnerabilities but there is no guide how to evaluate and select an appropriate tool. Every tool is supporting different features by which a random choice might not represent the most fitting tool for the software to test.

Therefore, a kind of measurement to ease the selection is needed. In this thesis, evaluation criteria were defined which are based on common criteria published in scientific papers. On the basis of this, an evaluation process is worked out to support testers to find an optimal testing tool. The design of the process guarantees short training periods for the tester. The focus is on security testing tools which are specialised in fuzz testing. Fuzz testing uses invalid or wrong input to cause wrong behaviour or a crash of the application in order to reveal security vulnerabilities. Furthermore, a huge amount of random data is produced and needed for executing fuzz testing. In most cases the generation of input data is done automatically by tools. Automation is an important requirement as tools shall be able to create and execute test cases as well as compare results autonomous.

The criteria are described in detail so that they are comprehensible. In addition, for each criterion a statement how to verify its fulfillment is given.

The solution is also checked out practically on the basis of four security testing tools to show how the process works. The practical part is done on Windows XP Professional. With the described evaluation criteria, every tester should be in the position to elect a suitable testing tool for successful security testing. Besides, the conducted evaluation shows that none of the selected tools is completely automated as manual input is needed to compare test results.