Mobile-Plattform-Sicherheit — Android, iOS, macOS.
Angriffsfläche und Skill-Referenz pro Plattform: Android-Permission-Modell und APK-Static-/Dynamic-Attacks, iOS-Entitlement-Reasoning, macOS-TCC und codesign.
Android — Attack-Surface-Review
- APK-Unpacking.
apktool d app.apkfür Resources + smali;jadx-gui app.apkfür decompiled Java.AndroidManifest.xmlzuerst lesen — exportierte Activities, Services, Provider, Receiver sind Entry-Points. - Permission-Modell. Dangerous Permissions (CAMERA, LOCATION, READ_SMS) brauchen Runtime-Grant ab API 23.
checkSelfPermission+ Early-Return-Logik suchen; fehlende Checks = Bypass. - Exportierte Komponenten.
android:exported="true"ohne Intent-Filter-Permission = aus jeder installierten App aufrufbar.drozer console connect,run app.activity.start --component pkg cls. - Unsichere Deep-Links. Custom Scheme + WebView
loadUrlauf Intent-Extras = lokales File-Read oder beliebiger URL-Load.file://-Handling prüfen. - Network-Security-Config.
res/xml/network_security_config.xml—cleartextTrafficPermitted, Custom-Trust-Anchors, Certificate-Pinning. Erste Defender-Härtung. - SSL-Pinning-Bypass. Frida-Script
frida -U -l ssl-pinning-bypass.js -f pkgoderobjection -g pkg explore→android sslpinning disable. - Root-Detection-Bypass. Gleiche Frida-Toolchain —
RootBeer,SafetyNetoder per-App-Heuristiken hooken.
Android — Verteidigung in Apps
- R8/ProGuard mit Custom-Rules. Default-Rules shrinken nicht — Symbol-Info leakt noch. Custom
-keep+-renamesourcefileattribute. - Integrity-Checks. Multi-Source-Verifikation: Signature-Check + Native-Code-Anker + Remote-Attestation (Play Integrity API).
- Secrets im Code. Nein.
EncryptedSharedPreferences+ KeyStore-backed Key für alles was persistieren muss. - WebView-Härtung.
setJavaScriptEnabled(false)wenn nicht nötig;setAllowFileAccess(false);setAllowUniversalAccessFromFileURLs(false).
Android — Forensik-Akquisitionsmodi
- Logical Pull (ADB-Backup).
adb backup -all -shared -system. Begrenzt auf was Backups exponieren; viele Apps markieren sich unbackup. - File-System-Pull (rooted).
adb shell su -c 'tar -czf /sdcard/full.tgz /data/data /data/system'. Umfassend, aber invasiv — Root überlebt nächsten Boot vielleicht nicht. - Physisch (EDL/JTAG). Chipset-spezifisch. Qualcomm Emergency Download Mode → Firehose-Loader → voller eMMC-Dump.
- Chip-Off. eMMC ablöten, in Standalone-Reader lesen. Destruktiv; Gerät kann nicht leicht in Evidence-Chain zurück.
iOS
- Entitlement-Modell.
codesign -d --entitlements - /path/to/appdumpt Entitlements. Alles jenseits des Standard-Sets ist eine Frage. - Sandbox. Apps auf Container beschränkt; Zugriff auf andere App-Daten erfordert Entitlement, App-Groups oder shared Keychain-Group.
- Runtime-Instrumentation.
frida -U -n AppNameauf jailbroken Device. Ohne JB: IPA mit eingebettetem Frida-Gadget neu signieren, via TrollStore/AltStore installieren. - Static-Analyse.
otool -Lfür linked Frameworks;class-dumpfür Obj-C-Runtime-Klassen; Hopper für Swift-/Obj-C-Disassembly. - App-Clip / URL-Scheme-Missbrauch. Universal Links mit schwacher Apple-App-Site-Association hijackbar.
macOS
- TCC. Transparency, Consent, Control. Zugriff auf Camera, Microphone, Documents, Desktop erfordert User-Prompt-Grant. TCC.db unter
~/Library/Application Support/com.apple.TCC/TCC.db. Bypass viatccd-Hijack auf un-SIP'd Systemen. - Codesign-Mechanik.
codesign --verify --verbose /path;spctl -a -v /pathfür Gatekeeper-Assessment. Notarization erforderlich für Distribution außerhalb MAS seit 10.15. - Persistenz-Orte. LaunchAgents (
~/Library/LaunchAgents,/Library/LaunchAgents), LaunchDaemons (/Library/LaunchDaemons), Login Items, cron, periodic. - EndpointSecurity-Framework. Modernes macOS-EDR hookt hier für Process-Exec, File-Open, Fork-Events. Nachfolger des deprecated kauth/kext.
FaustregelAuf Mobile ist der größte Hebel meist ein einzelner fehlender Check auf einer exportierten Komponente oder ein einzelnes hardcodiertes Secret. Das 80/20 von Mobile-Review ist sorgfältiges Lesen des Manifests und Greppen der decompiled Source nach Keys, Tokens, URLs.
Von der Referenz zum Befund