Augen auf bei der App-Entwicklung

Die drei größten Sicherheitslücken bei der App-Entwicklung

Sicherheit ist ein wichtiges Thema bei der App-Entwicklung. Jedoch sorgen enge Deadlines und mangelnde Erfahrung oft dafür, dass hiermit nachlässig umgegangen wird.

  • Böses Erwachen droht vor allem bei der Verwaltung von Usern und Bestellungen sowie bei der Filialsuche.

  • Christoph Henkelmann ist Geschäftsführer des Mobile-Spezialisten TheAppGuys GmbH, den er 2012 gemeinsam mit Marko Tosic gründete.

Insbesondere wenn Apps mit Schnittstellen (Servern) kommunizieren, über die Daten ausgetauscht werden, ist höchste Vorsicht geboten. Das heißt z.B. bei der Verwaltung von Usern (einloggen, ausloggen, registrieren, Benutzerdaten übertragen) und Bestellungen (Preis- und Produktlisten ausliefern, Bezahldaten entgegen nehmen, Bestellungen entgegennehmen), der Filialsuche und vielem mehr. Christoph Henkelmann, Geschäftsführer „TheAppGuys", hat die drei größten Sicherheitslücken identifiziert:

Sicherheitslücke Nr. 1
Generell sollte jegliche Kommunikation von der App an externe Systeme über https erfolgen. Gerade hier findet man jedoch eine typische Fehlerquelle: Die Überprüfung von Zertifikaten, mit denen der Server sich ausweist, wird deaktiviert. Ein Grund hierfür kann sein, dass während der Entwicklung noch kein Zertifikat vorliegt oder aus Kostengründen kein Zertifikat gekauft wird. Oder: Es ist schlicht und einfach nicht das technische Know-how vorhanden, alles richtig einzurichten.

Leider kursieren im Netz Code-Schnipsel, die von unerfahrenen Programmierern nur allzu gerne benutzt werden, um den Zertifikatscheck zu deaktivieren. Ein großes Problem für Projektmanager und Kunden. Denn nach außen hin ist die Verbindung verschlüsselt und es läuft alles. Leider ist diese Verschlüsselung jedoch nur wenig wert: Da der Server sich nun nicht mehr ausweisen muss, kann sich jeder Angreifer in die Kommunikation "einklinken" und diesie abhören bzw. verändern. Die Verschlüsselung erfolgt dann von der App zum Angreifer und von hier zum eigentlichen Server. Dieser Fehler findet sich in beängstigend vielen Apps.

Sicherheitslücke Nr. 2
Ein weiterer, sicherheitsrelevanter Aspekt im Bereich der Schnittstellen-Kommunikation von Apps ist die SSL-Verschlüsselung. Denn mittlerweile gibt es so viele Standards für SSL, dass einige davon inzwischen unsicher sind. Darum muss man sicherstellen, dass sowohl die App als auch der Server nur die sicheren Standards erlauben. Die Crux: Viele alte Android-Geräte (< 4.0) unterstützen keine sicheren Standards. Hier hat man nur die Wahl, mit einer unsicheren Verschlüsselung zu leben oder die Installation der App nur auf neuen Geräten zu erlauben.

Sicherheitslücke Nr. 3
Neben der Schnittstellenkommunikation ist die Speicherung sensibler Daten in der App ein wichtiges Thema in Punkto Sicherheit. Ein Beispiel: Für viele Apps benötigt der Nutzer ein Log-In, um die Funktionalitäten der Anwendung freizuschalten. Um zu vermeiden, dass er stets aufs Neue Nutzernamen und Passwort eingeben muss, werden diese Daten in der App gespeichert. Die App loggt sich nun zwar automatisch ein, aber nun sind Nutzername und Passwort in der App verfügbar und können durch einen Angreifer erbeutet werden. Diesen Fehler sollte man unbedingt vermeiden. Denn viele Nutzer verwenden den gleichen Nutzernamen und das gleiche Passwort für mehrere Seiten und Apps.

Eine sichere Lösung: Beim Login vergibt der Server ein einmaliges Token, mit dem sich die App für eine gewisse Zeit (Tage, Wochen oder sogar Monate) ausweisen kann. Wird eine Sicherheitslücke in der App bekannt, so kann das Token vom Server ungültig gemacht werden. Dann muss sich der User zwar neu einloggen, nachdem die App aktualisiert wurde, aber dem Angreifer ist nicht das Passwort bekannt, um es anderweitig zu nutzen. Da eine solche Art der Authentifizierung ein klein wenig aufwändiger für den Server und die App ist, wird sie leider gerne aus Zeit- und Budgetgründen hintenangestellt.

Tracking vs. Datenschutz

Tracking ist eine beliebte und nützliche Möglichkeit, Apps auf ihre Qualität zu kontrollieren und für User attraktiver zu gestalten. Allerdings muss man sich dabei immer bewusst sein, dass alle diese Tracking-Daten auf den Servern des Tracking-Anbieters gespeichert werden. Um die Daten seiner Nutzer zu schützen, gibt es hier nur einen Weg: keinerlei personenbezogene Daten mitsenden!

Das heißt, statt „Nutzer 12345 bricht Kauf ab" lautet die Tracking-Botschaft "Ein Nutzer bricht Kauf ab". Idealerweise werden auch keine anonymisierten Tokens zur Identifikation von Usern benutzt. Wie so oft gilt auch bei diesem Thema: Der beste Weg zum Datenschutz ist Datensparsamkeit. Was nicht da ist, kann auch nicht geklaut oder missbraucht werden.

Grenzen der Sicherheit

„Leider gibt es keine 100% verlässliche Methode, Daten sicher in einer App zu speichern. Und auch die Datenverschlüsselung auf dem Gerät bietet hierfür keine Lösung. Denn um diese wieder entschlüsseln zu können, muss der hierzu notwendige Schlüssel ebenso in der App gespeichert werden. Das heißt, wenn ein Angreifer Zugriff auf die verschlüsselten Daten bekommt, hat
er wiederum auch den Schlüssel", so Christoph Henkelmann abschließend.

Daher ist für ihn die wichtigste Regel für die Sicherheit von Apps: So wenig sensible Daten wie möglich in der App hinterlegen. Stattdessen besser Daten nur temporär laden und wieder löschen, sobald sie nicht mehr gebraucht werden.

Bildquelle: Thinkstock / iStock

©2019Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok