Neue Technologien bergen immer neue Sicherheitsrisiken und Mobile Apps bilden da keine Ausnahme. 2021 haben wir zusammen mit der Hochschule Weser-Bergland (HSW) den ersten Prototypen unserer Banking 5.0 App entwickelt. Unsere Sicherheitstester haben mit dem Mobile Security Framework (MobSF) den Android Banking 5.0 App Prototyp sowohl automatisierten dynamischen als auch statischen Analysen – einem Pentest – unterzogen.

Im Rahmen des Prototypenprojektes wurde durch das Team Banken und Versicherung das Anforderungsmanagement ganzheitlich abgedeckt. Das Fachkonzept für die Banking 5.0 App diente den Studierenden der HSW als Entwicklungsgrundlage.

Das Team Qualitätsmanagement definierte Testfälle und führte diese manuell sowie automatisiert mittels des Werkzeuges Appium zur Qualitätssicherung der Banking 5.0 App durch.

Digitale Geschäftsmodelle, die Verarbeitung sensibler Informationen und eine sichere Abwicklung der Interoperabilität zwischen verschiedenen Application Programming Interfaces (APIs) und anderweitiger mobiler Apps machen einen Penetrationstest (auch Pentest genannt) unverzichtbar. So auch bei der Banking 5.0 App.

Unsere Sicherheitstester haben mit dem Mobile Security Framework (MobSF) den Android Banking 5.0 App Prototyp sowohl automatisierten dynamischen als auch statischen Analysen – einem Pentest – unterzogen.

Mobile Security Framework (MobSF)

MobSF ein in Python entwickeltes Open-Source-Testframework zur automatisierten Analyse von mobilen Applikationen. Dabei unterstützt das Framework bei Sicherheitsanalysen und Pentests. Zudem verfügt MobSF über einen integrierten Emulator, eine API, über die die Analyse automatisch ausgeführt werden kann und eine Web-API-Fuzzing Funktion, das HTTPTool, das u.a. die Analyse von Headern und die Erkennung von Server-Side Request Forgery (SSRF) oder Path Traversal unterstützt. Das Framework spezialisiert sich, den Angaben des Projekts zufolge, vor allem auf die Integration in Continuous Integration (CI) und Continuous Delivery (CD) Pipelines. Große Bereiche der Open Web Application Security Project (OWASP) deckt MobSF von Haus aus bereits ab.

Banking 5
Dynamische Analyse – ITGAIN Banking 5.0 App – Android APK

Vorgehen unserer Sicherheitstester

Mit Hilfe des Pentests versuchen unsere Testexperten durch gezielt ausgeführte Angriffe die Empfindlichkeit des Banking 5.0 App Prototypen gegenüber Einbruchs- und Manipulationsversuchen festzustellen. Sie verwenden hierfür ähnliche Methoden und Techniken, wie sie Hacker oder Cracker einsetzen, um unautorisiert in ein System einzudringen.

Durch den Pentest sollten Schwachstellen aufgedeckt und Gefährdungspotenziale besser eingeschätzt werden. Während des kompletten Pentests erfolgte eine genaue Protokollierung aller durchgeführten Maßnahmen. Die Ergebnisse wurden zentral im Testmanagementwerk TestLink dokumentiert.

In einem abschließenden Bericht wurden die erkannten Schwachstellen und Lösungsansätze zur Verbesserung des IT-Sicherheitsniveaus aufgeführt. Das Beseitigen der Schwachstellen und die Durchführung von Härtungsmaßnahmen der Banking App war nicht Bestandteil des Pentests, da es sich nur um einen Prototyp handelt, der so nicht in den produktiven Einsatz überführt wird.

Statische Analyse

Im Rahmen der statischen Analyse wurden viele Funktionen und Komponenten automatisiert mittels MobSF getestet.

Es werden exemplarisch nur drei Funktionen etwas ausführlicher beschrieben.

  • Ermittlung und Analyse der Activities, Services, Receiver und des Providers
  • Dekompilierung der Binärdatei in Java- und Smali-Quellcode
  • Analyse der Manifest-Datei

MobSF analysierte die Berechtigungen der Banking 5.0 App, bestimmte deren Status hinsichtlich der Kritikalität und der Beschreibung der Berechtigungen. Um die tatsächliche Kritikalität zu beurteilen ist die Architektur des Android-Betriebssystems zu verstehen. Hier kam uns die Kompetenz der Kollegen aus den Softwareentwicklung zugute.

  • Zertifikat- und Signaturanalyse
  • Analyse und Klassifizierung der Permissions
  • Analyse der nativen Bibliotheken (z.B. Fehler im Code)

Mittels Codeanalyse identifiziert MobSF potenzielle Sicherheitslücken. Dabei ermittelt MobSF den Schweregrad der Sicherheitslücken und die betroffenen Dateien, in denen diese Art von Sicherheitslücke gefunden wurde. Bei den ermittelten Ergebnissen kann es sich um falsch positive Befunde handeln. Aus diesem Grund wurden die Ergebnisse der Codeanalyse noch einmal manuell durch unsere Sicherheitstester überprüft und bewertet.

  • Überprüfung möglicher SDK-Manipulationen
  • Erkennung von Codefehlern (z. B. Protokolle mit vertraulichen Informationen, nicht gelöschte TMP-Dateien)
  • Überprüfung auf Schadcode mit VirusTotal und APKiD
  • Erkennung der externen API-Kommunikation (URLs, E-Mails)

Die Auflistung der URLs, IP-Adressen und die Dateien, in denen sie gespeichert oder aufgerufen werden, wurden aufgezeigt. Es galt zu analysieren, wohin der Prototyp bereits Daten sendet oder wo er die Informationen speichert.

  • Erkennung sensibler Informationen im Code
  • Erkennung von Trackern

Die statische Analyse des Banking 5.0 App Prototypen und dessen Quellcodes lieferte ein grundlegendes Verständnis für die Architektur der Android-Anwendung und die potenziellen Angriffsvektoren. Gemäß der bei Hackern verwendeten Methodik, begann unser Pentest, wie auch bei Testungen von Kundenanwendungen üblich, mit der statischen Analyse.

Dynamische Analyse

Die Durchführung der dynamischen Analyse erfolgte mittels eines Android-Emulators.

Mit dem Start der dynamischen Analyse wurde gleichzeitig eine Verbindung zum Android-Emulator hergestellt und die Banking 5.0 App automatisch auf dem virtuellen Test-Gerät installiert sowie ausgeführt. Parallel dazu startet der Dynamic Analyzer einen HTTPS-Intercepting-Proxy, um den Web-Verkehr zu erfassen und zu analysieren sowie den MobSF Agenten, der Dienste und Services, die im Hintergrund der App laufen, erfasst.

Die Weboberfläche der dynamischen Analyse bietet eine Option zur Berichtsgenerierung. Dabei wird der Bericht, entsprechend der analysierten Bereiche, in verschiedene Kategorien unterteilt.

Start des Berichtes der dynamischen Analyse des Banking 5.0 App Prototypen
Start des Berichtes der dynamischen Analyse des Banking 5.0 App Prototypen

Fazit

Keine App, keine Anwendung oder System ist vollkommen sicher. Kein System ist frei von Fehlern und Schwächen. Auch wenn unser Team Banken und Versicherung die App konzipiert hat, konnte das Team Qualitätsmanagement durch den Penstest nachweisen, dass es durchaus Optimierungspotential hinsichtlich der Sicherheit gibt.

Beim Penetrationstest einer mobilen Anwendung gehen wir ähnlich vor wie bei einer Webanwendung. Das heißt, es gibt auch hier Black-, Grey- und Whiteboxansätze. Was sich genau hinter diesen Ansätzen verbirgt, vermitteln wir gerne in unserem ISTQB® Certified Tester Foundation Level Seminar. Der größte Unterschied zu einer Webapplikation ist das Sicherheitsmodell rund um das Endgerät.

Mobile Apps sind häufig nur für einen speziellen Zweck entwickelt. Während im Webbrowser völlig unterschiedliche Webanwendungen laufen können, ist jede mobile Applikation eine separat laufende Anwendung, die eigens getestet werden muss.

Wenn Sie davon überzeugt sind, dass Ihre App, Ihre Anwendung oder System sicher ist, wissen Sie nur noch nichts von den möglichen Schwachstellen.

Unsere Security Tester wissen, dass all die Aufgabenstellungen im Softwaretest sehr vielschichtig sind. Profitieren Sie von unserer Erfahrung in der präventiven Sicherheit und gewinnen Sie Sicherheit in Ihren Softwareprojekten. Wir begleiten Sie, um Sicherheitsrisiken zu erkennen, effektive Gegenmaßnahmen zu entwickeln und diese umzusetzen. Technisch orientieren wir uns dabei an Industriestandards, beispielsweise dem OWASP Mobile Testing Guide. Kontaktieren Sie uns gerne.

 

Neuen Kommentar schreiben

Ihre E-Mail Adresse wird nicht veröffentlicht.

NEUESTE BEITRÄGE

Die drei größten Softwaretest-Mythen
05.06.2023

Die drei größten Softwaretest-Mythen

Sören Schmock

Softwaretests sind ein sehr wichtiger Bestandteil des Softwareentwicklungsprozesses, um die Qualität, Funktionalität und Sicherheit von Softwareprodukten zu gewährleisten. Doch wie bei vielen anderen Bereichen der Technik gibt es auch hier einige Mythen, die sich hartnäckig halten und die Arbeit der Tester erschweren oder sogar gefährden können. In diesem Blogbeitrag möchte ich drei der größten Softwaretest-Mythen aufdecken und erklären, warum sie nicht stimmen.

Expertise
Einführung von Protegrity - Ein Kundenprojektbericht
31.05.2023

Einführung von Protegrity - Ein Kundenprojektbericht

Leon Geitmann

Im Juli 2022 begann offiziell das Kundenprojekt „Einführung Protegrity“. Über die nächsten 6 Monate wurde dabei die neue Softwarekomponente Protegrity in die bestehende Infrastruktur eines IT-Dienstleisters im Bankenbereich implementiert. Worum es sich bei Protegrity handelt, warum es eingeführt wurde und wie dieses Projekt in etwa ablief, möchte ich in einem kurzen Projektbericht teilen.

Expertise
Welche Hürden gibt es bei Testdatengeneratoren im Softwaretest?
30.05.2023

Welche Hürden gibt es bei Testdatengeneratoren im Softwaretest?

Sören Schmock

Testdatengeneratoren sind Werkzeuge, die automatisch Daten erzeugen, die für den Softwaretest verwendet werden können. Sie können nützlich sein, um große Mengen von Daten zu erzeugen, die bestimmte Anforderungen erfüllen, wie z. B. Format, Typ oder Bereich. Allerdings eignen sich Testdatengeneratoren noch immer nur sehr bedingt für den Softwaretest.

Expertise