Deutsch | English | Español

Gefahren im SAP Transportwesen Teil 6: Transport verbotener Tabelleninhalte

13. Februar 2018 | Von Thomas Fritsch, Virtual Forge GmbH

Der SAP-Standard verbietet den Transport von Inhalten zahlreicher Tabellen. Gründe hierfür sind die Sicherstellung der Datenkonsistenz, insbesondere aber auch Sicherheitsaspekte

Es existieren weit über 100 Tabellen in SAP®, deren Inhalte nicht transportiert werden dürfen. Jeder Transportauftrag wird beim Sichern und vor dem Export auf solche Tabellen hin überprüft. Dabei sind die relevanten Tabellen im Funktionsbaustein SYSTAB_CHECK „hart verdrahtet“. Bei den betroffenen Tabellen handelt es sich fast ausschließlich um Systemtabellen, die Teilinformationen eines umfassenden Objektes aus dem Workbench-Bereich enthalten und deren separater Transport zu schweren Inkonsistenzen im Zielsystem führen kann.

Darüber hinaus sind jedoch auch sicherheitsrelevante Tabellen enthalten, wie z.B.:

  • T000: Mandantentabelle
    Ein Angreifer könnte per Transport einen Produktivmandanten für Änderungen öffnen.

  • E070, E071, E071K: Metadaten zu Transportaufträgen
    Ein Angreifer kann durch Transport dieser Tabellen Spuren verwischen, indem er z.B. nach dem Import eines Transportauftrags ein Objekt aus der Objektliste des Auftrags verschwinden lässt.

  • OBJM: Informationen zu Pflegeobjekten
    Diese Tabelle beinhaltet Informationen über After-Import-Methoden (s. auch Beitrag „Automatische Code-Ausführung beim Import“). Durch Hinterlegung und Transport einer solchen Methode kann beim Import betroffener Customizingdaten unbemerkt Coding ausgeführt werden

Interesssant ist dabei, dass die Prüfung auf alle „verbotenen“ Tabellen sehr leicht ausgehebelt werden kann. Hierzu reicht es aus, die gewünschten Tabellen z.B. in einem Pflegeview oder einem View Cluster zu verstecken.

Einige Tabellen werden zusätzlich vom SAP-Transportprogramm R3trans geprüft. Jedoch lässt sich diese Prüfung sowohl beim Export, als auch beim Import von Transportaufträgen durch Verwendung der Option „Unzulässige Tabellenklasse ignorieren“ ausschalten. Während diese Option beim Import sogar in der Benutzeroberfläche ausgewählt werden kann, muss der Export programmatisch ausgeführt werden, um sie verwenden zu können. Dies stellt für einen Angreifer jedoch keine wirkliche Hürde dar.

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

  • R3TR TABU <alle Tabellen aus dem Funktionsbaustein SYSTAB_CHECK>
    • Definitiver Angriffsversuch
    • Prüfung wurde im Debug oder programmatisch umgangen
  • R3TR VDAT, CDAT, TDAT *
    • In jedem dieser Objekte könnte eine der verbotenen Tabellen versteckt worden sein. Gegebenenfalls gilt:
    • Definitiver Angriffsversuch
    • Prüfung wurde durch Verstecken in übergeordnetem Objekt umgangen

Sowohl die Anzahl, als auch die Tatsache, dass die kritischen Tabellen prinzipiell in einem beliebigen Objekt versteckt werden können, lassen Prüfungen auf Basis klassischer kritischer Objektprüfungen scheitern.

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 Risikobewertung und Präsentation.

 

Im Teil 7 dieser Serie werde wir uns mit Sicherheitslücken rund um die RFC-Kommunikation beschäftigen .

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 
Gefahren im SAP Transportwesen Teil 5: Logische Dateinamen und Betriebssystem-Kommandos

 



@Virtual_Forge auf Social Media:

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