In this article
Sicherheitstests für mobile Anwendungen (MAST) – Herausforderungen und Tools
Die wichtigsten Herausforderungen und Tools für Sicherheitstests mobiler Anwendungen
Sicherheitstests für mobile Anwendungen (MAST) sollten Teil der Sicherheitsstrategie für mobile Anwendungen jedes Unternehmens sein. Sie bieten eine praktische Möglichkeit, Schwachstellen zu identifizieren und Risiken zu mindern, bevor und nachdem eine mobile App in die Hände der Nutzer gelangt. Hier erfahren Sie alles Wichtige über die Bedeutung von Sicherheitstests für mobile Anwendungen – einschließlich Tipps zur Durchführung von MAST, häufigen Herausforderungen sowie Best Practices und Tools der Branche. Die Application-Security-Lösung von Snyk unterstützt Sie beim Einstieg in MAST und deckt Programmiersprachen für die Android- und iOS-Entwicklung ab.
Was sind Sicherheitstests für mobile Anwendungen?
Bei Sicherheitstests für mobile Anwendungen werden Risiken und Schwachstellen bewertet, die in Anwendungen bestehen können, die auf mobilen Betriebssystemen wie Android, iOS und Windows 10 Mobile installiert sind.
Der OWASP Mobile Security Testing Guide weist darauf hin, dass für MAST manchmal auch ähnliche Begriffe wie „Sicherheitsprüfung mobiler Apps“ verwendet werden. Eine effektive Schwachstellenanalyse mit MAST umfasst statische und dynamische Analysen sowie Penetrationstests.
Warum sind Tests für die Sicherheit mobiler Anwendungen wichtig?
2022 wurden weltweit mehr als eine Viertelbillion (255 Milliarden) mobile Apps heruntergeladen – für 2023 wurde ein Anstieg auf fast 300 Milliarden Downloads erwartet. Mobilgeräte sind besonders attraktive Ziele, da sie Zugriff auf verschiedenste Datenquellen (E-Mails, soziale Medien) und zahlreiche Zusatzfunktionen (Mikrofon, Kamera, Geolokalisierung) bieten und bei Authentifizierungsverfahren (2FA, MFA) zum Einsatz kommen. Aufgrund seiner Offenheit ist Android besonders anfällig.
Die Sicherheit mobiler Anwendungen ist zu einem zentralen Schwerpunkt unternehmensweiter Cybersicherheitsprogramme geworden. Unternehmen veröffentlichen ständig neue Apps und aktualisieren bestehende – dadurch entstehen unzählige Gelegenheiten für Angreifer, auf große Mengen vertraulicher Informationen zuzugreifen.
MAST ist eine Maßnahme innerhalb einer umfassenden Sicherheitsstrategie für mobile Anwendungen, die durch weitere Praktiken wie das Entwerfen sicherer Architekturen, das Umsetzen sicherer Programmierpraktiken und die Minimierung der Speicherung sensibler Daten ergänzt wird.
Viele Unternehmen haben bei der Sicherheit ihrer mobilen Anwendungen noch erheblichen Nachholbedarf. Eine groß angelegte Umfrage ergab, dass drei von vier mobilen Apps mindestens eine mittelschwere Sicherheitslücke aufweisen.
Starten Sie mit Capture the Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.
Welche Methoden eignen sich für Sicherheitstests mobiler Anwendungen?
Zu den beliebtesten Methoden für Sicherheitstests mobiler Anwendungen gehören:
Manuelle Tests: Ein menschlicher Tester interagiert manuell mit der Anwendung, um Schwachstellen zu erkennen. Manuelle App-Tests eignen sich besonders gut, um übergeordnete, abstraktere Probleme der Anwendung aufzudecken, etwa Designfehler und Fehler in der Geschäftslogik.
Automatisierte Tests: Eine automatisierte MAST-Lösung scannt den Anwendungscode auf potenzielle Schwachstellen. So können Entwicklungsteams Sicherheitsrisiken möglichst früh erkennen. Weitere Vorteile sind Geschwindigkeit, Genauigkeit, Skalierbarkeit und Kosteneffizienz.
Bug-Bountys: Unternehmen bieten Sicherheitsforschern und ethischen Hackern Geldprämien oder andere Anreize, wenn diese Schwachstellen in der Umgebung des Unternehmens identifizieren und offenlegen.
Öffentliche Offenlegung von Schwachstellen: Ähnlich wie bei Bug-Bountys, mit dem Unterschied, dass Sicherheitslücken öffentlich bekannt gegeben und nicht vertraulich gemeldet werden. Solche Offenlegungen enthalten manchmal Empfehlungen dazu, wie Entwickler Schwachstellen beheben können.
Unternehmen kombinieren bei Sicherheitstests mobiler Anwendungen häufig mehrere dieser Methoden. Viele nutzen beispielsweise automatisierte Tools für den Großteil ihrer Tests und ergänzen diese durch manuelle Prüfungen, um Logik und Absicht zu bewerten, sowie durch ein fortlaufendes Bug-Bounty-Programm als zusätzliche Sicherheitsebene. Weitere ergänzende Maßnahmen zur Sicherheit mobiler Anwendungen, die sich mit MAST kombinieren lassen, sind Threat Modeling, Compliance-Tests und Angriffssimulationen durch Red Teams.
Welche Tools eignen sich für Sicherheitstests mobiler Anwendungen?
Zu den am häufigsten empfohlenen Tools für Sicherheitstests mobiler Anwendungen gehören SAST-, DAST-, IAST- und SCA-Tools sowie Fuzzing-Tools.
Hier finden Sie einen kurzen Überblick über die einzelnen Tool-Kategorien:
Tools für statische Anwendungssicherheitstests (SAST) scannen den Quellcode von Anwendungen, um Schwachstellen zu identifizieren. Diese Tools können bereits früh in der CI/CD-Pipeline oder sogar während des Programmierens als IDE-Plugin ausgeführt werden. SAST ist eine Form des „White-Box-Tests“: Dabei wird das Wissen über das interne Design der Anwendung berücksichtigt.
Tools für dynamische Anwendungssicherheitstests (DAST) prüfen die Sicherheit zur Laufzeit, indem sie häufige Angriffstypen gegen die laufende Anwendung testen. Da diese Tools eine funktionsfähige Anwendung voraussetzen, lassen sie sich erst deutlich später im Entwicklungsprozess einsetzen. DAST ist eine Form des „Black-Box-Tests“ und basiert ausschließlich auf externen Annahmen – interne Kenntnisse der Anwendung werden nicht berücksichtigt.
Tools für interaktive Anwendungssicherheitstests (IAST) prüfen die Sicherheit zur Laufzeit durch Scans der Anwendung und die Analyse interner Anwendungsabläufe. IAST kombiniert White-Box- und Black-Box-Tests, da dabei DAST-ähnliche Befunde (z. B. erkannte Regressionen) mit dem Quellcode verknüpft werden, wie es auch ein SAST-Tool tun würde.
Tools zur Software Composition Analysis (SCA) erfassen Abhängigkeiten von Drittanbieter-Code. Das ist besonders nützlich für Apps, die zahlreiche Open-Source-Bibliotheken einbinden. Entwickler können damit alle zugehörigen Anwendungskomponenten, ihre unterstützenden Bibliotheken sowie direkte und indirekte Abhängigkeiten ermitteln – einschließlich Schwachstellen und möglicher Exploits.
Fuzzing-Tools schleusen automatisch ungültige oder unerwartete Eingaben in eine Anwendung ein, um Fehler aufzudecken. Fuzzing ist eine Black-Box-Testmethode, bei der die Anwendung gezielt überlastet werden soll, um unerwartetes Verhalten, Abstürze oder Ressourcenlecks auszulösen.
Was sind häufige Herausforderungen bei Sicherheitstests mobiler Anwendungen?
Zu den häufigen Herausforderungen bei der Sicherheit mobiler Anwendungen zählen die Fragmentierung von Plattformen, die Sprachabdeckung, die schwierige Beschaffung von Mobile-DAST-Tools und die Beschränkung auf simulierte Tests.
Plattformfragmentierung liegt vor, wenn eine Anwendung auf vielen verschiedenen Betriebssystemen und Geräten ausgeführt wird. In manchen Fällen muss die Sicherheit nicht nur auf verschiedenen Plattformen, sondern auch auf unterschiedlichen Versionen desselben Betriebssystems getestet werden. Das kommt bei Android häufiger vor, da Drittanbieter ihre eigenen Betriebssystemversionen bereitstellen.
Die Abdeckung von Programmiersprachen kann eine Herausforderung darstellen, wenn bestimmte Sprachen vom MAST-Toolset eines Unternehmens nicht unterstützt werden – insbesondere plattformunabhängige Sprachen wie Java, Kotlin, Objective C und Swift. Bei hybriden mobilen Apps kommen zu den Sicherheitsrisiken der nativen Entwicklung noch die Risiken von Webanwendungen hinzu.
Die schwierige Beschaffung von DAST-Tools ist eine häufige Herausforderung, da viele Test-Frameworks nicht auf die Sicherheit mobiler Anwendungen ausgelegt sind. Auch wenn sich diese Frameworks weiterentwickeln, kann es nach wie vor schwierig sein, reale Daten für Mobile DAST zu erhalten.
Der Rückgriff auf simulierte Tests ist bei Entwicklern aus praktischen Gründen weit verbreitet, stellt aber keine umfassende Testmethode dar. Simulierte Tests sind zwar ein guter Ausgangspunkt, doch Tests auf echten Geräten sind wichtig, um die Nutzererfahrung und reale Schwachstellenszenarien genauer nachzubilden.
Best Practices für Sicherheitstests mobiler Anwendungen
Wie MAST konkret umgesetzt wird, hängt von Ihrem Unternehmen und Ihrer individuellen Sicherheitsstrategie für mobile Anwendungen ab. Die folgenden bewährten Praktiken helfen Ihnen jedoch, die oben genannten häufigen Herausforderungen zu meistern:
Integrieren Sie MAST in Ihre mobile CI/CD-Pipeline, um die Vorteile von Shift-Left-Security zu nutzen, darunter eine verbesserte Sicherheitslage und Integration sowie höhere Geschwindigkeit und geringere Kosten.
Orientieren Sie sich an etablierten Sicherheits-Frameworks wie OWASP und dem Mobile Security Testing Guide, um häufige Probleme zu erkennen und von den umfangreichen Forschungsarbeiten von Sicherheitsexperten zu profitieren.
Nutzen Sie mehrere Testmethoden wie SAST, DAST und SCA. Wie bereits erläutert, decken die verschiedenen Tests unterschiedliche Arten von Sicherheitsproblemen und Szenarien ab.
Testen Sie mobile Anwendungen kontinuierlich, um neue Schwachstellen zu erkennen. Nur weil eine App bei ihrer Entwicklung sicher war, heißt das nicht, dass sie es heute noch ist.
Berücksichtigen Sie Tests bereits bei der Entwicklung, indem Sie Code und Widgets während des Entwicklungsprozesses mit Anmerkungen versehen. So lassen sich spätere Tests, insbesondere dynamische Tests, leichter verwalten.
Wählen Sie die passenden automatisierten Scan-Tools mit einander ergänzenden Funktionen. So stellen Sie sicher, dass sie sich gut in Ihre CI/CD-Pipeline integrieren, die erforderlichen Programmiersprachen für mobile Apps abdecken und die Zahl der Fehlalarme verringern.
Vernachlässigen Sie nicht die Backend-Sicherheit Ihrer mobilen Anwendungen. Auch wenn das Frontend der App sicher ist, müssen Sie sicherstellen, dass die Daten, mit denen es verbunden ist oder die es verwendet, keine Schwachstellen enthalten.
Testen Sie auf vielen verschiedenen Geräten, um der Vielfalt der Telefonkomponenten Rechnung zu tragen. Mit Automatisierung lässt sich dieser Prozess effizienter gestalten.
Wie im Vorwort des Mobile Security Testing Guide erwähnt, verbessern Sie Ihre MAST-Kenntnisse und Ihren Umgang mit MAST-Tools am besten durch praktische Erfahrung: „Hervorragende Sicherheit mobiler Anwendungen setzt ein tiefes Verständnis mobiler Betriebssysteme, des Programmierens, der Netzwerksicherheit, der Kryptografie und vieler weiterer Bereiche voraus.“
Verbessern Sie Ihre Sicherheitstests für mobile Anwendungen mit Snyk
Möchten Sie Ihren MAST-Prozess verbessern? Die Snyk-Plattform vereint SAST und SCA für die Sicherheit mobiler Anwendungen. So können Entwickler und Sicherheitsteams Sicherheitsprobleme in ihrem Code sowie bekannte Schwachstellen in Open-Source-Abhängigkeiten schnell finden, priorisieren und beheben.
Wenn automatisierte Scans früher im Entwicklungsprozess stattfinden, wird die Sicherheit deutlich verbessert, bevor eine mobile App in die Hände der Nutzer gelangt. Weitere Informationen zu Shift-Left-Security und dazu, wie MAST in eine übergeordnete Teststrategie passt, finden Sie in unserem Leitfaden zu Anwendungssicherheitstests.
Starten Sie mit Capture the Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.