Um typische Angriffs- und Architekturprobleme zu veranschaulichen, werden wir Beispiele für SAP-ERP-Lösungen bereitstellen, da diese in 85% der Fortune 2000-Unternehmen am weitesten verbreitet sind.

Die Risiken einer unsicheren Konfiguration von ERP-Systemen und anderen Geschäftsanwendungen sind wie folgt.
1. Angriffe über anfällige Dienste
In den meisten ERP-Systemen sind standardmäßig Dutzende und sogar Hunderte von Diensten installiert. Sie umfassen sowohl typische als auch webbasierte Dienste. Einige von ihnen sind für verschiedene Verwaltungsfunktionen verantwortlich. Beispielsweise ermöglicht die SAP Management Console oder SAPControl eine Fernsteuerung von SAP-Systemen. Seine Hauptfunktionen sind Fernstart und -stopp, um auszuführen, was man braucht, um Benutzername und Passwort zu kennen.
Dennoch gibt es einige Funktionen, die ohne Authentifizierung remote verwendet werden können. Die meisten von ihnen ermöglichen das Lesen verschiedener Protokolle und Traces und manchmal auch von Systemparametern.
2. Eskalation von Privilegien durch Insider
Wenn Benutzer über eine Clientanwendung wie SAP GUI eine Verbindung zum Server herstellen, können sie verschiedene Funktionen ausführen. Wenn sie einige Funktionen ausführen möchten, z. B. einen Zahlungsauftrag oder einen neuen Benutzer erstellen oder ein Formular ausfüllen möchten, müssen sie den jeweiligen Transaktionsnamen im SAP-Menü eingeben. Das System öffnet ein Dialogfenster, in dem ein Benutzer verschiedene Parameter angeben kann. Wenn Benutzer beispielsweise die Transaktion SU01 ausführen, um neue Benutzer im System zu erstellen, wird ein Bildschirm angezeigt, in dem sie alle Details zum neu erstellten Benutzer eingeben und dann auf die Schaltfläche "Erstellen" klicken müssen. Wenn die Daten korrekt sind, wird der neue Benutzer im System erstellt.
Die Verbindung über die SAP-GUI und das Ausführen von Transaktionen sind jedoch nicht die einzige Möglichkeit, SAP-Funktionen auszuführen. SAP-Systeme sind komplex und eine Aktion kann auf mehrere Arten ausgeführt werden. Die anderen Möglichkeiten zum Ausführen von Funktionen im SAP-System umfassen beispielsweise:
- Ausführen eines Hintergrundjobs mit RFC (wie RPC in Windows);
- Aufrufen derselben Funktion über eine SOAP-Schnittstelle - eine webbasierte Schnittstelle zum Remote-Ausführen von RFC-Programmen;
- Ausführen der Web-Dynpro-Anwendung. Web Dynpro ist ein webbasiertes Frontend für das SAP-System, das verwendet werden kann, wenn Mitarbeiter keine Clientanwendung und nur einen Webbrowser haben.
Wie Sie sehen können, erfordern alle diese Methoden einen anderen Schutzansatz.
3. Bösartige Entwickler
Programme, die in ABAP-Sprache (SAP-eigene Sprache zur Erweiterung der Funktionalität von SAP-Systemen) geschrieben wurden, können Schwachstellen aufweisen. Was noch wichtiger ist, diese Sprache kann auch zum Schreiben von Backdoors verwendet werden, die schädliche Funktionen bereitstellen können, z. B. das Senden von Details zu jeder Transaktion an a Drittanbieter per E-Mail oder sogar auf Twitter veröffentlichen.
Leider ist die Entwicklung innerhalb des Unternehmens nahezu unkontrolliert. Sie können das Auftreten neuer Programme im System überwachen und möglicherweise einen Entwickler finden, aber nicht erkennen, was genau jedes neue Programm tut, es sei denn, Sie lesen jede einzelne Zeichenfolge des Quellcodes. Ohne zusätzliche Lösungen weiß niemand, was genau Entwickler im System leisten. Es gibt überhaupt keine Kontrollmaßnahmen, sie können unsicheren Code entwickeln, das Hinzufügen von Zugriffskontrollprüfungen im Programm verpassen, Geld auf ihre Bankkonten senden, und niemand wird es herausfinden können, wenn man sich nicht ihren Quellcode ansieht. Mangelnde Kontrolle über Entwickler macht sie daher zu einer Art Gott von SAP, und ihre Aktionen sollten analysiert werden.
4. Unsichere Verbindungen
Sie müssen verschiedene Anwendungen verbinden, um Geschäftsprozesse zu automatisieren. Wenn Sie beispielsweise automatisch eine Rechnung im SAP-System erstellen und über das Bankensystem Geld auf ein bestimmtes Bankkonto senden möchten, müssen Sie ERP und Bankensystem verbinden. Geschäftsanwendungssysteme sind wie ein Spinnennetz miteinander verbunden. In der Realität gibt es Dutzende ähnlicher Verbindungen, und alle können für die Sicherheit von entscheidender Bedeutung sein. In diesen Verbindungen können beispielsweise Benutzernamen und Kennwörter gespeichert werden. Darüber hinaus sind die Systeme nicht nur innerhalb des Unternehmensnetzwerks, sondern auch mit Partnernetzwerken über das Internet oder mit anderen Anbietern wie Banken oder Versicherungsunternehmen verflochten. Einige der Systeme sind über bestimmte SAP-Systeme wie SAP xMII (Manufacturing Integration and Intelligence) oder SAP PCo (SAP Plant Connectivity) direkt mit dem ICS / SCADA-Netzwerk verbunden.
Technisch gesehen wird dieser Prozess von RFC (Remote Function Call) und anderen Verbindungen zwischen SAP-Systemen verwaltet, in denen normalerweise Anmeldeinformationen für den Zugriff auf ein Satellitensystem gespeichert sind. RFC-Verbindungen werden von SAP entwickelt, um Daten zwischen zwei SAP-Systemen zu übertragen. Untersuchungen von ERPScan haben ergeben, dass die durchschnittliche Anzahl von Verbindungen in einem typischen SAP-System etwa 50 beträgt und 30% von ihnen normalerweise Anmeldeinformationen speichern. Sobald Angreifer in das schwächste SAP-Modul eindringen, können sie problemlos auf verbundene Systeme zugreifen, von diesen auf andere. Daher ist es sehr wichtig, alle Arten von Verbindungen zwischen SAP-Systemen zu überprüfen. Beispielsweise ist es möglich, über eine Kette von Schwachstellen und Verbindungen zwischen Systemen, die eine SAP-Schwachstelle als Ausgangspunkt ausnutzen, auf die OT-Infrastruktur eines Öl- und Gasunternehmens zuzugreifen und Öl zu stehlen.
Im nächsten Artikel konzentrieren wir uns auf den Schutz von ERP-Systemen.