3.3 Konfiguration im laufenden Betriebssystem
3.3.1 Windows
3.3.1.1 Beschreibung der Konzepte
Microsoft hat für die Software für Privatnutzer im Lauf der Zeit unterschiedliche Konzepte
ent- und weiterentwickelt.
Unter MS-DOS hatten alle Programme eigene Konfigurationsdateien für anwendungsbezogene
Daten. Das Betriebssystem speicherte eigene Einstellungen in 2 Dateien: Der config.sys
und autoexec.bat. Windows 3.0 führte eine systemweite Einstellungsspeicherung in 4 Initialisierungsdateien ein:
Program.ini, control.ini, win.ini und system.ini, einfache lineare und unverschlüsselte
Anweisungen in Textdateien. Die Verwendung der INI-Dateien war und ist
relativ einfach zu bewerkstelligen und bietet einen geringen Aufwand für die Software-
Programmierer. Schnittstellen sind nicht vorgesehen und beschränken die Funktionalität von
Software, da nur im Rahmen der systemweiten INI-Dateien von Windows auf andere Programme
oder Ressourcen zugegriffen werden kann.
Dieses System hat aber einige Nachteile:
Nachteile der INI-Dateien / Textbasierender Konfigurationen129 |
- Da sie textorientiert sind, beträgt ihre Größe maximal 64 KB130, das begrenzt die Anzahl
möglicher installierter Programme
- Zugriffe auf große lineare Dateien sind im Gegensatz zu einer Datenbank langsam
- Redundanz der Anweisungen
- Gelöschte Programme hinterlassen Einträge, auch Programme mit eigenen INI-Dateien
hinterlassen ''Datenleichen''
- Alle Einstellungen werden global gespeichert, Systempflege ist nicht möglich
- Netzwerke werden aufgrund fehlender APIs nicht unterstützt
|
Tabelle 23: Bewertung der INI-Dateien / Textbasierender Konfigurationen
Deswegen wurde mit Windows 3.1 ein erster zentraler Datenspeicher für betriebssystemweite
Konfigurationen, die reg.dat, eingeführt. Dieser lag in einem undokumentierten Binärformat
vor und konnte nur per Registry-Editor geändert werden. Die zugehörige Datei durfte aber
nicht größer als 64 KB131 werden, unterstützte noch nicht die automatische Synchronisation
der Daten und persönliche Einstellungen waren nicht portabel.132
Seit Windows 95 wurde die Registry133 verbessert. Konfigurationen des Systems werden in
logisch zusammenhängender Form in einer hierarchischen zentralen Datenbank gespeichert
und verwaltet. Die Daten werden über Schlüssel aufgerufen und sind untereinander verlinkt.
Die Informationen werden dabei in zwei verschlüsselten Dateien im Windowsverzeichnis
gespeichert: Die user.dat und die system.dat134.
Zusätzlich zur Registry werden aus Kompatibilitätsgründen
noch die alten INI-Dateien win.ini und system.ini der Win 3.x Versionen gepflegt, da alte 16-bit Anwendungen noch auf
sie angewiesen sind. Die Registry lässt mehrere
Konfigurationen verschiedener Nutzer oder wechselnde Systemkonfigurationen zu und enthält
alle Hardware- und Betriebssystemparameter. Zusätzlich ermöglichen Sicherungsmaßnahmen
eine Wiederherstellung der Registry nach einem Systemabsturz. Netzwerkfunktionen
einschließlich Remote-Access sind möglich.135
Die Registry speichert die Informationen in
einem hierarchisch aufgebauten, untereinander verlinkten und damit redundanzfreien und
einheitlich aktualisierbaren Schlüsselsystem. Die enthaltenen Werte können Subschlüsseln
zugeordnet werden. So werden Einstellungen in Gruppen zusammengefasst. Der Baum besteht
je nach Betriebssystem aus 5 oder 6 Hauptschlüsseln, jeder enthält einen bestimmten
Aspekt der Systemkonfiguration; Benutzer- und Maschinendaten werden getrennt:

Tabelle 24: Aufbau der Registry unter Windows XP
Die Registry ist codiert, von manuellen Änderungen der hochsensiblen Daten wird in jeder
Literatur abgeraten. Vorherige Sicherheitskopien sind eine obligatorische Empfehlung. Änderungen
der codierten Schlüssel136 und Werte können das Betriebssystem unbrauchbar machen.
Für die Modifikation der Parameter gibt es verschiedene Möglichkeiten.
Der wichtigste Weg ist der Registrierungseditor:

Abbildung 12: Der Registrierungs-Editor
Zudem gibt es auf dem Markt von Drittanbietern und von Microsoft selbst eine Vielzahl von
Tools zur komfortablen Optimierung und ''Tuning'' der Registry, zum Aufräumen von Fehlern
und Inkonsistenzen sowie zum leichten Durchsuchen nach Einträgen137.
Microsoft unterstützt die Konfigurierbarkeit durch die Systemsteuerung und verschiedenen Reitern wie z.B.
den Bildschirmeigenschaften; Änderungen werden auch durch Setup- und Installationsprogramme
über eingerichtete APIs in der Registry vorgenommen. Programme selbst bringen
diverse Konfigurationsmenüs für Maus, Drucker, Tastatur etc. mit sich.
Viele moderne Programme verwenden nach wie vor INI-Dateien für die Hinterlegung der
Konfiguration und verzichten auf Schnittstellen zu den Registrydaten. Aus sicherheitstechnischen
Gründen werden Serial-Nummern aber üblicherweise in die Registry, und damit verschlüsselt,
eingetragen.
Die Verwendung der beiden Systeme kann aber zu Konflikten führen, denn bei jedem Programmstart
werden INI-Dateien mit Registryeinträgen verglichen und unter Umständen überschrieben.
138 Ein weiterer Vorteil des Registry-Konzeptes ist der Im- und Export von zusammengehörigen
Daten. So können bestimmte Schlüssel und somit Konfigurationen wie z.B. die
Datentypen im Netzwerk ausgetauscht werden. Diese Methode wird auch von Softwareherstellern
und Systementwicklern verwendet, die so einfach über Reg-Dateien Informationen in
die Registry importieren.139
3.3.1.2 Bewertung der Konzepte
Die Registry entstand aus den Bemühungen heraus, die Nachteile der einzelnen Systemdateien
zu beseitigen. Das Konzept besteht aus der Trennung der PC-eigenen Daten und der Nutzerdaten,
da die Anwendung auch im Netzwerk stattfinden soll. Die Konfigurationseinstellungen
werden dabei verschlüsselt im Datenbankformat hinterlegt, die Daten sind global auf
dem PC für alle Programme abrufbar, einheitlich und aktuell, Inkonsistenzen durch veraltete
Bibliotheken oder Datentypendefinitionen sind nicht möglich.
Durch permanente Prüfungen
und das Sicherungskonzept lassen sich selbständige Reparaturen und Restaurierungen durchführen.
So werden „Datenleichen“ bei z.B. der Deinstallation eines Programms eliminiert.
Problematisch ist, dass alle Daten voneinander abhängig gespeichert sind. Das macht das System
fehleranfällig. Zudem werden die Schnittstellen von Programmierern nicht zwangsweise
eingehalten. Das Ergebnis sind eigene redundante Konfigurationsdateien. Aus Kompatibilitätsgründen
müssen auch die herkömmlichen INI-Dateien beibehalten werden. Durch die Verteilung
im Netzwerk werden Daten aber auch sicherheitsrelevant sensibler.
Die Vorteile für ein großes Betriebssystem liegen jedoch auf der Hand, da hier zentral die
wichtigen Einstellungen des Betriebssystems verwaltet werden; das Konzept selbst ist jedoch
noch in einigen Punkten verbesserungswürdig.
Die Vor- und Nachteile des Datenbankkonzeptes seien hier im Folgenden noch einmal zusammengefasst:
Zusammenfassung des Datenbank-Konzeptes140 |
Vorteile |
Nachteile |
- Speicherung in logisch zusammenhängender
Form in einer zentralen Datenbank
- Schneller Zugriff
- Verlinkung garantiert konsistente Verwendung
der gleichen Dateien auf aktuellstem
Stand
- Die Aufteilung auf 2 Dateien ermöglicht
Netzwerkeinstellungen und dort global hinterlegte
Nutzerprofile und trotzdem lokale
Einstellungen
- Remote-Zugriff
- Im- und Export von Daten möglich
- Austausch von Konfigurationen
- Einheitliche Aktualisierung von Daten
- Verringerung von Redundanzen
- Starke Unterstützung durch Werkzeuge
- Anzahl installierbarer Programme
- Wiederfindung der Einstellungen
- Mehrbenutzerbetrieb
- wechselnde Systemkonfigurationen möglich
- Sicherungssystem
|
- Das Modell selbst ist fehlerbehaftet, da die
eigenen Ideen nicht immer eingehalten
werden
- Softwarehersteller halten sich nicht an die
Schnittstellen
- Konflikte bei der Überprüfung können zum
Überschreiben der Daten führen
- Verschlüsselung macht manuelle Änderungen
schwierig und störanfällig
- Hohe Fehleranfälligkeit
- APIs werden nicht eingehalten
- Das System ist selbst nicht konsistent,
wenn aus Kompatibilitätsgründen das alte
Format beibehalten werden muss
|
- 129: Vgl. [Robi 1998] S. 1 ff
- 130: Vgl. [Robi 1998] S. 4
- 131: Diese Grenze wurde aber mit Windows NT 3.1 aufgehoben. vgl. [Robi 1998] S. 6
- 132: Vgl. [Robi 1998] S. 5
- 133: Auch Registrierung oder Registrierungsdatenbank genannt.
- 134: Die Nutzerdatei user.dat enthält spezifische Daten des angemeldeten Nutzers, die im Netzwerk überall verfügbar
sein müssen, die Systemdatei system.dat enthält die lokale Systemkonfiguration für den Start des Betriebssystems
und die Anwendungsausführung, also Hardware, Bibliotheken und Dateien.
- 135: Vgl. [Born 1998] S. 4 ff
- 136: Die Schlüssel in der Registry setzen sich aus diversen Daten wie der MAC-Adresse und der Uhrzeit zusammen
und dienen der Identifikation von Schnittstellen zu DLLs und Windows Komponenten (COM- Komponenten),
deswegen sollten sie auf keinen Fall verändert werden.
- 137: Vgl. [Born 1998] S. 51 ff
- 138: Vgl. [Born 1998] S. 12 ff
- 139: Vgl. [Born 1998] S. 26 ff
- 140: Vgl. [Born 1998] S. 12 ff und [Robi 1998] S. 8 ff