Mobile Application Development and Security - Cheatsheet
Grundlagen der mobilen Sicherheit
Definition:
Basiswissen über Schutzmaßnahmen und potenzielle Bedrohungen im Bereich mobiler Geräte und Anwendungen.
Details:
- Betriebssystemsicherheit: Nutzung von Sicherheitsfunktionen wie Sandboxen.
- Anwendungssicherheit: Prüfung auf Schwachstellen, Verwendung von sicheren Protokollen.
- Netzwerksicherheit: Datenverschlüsselung, sichere Kommunikation.
- Physische Sicherheit: Geräteverschlüsselung, Diebstahlschutz.
- Benutzeraufklärung: Sensibilisierung für sicherheitsbewusstes Verhalten.
- Regelmäßige Updates: Patch-Management für Betriebssystem und Apps.
Schwachstellenanalyse und Bedrohungsmodellierung
Definition:
Identifizierung und Bewertung von Schwachstellen und Bedrohungen in mobilen Anwendungen.
Details:
- Ziele: Ermittlung potenzieller Sicherheitslücken und Bedrohungen
- Schwachstellenanalyse: Untersuchung des Codes, der Architektur und der Datenflüsse
- Bedrohungsmodellierung: Erstellung von Modellen zur Identifizierung und Bewertung von Bedrohungen
- Bekannte Methoden: STRIDE, DREAD, PASTA
- Tools: OWASP ZAP, Burp Suite
- Best Practices: Regelmäßige Überprüfung, Automatisierung, frühzeitige Integration in den Entwicklungsprozess
Plattformübergreifende Frameworks: React Native und Flutter
Definition:
Cross-Platform-Frameworks: Erstellung von mobilen Anwendungen, die auf mehreren Betriebssystemen laufen können.
Details:
- React Native: Entwickelt von Facebook, nutzt JavaScript und JSX, ermöglicht native UI-Komponenten.
- Flutter: Entwickelt von Google, nutzt Dart, bietet 'Hot Reload' für schnelle Entwicklung und eigene UI-Engine.
- Vorteile: Geringere Entwicklungszeit, einheitlicher Codebase, Kostenreduktion.
- Nachteile: Performance geringfügig hinter nativen Apps, begrenzte API-Unterstützung, große App-Größe.
Einführung in Datenschutzprinzipien
Definition:
Grundlagen und Leitlinien zum Schutz personenbezogener Daten bei der Entwicklung und Nutzung mobiler Anwendungen.
Details:
- Datenschutz durch Technikgestaltung (Privacy by Design)
- Datenschutzfreundliche Voreinstellungen (Privacy by Default)
- Rechtmäßigkeit, Verarbeitung nach Treu und Glauben, Transparenz
- Zweckbindung und Datenminimierung
- Richtigkeit und Speicherbegrenzung
- Integrität, Vertraulichkeit und Verantwortlichkeit
Risikomanagement und Compliance
Definition:
Risikomanagement identifiziert, bewertet und steuert Risiken in mobilen Anwendungen; Compliance stellt sicher, dass alle gesetzlichen und regulatorischen Anforderungen erfüllt werden.
Details:
- Risikomanagement-Prozess: Risikoidentifikation, Risikobewertung, Risikokontrolle.
- Tools: Risikoanalyse-Methoden (z. B. FMEA, SWOT), Risiko-Matrizen.
- Schlüsselkomponenten von Compliance: Datenschutzgesetze (z. B. DSGVO), Branchenstandards (z. B. PCI-DSS).
- Ziele: Schutz der Daten, Minimierung von Sicherheitslücken, Vermeidung von Strafen.
Testen und Debuggen plattformübergreifender Anwendungen
Definition:
Testen und Debuggen von Anwendungen, die auf mehreren Plattformen (Android, iOS) laufen.
Details:
- Nutzung von Frameworks: Xamarin, Flutter, React Native.
- Unit-Tests mit plattformübergreifenden Test-Tools (z.B. Jest für React Native).
- Automatisierte Tests mit CI/CD-Tools (z.B. Jenkins, GitHub Actions).
- Debugging-Tools: Chrome DevTools, Flutter DevTools.
- Plattform-Spezifische Bugs identifizieren und analysieren.
- Emulatoren und echte Geräte für das Testen verwenden.
- Code Coverage-Analyse zur Sicherstellung umfassender Tests.
Verschlüsselung und Authentifizierung in mobilen Apps
Definition:
Verschlüsselung schützt Daten vor unbefugtem Zugriff, Authentifizierung stellt sicher, dass Benutzer echt sind.
Details:
- Symmetrische Verschlüsselung: ein Schlüssel für Ver- u. Entschlüsselung (z.B. AES).
- Asymmetrische Verschlüsselung: ein öffentlicher u. ein privater Schlüssel (z.B. RSA).
- Hash-Funktionen: Einwegverschlüsselung zur Integritätsprüfung (z.B. SHA-256).
- Zwei-Faktor-Authentifizierung (2FA): Kombinierte Nutzung von zwei verschiedenen Authentifizierungsmethoden.
- OAuth: Offenes Standardprotokoll für Authentifizierung u. Autorisierung.
- JSON Web Token (JWT): Token-basierte Authentifizierungsmethode.
- SSL/TLS: Schützt Datenübertragungen durch Verschlüsselung.
Datenminimierung und Anonymisierungstechniken
Definition:
Datenminimierung und Anonymisierungstechniken reduzieren Datenmengen und schützen sensible Informationen in mobilen Anwendungen.
Details:
- Datenminimierung: Sammle und speichere nur die notwendigsten Daten. Prinzip der Datensparsamkeit.
- Anonymisierung: Daten so verändern, dass Rückschlüsse auf Personen unmöglich werden.
- Pseudonymisierung: Ersetze personenbezogene Daten durch Pseudonyme.
- Techniken: Maskierung, Aggregation, Zufallsrauschen, K-Anonymität (\text{K-Anonymity}), L-Diversität (\text{L-Diversity}).
- Ziele: Schutz der Privatsphäre, Erfüllung rechtlicher Anforderungen (z.B. DSGVO).