Bundesamt für Sicherheit in der Informationstechnik

G 3.67 Unzureichende oder fehlerhafte Konfiguration des z/OS-Betriebssystems

Die Konfiguration eines z/OS-Betriebssystem ist sehr komplex und erfordert an vielen Stellen den Eingriff des System-Administrators. Durch falsche oder unzureichende Definitionen entstehen schnell Schwachstellen, die zu entsprechenden Sicherheitsproblemen führen können.

Autorisierte Programme

Programme, die von einer autorisierten Bibliothek geladen werden und entsprechend gekennzeichnet sind, können hoch autorisierte Funktionen ausführen. Gelingt es Anwendern eigene Programme unberechtigt zu autorisieren, steht diesen Programmen nahezu die gleiche Funktionalität wie den System-Programmen zur Verfügung. Ein Deaktivieren von Sicherheitssperren in RACF ist so z. B. jederzeit möglich.

System-Programme

Bei der Installation des z/OS-Betriebssystems und seiner Komponenten ist es notwendig, bestimmte System-Bibliotheken (Partitioned Datasets) so zu definieren, dass das Betriebssystem auszuführende System-Programme über interne Tabellen schnell findet. Die Bibliotheken dieser System-Programme werden in sogenannten Linklists zusammengefasst und beinhalten in der Regel hoch autorisierte Programme, die im Kernel-Mode laufen. Durch Fehler in der Definition (oder durch Manipulation) können andere User-Bibliotheken zu diesen Linklists hinzugefügt werden, die nicht dafür vorgesehen sind. Die Programme dieser Bibliotheken sind dann ebenfalls hoch autorisiert und erlauben das Ausführen von Funktionen, die Sicherheitsmechanismen umgehen können.

Fehler beim Anlegen von Systembibliotheken

System-Bibliotheken, die als PDS (Partitioned Dataset) mit der Option SecondarySpace angelegt wurden, können zu Problemen im Betrieb führen. Während der Initialisierungsphase legt das System für einige System-Bibliotheken die Directory aus Geschwindigkeitsgründen in den Hauptspeicher und greift beim Laden des Programms nur über dieses Verzeichnis auf die Bibliothek zu. Wird bei der Erweiterung einer Bibliothek im Rahmen einer Programm-Pflege ein neuer Extent (dynamische Erweiterung des Dateibereiches auf der Festplatte) angelegt, kann es passieren, dass das alte Programm statt des neuen aktiv wird, da die interne Directory noch auf die alte Ladeadresse zeigt. Ferner kann dadurch der Platzbedarf einer Datei permanent anwachsen, ohne dass eine kontrollierte Begrenzung stattfindet.

Supervisor-Calls

Supervisor-Calls (SVCs) sind Aufrufe zu speziellen z/OS-Dienstprogrammen, die im hochautorisierten Kernel-Modus laufen. Programme für diesen Modus müssen besonders sicher programmiert sein (IBM gibt hierfür entsprechende Richtlinien vor). Unsichere SVC-Programme können unter Umständen benutzt werden, um z/OS-Sicherheitsmechanismen zu umgehen. Ein Angreifer befindet sich nach einer erfolgreichen Attacke im hochautorisierten Kernel-Modus. Vielfach gibt es heute noch sogenannte Autorisierungs-SVCs in Gebrauch, die aus wenigen Instruktionen bestehen, über Modeset den Kernel-Modus an- oder ausschalten und es damit auch erlauben, unberechtigt im Kernel-Modus Funktionen auszuführen.

TSO-Kommandos

Time-Sharing-Option-Kommandos (TSO) laufen normalerweise im Anwendungsmodus ab (mit normalen User-Privilegien), d. h. sie sind nicht besonders privilegiert. z/OS verfügt jedoch über Kommandos, die für die Ausführung bestimmter Funktionen (oder Teilfunktionen) eine hohe Autorisierung benötigen. Kommandos, die nicht über die Autorisierung verfügen, die sie zur Verarbeitung benötigen, können im Betrieb Fehler produzieren. Andererseits führt die unkontrollierte Freigabe von autorisierten Kommandos zu einer Schwächung der Sicherheit.

Restricted Utilities

IBM und andere Software-Hersteller liefern, zusammen mit den Betriebssystemkomponenten zusätzliche Dienstprogramme (Utilities) aus. Diese Programme führen verschiedene verarbeitende Funktionen aus, wie das Kopieren von Dateien oder das Anlegen von Katalogen (z/OS Dateiverzeichnis zum Verwalten von Dateien). Die Mehrzahl dieser Utilities benötigt zur Ausführung lediglich normale User-Privilegien, einige benötigen jedoch eine hohe System-Autorisierung zur Durchführung ihrer Funktionen. Sind diese Utilities nicht korrekt definiert, dann besteht die Gefahr, dass sie nicht richtig funktionieren. Sind diese Utilities nicht hinreichend geschützt, dann besteht die Gefahr, dass sie von nicht autorisierten Mitarbeitern missbraucht werden können. In der Folge kann die Integrität des z/OS-Systems beeinträchtigt werden.

z/OS-Kommandos unter SDSF (System Display and Search Facility)

SDSF erlaubt es dem Anwender in einem JES2-System, sich die Ausgabe von Batch-Jobs, das System-Log und weitere System-Optionen anzuschauen und darüber hinaus MVS- und JES2-Kommandos einzugeben. Falls keine oder nur unzureichende Maßnahmen getroffen wurden, kann der Anwender von SDSF unter Umständen Manipulationen vornehmen, wie z. B. laufende Batch-Jobs beenden, Initiators stoppen oder starten oder aber Systemkonfigurationen umdefinieren. Darüber hinaus kann er ggf. alle System-Nachrichten aus dem Syslog und auch alle Job-Logs (u. U. auch Kunden-Daten) einsehen.

Enhanced MCS-Support

z/OS unterstützt über die MCS-Konsole (Multiple Console Support) hinaus die Enhanced-MCS-Konsole. Diese stellt eine Schnittstelle dar, über die Kommandos an MVS (JES2/3) übergeben und Nachrichten von MVS empfangen werden können. Die Enhanced-MCS-Konsole steht unter TSO, NetView und Applikationen - wie z. B. CICS - zur Verfügung. Wenn nicht entsprechende Schutzdefinitionen vorgenommen werden, können unter Umständen Kommandos abgesetzt werden, die die Integrität eines Systems stark beeinträchtigen können.

Beispiele:

  • Auf einem OS/390-System wurde in der Vergangenheit ein Autorisierungs-SVC eingesetzt, um unter TSO/ISPF bestimmte Funktionen im autorisierten. Modus (Kernel-Mode) zu nutzen. Obwohl diese Schwachstelle seit längerem bekannt war, wurde der SVC auch in neueren z/OS-Umgebungen installiert und stand jedem Anwender zur Verfügung.
  • Aus historischen Gründen wurde ein z/OS-Betriebssystem mit dem RACF-Attribut OPERATIONS betrieben. Viele Benutzer, deren Konto über dieses Attribut verfügte, konnten nahezu alle Dateien lesen und modifizieren. Die Integrität der Dateninhalte konnte bei diesem z/OS-System nur noch bedingt gewährleistet werden.
  • In einem z/OS-System wurde das SDSF für JES2 ohne jeden Schutz zur Verfügung gestellt. Schon nach kurzer Zeit hatten die Mitarbeiter herausgefunden, wie sie die Priorität des eigenen Benutzerkontos im System erhöhen konnten, um ihre Batch-Jobs im System schneller bearbeiten zu lassen. Eine Kontrolle und effiziente Auslastung des Systems waren nicht mehr möglich.

Stand: Stand 2005