"Security"

  Development

Mit "Security" ist es möglich, ein Einzelplatzsystem unter DOS / Windows 3.x in eine Mehrbenutzerumgebung mit einer feingranularen Rechteverwaltung zu verwandeln. "Security" wurde 1996 fertiggestellt.

Motivation

DOS und Windows 3.x bieten keinerlei Rechtemanagement: Jeder Benutzer hat vollen Zugriff auf alle auf dem System abgelegten Daten. Dieses Projekt ändert diesen Umstand und macht aus DOS / Windows 3.x ein Mehrbenutzersystem.

Beschreibung

Als ich in der neunten Klasse war, kam ich erstmals mit dem Netzwerkbetriebssystem "Novell Netware" in Berührung. Ich fand es faszinierend, wie mehrere Benutzer auf den gleichen Datenbeständen arbeiten konnten, ohne sich ins Gehege zu kommen. Netware kannte acht Datei- und Verzeichnisrechte: [SRCWEMFA], d.h. Supervisor, Read, Create, Write, Erase, Modify, File Scan, Access Control. Über Vererbung, Filterung und Überschreiben der Rechte von übergeordneten Hierarchieebenen war eine feingranulare Steuerung der effektiven Zugriffsberechtigungen der Nutzer möglich. Das Konzept von Benutzergruppen wurde ebenfalls unterstützt.

Ziel dieses Projektes war es, die Möglichkeiten von Netware auf ein Einzelplatzsystem zu übertragen. Dieses Ziel wurde in einer Programmsuite mit dem Namen "Security" realisiert. Ein Benutzer muss sich anmelden, bevor er mit dem System arbeiten kann. Nach der Anmeldung werden nur die Anfragen und Aktionen zugelassen, für die der angemeldete Benutzer berechtigt ist. Unterstützt werden MSDOS, Novell DOS, Windows 3.x.

Mit Hilfe eines BIOS-Passworts, um den Start von anderen Datenträgern zu unterbinden, und dem Festplattenschutz den Novell DOS bot, wurde ein Umgehen des Ladens des Systemmonitors effektiv verhindert. Durch den fehlenden Speicherschutz von DOS war ein Umgehen des Schutzes durch ein Überschreiben passender Speicherstellen zwar prinzipiell möglich, "Otto-Normal-Anwender" und auch versiertere Varianten davon konnten den Schutz jedoch nicht umgehen.

"Security" war mein erstes größeres Projekt. Es dauerte aufgrund seines Umfangs mehrere Monate. Ich habe eine Menge Freizeit investiert, aber auch eine Menge gelernt, z.B Assembler. Das Ergebnis war ein - von einem Handbuch und etwas Feinschliff abgesehen - fertiges Produkt. Es war ein großer Fehler, keinen Abnehmer dafür zu suchen: Es gab damals einen unerschlossenen Markt dafür. Alternative Lösungen gab es erst später, Windows NT 4 wurde gerade erst fertig gestellt. Aber als Schüler, der gerade in die Oberstufe gekommen war, hatte ich noch einen anderen Fokus und andere Interessen.

Security

Implementierung

"Security" besteht aus einem TSR-Programm, einem Programm zur Administration und Hilfsprogrammen (z.B. zur Installation, zur Benutzeranmeldung und zur Prüfung der Bindery).

Das TSR-Programm ("terminate and stay resident") ist ein in x86-Assembler geschriebener Systemdienst, der den DOS-Interrupt abfängt und je nach Berechtigung des aktuell angemeldeten Benutzers eine Operation zulässt oder verweigert. Durch ein Caching der zuletzt angefragten Datei- und Verzeichnisberechtigungen sind die Auswirkungen auf die Performanz des Systems gering.

Benutzer, Gruppen und Berechtigungen werden in Dateien gespeichert, die in einem Verzeichnis abgelegt sind, auf das nur das System Zugriff hat. Von Netware ist hierfür der Begriff der "Bindery" entlehnt.

Das Administrationsprogramm trägt den ebenfalls bei Netware entlehnten Namen "Syscon". Es ist in Borland Turbo Pascal 6 entwickelt und nutzt "Turbo Vision" als objektorientierte GUI-Verwaltung. Das Programm ermöglicht zum einen die Administration der Datei- und Verzeichnisrechte der Benutzer (ähnlich dem Programm "Filer" von Netware) und zum anderen die Administration von Benutzern und Gruppen (ähnlich dem Programm "Syscon" von Netware). Wer mit Netware gearbeitet hat, fühlt sich sofort heimisch.

Referenzen