Mobile Apps vor Hackern schützen

Applikationssicherheit im Fokus

05.01.2017 von Mirko Brandner
Das App-Business ist gezeichnet von Zeit- und Wettbewerbsdruck. Das Thema IT-Sicherheit bleibt deswegen oft auf der Strecke. Wir sagen Ihnen, was Sie dagegen tun können.

Wer im App-Business dauerhaft wettbewerbsfähig bleiben möchte, sollte sich vor allem auf eine schnelle Produkteinführung sowie eine gute Benutzerfreundlichkeit seiner Apps konzentrieren. Softwareentwickler setzt diese Situation enorm unter Druck: Sie müssen in möglichst kurzer Zeit möglichst viele neue mobile Applikationen kreieren, diese möglichst gründlich testen und schließlich so schnell wie möglich zur Veröffentlichung frei geben. Das Ziel sind benutzerfreundliche und widerstandsfähige Apps, die frei von Mängeln sind und den Anbietern dabei helfen sollen, ihre Wettbewerber hinter sich zu lassen und neue Einnahmequellen zu generieren.

Dass die IT-Sicherheit bei all dem Zeit- und Wettbewerbsdruck oft auf der Strecke bleibt, ist eine logische Konsequenz. Das Ergebnis sind mobile Applikationen, gespickt mit Sicherheitslücken und vermeidbaren Schwachstellen, die für Nutzer wie Anbieter hohe Sicherheitsrisiken darstellen und zudem verheerende Folgen nach sich ziehen können. Dass Applikationssicherheit sogar in kritischen Bereichen wie dem Banken- und Finanzwesen oder der Healthcare-Branche vernachlässigt wird, zeigen Untersuchungsergebnisse und Studien am laufenden Band. So auch der aktuelle "State of Application Security Report" von Arxan, der rund 50 der beliebtesten mobilen Banking- und Bezahl-Apps untersucht hat und zu einem erschreckenden Ergebnis kommt: Keine der getesteten Finanz-Apps wies ausreichende Sicherheitsmaßnahmen auf, um sich gegen Hackerangriffe zu schützen. So gut wie allen Anwendungen mangelte es an einem wirksamen Binärcodeschutz sowie einer ausreichenden Sicherung der Transportschicht, weshalb sie extrem anfällig für gefährliche Manipulationen und Datendiebstahl sind.

Durch den steigenden Wettbewerbsdruck wird die Applikationssicherheit vernachlässigt. Mit verheerenden Folgen.
Foto: Morrowind - shutterstock.com

So greifen die Hacker an

Mobile Apps bedeuten für Entwickler in Sachen Sicherheit eine besonders große Herausforderung, denn anders als bei Web-Applikationen ist bei mobiler Software der Binärcode in besonderem Maße gefährdet, da die Applikation und ihr Code in eine unkontrollierte Umgebung auf das Endgerät "entlassen" werden muss. Wird der Binärcode der Applikation nicht aktiv geschützt, ist die App anfällig für Malware, Code-Modifizierung und andere Arten von Manipulationen, die die Integrität der App kompromittieren. Hierzu stehen den Angreifern verschiedene Angriffsmöglichkeiten zur Verfügung:

1. Code-Modifizierung und Code-Injection:

Zur ersten Kategorie binärbasierter Exploits zählen Angriffe, bei denen der Hacker unautorisierte Code-Modifikationen vornimmt oder schadhaften Code in eine App einschleust. Eine Variante ist das sogenannte Binary Patching. In diesem Fall modifiziert der Angreifer den Binärcode einer Applikation und verändert dessen Verhalten. Auf diese Weise können Sicherheitskontrollen ausgeschaltet, Unternehmensvorgaben oder Lizenzbeschränkungen umgangen werden, beziehungsweise die mobile App schließlich als Patch, Crack oder ganz neue Version in Umlauf gebracht werden. Ähnlich agieren die Angreifer beim Repackaging, wo sie nach dem Einschleusen eines schadhaften Codes in den Binärcode die Möglichkeit haben, die Applikation „umzuverpacken“ und als neue (vermeintlich offizielle) Anwendung in einem Drittanbieter-Store zu veröffentlichen, beziehungsweise auf dem Gerät des ahnungslosen Nutzers zu reinstallieren. Sicherheitsbarrieren wie Apples Code Encryption oder die Code-Signierungs-Technologie von iOS können Hacker dabei mit einfachen, aus dem Netz heruntergeladenen Werkzeugen, einer Toolchain und einem Jailbreak-Gerät außer Kraft setzen.

2. Dekompilation und Code Analysis:

Die zweite Kategorie binärbasierter Exploits umfasst Angriffe, bei denen Binärcodes mobiler Apps statisch und dynamisch analysiert werden können. Mit Hilfe von Code-Analyse-Tools können dabei die Binärcodes rekonstruiert werden. Die Hacker sind so in der Lage, wertvolle Codes (inklusive Quellcodes), sensible Daten oder geistiges Eigentum zu extrahieren, wiederzuverwenden oder umzuverpacken.

Eine Variante ist das sogenannte Android APK Reverse Engineering: Hierbei nutzen Hacker nach einem Download aus dem Google Play Store den Binärcode einer Android-App, um den originalen Quellcode zu rekonstruieren. Dabei wird die Applikation mit einfachen, kostenlosen Tools in ihr Java-Bytecode-Äquivalent konvertiert. Tools lesen dazu einfach die Java-Klassendateien, die im APK gespeichert sind, aus. Auf diese Weise können Hacker eine nahezu exakte Nachbildung konstruieren.

Nur eine „gehärtete“ App ist sicher

In Anbetracht der Leichtigkeit mit der Hacker den Binärcode einer Applikation mittlerweile angreifen und manipulieren können, müssen Entwickler in Sachen App-Sicherheit neue und effektivere Wege gehen. Im Vordergrund ihrer Überlegungen sollte dabei nicht mehr die Frage stehen, ob ein Hacker zuschlägt, sondern vielmehr wann er zuschlägt. Der Fokus ihrer Sicherheitsmaßnahmen muss daher ganz klar auf der Implementierung von Applikations-Selbstschutz und Code-Härtungsmaßnahmen liegen, statt auf herkömmlichen Sicherheitsmaßnahmen wie Vulnerability-Tests oder ähnlichem.

Denn nur wenn der Binärcode der App am Ende des Entwicklungsprozesses gehärtet wird, ist er vor Manipulationen und Reverse Engineering geschützt – vor allem während der Laufzeit. Selbstverständlich darf die Code-Härtung keinerlei Auswirkungen auf den sensiblen Quellcode haben. Eine derart geschützte App ist schließlich in der Lage, proaktiv und dynamisch ihre eigene Integrität zu wahren und Angriffe und Manipulationsversuche jeglicher Art selbstständig zu erkennen und abzuwehren – und zwar zu jeder Zeit, auf jedem Gerät und in jeder Umgebung. Die Code-Härtung erfolgt dabei ohne Auswirkungen auf den Quellcode.

Sicherheit muss eben auch in unserer schnelllebigen Zeit oberste Priorität haben. Denn mit einer unsicheren Applikation – und sind sie noch so benutzerfreundlich – machen Unternehmen langfristig gesehen keinen Gewinn. (fm)

7 Tipps gegen Hacker auf Smartphone, Tablet & Co.
Offenes Verderben
Öffentliche WLAN-Netzwerke stellen einen verbreiteten Angriffsvektor für Hacker dar, die auf der Suche nach privaten Daten sind. Sie sollten also wenn möglich stets den Umweg über VPN nehmen. Avast Software hat im Vorfeld des Mobile World Congress 2016 ein Experiment dazu am Flughafen von Barcelona durchgeführt. Das Ergebnis: Tausende MWC-Besucher hatten die Gefahr aus Bequemlichkeit ignoriert und ihre Devices und Daten aufs Spiel gesetzt.
Datenverzicht
Wo keine Daten sind, kann auch nichts gestohlen werden, verloren gehen oder missbraucht werden. Die erste Generation von Security-Lösungen für Mobile Devices versuchten die Geräte komplett abzuschirmen, um die Daten zu schützen. Inzwischen wissen wir, dass Device Management alleine nicht genügt. Verschiedene mobile Geräte und Betriebssysteme zu managen, kann dafür sorgen, dass IT-Abteilungen mit Anfragen überhäuft werden. Das wiederum fördert die allgemeine IT-Sicherheit in den betreffenden Unternehmen. Nicht.
Nonstop-No-Go
Ein weiterer Weg, Hacker vor den Kopf zu stoßen: Sorgen Sie dafür, dass Ihre Applikationen möglichst wenig Angriffsfläche bieten. Dazu sollten Sie sicherstellen, dass die Cyber-Bösewichte nicht massig Zeit haben, um einen strategischen Pfad zu Ihrer IP zu finden. Indem Sie dauerhafte Verbindungen gar nicht erst zulassen, machen Sie es den Angreifern schwer.
Vollstreckungsbescheid
Einer der schnellsten und einfachsten Wege, um Kontrolle über mobile Applikationen zu gewinnen: Prüfen Sie Ihre Richtlinien! Jedes Unternehmen sollte über einfach durchsetzbare Richtlinien verfügen, die sowohl den Zugriff der Mitarbeiter auf Mobile Apps als auch den Ressourcen-Zugriff der Applikationen selbst abdeckt. Angestellte, die nur über eine absehbare Zeit im Unternehmen sind, brauchen zum Beispiel keinen Zugriff auf das gesamte Netzwerk - stattdessen sollten sie nur auf die Applikationen zugreifen können, die sie für ihre Aufgaben benötigen. Übergreifende Berechtigungen von Third-Party-Apps sollten übrigens ebenfalls der Kontrolle der IT-Abteilung unterliegen und nicht den Mitarbeitern beziehungsweise Usern.
Schlüssel zum Glück
Security-Entwicklertools sind eine wunderbare Sache, wenn es um den Schutz Ihrer Daten geht. Mit jedem IT-Sicherheits-Layer wird es für die Netzschurken schwieriger, auf die Daten zuzugreifen. Klingt eigentlich logisch, oder? Und trotzdem ist das alles andere als "Business as usual".
Fusionsküche
IT-Sicherheit und der App-Entwicklungsprozess werden immer noch getrennt voneinander betrachtet. Dabei sollte Security längt im gesamten Entwicklungsprozess integriert sein - von den ersten Tests über die eigentliche Produktion bis hin zur Übermittlung an den App Store. Den Aspekt der IT-Sicherheit nicht in den Gesamtprozess mit einzubeziehen, kommt einem gewaltigen Fail gleich. Nur damit Sie Bescheid wissen.
Fremde Federn
Entwickler setzen bei der App-Entwicklung oft auf Komponenten von Dritten - zum Beispiel, wenn es um File-Format-Parsing oder Kompression geht. Diese modularen Bestandteile passen den Apps meist wie ein gut eingetragenes Paar Kampfhandschuhe und es wäre nicht effizient, diese jedesmal neu zu entwerfen. Allerdings sollten Ihre Entwickler in diesem Fall auf jeden Fall überprüfen, dass jede Komponente von Drittherstellern auf dem neuesten Stand ist. Auch nach Release!