OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
$ whoami Dr.-Ing. Dennis Felsch Senior Cyber Security Consultant T +49 231 5599-8138 M dennis.felsch@materna.de www.materna.de © Materna 2021 www.materna.de 2
Trugschluss: „Smartphones sind im Prinzip nur kleine PCs und mobile Apps sind wie klassische Software - folglich gelten die gleichen Sicherheitsanforderungen“ © Materna 2021 www.materna.de 4
Gefahren der mobilen Welt (Auswahl) Verursachen DDos auf API-Endpunkt von Abstürzen anderer Apps Bösartige App Unsachgemäßes Session-Handling Social Engineering Denial of Verhindern Service von Notrufen Nicht vertrauens- Spoofing würdiges NFC-Tag Exzessive Flut von API-Nutzung Push-Nachrichten Bösartiger Schwachstelle in QR-Code Schwache API-Endpunkt Authentifizierung Injection-Angriffe Schwache Autorisierung Daten- Cloud- Backup Diebstahl Beeinflussung Reverse lokaler Daten Engineering Malware Jailbreak / Root Gerät verloren Rechte- Rootkit Nearby Share / AirDrop Manipulation Supply-Chain Erweiterung Angriff Angreifbares Ferngesteuerte Bösartige Verursachen von Unsicheres Mobilfunknetz App-Installation Peripherie finanziellen Kosten WLAN © Materna 2021 www.materna.de inspiriert von https://is.gd/xIut4h, Folie 8 5
Sicherheit auf dem Mobilgerät Applikation • Umgang mit Geheimnissen • Caching & Logging Plattform • Datenschutz • Datensparsamkeit • Rechte & Berechtigungen • Cloud-Nutzung • Interprozess-Kommunikation • uvm. • WebViews • Zwischenablage Betriebssystem • uvm. • App-Isolation (Sandbox) • Netzwerk (TLS, PKI, URLs) Hardware • PIN, Code-Sperre, Face-/TouchID • Geräte-Ortung / -Fernlöschung • Geschützter Bootloader • uvm. • Gerätevollverschlüsselung • ARM Pointer Authentication • uvm. © Materna 2021 www.materna.de 6
OWASP Mobile Top 10 ▪ Rangliste der „größten Risiken“ in mobilen Apps ▪ https://owasp.org/www-project-mobile-top-10/ ▪ Entstehung der Rangordnung unklar ▪ Methodik: „We adhered loosely to the OWASP Web Top Ten Project methodology.” ▪ Datensätze nicht (mehr) verfügbar © Materna 2021 www.materna.de 7
M10: Extraneous Functionality (Zurückgelassene Funktionalitäten) ▪ Problem: Überbleibsel aus der Entwicklung ▪ Zugänge zu Test- oder Staging-APIs ▪ Versteckte Admin-Schnittstellen ▪ Schalter, um „Nerviges“ (z.B. Zwei-Faktor-Authentifizierung) im Test-Prozess auszuschalten ▪ Risiko: ▪ Unbefugter Zugriff auf sensible Funktionen ▪ Reputationsschaden oder Diebstahl von geistigem Eigentum ▪ Passiert selbst den größten Playern © Materna 2021 www.materna.de 8
M9: Reverse Engineering ▪ Problem: Eine App wird so gründlich untersucht, dass (fast) der Original-Quellcode rekonstruiert werden kann ▪ Verstehen der Funktionsweise ▪ Vorstufe für Code Tampering ▪ Reverse Engineering ist mit entsprechendem Aufwand immer möglich ▪ Risiko: ▪ Diebstahl geistigen Eigentums ▪ Informations-Diebstahl ▪ Reputationsschaden ▪ Weiterer Schaden durch Code Tampering Quelle: https://is.gd/Tnp4E6 © Materna 2021 www.materna.de 9
M8: Code Tampering ▪ Problem: Eine App wird mit Modifikationen / Schadcode angereichert und erneut angeboten ▪ Vorgehen des Angreifers: 1. Informationen sammeln 2. Analyse des App-Codes mit Tools (IDA Pro, Hopper, otool, …) 3. Debugging auf Emulatoren oder mit Jailbreak / Root 4. Binäre Änderungen am Maschinencode / Bytecode, um Verhalten zu ändern 5. Injizieren oder Instrumentieren von Code, um volle Kontrolle zu erlangen (z.B. Frida, Substrate, Xposed, Objection, etc.) Quelle: https://is.gd/jcojU7 © Materna 2021 www.materna.de 10
Jailbreak- / Root-Erkennung ▪ Apple will keine Jailbreak-Erkennung in Apps ▪ Aus einem Review: “Specifically, we found that the app and app metadata contains references to jailbreak and anomaly detection. Since iOS does not provide public APIs to support this detection, the feature must be removed from your app and app metadata.” Quelle: https://is.gd/fXSZS1 ▪ Trotzdem ist es in sehr vielen Apps enthalten, insb. Banking-Apps ▪ Google bietet für Android die SafetyNet API an, die gerootete Geräte erkennt ▪ Google gibt sich größte Mühe, dass dieser Check schwer zu täuschen ist ▪ Funktioniert nicht offline © Materna 2021 www.materna.de 11
M7: Client Code Quality ▪ Problem: Fremder Code wird im Adressraum der App ausgeführt ▪ Schlechte Programmierpraktiken ▪ Speicherkorruptionsfehler ▪ Qualität von Drittsoftware ▪ etc. ▪ Vorgehen des Angreifers: ▪ Informationen sammeln ▪ Manuelle Analyse des App-Codes ▪ Fuzzing ▪ Bei Open-Source: Mit speziellen Tools kompilieren & automatisiert analysieren ▪ Konstruktion eines Exploits Quellen: https://is.gd/52CDGg & https://is.gd/HPucf4 © Materna 2021 www.materna.de 12
Qualität von Bibliotheken & Frameworks ▪ Viele Tools nehmen die Suche nach Bibliotheken & Frameworks ab ▪ mvn ▪ npm ▪ pip ▪ gem ▪ etc. ▪ So landen Abhängigkeiten im Projekt, die dann oft nur für Kleinigkeiten zuständig sind ▪ Aber selbst wieder Abhängigkeiten haben ▪ Irgendwann überblickt das nur noch das Tool, aber kein Mensch mehr ▪ Und dann kommt auch das Tool durcheinander: https://is.gd/cRCxBA Quelle: https://xkcd.com/2347/, XKCD, CC BY-NC 2.5 © Materna 2021 www.materna.de 13
M6: Insecure Authorization ▪ Oft ist das gar kein Problem einer App, sondern eines API-Endpunkts! ▪ Problem: Der Angreifer darf auf Funktionalität zugreifen, für die ihm die Rechte fehlen ▪ Verwundbares Rechte-Konzept ▪ Ändern von URL-Parametern ▪ Diebstahl von Session-IDs ▪ Session-Fixation Quelle: https://is.gd/TEHY1z © Materna 2021 www.materna.de 15
M6: Insecure Authorization Quelle: https://is.gd/PLEiOS © Materna 2021 www.materna.de 16
M4: Insecure Authentication ▪ Wieder oft eine Schwachstelle des API-Endpunkts! ▪ Problem: Der Angreifer kann die App bzw. den API-Endpunkt glauben lassen, er wäre jemand anderes ▪ Zu schwache Passwörter & PINs ▪ Verwundbare Prüfung am API-Endpunkt ▪ Diebstahl von ID-Informationen wie SAML Assertions oder ID-Tokens ▪ Vorgehen des Angreifers (Beispiele) ▪ Netzwerkverkehr beobachten und manipulieren ▪ API-Endpunkte direkt mit Tools ansprechen und gezielt Parameter verändern / weglassen ▪ Automatisiert alle 4-stelligen PINs probieren Quelle: https://is.gd/l8ifet © Materna 2021 www.materna.de 17
M5: Insufficient Cryptography ▪ Problem: Es wird die falsche Kryptographie verwendet ▪ Falsche Erwartungen an Algorithmen ▪ Verwendung alter, unsicherer Algorithmen ▪ Schlechtes Schlüssel-Management ▪ etc. ▪ Vorgehen des Angreifers: ▪ Analyse des Codes der App ▪ Exploit-Vorgehen hängt von der Quelle: https://is.gd/2lJ4xn gefundenen Schwachstelle ab Quelle: https://is.gd/rlwhS7, Stand 06/2018 © Materna 2021 www.materna.de 18
M3: Insecure Communication Quelle: https://is.gd/YhE5K1 ▪ Problem: Angreifer können den Netzwerkverkehr abhören & manipulieren ▪ Kein Einsatz von HTTPS ▪ Falscher Einsatz von HTTPS ▪ Schlechtes Schlüssel-Management ▪ etc. ▪ Vorgehen des Angreifers: ▪ Umleiten der Daten (z.B. ARP-Spoofing) ▪ Passives Belauschen eines WLAN ▪ Abgreifen des Traffics auf Router (Angreifer betreibt das Netz) © Materna 2021 www.materna.de 19
Netzwerkkommunikation Mobiler Geräte ▪ Jeder denkt natürlich sofort an TCP/IP Verkehr ▪ Aber ein Mobilgerät hat doch so viel mehr Wege zu kommunizieren ▪ Bluetooth ▪ USB ▪ NFC ▪ Audio ▪ Infrarot ▪ E-Mail ▪ SMS ▪ Kamera Quelle: https://is.gd/Sk6vzn © Materna 2021 www.materna.de 20
M2: Insecure Data Storage ▪ Problem: Sensible Daten liegen zugänglich im Dateisystem ▪ Das Dateisystem von Mobilgeräten ist nicht unzugänglich ▪ Malware & Angreifer können Speicher untersuchen ▪ Vorgehen des Angreifers ▪ Gerät unter Kontrolle bringen ▪ Diebstahl ▪ Sicherheitskontrolle am Flughafen ▪ Gerät im Hotelzimmer liegen gelassen ▪ Malware installieren ▪ Schwachstelle in Betriebssystem / Plattform / Frameworks / Bibliotheken / etc. ▪ aus AppStore / PlayStore (Reviews der Hersteller finden nicht alles) ▪ Rooten / Jailbreak Quelle: https://is.gd/TgR7cv © Materna 2021 www.materna.de 21
M1: Improper Platform Usage ▪ Problem: Bösartige Eingaben oder unerwartete Ereignisse bringen App / Smartphone unter die Kontrolle des Angreifers ▪ Zu viele Berechtigungen ▪ Injection-Angriffe ▪ Remote Procedure Calls ▪ Web-Angriffe in WebViews ▪ UI-Redressing ▪ uvm. ▪ Vorgehen des Angreifers: ▪ App bzw. Code untersuchen ▪ App in Simulator/Emulator oder auf Smartphone mit Root/Jailbreak ausführen ▪ Bekannte Angriffstechniken ausprobieren © Materna 2021 www.materna.de 23
Lizenzhinweise ▪ CC BY 2.0 https://creativecommons.org/licenses/by/2.0 ▪ CC BY 3.0 https://creativecommons.org/licenses/by/3.0 ▪ CC BY 4.0 https://creativecommons.org/licenses/by/4.0 ▪ CC BY-NC 2.5 https://creativecommons.org/licenses/by-nc/2.5/ ▪ CC BY-SA 2.0 https://creativecommons.org/licenses/by-sa/2.0 ▪ CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0 ▪ CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0 ▪ LGPL http://www.gnu.org/licenses/lgpl.html © Materna 2021 www.materna.de 26
Kontakt Dr.-Ing. Dennis Felsch Senior Cyber Security Consultant T +49 231 5599-8138 M dennis.felsch@materna.de www.materna.de © Materna 2020 2021 www.materna.de 27
Sie können auch lesen