Unternehmens-Apps

App Wrapping - Konzept mit Zukunft oder falsche Fährte?

App Wrapping bezeichnet ein Verfahren mit dem Ziel eine nicht selbst entwickelte App in den Bereichen Managebarkeit, Datensicherheit und Datenschutz anzureichern. Dabei wird sowohl die lokale Datenverarbeitung auf dem Endgeräte als auch die Kommunikationsstrecke zum Backend betrachtet. In diesem Artikel möchte ich meine Meinung zur Einsetzbarkeit darlegen.

Aufgrund des stetig wachsenden Einsatzes mobile Endgeräte stehen Unternehmen zunehmend vor der Herausforderung die richtige Herangehenweise für die Absicherung, Verwaltung und Nutzung der eingesetzten Unternehmensapps, gegen potentielle Angreifer, herauszufinden.

Die Absichten der Angreifer können dabei sehr unterschiedlich sein. Dies reicht vom Abhören der Sprach- und Textdienste und dem Aufzeichnen der Bewegungsdaten, über das Entwenden von sensiblen und personenbezogenen Daten. Die Täter können durch die Nutzung von kostenpflichtigen Mehrwertdiensten, das Manipulieren von Banktransaktionen oder ein absichtliches Verschlüsseln aller Nutzdaten auf dem mobilen Endgerät dem Geschädigten zusätzlich finanziellen Schaden zufügen.

Ein mobiles Gerät sowohl privat als auch beruflich zu nutzen ist immer noch Thema in vielen Unternehmen. "Eine" perfekte Lösung gibt es nach wie vor noch nicht.
Ein mobiles Gerät sowohl privat als auch beruflich zu nutzen ist immer noch Thema in vielen Unternehmen. "Eine" perfekte Lösung gibt es nach wie vor noch nicht.
Foto: violetkaipa - shutterstock.com

Aufgrund des zunehmenden Interesses an BYOD Endgeräten, verbreitet sich das Konzept des Mobile Application Management (MAM) zunehmend. Dies ist damit begründet, dass kaum ein privater Anwender sein Gerät unter MDM, also der Verwaltung durch das Unternehmen, stellen lassen möchte. Jedes Unternehmen möchte aber die Sicherheit eines MDM-aktivierten Gerätes für seine Daten wahren. Hier bietet sich Wrapping als Konzept zur Durchsetzung von MAM an, auch wenn die entsprechenden Apps das nicht von Haus aus unterstützen.

Da nicht alle Apps eigene ausgefeilte Sicherheitsmechanismen wie Verschlüsselung der Nutzdaten und der Kommunikation sowie Konfigurierbarkeit mitbringen, bieten Hersteller mit Wrappinglösungen den Versuch, diese in bestehenden Apps ohne hohen Aufwand nachzurüsten.

Schutzschilde für Apps

Jede (Fremd-)App hat eine Vielzahl von Schnittstellen zu ihrer Umwelt, die durch die API-Funktionen des Betriebssystems bereitgestellt werden.

Die grundsätzliche Idee beim Wrappen von Apps besteht darin, eine (fremd) entwickelte App in eine zweite App, eine Art Schutzschild einpacken. Dieses Schutzschild ver­hin­dert, dass die App zum Beispiel über Datenabfluss oder -manipulation Scha­den im Unternehmenskontext ver­ur­sa­chen kann und Funktionen wie Authen­ti­fi­zie­rung, VPN, Ver­schlüs­se­lung und Fernlöschung innerhalb der App genutzt werden können. Realisiert wird dies, indem die Anwendung so in einen Container gekapselt, dass jeder relevante API-Aufruf durch eine Kontrollschicht (Proxy) geleitet wird, um die unerwünschten Aktivitäten zu unterbinden.

Dem Administrator eines Unternehmens erlaubt das App Wrapping dadurch, einer App zusätzliche Security- und Management-Funktionen zuzuweisen. Hierzu gehören unter anderem:

  • Implementierung App-spezifischer Data Loss Prevention (DLP)-Verfahren
    Beispiele: Kontrolle von "öffnen in" Funktionen beziehungsweise das Verbot der Funktionen "Cut/Copy/Paste"

  • Erweiterung der Managebarkeit einer App
    Beispiel: anwenderspezifische Berechtigungen

  • Erstellung App-spezifischer abgesicherter Kommunikationsverbindungen (Micro-VPN) zwischen der App und dem Back-End-System

  • Implementieren der Verschlüsselung von App-Daten
    Beispiele: auf Gerät-/Userbasis

  • Einbettung von Analyse-, Benchmark- oder Betriebsanalysen
    Beispiele: Analytics über Verteilung, Stabilität, Eskalationen im Kompromitierungsfall

  • Implementierung eines Kompromitierungsschutzes
    Beispiel: Manipulationsschutz für Gerät, App und Daten

Damit App Wrapping funktioniert, muss das Schutzschild in die App injiziert werden. Viele Flyer sprechen von einem Container um die App herum. Viele Anbieter erstellen jedoch keine "Hülle" sondern nutzen Verfahren zur Code Injection in bestehende Programmpakete. Diese Code Injection sorgt im Anschluss dafür, dass API Aufrufe (Stichwort: Method Swizzling) in das Betriebssystem durch eine "Art" Proxy gehen, der die Daten validiert und gegebenenfalls zusätzlich absichert. Anstatt einen API-Call, zum Beispiel den Aufbau einer ungsicherten Internetverbindung, direkt auszuführen, versucht der injizierte Code diese Methode "abzufangen" um, bei diesem Beispiel zu bleiben, eine gesicherte Verbindung aufzubauen.

Vergleicht man die Wrapping-Lösungen und die dabei verwendeten technischen Verfahren mit Frameworks der Jailbreak und Rooting-Szene, fällt auf, dass die vermeintlich neuen Verfahren von dort entlehnt sind. Es bleibt zu hoffen, dass die Weiterentwicklung der Wrapping Technologie nicht ausschließlich auf den Erkenntnissen der Jailbreak- und Rooting-Szene basieren beziehungsweise von deren Einsetzbarkeit und Weiterentwicklung abhängen. Daneben zeigt dies, dass diese technischen Verfahren sowohl für "Schlechtes" als auch für "Gutes" genutzt werden können.