Bundesamt für Sicherheit in der Informationstechnik

M 2.349 Sicherheit bei der Software-Entwicklung für SAP Systeme

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Administrator, Entwickler

Um ein SAP System an die spezifischen Bedürfnisse eines Unternehmens oder einer Behörde anzupassen, kann die Funktion des Systems durch Eigenentwicklungen verändert oder erweitert werden. Folgendes muss aus Sicherheitssicht bei der Software-Entwicklung für SAP Systeme beachtet werden:

Software-Entwicklungsprozess

Für den Software-Entwicklungsprozess sollten als Grundlage die Empfehlungen aus M 2.378 System-Entwicklung umgesetzt werden.

Entwickler in Produktiv-Systemen

Da Produktiv-Systeme schützenswerte System- und Geschäftsdaten enthalten, dürfen Entwickler keinen Zugriff auf die Produktiv-Systeme erhalten. Insbesondere darf kein Debugging im Produktiv-System erfolgen. Fehleranalysen müssen im Entwicklungssystem durchgeführt werden. Dies bedeutet für den ABAP -Stack, dass kein Benutzer mit der Berechtigung S_DEVELOP ausgestattet werden darf. Die Werkzeuge CATT und eCATT (ABAP-Stack) oder Remote-Debugging der Engine (Java-Stack) dürfen in Produktiv-Systemen nicht genutzt werden. Dies ist durch die Mandanten- bzw. Java-Stack-Konfiguration auszuschließen.

In besonders begründeten Ausnahmefällen, in denen Entwickler Fehleranalysen nur in Produktiv-Systemen durchführen können, dürfen diesen temporär Anzeigeberechtigungen und Debugging-Berechtigungen ohne Modifikationsmöglichkeiten eingeräumt werden. Die Sicherheit ist durch zusätzliche organisatorische Maßnahmen entsprechend zu unterstützen.

Weitere Hinweise zu diesem Thema finden sich in M 2.346 Nutzung der SAP Dokumentation .

Direktes Einspielen neuer Software in das Produktiv-System durch Entwickler muss durch ein mehrstufiges Software-Freigabe-Konzept unterbunden werden (siehe M 4.272 Sichere Nutzung des SAP Transportsystems und M 4.273 Sichere Nutzung der SAP Java-Stack Software-Verteilung ).

Sicherheitsvorgaben bei Eigenentwicklungen

Die Entwickler sollten durch geeignete Sicherheitsvorgaben unterstützt werden. Nur wenn konkrete Anforderungen oder Rahmenbedingen bekannt sind, kann ein Entwickler diese in der Programmierung berücksichtigen. Empfehlenswert sind unter anderem die folgenden Vorgaben:

  • ABAP-Code muss immer Berechtigungen prüfen.
  • Die eigenen und verwendeten Berechtigungsobjekte im ABAP-Code sind zu dokumentieren und müssen über die Transaktion SU24 für den Profilgenerator eingepflegt werden (siehe auch M 2.342 Planung von SAP Berechtigungen ).
  • Für Java-Code sind die benutzten Dienste zu dokumentieren.
  • Die verwendeten Rollen und Vorgaben an die so genannten "Security Constraints" (d. h. welche Rollen für den Zugriff auf Applikationsfunktionen notwendig sind) sind für Java-Applikationen zu dokumentieren.
  • Für ABAP-Programme sollte der ABAP Code Inspector (Transaktion SCI) eingesetzt werden, um eigene Programme unter anderem auf Sicherheit und das Einhalten der SAP Namenskonventionen zu prüfen. Dies gilt insbesondere dann, wenn keine anderen Werkzeuge genutzt werden, um sicherheitsrelevante Kontrollen von ABAP-Programmen durchzuführen.

Sicherheit bei Fremdanwendungen

Software, die durch Dritte entwickelt wurde, darf nur nach einem sorgfältigen Abnahmeprozess im SAP System installiert werden. Im Abnahmeprozess sind auch Sicherheitsprüfungen durchzuführen. Die Sicherheitsanforderungen sind im Pflichtenheft detailliert zu beschreiben. Nur so kann die gewünschte Sicherheit der Anwendung umgesetzt werden.

Prüffragen:

  • Ist sichergestellt, dass die Entwickler keinen Zugriff auf das SAP Produktiv-System haben?

  • Existiert ein mehrstufiges Software-Freigabe-Konzept, das ein direktes Einspielen neuer Software in das SAP Produktiv-System durch Entwickler unterbindet?

  • Existieren für die Entwicklung von SAP Programmen geeignete Sicherheitsvorgaben (konkrete Anforderungen und Rahmenbedingungen), die den Entwickler unterstützen?

Stand: 13. EL Stand 2013