Tutorial - 08.11.2012

14:15-16:15 Security Testing auf Smart Devices - agil! Tobias Voß,
softScheck GmbH


Die Sicherheit von Apps kann durch Anwendung von 'Threat Modeling', 'Static Source Code Analysis' und 'Fuzzing' stark erhöht werden. Das Tutorial erklärt diese Verfahren am Beispiel einer Android-App (am Beispiel von SCRUM) und zeigt, wie diese zur Qualitätssicherung in der agilen App-Entwicklung eingesetzt werden können. Nach einer Einführung in die verwendete Testumgebung und das Android SDK werden die Techniken vorgestellt:

  • Threat Modeling

Bereits mit dem Design einer App muss eine grundlegende, sichere Architektur entwickelt werden (Security by Design). Hierzu werden in einem ersten Schritt Szenarien und Use Cases der neuen App identifiziert. Danach erfolgt eine Analyse der Entry Points und der zu schützenden Assets. Aus den gesammelten Daten können nun Tool-gestützt Threats erstellt werden. Die Threats müssen anschließend durch einen Experten bewertet, priorisiert und in das Product Backlog aufgenommen werden. Danach werden Threats mit einer hohen Priorisierung in den nächsten Sprint eingearbeitet. Dem Zuhörer wird an einem konkreten Beispiel erläutert, wie er die Ergebnisse aus einem Threat Modeling Tool in SCRUM verwenden kann.

  • Static Source Code Analysis

Hierbei wird das Software-Release Tool-gestützt auf die Einhaltung syntaktischer Programmierkonventionen der Programmiersprache und auf die Einhaltung der Programmierrichtlinien überprüft. Das Ziel ist hier: Hilfe bei der Auswahl der richtigen Tools, Aussortierung von False-Positives und die Priorisierung der auftretenden Fehler für nachfolgende Sprints.

  • Fuzzing

Hierzu werden an die Eingabeschnittstellen des Software-Release Tool-gestützt Testdaten übergeben, um unvorhergesehene - im Programmcode unberücksichtigte - Eingabedaten zu erkennen. Als konkretes Beispiel wird hier ein auf WebKit basierender Browser mit einem für diesen Zweck optimierten Fuzzer getestet. Das Ziel ist hier: Fuzzing an einem konkreten Beispiel und ein kurzer Einblick in die Auswahl des richtigen Fuzzers für die gewählte Applikation.


Tobias Voß, softScheck GmbH
Fachinformatiker für Systemintegration. Studium der Wirtschaftsinformatik mit dem Abschluss Bachelor of Science (B.Sc.) mit den Schwerpunkten Informationssicherheit und Betriebliche Anwendungssysteme.
Selbstständige Tätigkeit im Bereich Planung und Betrieb von Web-Content-Management-Systemen (WCMS) und Groupware-Servern auf der Basis von Open-Source Software.
Senior Consultant für IT-Security in der softScheck GmbH, Köln. Projektarbeit im gesamten Bereich des Secure Software Development Lifecycle (SSDL). Insbesondere Einsatz der drei Verfahren Threat Modeling (Requirements/Design), Static Source Code Analysis (Implementation) und Dynamic Analysis: Fuzzing (Verification/Testing) entlang des SSDL.

© 2014 imbus AG