Deutsch | English | Español

Wie Sie unbemerkt jedes SAP® System durch Transporte hacken können

5. Juli 2018 | Von Lars Kehrel

Cardboard boxes on white backgroundAuf der diesjährigen ASUG Conference in den USA hat der SAP® CSO 10 Themenbereiche präsentiert, welche für die Sicherheit von SAP® Systemen eine hohe Relevanz besitzen. Darunter finden sich Bereiche wie die Netzwerk- und Datenbanksicherheit, Berechtigungen oder auch Code-Sicherheit. Zwei sehr wichtige Bereiche fehlten in diesem Überblick jedoch: Die Absicherung von Schnittstellen und die Sicherheit von Transporten. Das Fehlen dieser Bereiche in vielen Auflistungen stellt unserer Meinung nach ein großes Versäumnis dar.   

Warum Transporte ein großes Risiko mit sich bringen können

Produktive Systeme werden in aller Regel gut geschützt und Sicherheit wird dort groß geschrieben. Anders sieht es jedoch mit den vorgeschalteten Systemen, also den Qualitäts- und besonders den Entwicklungssystemen aus. Hier haben die User in der Regel weitgreifende Berechtigungen und können auch im ABAP große Veränderungen vornehmen. Durch das SAP Transportmanagement lassen sich aus diesen Systemen heraus Änderungen bis in das Produktivsystem hineinbringen. Mit dem richtigen Know-How werden diese Änderungen so verschleiert, dass dies durch reguläre Kontrollinstanzen und auch manuelle Stichproben nicht entdeckt wird. Da Transportaufträge sowohl aus dem eigenen Hause, als auch von Drittanbietern in die Systemlandschaft eingespielt werden sind Insider- und Outsider-Attacken hierdurch möglich.

Wussten Sie, dass …

  • … Inhalte zu jeder beliebigen Tabelle völlig unbemerkt in die Produktion transportiert werden können?

  • … man durch den Transport eines einzigen Objekteintrags jede Identität annehmen kann?

  • … ein Produktivsystem durch den Transport eines einzigen Objekteintrags komplett gelöscht werden kann?

  • … eine, mehrere oder alle Berechtigungsprüfungen per Transport deaktiviert werden können?

Praxisbeispiel 1: Das eigene Gehalt verdoppeln

In der HR Tabelle PA0008 findet sich in der Spalte ANSAL das Jahresgehalt des zugehörigen Stammdatensatzes. Im Entwicklungssystem ließe sich dieser Eintrag recht einfach verändern. Mehr ausgezahlt würde man dadurch jedoch noch nicht bekommen. Dieser Tabelleneintrag muss zuvor noch unbemerkt in das Produktivsystem eingeschleust werden. Hierfür suchen wir einen Transportauftrag, dem wir die Veränderung unterjubeln können. Dafür sollte ein logisches Customizing Objekt auf diesem Transport vorhanden sein. Gut eignen sich beispielsweise zu transportierende Rollen. Die gewünschte Veränderung der P0008 kann hier nun eingepflegt werden. Bei einem Detailaufruf des logischen Objektes wird nun eine dynamisch erzeugte Simulation angezeigt, nicht die Daten, die tatsächlich auf dem Transportauftrag liegen. Dadurch lassen sich die eingebauten Änderungen sehr gut verstecken.  Wenn dieser Transportauftrag exportiert und wo anders importiert wird im Zielsystem das gewünschte Feld überschrieben. Anschließend kann ich die Spuren auch wieder recht einfach verwischen. Nun kann diese Manipulation kaum noch nachgewiesen werden. Wie das konkret aussehen kann, zeigt unser Experte Thomas Fritsch in unserem Webinar zu diesem Thema.

Praxisbeispiel 2: Eine fremde Identität übernehmen

Eine Single Sign-On Funktionalität macht das Arbeiten für den Anwender der SAP Systeme komfortabler und schneller, denn man muss nicht ständig den Usernamen und das Passwort eingeben, wenn man sich ein ein SAP System einloggt. Für den gewillten Hacker bieten sich damit aber auch neue Möglichkeiten mit fremden Identitäten in SAP Systemen einzudringen und so zum Beispiel auch an weitreichende Berechtigungen und geschützte Daten zu kommen. Technisch betrachtet wird für das Single Sign-On die Identität des Users in der SSO Lösung mit dem SAP-User gemappt. Dies geschieht in der Tabelle USRACL. Der Weg zu einem Nutzer mit weit reichenden Berechtigungen im Produktivsystem ist dementsprechend einfach. Man kann einem SAP-Standardnutzer – wie z.B. den Nutzer SAP* - einfach den eigenen Nutzer in der SSO-Lösung zuweisen. Die Berechtigung dürfte man im Produktivsystem zwar kaum haben, aber mit Hilfe der logischen Customizing-Objekte, siehe vorheriges Beispiel, ist eine Verschleierung auch hier recht einfach möglich.

Praxisbeispiel 3: Ein System mit nur einem Transport komplett löschen

Das wohl erschreckendste Beispiel für einen Angriff ist die Möglichkeit, ein SAP-System durch nur einen Eintrag komplett zu löschen. Dieses wird ebenfalls möglich gemacht durch die oben beschriebene Verschleierung des Inhalts, mittels logischer Customzing-Objekte.

Um diesen Angriff durchzuführen, bedarf es eines bestimmten Datenbankobjektes. In diesen wird ein kurzer Befehl zur Löschung der Datenbank im Zielsystem untergebracht. Ein solcher Befehl sollte im Normalfall vom System nicht ausgeführt werden. Allerdings enthält das ausgewählte Datenbankobjekt eine sogenannte „After-Import-Methode“ – die nichts weiter besagt, als dass ein bestimmter Funktionsbaustein nach Import des Transportes automatisch ausgeführt wird. Wird diesem Funktionsbaustein nun der Befehl zur Löschung der Datenbank untergejubelt, ist die Löschung des Systems im wahrsten Sinne des Wortes vorprogrammiert.

Diese Beispiele zeigen, dass es mit genügend Know-How nicht nur möglich, sondern sogar relativ leicht ist, SAP-Systeme erfolgreich anzugreifen. Mögliche Abwehrstrategien scheitern allerdings vor allem daran, dass es technisch kaum möglich ist, einen Transport vor dem Import in ein SAP-System auf solche Sicherheitsproblematiken hin zu untersuchen. Mit dem TransportProfiler von Virtual Forge besteht die Möglichkeit, Transporte vor dem Einspielen in ein Zielsystem nicht nur auf Sicherheitsrisiken, sondern auch auf mögliche Stabilitätsprobleme und Schäden an Daten hin zu untersuchen. Unterstützt vom CodeProfiler für ABAP, der sich ebenfalls in den Freigabeprozess integriert, können Transporte so umfassend vorab geprüft werden.

Die Virtual Forge Security Suite as a Service geht sogar noch einen Schritt weiter und ermöglicht die Prüfung von Transporten, die beispielsweise von einem Drittanbieter kommen, ohne diese überhaupt in die Systemlandschaft einbringen zu müssen. Durch den web-basierten Ansatz werden mögliche Risiken bereits vorab identifiziert und in einem übersichtlichen Report dargestellt.

Mehr Informationen zu Virtual Forge Security Suite as a Service erhalten Sie hier.

 

Update: Weitere Informationen der SAP (SAP Note 2671160).

 

Topics: Transport Security, UnderstandYourRisk



@Virtual_Forge auf Social Media:

social_twitter_active.png social_xing_active.png social_linkedin_active.png social_google_active.png