Jonas Krueger
 - 29. August 2018

Berechtigungsprüfungen in Z-Reports – Quellcodeanalyse im Transportprozess

Secure data processing concept with motherboard and virtual processor. Auch ein gutes Berechtigungskonzept ist nur in Verbindung mit ausreichenden Berechtigungsprüfungen tragfähig. Besonders eigenentwickelte Z-Programme im SAP System können weitreichende Sicherheitslücken aufwerfen, wenn Berechtigungsprüfungen nicht funktional implementiert wurden. Denn wenn die Berechtigungen gar nicht geprüft werden, ist es unerheblich, welche Berechtigungen ein Nutzer besitzt.

Die Verwendung von Authority Checks in selbst entwickelten ABAP Reports obliegt der Verantwortung jedes Entwicklers. Durch das SAP Backend werden selbstständig keine Berechtigungsprüfungen, beispielsweise beim Zugriff auf Tabelleninhalte, durchgeführt.
Wie Sie durch automatische Quellcodeanalyse effektiv sicherstellen können, dass alle eigenentwickelten Programme die notwendigen Sicherheitsmechanismen enthalten, möchte ich im Folgenden erläutern.

Berechtigungsprüfungen in ABAP Programmen

Die Berechtigungsprüfung wird in ABAP durch das Sprachelement AUTHORITY-CHECK implementiert, durch das überprüft wird, ob der ausführende Benutzer ein Berechtigungsobjekt mit einer festgelegten Ausprägung besitzt.

Ein beispielhafter Authority Check kann wie folgt aussehen:

AUTHORITY-CHECK OBJECT 'S_TCODE'
  ID 'TCD' FIELD 'SE16N'
  ID 'ACTVT' FIELD '03'.

IF sy-subrc <> 0.
  MESSAGE 'Keine ausreichende Berechtigung' TYPE E.
ENDIF.

Durch diese Prüfung wird überprüft, ob der Benutzer in seinem Benutzerberechtigungspuffer (Transaktion SU56) das Berechtigungsobjekt S_TCODE mit der Ausprägung SE16N im Feld TCD besitzt (ob also der User die Transaktion SE16N aufrufen darf). Es ist bei der Prüfung unerheblich, aus welcher Rolle oder welchem Profil der Benutzer dieses Berechtigungsobjekt erhalten hat.

Dokumentation zu Berechtigungsobjekten nachschlagen

Um einen Authority Check umzusetzen, benötigt der Entwickler Informationen zu den in System vorhandenen Berechtigungsobjekten und zur Bedeutung der jeweiligen Felder und Ausprägungen. Diese können in der Regel der Dokumentation der Berechtigungsobjekte entnommen werden.
Alle im SAP System vorhandenen Berechtigungsobjekte sind in der Transaktion SU21 einsehbar. Hier kann auch auf die Dokumentation zu dem Berechtigungsobjekt zugegriffen werden und die Bedeutung der zulässigen Aktivitäten nachgelesen werden.

Anzeige von Berechtigungsobjekten in der SU21

Implementierung von Berechtigungsprüfungen durch Quellcodeanalyse überwachen

SAP Systemverantwortliche stehen vor der Herausforderung, die korrekte Umsetzung der Zugriffskontrolle in ABAP Programmen zu überwachen. Bei Transporten neuer oder veränderter ABAP Programme steht die Frage im Raum, ob Berechtigungsprüfungen korrekt eingebaut wurden. Bei der Sicherstellung korrekter Sicherheitsprüfungen können Werkzeuge zur Quellcodeanalyse unterstützen.

Tobias Harmes
Ist Ihr SAP System bereits optimal abgesichert?
Fachbereichsleiter Tobias Harmes

Unsere Referenzen finden Sie hier.

Kontaktieren Sie mich: Telefon 0211.9462 8572-25 oder per E-Mail info@rz10.de.

In einem unverbindlichen Gespräch kann ich mit Ihnen über Ihre Ausgangslage sprechen und Ihnen Möglichkeiten aufzeigen. Selbstverständlich können wir danach auch ein unverbindliches Angebot unterbreiten.

Der XAMS ABAP Alchemist verfügt über umfangreiche Funktionen zur Analyse des ABAP Quellcodes. Der Prüfumfang kann durch Auswahl vordefinierter Prüfungen individuell festgelegt werden.

Neben dem einmaligen Scan aller eigenentwickelten ABAP Programme in Ihrem SAP System kann der ABAP Alchemist auch für eine regelmäßige Überprüfung konfiguriert werden. Die Durchführung der Prüfungen kann in den Transportprozess eingebunden werden. So kann sichergestellt werden, dass Programme mit fehlenden Berechtigungsprüfungen nicht unbemerkt in die Produktivumgebung gelangen.

Die Prüfung durch den ABAP Alchemist stellt somit eine Möglichkeit zum automatisierten Testen des Quellcodes bereit. Die Prüfung kann hierbei, wie im folgenden Screenshot zu sehen, mit verschiedenen Einstellungen konfiguriert werden: von einer Warnung des Benutzers bis hin zu einer Unterbrechung des Transportprozesses können Einstellungen getroffen werden, was im Falle einer Feststellung passieren soll.

Quellcodeanalyse im Transportprozess einbinden

Unsere Empfehlung: Prüfung der Z-Reports im Zusammenhang mit Berechtigungsredesign

Im Rahmen eines Berechtigungsredesigns empfehlen wir, zu Beginn des Projektes die Z-Programme auf Berechtigungsprüfungen zu überprüfen und ggf. zu ergänzen. Bei einem Berechtigungsredesign sollen die Nutzer passgenaue Berechtigungen für ihre Aufgaben erhalten. Um die benötigten Berechtigungen durch einen Berechtigungstrace zu ermitteln, ist es daher sinnvoll, die Berechtigungsprüfungen zu Projektbeginn zu überprüfen und ggf. zu ergänzen, sodass sie im Berechtigungstrace sichtbar sind.

Wenn Sie mehr über unsere standardisierte Vorgehensweise beim SAP Berechtigungsredesign erfahren möchten, sprechen Sie mich gerne jederzeit an oder lesen Sie mehr unter https://rz10.de/angebot/sap-berechtigungskonzept/

Nutzen Sie bereits automatisierte Quellcodeanalyse in Ihrem SAP System? Erzählen Sie mir gerne von Ihren Erfahrungen damit. Ich freue mich über eine Rückmeldung in den Kommentaren oder per E-Mail.

Jonas Krueger

Mein Name ist Jonas Krueger und ich bin SAP Security Consultant bei mindsquare. Mein Spezialgebiet ist sicheres Benutzer- und Berechtigungsmanagement im SAP sowie die Prüfung und Absicherung von SAP Systemen.

Sie haben Fragen? Kontaktieren Sie mich!

Kostenloses E-Book zum Thema SAP Berechtigungstools als Download:

Kostenloses E-Book zum Thema SAP Berechtigungskonzept als Download:

Jetzt das kostenlose E-Book zum Thema SAP Berechtigungen downloaden:




Das könnte Sie auch interessieren


2 Kommentare zu "Berechtigungsprüfungen in Z-Reports – Quellcodeanalyse im Transportprozess"

René Friedmann - 29. August 2018 | 16:24

Hallo Jonas,

in deinem Beitrag hast du kurz angerissen, dass der ABAP Alchemist auch für eine regelmäßige Überprüfung konfiguriert werden kann. Allerdings ist mir aus dem Beitrag jetzt nicht direkt schlüssig geworden, wie ich das machen muss. Könntest du das vielleich noch einmal genauer erklären? Denn ich denke das es eine gute Prüfung ist, die Sicherheit bietet, dass keine Programme mit fehlenden Berechtigungsprüfungen in die Produktumgebung gelangen.

Beste Grüße
René

Antworten
Jonas Krueger - 29. August 2018 | 21:14

Hallo René,

meine Aussage zur „regelmäßigen“ Überprüfung bezieht sich auf die beschriebene Anbindung an den Transportprozess (siehe auch der letzte Screenshot). Da in der Regel Programme ja nicht auf dem Produktivsystem angepasst oder neu entwickelt werden, können Änderungen, die eine neue Berechtigungsprüfung erfordern könnten und daher auf vollständige Berechtigungsprüfungen hin überprüft werden sollen, nur auf dem Transportweg ins System gelangen. Indem nach einem einmaligen Check der gesamten Z-Programme die Prüfung über jeden neu einlaufenden Transport erfolgt, kann sichergestellt werden, dass sich zu keiner Zeit Programme mit fehlenden Berechtigungprüfungen im Produktivsystem befinden.

Konnte ich damit deine Frage klären? Ansonst komm gerne nochmal auf mich zu.

Viele Grüße
Jonas

Antworten

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support