Mobile Application Security

Apps vor Cyberangriffen schützen

Mobile Apps stehen im Zentrum der Mobility-Strategie von Unternehmen. Sie müssen problemlos und sicher laufen.

Apps sind ein wichtiges Element im Enterprise Mobility Management. Neben dem eigentlichen App-Management ist vor allem die App-Sicherheit für Unternehmen entscheidend.

Apps sind ein wichtiges Element im Enterprise Mobility Management (EMM). Neben dem eigentlichen App-Management (Ausliefern und Betreiben) ist vor allem die App-Sicherheit für Unternehmen entscheidend. Sie geht weit über einen einfachen Malware-Schutz hinaus.

So nutzen zum Beispiel viele Unternehmen sowohl native Apps als auch Web-Apps, die je eigene Sicherheitsanforderungen haben. So sollten native Apps immer in einer geschützten Umgebung („Container“) laufen, in denen sie nur auf die wirklich notwendigen Daten Zugriff haben. Erweiterte Anforderungen gelten für Web-Apps, die auf einem Webserver laufen, wenn auch häufig in einem Intranet. Trotzdem müssen diese Server und die entsprechenden Web-Apps vor Cyberangriffen aus dem Internet geschützt werden.

Es gibt eine Vielzahl an verschiedenen Maßnahmen für Mobile Application Security, die verschiedene Sicherheitsaspekte von nativen Apps und Web-Apps berücksichtigen. Sie werden hier in einem kurzen Überblick vorgestellt:

Apps härten

Unter dem Härten von Apps wird der Einsatz von speziellen, hochsicheren Schutzmaßnahmen für eine App verstanden. Einerseits kann dies direkt innerhalb einer App geschehen. So könnten beispielsweise die Entwickler Verfahren zum Verschlüsseln oder Verbergen von Daten direkt in den Quellcode der App einbauen.

Andererseits werden darunter auch Frameworks verstanden, die Apps sicher in einem Container „verpacken“ oder „einkapseln“, so dass sie keinen Zugriff außerhalb ihres eigentlichen Funktionsbereiches haben. Auch hier ist Verschlüsselung möglich, etwa indem die Speicherroutinen von Apps abgefangen und durch entsprechende kryptographische Verfahren ergänzt werden.

Außerdem gehören auch Apps mit eingebauter „Selbstverteidigung“ zu den gehärteten Anwendungen. Hierbei sind bestimmte Anti-Malware-Technologien direkt in der App oder einem für die Entwicklung notwendigen Framework integriert.

Die bekannte Container-Technologie hat gegenüber anderen Verfahren einen eindeutigen Vorteil: Sie schützt auch Apps, die nicht mit speziellen Maßnahmen gehärtet wurden. Dies können zum Beispiel Standard-Apps von bekannten Herstellern sein, die innerhalb eines Containers keinerlei Zugriffe auf geschäftskritische Daten haben.

Web Application Firewalls (WAF)

Diese Art einer Firewall arbeitet auf der Anwendungsebene und wird genutzt, um Webserver und Webanwendungen vor Cyberangriffen zu schützen. Eine Web Application Firewall untersucht alle Eingaben und Ausgaben einer Web-app, um Angriffe zu entdecken und sofort (in Echtzeit) zu blockieren.

Außerdem können diese Firewalls Sicherheitsrichtlinien umsetzen, die auf Grundlage von Angriffssignaturen, Protokollen oder auffälligen Anomalien im Verhalten der Web-App und des Webservers. Sie gehören zur IT-Infrastruktur eines Unternehmens und bieten neben den Sicherheitsfunktionen auch noch Möglichkeiten zum Ausliefern von Apps.

WAF-Lösungen schützen vor vielen bekannten Arten von Angriffen auf Webserver wie zum Beispiel Injection-Angriffe, Cross-Site Scripting und viele andere Angriffsarten, bei denen Eigenheiten und Lücken verschiedener Webanwendungen und Webserver ausgenutzt werden.

Statische App-Analysen

Dazu gehören alle Maßnahmen zum Test oder zur Evaluation einer Anwendung, mit denen der Quellcode oder die Binärdatei ohne Ausführung der Anwendung überprüft wird. Üblicherweise werden solche Analyseverfahren in den Entwicklungsprozess integriert, da nur dann eine tiefer gehende Analyse umgesetzt werden kann.

Dynamische App-Analysen

Dazu gehören alle Maßnahmen zum Test oder zur Evaluation einer Anwendung während der Laufzeit. Üblicherweise handelt es sich dabei um automatische Penetrationstests, die einen Cyberangriff so realistisch wie möglich simulieren.

Manuelle Penetrationstests

Zahlreiche Angriffsarten sind nur sehr schwer durch automatische Prozesse zu simulieren. Aus diesem Grunde ist es in vielen Unternehmen üblich, mit manuellen Penetrationstests zu versuchen, die vorhandenen Sicherheitsmaßnahmen auszutricksen. Erfahrene Sicherheitsexperten erkennen deutlich häufiger Sicherheitslücken, fehlerhafte Konfigurationen oder problematische Seiteneffekte vorhandener Installationen, als dies mit automatischen Tools möglich ist.

Tools für Penetrationstests

Die manuelle Simulation von Cyberangriffen ist häufig relativ aufwendig, sodass Sicherheitsexperten spezielle Tools für Penetrationstests einsetzen, die gängige Verhaltensweisen von Hackern simulieren. Sie ergänzen die rein manuellen Tests.

Tools für „Fuzz Testing“

Unter diesem Oberbegriff werden Verfahren verstanden, mit denen die Robustheit und Verfügbarkeit von Netzwerkprotokollen und Dateneingaberoutinen getestet werden kann. Die Verfahren werden häufig genutzt, um eine Fehleranfälligkeit von Apps und noch unbekannte Sicherheitslücken aufzudecken.

Dabei werden automatisch zufällige Daten erzeugt, die von den Apps verarbeitet werden müssen. Das Verfahren ist bei Tests im Rahmen von Entwicklungsprojekten relativ weit verbreitet, wird aber auch bei Penetrationstests eingesetzt.

Software Composition Analysis

Bei diesem Verfahren werden die Quellcodes und Binärdateien von Anwendungen analysiert und auf das Vorkommen von Bibliotheken bzw. Codeblöcken mit bekannten Fehlern untersucht.

Diese Art der Analyse der App-Security ist vor allen Dingen empfehlenswert bei Entwicklungsprojekten, in denen Bibliotheken oder andere Komponenten von Dritten eingesetzt werden. Sie sind häufig schwer zu testen, da sie oft weitaus mehr Funktionen enthalten, als in dem aktuellen Projekt genutzt werden. Oft sind aber bereits verschiedene Schwachstellen bekannt, die durch eine intensive Analyse der Quellen relativ einfach aufgedeckt werden kann.

Maßnahmen umsetzen

Eine wichtige abschließende Frage ist natürlich: Welche Maßnahmen sollten Unternehmen umsetzen? Absolut unerlässlich sind Container-Lösungen mit einem App-Wrapper, die eine vorhandene oder selbstentwickelte App härten. Dies betrifft nicht nur mobile Geräte, die im Rahmen einer BYOD-Strategie eingesetzt werden, sondern auch Geräte im Besitz des Unternehmens.

Auch der Einsatz einer Firewall sowie regelmäßige Penetrationstests sind mehr als empfehlenswert und gehören in den meisten Unternehmen zum Standard bei der Administration eines lokalen Netzwerkes. Vor allem bei den Tests ist es eine gute Idee, auf die Dienste eines erfahrenen IT-Sicherheitsexperten zurückzugreifen

Fuzz Testing und Software Composition Analysis sind vor allen Dingen im Rahmen größerer Entwicklungsprojekte empfehlenswert. Bei Apps von Drittherstellern sind diese Verfahren nur ungenügend einzusetzen, bei Eigenentwicklungen können sie allerdings dabei helfen, potentielle Sicherheitslücken aufzudecken.

Ihr volles Potential entfalten alle diese Aktionen allerdings nur im Rahmen eines umfassenden „Enterprise Mobility Management (EMM)“. So gesehen ist Application Security keine zusätzliche Maßnahme, sondern integraler Bestandteil jeder umfassenden Mobility-Strategie.

Bildquelle: Thinkstock/ iStock

©2020Alle 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