Unsichere Speicherung und Kommunikation
Häufige Schwachstellen
Unsichere Speicherung und Kommunikation ist eine kostenlose Ethical Hacking Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ethical Hacking Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ethical Hacking Academy-Kurs umfasst insgesamt 4 Lektionen.
Die zwei klassischen Schwachstellen
Zwei der häufigsten mobilen Schwachstellen sind unsichere Datenspeicherung und unsichere Kommunikation. Sie werden in den OWASP Mobile Top 10 aufgeführt.
Beide entstehen dadurch, dass Entwickler dem Gerät zu sehr vertrauen und Daten unzureichend schützen.
Wo Apps Daten speichern
Apps speichern Daten unter /data/data/<package>/:
- SharedPreferences: XML-Dateien mit Schlüssel-Wert-Paaren.
- SQLite-Datenbanken.
- Interne und externe Dateien.
Pentester prüfen jede dieser Speicherformen auf Geheimnisse, die im Klartext gespeichert sind.
/data/data/com.app/shared_prefs/prefs.xmlGeheimnisse im Klartext
Ein häufiger Fehler ist das Speichern von Passwörtern, Tokens oder personenbezogenen Daten im Klartext in SharedPreferences oder einer Datenbank.
Auf einem Gerät mit Root-Zugriff, über ein Backup oder mit Objection kann ein Angreifer diese Daten direkt auslesen. Sensible Daten sollten verschlüsselt oder in sicherer Hardware gespeichert werden.
<string name="auth_token">eyJhbGci...plaintext...</string>Risiken des externen Speichers
Daten, die im externen Speicher (dem Bereich der SD-Karte) abgelegt werden, sind unter älteren Android-Versionen für alle lesbar und für jede App mit Speicherberechtigung zugänglich.
Das Speichern sensibler Dateien dort gibt sie anderen Apps preis. Auf Datenträger geschriebene Protokolle sind ein ähnliches Datenleck.
Die richtige Speicherung von Geheimnissen
Zu den sicheren Optionen gehören der Android Keystore (Schlüssel werden in Hardware gespeichert und der App niemals offengelegt) und EncryptedSharedPreferences.
Der Keystore kann kryptografische Operationen ausführen, ohne den Schlüssel preiszugeben. Das ist wesentlich sicherer als ein fest codierter Schlüssel im Code.
Unsichere Kommunikation
Unsichere Kommunikation bedeutet, dass Daten ohne angemessenen Schutz übertragen werden. Der schlimmste Fall ist HTTP im Klartext, bei dem jeder im Netzwerk den Datenverkehr lesen oder verändern kann.
Der gesamte sensible Datenverkehr muss HTTPS/TLS verwenden.
http://api.app.com/login # cleartext, credentials exposedDatenverkehr abfangen
Um Datenverkehr zu untersuchen, leiten Sie das Gerät über einen abfangenden Proxy wie Burp Suite. Sie installieren das CA-Zertifikat von Burp auf dem Gerät, damit HTTPS gelesen werden kann.
Dadurch werden API-Endpunkte, Parameter und sämtliche sensiblen Daten während der Übertragung sichtbar.
Zertifikats-Pinning
Gut entwickelte Apps verwenden Zertifikats-Pinning, um jedes Zertifikat außer dem eigenen zurückzuweisen und einen einfachen Proxy abzuwehren.
Wie Sie gelernt haben, deaktiviert ein Frida-Bypass für SSL-Pinning diese Funktion, sodass Sie den tatsächlichen API-Schutz weiterhin abfangen und bewerten können.
Schwaches TLS und fehlerhafte Validierung
Auch bei HTTPS gibt es Schwachstellen, etwa das Vertrauen in alle Zertifikate, das Akzeptieren abgelaufener Zertifikate oder das Deaktivieren der Hostnamenprüfung – häufig nachträglich eingebaut, um die Entwicklung zu erleichtern.
Dadurch kann ein Angreifer trotz vorhandenem TLS einen Man-in-the-Middle-Angriff durchführen.
Backups und Protokolle
Zwei weitere Datenlecks:
android:allowBackup="true"ermöglicht es jedem mit Zugriff auf das Gerät, App-Daten überadb backupzu extrahieren.- Ausführliche logcat-Ausgaben können Tokens oder personenbezogene Daten ausgeben.
Beides sollte in der Produktion deaktiviert oder bereinigt werden.
adb backup -f data.ab com.appZwischenablage und Screenshots
Zwei häufig übersehene Datenlecks: das Kopieren sensibler Daten in die Zwischenablage (unter älteren Android-Versionen für andere Apps lesbar) und der System-Screenshot, der beim Wechsel der App in den Hintergrund erstellt wird.
Banking-Apps wirken dem mit dem Fenster-Flag FLAG_SECURE entgegen, das Screenshots und die Vorschau im Task-Manager blockiert.
Kurzer Check
Rufen Sie sich den sichersten Ort für die Aufbewahrung kryptografischer Schlüssel unter Android ins Gedächtnis.
Zusammenfassung
Sie verstehen nun unsichere Speicherung und Kommunikation:
- Apps geben Geheimnisse im Klartext in SharedPreferences, Datenbanken, externem Speicher und Protokollen preis.
- Speichern Sie Geheimnisse im Android Keystore oder in EncryptedSharedPreferences.
- Unsichere Kommunikation reicht von HTTP im Klartext bis zu schwacher TLS-Validierung; fangen Sie den Datenverkehr mit Burp ab.
- Umgehen Sie Zertifikats-Pinning mit Frida; deaktivieren Sie allowBackup und bereinigen Sie Protokolle.
Sie haben den Kurs zu mobilen Penetrationstests abgeschlossen.
Häufig gestellte Fragen
Ist die Lektion „Unsichere Speicherung und Kommunikation“ kostenlos?
Ja — der vollständige Text von „Unsichere Speicherung und Kommunikation“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ethical Hacking Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ethical Hacking Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Unsichere Speicherung und Kommunikation“?
Häufige Schwachstellen Du übst Ethical Hacking Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Ethical Hacking Academy zu starten?
Keine Vorkenntnisse erforderlich. Ethical Hacking Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Unsichere Speicherung und Kommunikation“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Ethical Hacking Academy-Lektion Code schreiben und ausführen?
Ja. Jede Ethical Hacking Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Android-App-Struktur
- Statische APK-Analyse
- Dynamische Analyse mit Frida
- Unsichere Speicherung und Kommunikation