Gefahren im SAP®-Transportmanagement – Teil 5
Willkommen zum letzten Teil unserer Reihe über die Gefahren im SAP-Transportmanagement. Im Laufe dieser Reihe haben wir verschiedene Sicherheitslücken behandelt, die von Hackern und anderen Angreifern ausgenutzt werden können, um sich unbefugten Zugriff auf ein System zu verschaffen. Von Berechtigungsprüfungen über die Jobverwaltung bis hin zur Codeausführung beim Import gibt es zahlreiche Problembereiche, die die Notwendigkeit einer besseren Sicherheit im SAP-Transportmanagement deutlich machen. In unserem letzten Teil konzentrieren wir uns darauf, wie ein Angreifer logische Dateinamen und logische Betriebssystembefehle innerhalb von SAP-Transporten nutzen könnte, um auf Daten zuzugreifen, diese zu verändern und zu exfiltrieren.
Logische Dateinamen und Betriebssystembefehle
Damit sich Entwickler beim Zugriff auf Dateien oder bei der Ausführung von Betriebssystembefehlen nicht um die Besonderheiten des zugrunde liegenden Betriebssystems kümmern müssen, nutzt SAP® das Konzept der logischen Dateinamen und logischen Betriebssystembefehle. Zu diesem Zweck wird für jeden in Frage kommenden physischen Dateinamen (Dateipfad) ein logischer Dateiname (und Dateipfad) gespeichert. Mit anderen Worten: platform physische Befehle werden einem übergeordneten logischen Befehl zugeordnet.
Während sich die unterschiedlichen Syntaxregeln der Plattformen bei der Angabe von Pfaden in der Regel bei logischen Dateinamen (unterschiedliche Trennzeichen) auflösen, können für logische Betriebssystembefehle auf jeder platform völlig unterschiedliche physische Befehle hinterlegt sein.
Aus sicherheitstechnischer Sicht ist es ein wesentlicher Umstand, dass die logischen Entitäten der zugrunde liegenden physischen Informationen beim Transport leicht überschrieben oder ersetzt werden können. Für logische Dateien bedeutet dies, dass sensible Daten in einer Datei umgeleitet werden können oder dass die Daten einer Datei mit kompromittierenden Inhalten gelesen werden können. Das Ersetzen physischer Befehle ist sogar noch gefährlicher, da die Berechtigungsprüfung beim Zugriff auf den Befehl nur anhand des logischen Befehlsnamens (Berechtigungsobjekt S_LOG_COM) erfolgt und nicht auf der Grundlage des tatsächlich ausgeführten Befehls. Logische Befehle können durch die Zuordnung eines Prüfmoduls zusätzlich geschützt werden. Doch selbst diese Zuordnung lässt sich über den Transport leicht deaktivieren.
Aus der Prüfung des Antrags lässt sich Folgendes schließen:
- R3TR CDAT DATEINAME
- Möglicherweise ein Angriffsversuch mit geringer Wahrscheinlichkeit
- Geänderte logische Pfad- und Dateidefinitionen können über die Transaktion FILE in einem Transportauftrag erfasst werden. Hierfür verwendet SAP stets den View-Cluster FILENAME
- Der logische Dateiname oder Pfad muss sorgfältig geprüft werden, um den Verwendungszweck sicherzustellen; wird eine bestehende Definition aktualisiert, ist besondere Sorgfalt geboten
- R3TR TABU PATH, R3TR TABU FILENAMECI
- Möglicher Angriffsversuch mit höherer Wahrscheinlichkeit
- Die logische Definition wurde aufgrund der manuellen Pflege der Transportobjektliste erfasst
- Der logische Dateiname oder Pfad muss sorgfältig geprüft werden, um den Verwendungszweck sicherzustellen; wird eine bestehende Definition aktualisiert, ist besondere Sorgfalt geboten
- R3TR TABU SXPGCOSTAB
- Möglicherweise ein Angriffsversuch mit geringer Wahrscheinlichkeit
- Dies ist ein benutzerdefinierter Befehl
- Der logische Befehl muss gründlich überprüft werden, um seinen Zweck sicherzustellen, und wenn eine bestehende Definition aktualisiert wird, ist besondere Sorgfalt geboten
- R3TR TABU SXPGCOTABE
- Möglicher Angriffsversuch mit höherer Wahrscheinlichkeit
- Dies ist ein SAP-Befehl
- Die Befehlsdefinitionen von SAP dürfen nicht geändert werden und müssen daher nicht transportiert werden
- Die Tabelle wurde nach der manuellen Pflege zur Liste der Transportobjekte hinzugefügt, da SAP-Befehle nicht mit der Transaktion SM69 zu einem Transportauftrag hinzugefügt werden können
Um einen Angriff noch besser zu verschleiern, können Einträge in den Tabellen PATH, FILENAMECI, SXPGCOSTAB und SXPGCOTABE in einem übergeordneten Objekt verborgen werden. Dazu gehören:
- View Cluster (R3TR CDAT <random object name <> “FILENAME” >)
- Maintenance View (R3TR VDAT <random object name>)
- Customizing Data (R3TR TDAT <random object name>)
In diesen Fällen muss ein Eintrag als eindeutiger Angriffsversuch gewertet werden! Nur die Überprüfung aller Transportanfragen, wie oben beschrieben, bietet Schutz vor einem solchen Angriff.
*Diese Prüfung sowie über 100 weitere werden in der Platform automatisch Platform interne und externe Transportobjekte durchgeführt. Weitere Informationen zur Funktionsweise der Technologie und dazu, wie sie mithilfe der Platform in Ihre Geschäftsprozesse integriert werden kann, finden Sie im Anwendungshinweis zur SAP-Transportprüfung (PDF).
