OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal

 
WEITER LESEN
OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
OWASP Mobile Top 10
                 Dr.-Ing. Dennis Felsch

© Materna 2021                      www.materna.de
OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
$ 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
OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
Mobile Sicherheit

© Materna 2021          www.materna.de
OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
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
OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
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
OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
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 Dr.-Ing. Dennis Felsch - gematik Fachportal
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
OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
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
OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
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
OWASP Mobile Top 10 Dr.-Ing. Dennis Felsch - gematik Fachportal
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