- 11. Juli 2015

SY-UNAME: Hart kodierte Benutzernamen in ABAP ermitteln

Hart kodierte ABAP Benutzernamen ermitteln

Hart kodierte Benutzernamen in ABAP Programmen können ein erhebliches Sicherheitsrisiko darstellen. In diesem Blog-Beitrag werde ich Ihnen erklären, wie Sie diese Schwachstellen mit SY-UNAME ermitteln können.

SY-UNAME

Das Systemfeld SY-UNAME beinhaltet den Namen des derzeit angemeldeten Benutzers. Es kommt immer wieder vor, dass anstatt der Benutzung der AUTHORITY-CHECK der Inhalt des Systemfeldes SY-UNAME direkt abgefragt wird, zum Beispiel für Funktionstests. Ein Beispiel ist der folgende Code:

IF sy-uname <> ‚ENTWICKLER‘.
AUTHORITY-CHECK …
ENDIF.

Verwendung von SY-UNAME ermitteln

Der Standardreport RS_ABAP_SOURCE_SCAN bietet eine gute Möglichkeit, Ihren Quellcode nach der Verwendung von SY-UNAME zu durchsuchen. Sie können den Report / das Programm zum Beispiel durch die Transaktion SE80 aufrufen und ausführen.

sy-uname

In der Eingabemaske „Scan ABAP Report Sourcen“ können Sie nun in das Feld des gesuchten Strings eine Mehrfachselektion vornehmen.

Hart kodierte ABAP Benutzernamen ermitteln 2

  1. Durch das Klicken auf die Mehrfachselektion öffnet sich das Eingabefeld für die Mehrfachselektion.
  2. Geben Sie hier die folgenden Werte ein: „SY-UNAME <> .*“, „SY-UNAME = .*“ und „CASE SY-UNAME“.
  3. Stellen Sie sicher, dass der Haken bei „String ist regulärer Ausdruck“ gesetzt ist.
  4. Zur Eingrenzung der zur überprüfenden Programme können Sie hier mit Z* oder / und Y* die SAP Standardprogramme ausgrenzen.
  5. Damit auch die Includes mit überprüft werden, empfehle ich Ihnen, den Haken bei „Includes auflösen“ zu setzen.

Nach dem Ausführen des Reports erhalten Sie einen Report mit allen Quelldateien, welche die gesuchten Strings beinhalten.

Hart kodierte ABAP Benutzernamen ermitteln 3

Mit einem Klick auf den angezeigten Quellcode können Sie sich den gesamten Quellcode der Datei anschauen.

Wir übernehmen Basisaufgaben und führen SAP Basis Projekte für Sie durch
Fachbereichsleiter Tobias Harmes

Ob Sie ein Systemupgrade durchführen wollen oder einfach nur Unterstützung bei der Konfiguration Ihrer SAP Systemlandschaft benötigen, wir bieten Ihnen unsere kompetenten Berater an: SAP Basis und SAP Security Berater von RZ10 buchen.

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.

Grenzen der Ermittlung

Diese eher simple Überprüfung stößt schnell an ihre Grenzen, wie das folgende Beispiel zeigt:

DATA: lv_field TYPE string.
FIELD-SYMBOLS:  TYPE any.

lv_field = ‚SY-UNAME‘.
ASSIGN (lv_field) TO .
IF  = ‚ENTWICKLER‘.
*    AUTHORITY-CHECK …
WRITE ‚AUTHORITY-CHECK bypassed!‘.
ENDIF.

Deshalb sollte die Verwendung von SY-UNAME nie zur Überprüfung von ausführbarem Code verwendet werden.

Was sind Ihre Erfahrungen mit dem Ermitteln von hart kodierten Benutzernamen in ABAP Programmen? Ich freue mich auf Ihre Kommentare.

Jetzt das kostenlose E-Book zum Thema SAP Basis herunterladen:

Jetzt das kostenlose E-Book mit ausgewählten Fachartikeln herunterladen:


SHARE



Schreiben Sie einen Kommentar

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