Bundesamt für Sicherheit in der Informationstechnik

G 3.74 Unzureichender Schutz der z/OS-Systemeinstellungen vor dynamischen Änderungen

Viele z/OS-Systemeinstellungen lassen sich während des Betriebs verändern, ohne dass ein IPL durchgeführt werden muss. Nach Veränderung einer vorhandenen oder Erstellung einer neuen Parameterdatei (Member der Parmlib) löst ein Aktivierungskommando den Änderungsvorgang aus.

Die Sicherheit von z/OS-Systemen kann beeinträchtigt werden, wenn bestimmte Kommandos fehlerhaft bedient oder von Unbefugten missbraucht werden. Die wichtigsten kritischen Parameterdateien und Systemkommandos, durch die im laufenden Betrieb dynamisch Einstellungen geändert werden können, sind im Folgenden aufgeführt.

Erweiterung der APF -Dateien

Dateien, die über das Authorized Program Facility (APF) autorisiert werden müssen, können in einem Definitions Member festgelegt (PROGnn) und anschließend mit dem Kommando SET PROG=nn (Kommando SET und Parameter PROG=m) aktiviert werden. Alternativ lassen sich mit dem Kommando SETPROG APF (Kommando SETPROG und Parameter APF) einzelne Bibliotheken in den APF-Mechanismus einbinden. Sind die Parmlib-Definitionen oder die passenden Kommandos nicht richtig geschützt, kann es zu Sicherheitsproblemen kommen, da Dritte hierdurch unter Umständen eigene Programme mit hohen Autorisierungen versehen und während des Betriebs aktivieren können.

Erweiterung des LINKLIST-Mechanismus

Programme, die ohne Steplib oder JoblibDD Statement in einem Batch-Job verfügbar sein sollen, können in der LINKLIST definiert werden. Diese Definitionen sind in einem PROGnn-Member der Parmlib abgelegt, wobei Dateien durch das Kommando SETPROG LNKLST über ein neu zu definierendes Member dynamisch hinzugefügt werden können. Ist die LINKLIST in der Systemdefinition (IEASYSnn) mit LNKAUTH=LNKLST definiert, sind alle Programme, die über diesen Mechanismus geladen werden, automatisch APF-autorisiert. Auch hier ist die Integrität des Systems gefährdet, wenn das Kommando ungeschützt zur Verfügung steht.

Deaktivierung und Modifizierung der User Exits

Durch das Kommando SETPROG EXIT ist es möglich, Exits zu deaktivieren oder durch andere zu ersetzen. Ist das Kommando nur unzureichend geschützt, kann ein Angreifer unter Umständen auf dem System eigene Exits ausführen. Damit lässt sich z. B. das Schreiben von SMF-Sätzen (System Management Facility) unterbinden und die Auditierung des Systems beeinflussen (Verschleierung).

Veränderung der Message Processing Facility (MPF)

Viele Programme zur Automation von Vorgängen werten Nachrichten (Messages) des Systems aus. Durch Setzen anderer MPF-Versionen (Message Processing Facility) mit dem Kommando T MPF=nn kann die Automation manipuliert oder vollständig ausgeschaltet werden (T MPF=NO).

Austausch von Parmlibs

Parameterdateien (Parmlibs) sind die zentrale Stelle der z/OS-System-Definitionen. Mit Hilfe des Kommandos SETLOAD lassen sich vorhandene Parmlibs durch neue ersetzen.

Weitere kritische z/OS-Kommandos für dynamische Änderungen

Neben den oben beschriebenen Kommandos sind eine Reihe weiterer Kommandos zum Verändern von z/OS-Systemeinstellungen verfügbar, wie z. B. SETSSI zum Hinzufügen oder Löschen von Subsystemen oder SETSMS zum Verändern der SMS-Definitionen.

Von allen diesen Kommandos, die dynamisch z/OS-Definitionen ändern, können Sicherheitsprobleme ausgehen, wenn sie unkontrolliert im System zur Verfügung stehen. Durch den Missbrauch dieser Kommandos können ähnliche Probleme entstehen wie durch die Manipulation von kritischen Definitions-Dateien.

Beispiele:

  • Ein Mitarbeiter eines Unternehmens konnte aufgrund eines unzureichenden Schutzes des Kommandos SETPROG APF eine eigene Programmdatei autorisieren. Unter Zuhilfenahme eines weiteren Programms, das von dieser Datei geladen wurde, war es ihm möglich, wichtige Finanzdaten zu verfälschen.
  • Ein Bediener schaltete mit dem Kommando T MPF=NO (T ist eine Kurzform des SET-Kommandos) das z/OS-Message-Processing aus. Dies führte zu einer Überlastung der Konsole (Nachrichtenflut) und zur Sperrung einiger dort definierter Exits, so dass die Automation des Systems stark behindert wurde.

Stand: Stand 2005