Suchen

Security Testing für mobile Anwendungen App-Entwickler achten zu wenig auf Sicherheit

Autor / Redakteur: Jan Wolter* / Stephan Augsten

Angriffe auf den PC zielen selten auf das Betriebssystem selbst ab. Viel einfacher ist es, Schwachstellen in Drittanbieter-Software ausnutzen. Leider lässt sich dies auch auf die mobile Welt übertragen. Ein Großteil der App-Entwickler macht grundlegende Fehler, die letztlich der Nutzer ausbaden darf.

Firmen zum Thema

Legten App-Developer während der Programmierung mehr Wert auf Sicherheit, dann müssten sie weniger nachjustieren.
Legten App-Developer während der Programmierung mehr Wert auf Sicherheit, dann müssten sie weniger nachjustieren.
(Bild: Archiv)

Mittlerweile vergeht kaum ein Tag ohne neue Meldungen über größere Sicherheitslücken, Datenklau oder Hackerangriffe. War es im Frühjahr das schwerwiegende OpenSSL-Sicherheitsleck „Heartbleed“, stehen momentan die unter der Abkürzung „Poodle“ bekannt gewordene Schwachstelle der SSL-Software und der Datendiebstahl bei fast sieben Millionen Dropbox-Konten im Fokus der Öffentlichkeit.

Allein in den USA wurden 2013 mehr als 800 Millionen Datensätze unerlaubt veröffentlicht, so das Fazit einer Untersuchung der Open Security Foundation in Zusammenarbeit mit dem Privacy Rights Clearinghouse. Unter den gestohlenen Datensätzen finden sich sensible Informationen wie Kreditkartennummern, Login-Daten oder Sozialversicherungsnummern.

Derzeit noch weitaus seltener im Gespräch, aber nicht weniger brisant: auch mobile Anwendungen sind immer öfter von Hacker-Angriffen und Sicherheitsproblemen betroffen. Das amerikanische Marktforschungsinstitut Gartner prognostizierte kürzlich sogar, dass sich der öffentliche Fokus in puncto Sicherheit bis 2017 deutlich in Richtung Smartphones und Tablets verschieben wird.

Schon jetzt kämen drei mobile Angriffe auf eine Desktop-Attacke. Viele App-Entwickler machen sich jedoch selbst das Leben schwer, so Gartner weiter: Demnach seien Datenlecks weitaus häufiger ein Ergebnis fehlerhafter Software, drei Viertel aller Apps hielten nicht einmal die geringsten Sicherheitsstandards ein. Doch wie kommt das eigentlich?

Mobile Sicherheit: Irren ist menschlich

Längst ist die sogenannte App Economy auch in Deutschland angekommen und wird in diesem Jahr mit voraussichtlich 717 Millionen Euro Umsatz zu Buche schlagen. Trotzdem verstehen viele App-Developer leider immer noch zu wenig davon, wie sie wirklich sichere mobile Anwendungen entwickeln. Die Zahl an möglichen Schwachstellen und Sicherheitslücken ist jedoch riesengroß und kaum zu überschauen.

Noch schlimmer: Viele App-Entwickler nehmen mit einem naiven Verständnis bezüglich App-Sicherheit an, dass sie bereits alle nötigen Maßnahmen getroffen haben. Erschwerend kommt die Anzahl ab unterschiedlichen mobilen Geräten und Systemen hinzu, die Entwickler vor große Herausforderungen stellt. Die Folge ist, dass gravierende Schwachstellen in den meisten Fällen erst ziemlich spät entdeckt werden.

Schlagzeilen ähnlich der bereits genannten Lecks sind quasi programmiert. Zwei Dinge sind daher für App-Entwickler unerlässlich: Zum einen müssen sie sich der Risiken bewusst werden. Zum anderen müssen sie entsprechende Vorsichtsmaßnahmen treffen, um diese frühzeitig erkennen und abstellen zu können, bevor die App im App Store landet.

Mobile Sicherheit – das sind die potentiellen Schwachstellen

Grundsätzlich lassen sich die größten mobilen Sicherheitsprobleme in folgende Bereiche unterteilen:

1. Fehler bei der Entwicklung der App: Zu den Fehlern, die Entwickler beim Programmieren einer App verschulden können, gehören Lücken im Code und mangelnde Vorkehrungen zum Schutz der Daten in der App; von der Autentifizierung über den Datenschutz bis hin zum Export der Daten aus dem Programm. Daneben muss auch sichergestellt sein, dass die Bedienung der App den Nutzer nicht zu Fehlern verleitet, die letzten Endes zu Sicherheitsproblemen führen.

2. Datenübertragung und sicheres Speichern in der Cloud: Ein spezielles Problem, dem sich App-Entwickler stellen müssen, ist die Datenübertragung. Weil sie über verschiedene Netzwerke erfolgen kann, bringt sie jeweils ein eigenes Set an Sicherheitsproblemen mit sich.

Auch wenn App-Entwickler keinen direkten Einfluss auf die Sicherheitsvorkehrungen mobiler Netzwerke haben, sollten sie sicherstellen, dass sie für ihre Nutzer die beste Option auswählen und auf Verschlüsselung setzen. Dasselbe gilt für das Abspeichern der Daten in der Cloud, da Server und die entsprechenden Sicherheitsvorkehrungen oft außerhalb der Kontrolle des App-Entwicklers liegen.

3. Externe Angreifer und allgemeine Schwachstellen: Selbst wenn Entwickler alles Menschenmögliche getan haben, um den Code und die Datenübertragung so sicher wie möglich zu gestalten, sollten sie sich über die gängigsten Angriffsarten von Außenstehenden bewusst sein. Zu den häufigsten und gefährlichsten Sicherheits-Exploits zählen:

  • Denial of Service (DoS): Diese Attacke setzt voraus, dass jemand böswillig agiert und damit einen Computer davon abhält, einen beabsichtigten Service auszuführen. In den meisten Fällen steht hinter einer DoS-Attacke eine Vielzahl von Menschen, die eine Website mit dem gemeinsamen Ziel angreifen, sie in ihrer Funktionalität für den Nutzer zu stören. Ziele sind häufig Anwendungen, die auf großen Webservern gehostet werden (z.B. Banken, Kreditkarten oder Regierungsangebote).
  • Pufferüberlauf: Dabei handelt es sich um einen komplexen Angriff, um eine Desktop-, Web- oder Mobile-App dazu zu bringen, böswilligen Code auszuführen. Ein Überlauf tritt auf, wenn ein Programm die Eingabe auch noch nach dem Ende des jeweiligen Puffers erlaubt. So könnte ein Angreifer letztlich die Kontrolle über ein gesamtes Betriebssystem erlangen. Viele berühmte Exploits sind Ergebnis eines Pufferüberlaufs.
  • Man-in-the-Middle-Angriff: Hierbei erschleicht sich ein Angreifer die Kontrolle über den Datenverkehr zwischen zwei oder mehr Netzwerkteilnehmern, indem er sich unbemerkt zwischen die beiden schaltet.
  • Code-Injektion: Bei der Code-Injektion geht es darum, externen Code in ein Programm einzuschleusen, um diesen heimlich unter dem Deckmantel dieses
  • anderen Programms auszuführen.
  • Data Leaks: Diese Schwachstelle tritt dann auf, wenn kleine Spuren von Datensätzen an verschiedenen Stellen zurückbleiben, ohne dass Entwickler davon Notiz nehmen. Caches, Protokolle und temporäre Dateien gehören häufig zu den Übeltätern.

Vorsorge ist besser als Nachsorge: Das leistet Security Testing

Da es praktisch eine Sache der Unmöglichkeit ist, alle der bisher aufgezeigten potentiellen Schwachstellen im Voraus zu erkennen, ist ein umfangreiches Testing unerlässlich. Dabei sollte nicht, wie es bisher oft passiert, nur auf Nutzerfreundlichkeit, Bugs und Designprobleme getestet werden.

Das Thema Sicherheit sollte besondere Beachtung finden. Wichtig ist, dass dies geschieht, bevor Nutzer zu Schaden kommen, Daten preisgegeben und das Vertrauen in die App nachhaltig geschädigt wird. Mögliche Fragen, die ein umfassendes Security Testing für mobile Anwendungen beantworten sollte, sind:

  • Vertraulichkeit: Schützt Ihre App private Daten?
  • Integrität: Kann den Daten der App vertraut werden?
  • Authentifizierung: Verifiziert die App, dass Sie derjenige sind, für den Sie sich ausgeben?
  • Autorisierung: Beschränkt sich Ihre App bei den Benutzerrechten auf die wirklich notwendigen?
  • Erreichbarkeit: Kann ein Angreifer Ihre App ausschalten?
  • Nachverfolgung: Speichert die App Protokolle für die Möglichkeit der späteren Nachverfolgung?

Jeder Security-Tester sollte in der Lage sein, sich sowohl in einen Angreifer als auch den Nutzer einer App hineinzuversetzen, einen Test-Plan speziell für sicherheitskritische Szenarien zu entwickeln und Penetrationstests durchzuführen. Dafür sollten Experten mit langjähriger Erfahrung zum Einsatz kommen, die ein tiefgreifendes Verständnis der möglichen Risiken besitzen.

Je mehr erfahrene Tester dabei zum Beispiel im Rahmen eines Crowd-Testings zusammenkommen, desto einfacher wird es, allen Sicherheitsaspekten gerecht zu werden. Außerdem lassen sich die Vielzahl an Betriebssystemen, Geräten und Versionen durch eine Gruppe von Testern besser im Detail testen.

Für mobiles Security Testing gilt dies insbesondere, da nicht nur die Anzahl potentieller Schwachstellen besonders hoch ist. Nutzer tragen ihre mobilen Endgeräte auch ständig mit sich und den meisten ist das Risiko, dass mobile Apps gehackt werden können, noch nicht vollständig bewusst.

Fazit

Mobiles Security Testing wird für App-Entwickler immer wichtiger, denn die Zahl der Angriffe und Sicherheitslücken steigt noch immer stetig an. Wer sich frühzeitig um ein ausführliches Mobile Security Testing kümmert und dieses in den weiteren Entwicklungszyklus der App im Voraus mit einplant, bleibt auf der sicheren Seite. Wichtig dabei ist nicht nur ein individueller Testplan, sondern auch der Einsatz von Sicherheits-Experten, die alle Sicherheitsfragen im Vorfeld abklären und vor schlimmen Folgen bei späteren Sicherheitsproblemen bewahren.

Jan Wolter
Jan Wolter
(Bild: Applause)

* Jan Wolter ist EU-Geschäftsführer von Applause.

(ID:43049256)