SAP-Sicherheit im E-Government und im Umfeld Kritischer Infrastrukturen

bei

 / 13. October. 2017

„E-Government“ ist in Deutschland bereits seit dem Jahr 2000 eine zentrale Regierungsaufgabe, im Zuge derer den Bürgern immer mehr Verwaltungsangebote auch online zugängig gemacht werden und Prozesse in den Verwaltungsbehörden digitalisiert werden. Der Bereich „Staat und Verwaltung“ ist dabei einer der Sektoren der vom Bundesministerium des Inneren definierten, sogenannten „Kritischen Infrastrukturen“(1), bei deren Ausfall oder Beeinträchtigung nachhaltig wirkende Versorgungsengpässe, erhebliche Störungen der öffentlichen Sicherheit oder andere dramatische Folgen eintreten würden.

Aus Cyber-Security Sicht bedeutet dies, dass E-Government Anwendungen für Hacker jeglicher Couleur sehr attraktiv sind und leider auch vermehrt zum Ziel von Angriffen werden.

Bei E-Government, ähnlich wie in Unternehmen, übernehmen auch Lösungen der Walldorfer Software-Schmiede SAP die Digitalisierung und IT-gestützte Abbildung zahlreicher Abläufe. Insbesondere seit Einführung der neuen SAP UI5 Benutzerschnittstellen, die auch für die einfache Verwendung von mobilen Endgeräten aus optimiert sind, interagieren Bürger und Geschäftspartner der öffentlichen Verwaltungen – oft unbewusst – unmittelbar mit einer SAP Anwendung. Für Angreifer bedeuten diese exponierten Benutzerschnittstellen, zu Beispiel Eingabemasken oder Upload-Funktionen, einen möglichen Angriffspunkt.

SAP FIORI basiert auf SAP UI5
Quelle: http://saphanatutorial.com/wp-content/uploads/2016/12/SAP-Fiori-Launchpad-1.png

IT-Insider wissen, bei SAP-Anwendungen gelten zahlreiche Besonderheiten. So auch beim Schutz gegen Cyber-Angriffe. Zwar stellt SAP monatlich Security Fixes – im SAP-Jargon „Security-Hinweise“ genannt – zur Verfügung. Allerdings sind die meisten SAP Anwendungen stark modifiziert und auf die individuellen Bedürfnisse des jeweiligen Kunden angepasst. Die Fixes von SAP betreffen aber immer nur den Auslieferungsstand der Anwendungen – ohne eben diese Anpassungen, in denen oftmals ähnliche oder weitere Sicherheitslücken existieren. SAP-Kunden und öffentliche Verwaltungen sind daher angehalten, Ihre Anwendungen durch den Einsatz geeigneter Produkte zusätzlich abzusichern. Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat in diesem Zusammenhang in den sogenannten Grundschutzkatalogen auch eindeutige Handlungsempfehlungen zum Schutz von SAP Anwendungen ausgesprochen.

Die Angriffsvektoren, die SAP Cybersecurity-Verantwortliche im Blick haben sollten teilen sich dabei in zwei große Kategorien auf: Angriffe über Formular-Eingaben, also sogenannte „strukturierten Daten“ und Angriffe über Datei-Uploads, mit sogenannte „unstrukturierten Daten“.

Angriffe mit strukturierten Daten:

Cross-Site-Scripting (XSS)

Cross-Site Scripting gehört zu den gängigsten Angriffen auf Web-Anwendungen. Das gilt auch bei SAP- Anwendungen. Etwa 25% aller jemals veröffentlichten SAP Security Hinweise betreffen diesen Angriffsvektor. Mit Cross-Site Scripting gelingt es Angreifern im einfachsten Falle über die Eingabemasken der Anwendung, HTML oder gar JavaScript Code in die Anwendung einzuschleusen. Bei nachfolgenden Benutzern interpretiert der Web-Browser diesen eingeschleusten Code als legitimen Bestandteil der Anwendung und führt ihn mit denselben Sicherheitsprivilegien aus wie die Anwendung. Auf diese Art und Weise können Angreifer das Erscheinungsbild der Anwendung verändern (sog. Defacing), oder subtiler vorgehen und beispielsweise vermeintliche Login-Pop-Ups einblenden, um Zugangsdaten zu erhalten. Auch das Auslesen der SessionID, um die authentifizierte Sitzungen zu übernehmen, ist ebenso möglich wie die Installation von Keyloggern oder anderer Malware über sogenannte Drive-By-Dowbloads.

SQL-Injections

SAP Anwendungen basieren auf leistungsfähigen Datenbanken. Ganz gleich ob Oracle, Microsoft oder die SAP-eigene HANA in-memory Datenbank, werden diese über SQL-Statements abgefragt oder Daten eingepflegt oder bearbeitet. Im Falle einer SAP Anwendung kommt bereits eine unter Sicherheitsgesichtspunkten optimierte Variante (OpenSQL) zum Einsatz. Dennoch kann es Angreifern mit Kenntnis der internen Tabellenstrukturen von SAP-Anwendungen möglich sein, die generierten SQL Statements so zu beeinflussen, dass sie unautorisierten Zugriff auf Datensätze erlangen, oder diese zu modifizieren.

Directory Traversal

Wie auch andere Anwendungen, verwenden SAP-basierte Lösungen URL-Pfade zur Navigation und zur Parameterübergabe innerhalb der Anwendung, oder auch um auf Dateien zuzugreifen, die im Datei-System des Servers liegen. Angreifern kann es gelingen, diese URLs so zu manipulieren, dass der unerlaubte Zugriff auf Dateien (z.B. Konfigurations-Dateien) möglich wird, oder dass Anwendungsbereiche angezeigt werden, auf die der User normalerweise keinen Zugriff hätte.

OS-Command Injections

SAP Anwendungen greifen in vielen Fällen auf Funktionen des darunterliegenden Betriebssystems zurück. In Fällen, in denen es Angreifern gelingt, anstelle des SAP-seitig aufgerufenen Kommandos – oder zusätzlich dazu – eigene Befehle auf Betriebssystem-Ebene auszuführen, kann die vollständige Übernahme des Servers die Folge sein.

Angriffe mit unstrukturierten Daten (Dateien)

Generell ist eine ungesicherte Möglichkeit, Dateien in eine Web-Anwendung hochzuladen als Sicherheitslücke zu bewerten. Dies geht aus der Risikobewertung des Open Web Application Security Projects, aber auch aus den Grundschutzkatalogen des BSI eindeutig hervor.

Viren, Malware, Ransomware

Das Prinzip, Dritt-Anwendungen als Verteiler für Malware zu nutzen ist natürlich nicht neu, und auch nicht auf SAP Anwendungen beschränkt. Eine besondere Herausforderung ergibt sich aber daraus, dass SAP Anwendungen hochgeladene Dateien in der Regel in der Datenbank oder einem proprietären Content Server ablegen. In diese können Anti-Viren Lösungen, die auf Betriebssystem-Ebene installiert sind nicht hereinschauen. SAP selbst empfiehlt sogar, SAP Programm-Verzeichnisse und die Datenbank vom Virenscan vollständig auszuschließen. Unternehmen und Behörden wägen sich daher oft in einem trügerischen Gefühl falscher Sicherheit, wenn Sie davon ausgehen, dass eine aktuelle Virenschutz-Lösung auf Betriebssystem-Ebene auch Uploads in die SAP Anwendung absichert.
Das Bundesamt für Sicherheit in der Informationstechnik hat bereits vor 10 Jahren bei SAP Systemen, die aus dem Internet erreichbar sind, die Implementierung von Virenschutz und Content-Scan auf Anwendungsebene zur Anforderung deklariert (S. BSI Grundschutzkatalog, M4.271 und M2.343).

Umgehung von Dateityp-Filter

Web Anwendungen sollten generell nur den Upload solcher Datei-Typen zulassen, die für den Business-Zweck der Anwendung notwendig sind. Die Filter-Möglichkeiten, die SAP in das Basis-Produkt integriert hat, sind aber bestenfalls als rudimentär zu bezeichnen, denn einfaches Umbenennen von Dateien, bzw. das Ändern der Erweiterung trickst diese Filter bereits aus. Es können z.B. ausführbare Dateien hochgeladen werden, wo nur PDFs erlaubt sein sollten.

Aktive Inhalte

Viele Dateiformate unterstützen die Einbindung von aktiven Inhalten. Diese werden oftmals zur Automatisierung wiederkehrender Aufgaben, zur Validierung von Eingaben und für weitere sinnvolle Maßnahmen verwendet. Aus einer Web-Anwendung heraus aufgerufen, können solche aktiven Inhalte (z.B. JavaScript in SVG Grafiken oder in PDF-Dateien), die Session-Privilegien der Web-Sitzung verwenden, über die sie geladen wurden. Browser sehen diese daher als Bestandteil der Anwendung und führen solche Inhalte oftmals unter Umgehung der „Same Origin“ Sicherheitsrichtlinie aus.

Hybride Dateiformate

Solche, auch Chameleon- oder Polyglot-Dateien genannte, Dateien erfüllen die Erkennungsmerkmale mehrerer Dateitypen gleichzeitig. So kann beispielsweise aus einem GIF-Bild und einem Java-Archiv (Endung .JAR) eine „GIFAR“ Datei erzeugt werden. Eine solche Datei wird von einem Browser als normales Bild angezeigt und kann möglicherweise als Profilbild oder Avatar hochgeladen werden. Wenn diese GIFAR-Datei allerdings wie ein Java-Archiv angesprochen wird (z.B. durch Einbettung als APPLET oder OBJECT) werden die Java-Klassen aus dem Java-Archiv ausgeführt – und zwar wiederum im Sicherheitskontext der Web-Anwendung.

Wie öffentliche Verwaltungen und SAP-Kunden sich schützen können.

Die hier angesprochenen Angriffsszenarien sind weder neu, noch besonders raffiniert. Unter Security-Experten sind dies bekannte und unter Hackern bewährte Techniken. Marktführende Unternehmen, wie SAP, haben diese Risiken bereits erkannt und Ihren Kunden Möglichkeiten an die Hand gegeben, die Risiken zu minimieren. Diese erfordern aber oft den Einsatz von Drittanbieter-Produkten.
So hat SAP beispielsweise bereits 2004 in die gängigen Application-Server Varianten (ABAP und Java) eine Virenscanschnittstelle (NW-VSI) integriert. Diese wurde seither erweitert und ist in der Lage, mit einem angeschlossenen, von SAP zertifizierten Scanner-Produkt Angriffe in Dateien beim Upload und Download zu erkennen und zu blocken, die über die Erkennung von Malware hinausgehen.
Auch für den Scan von Formulardaten hat SAP eine Schnittstelle in den Internet Connection Manager (ICM/icman) integriert. Neben grundlegenden Filtermöglichkeit, die von SAP ausgeliefert wird, können auch hier Produkte von Drittanbietern den Scan der Daten übernehmen und somit ohne Änderungen am SAP Programmcode die Angriffsfläche der SAP-basierten Web-Anwendung erheblich reduzieren.

(1) http://www.kritis.bund.de/SubSites/Kritis/DE/Einfuehrung/Sektoren/sektoren_node.html

Jörg Schneider-Simon, Autor des Artikels über E-Government

Der Autor: Jörg Schneider-Simon ist Chief Technology Officer und Mitbegründer von bowbridge Software, einem Hersteller von Content-Security Lösungen für SAP. Er blickt zurück auf über 20 Jahre Erfahrung in der Security und bekleidete Positionen bei diversen IT-Security Herstellern in Europa in den USA.

Vorheriger ArtikelWas man an IAM heute haben muss – und was als Nächstes kommt
Nächster ArtikelBYOD: Container sichern personenbezogene Daten auf mobilen Endgeräten