1.9 KiB
Native Android Security
Umgesetzte Schutzmaßnahmen
- Die Sitzung liegt ausschließlich in
EncryptedSharedPreferencesmit Android-Master-Key. - Release-Builds enthalten keinen HTTP-Body-Logger. Der detaillierte OkHttp-Logger ist auf Nicht-Release-Builds begrenzt.
- Release-Netzwerkverkehr erlaubt kein Cleartext. Nur der lokale Debug-Flavor darf
10.0.2.2undlocalhostper HTTP ansprechen. - Chat, Galerie, Persönliches und der Adult-Bereich setzen
FLAG_SECURE. Damit verhindert Android Screenshots, Bildschirmaufnahmen und die Anzeige im App-Switcher. - Uploads werden vor dem Service auf einen erlaubten MIME-Typ und eine Größe begrenzt: Bilder/Verifikationsnachweise 10 MiB, Videos 100 MiB. Bilder werden zusätzlich durch Sharp dekodiert, damit ein behaupteter MIME-Typ nicht genügt.
Bewusste Entscheidungen
Certificate Pinning
Certificate Pinning wird aktuell nicht erzwungen. Die API verwendet HTTPS und die plattformseitige Trust-Store-Prüfung. Pinning würde bei Zertifikats- oder CDN-Wechseln ohne App-Update zu vollständigen Ausfällen führen. Es wird erst eingeführt, wenn es mindestens zwei parallel gültige Pins, ein dokumentiertes Rotation-Verfahren und Monitoring für Pin-Fehler gibt.
Root- und Bootloader-Erkennung
Die App blockiert gerootete Geräte nicht. Eine lokale Erkennung ist umgehbar und würde legitime Nutzer sowie Emulator-Tests ausschließen. Sensible Daten bleiben verschlüsselt, Screenshots in sensiblen Bereichen sind gesperrt und Berechtigungen werden auf dem Server durchgesetzt. Play Integrity wird bei späteren Hochrisiko-Aktionen als serverseitig prüfbares Signal bewertet, nicht als pauschale Startblockade.
Dependency Scanning
.github/workflows/android-security.yml führt bei Pull Requests und Pushes einen
OSV-Abhängigkeitsscan sowie Android-Lint für den Produktions-Release aus. Kritische Findings
werden vor einem Release bewertet.