Die Risiken von Drittanbietersoftware in SAP

Der SolarWinds-Angriff wurde Ende 2020 entdeckt und gilt bereits als eine der schwerwiegendsten Cyberbedrohungen aller Zeiten. Mehr als 18.000 Unternehmen und öffentliche Einrichtungen waren von dem Angriff betroffen, der über einen längeren Zeitraum sorgfältig vorbereitet worden war, um alle modernen Virenscanner zu täuschen. Er hat eindrucksvoll gezeigt, dass die Installation und Aktualisierung externer Software zu den kritischsten Aufgaben im Arbeitsalltag eines Administrators gehört.

Betrachtet man das SAP-Ökosystem, so nutzt fast jeder SAP-Kunde eine oder mehrere ABAP-Lösungen verschiedener Anbieter für geschäftskritische Anwendungen wie Supply Chain Management (SCM), Product Lifecycle Management (PLM), Enterprise Resource Planning (ERP), Human Capital Management (HCM), Finanzwesen und andere. Im besten Fall ist diese Drittanbietersoftware von SAP als offizielles ABAP-Add-On zertifiziert und wurde unter Verwendung der offiziellen SAP-Tools wie dem ABAP Add-On Assembly Kit und dem Software Delivery Composer entwickelt. Im schlimmsten Fall handelt es sich lediglich um ein kleines, nicht zertifiziertes Beratungsunternehmen, das seine „intelligente Softwarelösung“ über einfache SAP-Transportaufträge bereitstellt, wobei diese Lösung möglicherweise eine große Anzahl nachfolgender Patches und Hotfixes erfordert.

Jede Neuinstallation und jedes Update externer Software birgt das potenzielle Risiko, dass ein Trojaner eingeschleust wird. Mögliche Angreifer könnten sein:

  1. Die Person(en), die den SAP-Transportauftrag/das Add-On-Paket erstellt hat/haben
  2. Die Person(en), die während der Erstellung des Transportauftrags/Add-On-Pakets möglicherweise Zugriff auf das Auslieferungssystem hatte(n)
  3. Person(en), die zwischen der Erstellung und dem Import in das Endkundensystem jederzeit Zugriff auf den Transportauftrag bzw. das Add-On-Paket haben

Es gibt eine Vielzahl bösartiger Inhalte, die in eine Transportanforderung eingeschleust werden können. Die Onapsis-Blogreihe „Gefahren im SAP-Transportmanagement“ bietet einen guten Einblick in mögliche Manipulationen. Diese Manipulationen können unter anderem zu folgenden Folgen führen:

  • Ausführung beliebiger Berichte oder Funktionsbausteine
    • Während des Imports des Transportauftrags
    • Zu einem beliebigen Zeitpunkt nach dem Import
    • im Kontext eines bestimmten Benutzers
    • Im Zusammenhang mit dem Benutzer-DDIC
  • Deaktivierung der Berechtigungsprüfungen
  • Einen vollständigen Benutzerstammsatz importieren 
  • Umwandlung beliebiger Funktionsbausteine in remotefähige Funktionsbausteine
  • Änderung des Speicherorts vertraulicher Dokumente
  • Störung oder Beeinträchtigung geschäftskritischer Anwendungen wie beispielsweise des Lieferkettenmanagements

Dies sind nur einige Beispiele, doch schon diese kurze Aufzählung verdeutlicht, wie kritisch mögliche Manipulationen sein können. Welche Mechanismen können Drittanbieter und ihre Kunden einrichten, um sich vor böswilligen Manipulationen zu schützen? Schauen wir uns das einmal an.

Drittanbieter:

  • Den Zugang zum Liefersystem auf die erforderlichen Personen beschränken
  • Verlassen Sie sich nicht ausschließlich auf Funktionstests der endgültigen Lieferung bzw. des endgültigen Pakets
    • Führen Sie das Prinzip der doppelten Kontrolle ein
    • Überprüfen Sie die Objektliste der Lieferung auf verdächtige Objekte (Tipp: Ein guter Ausgangspunkt ist es, die oben erwähnte Onapsis-Reihe zu lesen und alle dort beschriebenen Objekte abzugleichen)
    • Überprüfen Sie alle Ebenen der Objektliste (Objekte, Unterobjekte und Schlüssel). Schädliche Objekte und Einstellungen können in anderen Objekten versteckt sein.
    • Führen Sie diese Überprüfungen zweimal durch – einmal vor dem Export und einmal nach dem Import in ein Testsystem. Grund: Es gibt verschiedene Möglichkeiten, Objektlisten so zu manipulieren, dass die schädlichen Objekte nur vor oder nach der Freigabe sichtbar sind.
  • Der SAP Software Delivery Composer führt einige Prüfungen durch, aber:
    • Der Schwerpunkt liegt eher auf der Zuverlässigkeit der Zustellung als auf der Sicherheit
    • Einige dieser Prüfungen lassen sich durch ausgeklügelte Manipulationen umgehen
  • Fügen Sie eine digitale Signatur oder zumindest eine Prüfsumme bei, damit Ihre Kunden die Unversehrtheit des gelieferten Geräts überprüfen können oder zumindest feststellen können, ob das Lieferpaket nach der Auslieferung aus dem Liefersystem manipuliert wurde 

Hinweis: SAP stellt für Transportaufträge eine implizite Prüfsumme bereit, doch diese Zahl wird in der Datendatei des Auftrags gespeichert – daher können erfahrene Hacker nicht nur den Inhalt des Transports entpacken und manipulieren, sondern auch die Prüfsumme ändern.

Kunde:

  • Stellen Sie sicher, dass Sie Ihr SAP Transport Management System (TMS) gemäß den Anweisungen in Band 8 der Publikation „SAP Security In-Depth“ des Onapsis Research Lab mit dem Titel Transportmanagementsystem: Der Weg zur Produktion
    • Hinweis: Der Schutz des SAP TMS ist von entscheidender Bedeutung, da interne Transportaufträge auch von einem Angreifer manipuliert werden könnten, der Zugriff auf Ihre Entwicklungssysteme oder Ihre Transportverzeichnisse hat!
  • Laden Sie keine Transportaufträge oder Pakete aus nicht vertrauenswürdigen Quellen herunter
  • Verwenden Sie nur Transportaufträge oder Pakete von Anbietern, die die Integrität der übermittelten Aufträge oder Pakete gewährleisten können (z. B. durch digitale Signaturen oder Prüfsummen).
  • Gewähren Sie nur autorisierten Benutzern Zugriff auf das Download-Portal des Anbieters
  • Richten Sie ein Sandbox-System ein, das keine Verbindungen zu anderen Systemen der Infrastruktur aufweist
  • Überprüfen Sie unmittelbar vor jedem Import bzw. jeder Installation die Integrität der Anfrage oder des Pakets

Wenn die Lösung über einen oder mehrere Transportaufträge versandt wird:

  • Lesen Sie die Objektliste jedes Transportauftrags mit einer der folgenden Optionen aus (bei allen Optionen muss sich die Datendatei im Transportverzeichnis des Sandbox-Systems befinden):
    • Führen Sie den Funktionsbaustein TMS_TP_GET_OBJECT_LIST in der Transaktion SE37 aus und tragen Sie den Transportauftrag in die interne Tabelle TT_BUFFER ein
    • Führen Sie den folgenden Betriebssystembefehl aus
    • tp GETOBJLIST pf=<transport profile> -S <SID of sandbox system>
    • Fügen Sie den Transportauftrag zur TMS-Importwarteschlange des Sandbox-Systems hinzu und doppelklicken Sie auf den Auftrag

Hinweis: Alle drei Optionen zeigen lediglich die erste Ebene der Objektliste an. Es besteht keine Möglichkeit, zu den Details (Tabellendaten, Schlüsselinformationen usw.) zu navigieren. 

Um die vollständigen Objektinformationen einschließlich der Schlüsselinformationen der enthaltenen Customizing-Objekte abzurufen, haben Sie folgende Möglichkeiten:

  1. Fügen Sie den Transportauftrag zur TMS-Importwarteschlange des Sandbox-Systems hinzu und dann,
    1. Führen Sie den Funktionsbaustein TRINT_TP_INTERFACE in der Transaktion SE37 aus     
          mit den folgenden Parametern: SAP
    2. With <TARG_SID>                        = SID of the sandbox system
                <TRANSPORT_REQUEST> = Name of the transport request
      or execute the following OS command, tp CMD <TRANSPORT_REQUEST>  pf=<transport profile> <SID of sandbox system>

Anschließend können Sie eine der Transaktionen SE01, SE09, SE10 oder STMS starten, um durch die Objektliste des Auftrags zu navigieren, einschließlich aller Details.
Hinweis: Diese Lösung füllt lediglich alle Transportmetadatentabellen (E070, E071, E071K usw.), importiert die Objekte jedoch nicht physisch. Dies hat einige Nebenwirkungen, da z. B. die Suche nach Objekten in Aufträgen über die Transaktion SE03 den externen Transportauftrag in den Ergebnissen anzeigen würde, obwohl dieser nicht wirklich importiert wurde.

  • Verlassen Sie sich nicht ausschließlich auf Funktionstests der endgültigen Lieferung bzw. des endgültigen Pakets
    • Überprüfen Sie die Objektliste der Lieferung auf verdächtige Objekte (ein guter Ausgangspunkt ist es, die oben erwähnte Onapsis-Reihe zu lesen und alle dort beschriebenen Objekte abzugleichen)
    • Überprüfen Sie alle Ebenen der Objektliste (Objekte, Unterobjekte und Schlüssel). Schädliche Objekte und Einstellungen können in anderen Objekten versteckt sein.
  • Nachdem Sie alle Objekte und Objektdetails in der Objektliste überprüft haben:
    • Importieren Sie den Transportauftrag in das Sandbox-System
    • Überprüfen Sie die Importprotokolle sorgfältig auf „After Import“-Methoden, die möglicherweise durch den Transportauftrag ausgelöst wurden

Wenn die Lösung über ein Add-On-Paket bereitgestellt wird:

Es gibt keine Möglichkeit, die Objektliste zu überprüfen, bevor Sie das Paket im Sandbox-System installiert haben:

  • Installieren Sie das Paket im Sandbox-System
  • Anschließend können Sie eine der Transaktionen SE01, SE09, SE10 oder STMS starten, um durch die Objektliste des Transportauftrags zu navigieren, der während des Installationsvorgangs extrahiert und importiert wurde, einschließlich aller Details.
  • Verlassen Sie sich nicht ausschließlich auf Funktionstests der endgültigen Lieferung bzw. des endgültigen Pakets
    • Überprüfen Sie die Objektliste der Lieferung auf verdächtige Objekte (ein guter Ausgangspunkt ist es, die oben erwähnte Onapsis-Blogreihe zu lesen und alle dort beschriebenen Objekte zu überprüfen)
    • Überprüfen Sie alle Ebenen der Objektliste (Objekte, Unterobjekte und Schlüssel). Schädliche Objekte und Einstellungen können in anderen Objekten versteckt sein.
  • Überprüfen Sie die Importprotokolle sorgfältig auf „After Import“-Methoden, die möglicherweise durch den entsprechenden Transportauftrag ausgelöst wurden

Zusammenfassend

Die Installation und Aktualisierung von Drittanbietersoftware für SAP-Anwendungen ist eine gängige Aufgabe für SAP-Administratoren. Der SolarWinds-Angriff hat gezeigt, dass das Eingreifen in den Aktualisierungsprozess eine attraktive und wirkungsvolle Methode darstellt, um auf einfache Weise Zugriff auf die sensibelsten Bereiche einer IT-Landschaft zu erlangen, einschließlich der geschäftskritischen Anwendungen, die die Geschäftsprozesse eines Unternehmens steuern. Es gibt verschiedene Maßnahmen, die sowohl vom Drittanbieter als auch von jedem Kunden ergriffen werden können, um einen maximalen Schutz vor dieser Art von Angriffen zu erreichen. Ein optimales Sicherheitskonzept sollte auch interne Transportanforderungen berücksichtigen, da Insider-Angriffe ebenfalls ein Faktor sind, der stets Beachtung erfordert.

Die Qualitätssicherung interner und externer Transportaufträge konzentriert sich auf Funktionstests – allgemeine sicherheitsrelevante Aspekte lassen sich aufgrund fehlender Fachkenntnisse und der großen Menge an Objekten und Anpassungen, die mit professionellen Add-On-Lösungen einhergehen, nur schwer überprüfen.

Die Transportprüfungsfunktionen der Platform SAP-Kunden dabei, die Überprüfung aller internen und externen Transportaufträge auf mehr als 70 kritische Aspekte zu automatisieren. Diese Prüfungen erkennen auch komplexere Szenarien, in denen Angreifer Schwachstellen des SAP-Transportkonzepts ausnutzen, um kritische Objekte und Einstellungen zu verbergen. Darüber hinaus bietet Onapsis eine automatisierte Codeanalyse, um Millionen von Zeilen SAP-Code auf Fehler und Sicherheitsprobleme zu überprüfen. Zusammen tragen diese Funktionen dazu bei, dass nur qualitativ hochwertiger und sicherer Code in die SAP-Produktionsumgebung importiert wird.  
 

Fordern Sie jetzt eine kostenlose Cyber-Risikobewertung an und decken Sie Fehlkonfigurationen und Schwachstellen in Ihren geschäftskritischen Anwendungen auf 

Alle SAP-Sicherheitshinweise anzeigen