SAP-Mobile-Security

SAP ist dem Trend gefolgt Business Daten mobil verfügbar zu machen, allgemein ist dies unter dem Begriff SAP Mobile bekannt. Hier ist offensichtlich ein neuer Trend gestartet.
Doch wie sieht es mit der Sicherheit auf diesem Gebiet aus? Welche Risiken existieren hier und wie behandelt man diese?

Zunächst ist zu klären was genau ist eigentlich SAP Mobile?
Meistens wird in diesem Kontext SAP Fiori (Übersicht) und SAP Mobile Platform (SMP) verwendet.
SAP Fiori sind SAP-Anwendungen auf HTML5 Basis, welche mittels responsive Design „passend“ auf dem mobilen Endgerät dargestellt werden.

SMP erlaubt die Entwicklung mobiler Anwendungen für eine Vielzahl an unterstützten Geräten. Das SDK erlaubt die Kommunikation mit den SAP Mobile Diensten von SAP.

SAP UI5 und SAP Fiori mausern sich zur neuen Oberfläche von SAP und haben das Potential die SAP GUI langfristig abzulösen. So bietet Fiori Apps für die meisten SAP-Funktionen und kann von allen Endgeräten genutzt werden.
Selbst die Kommunikation mit dem NetWeaver Gateway ist problemlos möglich .

Doch auch SMP hat seine Alleinstellungsmerkmale. So erlaubt das SDK die Kommunikation mit dem Mobile Dienst und kann zur Kommunikation mit ERP, CRM, SCM und SRM Systemen verwendet werden. Ebenso kann das NetWeaver Gateway genutzt werden, um Daten zwischen dem System und den mobilen Endgeräten auszutauschen. Zusätzlich wird Afaria angeboten, um die mobilen Geräte sicher zu verwalten.

Wo lauern die Gefahren und wie werden diese minimiert?
Der Schlüssel zum Erfolg lieget in der sicheren Entwicklung der mobilen Anwendungen.
Dies fängt bei der Authentifizierung an.
Einige Apps nutzen anonyme Verbindungen ohne Zugangsdaten, diese werden dann meist einen generischen Benutzer im SAP-System zugeordnet. Damit kann Jeder einen solchen Zugriff verwenden und verfügt über die Rechte des generischen Benutzer.

Häufig wird die Verwendung einer HTTP Basic Authentifizerung bei den Apps gesehen. Doch hier muss man beachten, dass das Password lediglich Base 64 encodiert wird und ohne eine sichere HTTPS-Verbindung problemlos abgefangen und decodiert werden kann.

Sicherer ist da schon die Nutzung eines Token (SAP Single Sign-On) zur Anmeldung. Doch auch hier empfiehlt es sich nicht auf eine HTTPS-Verbindung zu verzichten, da ein findiger Angreifer möglicherweise auch ein im Klartext übermitteltes Token attackieren kann.

Eine Zertifikat basierte Authentifizierung stellt den sichersten Weg dar. Dies wird jedoch nur sehr selten verwendet, da die Umsetzung wesentlich komplexer ist. Man benötigt Client- und Server-Zertifikat. Eine passgenaue Zertifikatsprüfung und die richtige Konfiguration im Server.

Hat man die Hürde der sicheren Anmeldung gemeistert, ist fortan eine sichere Kommunikation zu verwenden.
Der häufigste Weg ist die Nutzung einer HTTPS-Verbindung mit Zertifikatsprüfung. Alternativ kann man auch ein VPN nutzen.
Wichtig ist jede Anfrage und Antwort auf diesem Weg zu senden. Selbst-Signierte Zertifikate zerstören die Sicherheit einer HTTPS-Verbindung, da diese nicht verifiziert werden können (ohne das Stammzertifikat eigenhändig in den Trusted Sec Store einzubinden) und somit bekannte Spoofing-Angriffe ermöglichen.
Die sichere Kommunikation erfordert jedoch nicht nur Augenmerk bei der App-Entwicklung, sondern auch im späteren Betrieb. Insbesondere SSL war zuletzt häufig wegen Sicherheitsproblemen in der Presse (HeartbleedFREAKLOGJam). Hier muss man immer Up2Date bleiben!

Letztlich ist noch die sichere Datenspeicherung zu beachten. Sind die Daten erst einmal sicher auf dem mobilen Endgerät angekommen, müssen diese dort auch sicher verwahrt werden.
Grundlegend sollten die Daten verschlüsselt werden, dabei sollte auf Standards zurückgegriffen werden und keine eigene Verschlüsselung erfunden werden.
So bietet das Kapsel Plugin für Apache Cordova ein EncryptedStorage zur sicheren Speicherung der Daten.
Ebenfalls ist der Schlüssel dafür nicht fest in die App zu codieren. Hier kann beispielsweise SAP ClientHub verwendet werden.

Sind die Richtlinien zur sicheren Entwicklung definiert gilt es zusätzlich noch die genutzten Komponenten (SAP Mobile Platform, SAP Afaria, Apache Cordova, …) aktuell zu halten und regelmäßig die Security Updates einzuspielen.

 

Beachtet man diese Punkte kann man das Risiko mobiler SAP-Zugriffe deutlich mindern.