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 4Gefahren 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 5Sicherheit 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 6OWASP 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 7M10: 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 8M9: 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 9M8: 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 10Jailbreak- / 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 11M7: 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 12Qualitä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 13M6: 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 15M6: Insecure Authorization
Quelle: https://is.gd/PLEiOS
© Materna 2021 www.materna.de 16M4: 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 17M5: 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 18M3: 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 19Netzwerkkommunikation 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 20M2: 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 21M1: 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 23Lizenzhinweise ▪ 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 27Sie können auch lesen