Deutsch | English | Español

Gefahren im SAP® Transportwesen Teil 5: Logische Dateinamen und Betriebssystem-Kommandos

21. Dezember 2017 | Von Thomas Fritsch, Virtual Forge GmbH

TransportProfiler_Blog4.pngDamit Entwickler sich beim Zugriff auf Dateien oder bei der Ausführung von Betriebssystem-Kommandos aus einem ABAP-Report heraus keine Gedanken über Spezifika des zugrunde liegenden Betriebssystems machen müssen, verwendet die SAP® das Konzept der logischen Dateinamen und der logischen Betriebssystemkommandos. Dabei wird einem logischen Dateinamen (und Dateipfad) für jede infrage kommende Plattform ein physikalischer Dateiname (Dateipfad) hinterlegt. Analog dazu erfolgt die Zuweisung plattformabhängiger physikalischer Kommandos zu einem gemeinsamen logischen Kommando.

Während über logische Dateinamen zumeist die unterschiedliche Syntax der Plattformen in Bezug auf Pfadangaben aufgelöst wird (unterschiedliche Separatoren), können bei logischen Betriebssystem-Kommandos für die einzelnen Plattformen völlig unterschiedliche physikalische Kommandos hinterlegt sein.

Aus Security-Sicht entscheidend ist dabei der Fakt, dass die den logischen Entitäten zugrundeliegenden physikalischen Angaben sehr einfach per Transport überschrieben und ersetzt werden können. Für logische Dateien bedeutet dies, dass sensible Daten in eine Datei umgelenkt werden können, auf die der Angreifer Zugriff hat oder dass Daten aus einer Datei gelesen werden, die kompromittierenden Inhalt hat. Das Ersetzen physikalischer Kommandos in der Definition logischer Kommandos ist noch gefährlicher, da eine Berechtigungsprüfung beim Aufruf des Kommandos nur anhand des logischen Kommandonamens erfolgt (Berechtigungsobjekt S_LOG_COM) und nicht auf Basis des tatsächlich ausgeführten Kommandos. Logische Kommandos können durch Zuweisung eines Prüfmoduls zusätzlich geschützt werden. Aber auch diese Zuweisung lässt sich per Transport sehr leicht ausschalten.

Für die Auftragsprüfung lässt sich zusammenfassend sagen:

  • R3TR CDAT FILENAME
    • Möglicher Angriffsversuch mit geringer Wahrscheinlichkeit
    • Geänderte logische Pfad- und Dateidefinitionen können aus der Transaktion FILE heraus in einem Transportauftrag aufgezeichnet werden. Dabei verwendet SAP immer den Viewcluster FILENAME
    • Der logische Dateinamen oder -pfad ist genau zu überprüfen und sein Verwendungszweck sicherzustellen. Wird eine existierende Definition aktualisiert, ist besondere Sorgfalt geboten
  • R3TR TABU PATH, R3TR TABU FILENAMECI
    • Möglicher Angriffsversuch mit höherer Wahrscheinlichkeit
    • Die logische Definition wurde durch manuelle Pflege der Transportobjektliste aufgezeichnet
    • Der logische Dateinamen oder -pfad ist genau zu überprüfen und sein Verwendungszweck sicherzustellen. Wird eine existierende Definition aktualisiert, ist besondere Sorgfalt geboten

  • R3TR TABU SXPGCOSTAB
    • Möglicher Angriffsversuch mit geringer Wahrscheinlichkeit
    • Es handelt sich um ein kundenspezifisches Kommando
    • Das logische Kommando ist genau zu überprüfen und sein Verwendungszweck sicherzustellen. Wird eine existierende Definition aktualisiert, ist besondere Sorgfalt geboten 
  • R3TR TABU SXPGCOTABE
    • Möglicher Angriffsversuch mit höherer Wahrscheinlichkeit
    • Es handelt sich um ein SAP eigenes Kommando
    • SAP eigene Kommandodefinitionen dürfen nicht geändert und müssen deshalb auch nicht transportiert werden.
    • Die Tabelle wurde durch manuelle Pflege der Transportobjektliste aufgenommen, da über Transaktion SM69 keine SAP eigenen Kommandos in einen Transportauftrag gestellt werden können 

Um einen Angriff zusätzlich zu verschleiern, können Einträge der Tabellen PATH, FILENAMECI, SXPGCOSTAB und SXPGCOSTAB auch in einem übergeordneten Objekt getarnt werden. Hierzu zählen:

  • View Cluster (R3TR CDAT <beliebiger Objektname <> “FILENAME” >)
  • Pflegeview (R3TR VDAT <beliebiger Objektname>)
  • Customizingdaten (R3TR TDAT <beliebiger Objektname>)

In diesen Fällen ist jeder Eintrag als definitiver Angriffsversuch zu bewerten! Nur eine Prüfung aller Transportaufträge, wie oben beschrieben, hilft effektiv gegen einen solchen Angriff.

Diesen und über 100 weitere Tests führt der VirtualForge TransportProfiler für interne und externe Transportaufträge automatisch durch. Machen Sie den ersten Schritt auf dem Weg zu einem wirklich sicheren SAP Transportwesen und vereinbaren Sie noch heute einen Termin für eine unverbindliche Schwachstellenanalyse und Präsentation.               

Der nächste Beitrag beschäftigt sich mit Tabellen, zu denen SAP den Export von Inhalten (aus verschiedenen Gründen) unterbindet ... und wie Angreifer diese trotzdem unbemerkt exportieren können.

Hier geht es zur Blog-Serie
Gefahren im SAP Transportwesen Teil 1: AUTHORITY-CHECKs umgehen
Gefahren im SAP Transportwesen Teil 2: AUTHORITY-CHECKS transaktionsspezifisch umgehen 
Gefahren im SAP Transportwesen Teil 3: Manipulation der Jobverwaltung
Gefahren im SAP Transportwesen Teil 4: Automatische Code-Ausführung beim Import 



@Virtual_Forge auf Social Media:

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