App-Entwicklung & Sicherheit

Warum?

Aus Sicht des Anwenders

Aus Sicht des Anbieters

  • Zugriff auf Backend-Daten
  • Kostenpflichtige Funktionen & Inhalte
  • Datenerhebung und Auswertung

Quelle: https://www.av-test.org/de/news/news-single-view/test-smart-home-kits-oeffnen-tuer-und-tor-fuer-jeden/

Quelle: https://www.av-test.org/de/news/news-single-view/7-fitness-armbaender-und-die-apple-watch-im-security-check-2016/


Quelle: https://team-sik.org/#projects

Quelle: https://media.ccc.de/v/33c3-7969-shut_up_and_take_my_money

Quelle: https://securelist.com/analysis/publications/77576/mobile-apps-and-stealing-a-connected-car/

Quelle: http://www.pcworld.com/article/3158547/security/sensitive-access-tokens-and-keys-found-in-hundreds-of-android-apps.html

Quelle: http://www.anandpraka.sh/2017/03/how-anyone-could-have-used-uber-to-ride.html

Die häufigsten Schwachstellen & Gefahren

  1. Fehlerhafte Implementierung vorhandener Schutzmechanismen
  2. Unsicheres Speichern von Daten
  3. Unsichere Kommunikation
  4. Fehlerhafte Authentifizierung
  5. Fehlerhafte Verschlüsselung

Quelle: https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10

Die häufigsten Schwachstellen & Gefahren

  1. Unsichere Authorisierung
  2. Schlechte Code Qualität
  3. Code Sabotage
  4. Reverse Engineering
  5. Unbeabsichtigte Zusatzfunktionalität

Quelle: https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10

Was kann ich als Entwickler tun?

Best Practices für App Entwickler

  • Secrets (z.B. API-Keys für Zugriffe auf das Backend) gehören nicht in den Code
  • Nutzung des Android Keystore / iOS' Secure Enclave für geheime Schlüssel
  • Keine eigene Kryptographie
  • immer Transport-Verschlüsselung nutzen

Best Practices für App Entwickler

  • Logging bei der veröffentlichten App beschränken
  • Berücksichtigung der Zugriffsrechte auf gespeicherte Daten
  • Absicherung der Backend-Dienste
  • Source-Code Obfuscation

Best Practices für App Entwickler

  • Überwachung verwendeter Bibliotheken
  • Ein Großteil an Sicherheitslücken steckt heutzutage in Bibliotheken
  • Werbebibliotheken können bspw. Code im Anwendungskontext ausführen
  • Bibliotheken werden gepatcht, Anwendungen jedoch nicht

Best Practices für App Entwickler

  • Analyse des Netzwerkverkehr
  • z.B. mit Wireshark
  • Reverse Engineering der eigenen App

Best Practices für App Entwickler

  • Kollegen und Kunden sensibilisieren
  • Sicherheit zu einer Anforderung machen
  • Über Sicherheit reden

Vielen Dank!

@HendrikPilz

www.hepisec.de

mrappware.de

Diese Präsentation ist hier verfügbar
www.hepisec.de/app-entwicklung-sicherheit/