Nieuwe Windows technologie

> Index<

Vroege PC geschiedenis

Windows New Technology versus oude Windows technologie

Het veiligheidsmodel van Windows NT

Gebruikers en groepen

Vroege PC geschiedenis

> Top <

Persoonlijke computer (PC)

De eerste Personal Computers waren echt voor persoonlijk gebruik bedoeld. De IBM PC draaide Microsofts Disk Operating Systeem (DOS) en in Basic geschreven programma's van 5.25-inch diskettes. Beveiliging was niet nodig. Gebruikers namen hun software en data op diskettes mee naar huis.

MS-DOS 1.0 (1981)

Het in 16 bits real mode draaiende MS-DOS 1.0 (1981) had 8 kB geheugenresidente code om een IBM 5150 PC Personal Computer met een 4.77-MHz Intel 8088 CPU met 64KB werkgeheugen en 40 kB ROM BIOS geheugen aan te sturen. Door op het toetsenbord opdrachtregels te tikken werden de programma's gestart. Het in assembleertaal geschreven Basic Input Output Systeem (BIOS) was het eigenlijke besturingssysteem. DOS en Basic werden gebruikt om via het BIOS de randapparatuur en de processor te benaderen.

Open hardware architectuur

IBM bezat het auteursrecht op dit cruciale BIOS ROM (read only memory), maar had voor de rest van de PC gekozen voor een open busarchitectuur (IBM PC). Via uitbreidingskaarten konden PC's vaste schijven, multimedia en netwerk functies ondersteunen. Iedere kaart bevatte een stukje ROM dat via de bus met de processor kon spreken. Door verbeterde chip technologie en massaproductie werden de PC componenten niet alleen sneller maar ook goedkoper.

De IBM PC klonen

IBM ontwikkelde nieuwe hardware (XT, AT) en Microsoft bracht nieuwe DOS versies uit om de hardware te ondersteunen. Vanaf 1982 kreeg IBM concurrentie van kloonfabrikanten als Compaq. Aan de hand van IBM's gedetailleerde BIOS specificaties slaagde Compaq erin om een met de IBM PC compatibel BIOS te fabriceren. Hierdoor draaide een Compaq kloon van IBM's PC met MS-DOS even goed of beter als een oorspronkelijke IBM PC. En kreeg IBM ineens geduchte concurrentie. Microsoft, die nu de PC kloon hardwarefabrikanten tegen elkaar uit kon spelen, kreeg een monopoliepositie op de groeimarkt van PC besturingssystemen.

Intermezzo: De Barbaren van Bill Gates

Microsoft leerde meteen ook dat ze haar DOS en later Windows Application Programming Interface's (API's) nooit zo eenduidig als het academische IBM moesten formuleren. Want als je al te helder bent over wat je nu feitelijk doet kunnen anderen je beconcurreren.

Hier hadden de programmeurs van Microsofts geen moeite mee. Wie het boek "De Barbaren van Bill Gates" bestudeert, leest dat bij Microsoft een ondernemende pioniersgeest leefde. Gedetailleerd vastleggen van wat je wilt en daarna je probeersels (implementaties) uitgebreid op hun specificaties testen, zoals bij het bureaucratische georganiseerde IBM gebruikelijk was, paste niet bij de op resultaat gerichte mentaliteit van Microsoft.

Als iets in de praktijk niet liep pasten de Microsofts programmeurs het stukje code aan zonder zich al te veel om het grote geheel te bekommeren. Ze werkten als snelle bouwvakkers met de kitspuit paraat. Ze werden het liefst zo min mogelijk door IBM's bemoeizuchtige project managers en academische systeemarchitecten gehinderd. Microsofts korte termijn belangen telde zwaarder als IBM's lange termijn belang om voor haar klanten een duurzaam PC besturingssysteem te leveren. Het oppoetsen van gebreken werd Microsofts vooruitgangsstrategie: Monopoliepositie Microsoft staat vooruitgang in de weg. Gebreken wegmoffelen in een mooie verpakking.

Intermezzo: Microsoft als software makelaar

Veel later, toen Microsoft het zich financieel kon permitteren, kocht ze succesvolle producten op. Zoals Bill Gates ooit DOS opgekocht had. Microsoft werd makelaar in software patenten. Toen Microsoft haar monopoliepositie gevestigd wist kon ze het zich permitteren om concurrerende producten als WP voor Linux en Virtual PC voor OS/2 van de markt te halen. Microsofts monopoliepositie staat de vooruitgang ook in de weg door innovatieve concurrentie geen kans te geven.

Intermezzo: het blijft Windows

Vanwege de vele ad hoc correcties en de weerzin om al te duidelijk te zijn bevatten Microsofts DOS en Windows veel ongedocumenteerde functies. Microsoft zat hier eerst niet mee. Microsoft programmeurs konden hier nuttig gebruik van maken, maar de concurrentie op het DOS en Windows platform natuurlijk niet. Om die reden kwamen alternatieven voor DOS en Windows als het Wine project maar moeizaam van de grond.

Maar toen Bill Gates begreep dat naast snelheid en compatibiliteit, veiligheid en stabiliteit ook telden, had Microsoft een groot probleem. Want de vele gaten in de Windows code waren niet zomaar te dichten. Er was nog voor vele jaren werk te doen.

MS-DOS 2.0 (1983)

In 1993 bracht Microsoft MS-DOS 2.0 uit voor IBM's Extended Technology (XT) PC. Het gebruikte 24 kB werkgeheugen en had een deels aan Unix ontleende opdrachtverwerker (shell) genaamd command.com (cmd.exe onder OS/2 en NT). Enige Unix aspecten waren de ondersteuning voor de op het bestandssysteem gevirtualiseerde apparaten (Copy CON, COM1 en LPT1), de in- en uitvoer via pijpen (<, >) en een boomachtige bestandsstructuur. MS-DOS 2.0 ondersteunde de 10 MB vaste schijf van de XT en 360 KB diskettedrives. De opvolger MS-DOS 2.11 kreeg een betere ondersteuning voor talen.

MS-DOS 3.0 en 3.1 (1984)

IBM's PC-AT kreeg MS-DOS 3.0 en 3.1 dat een 1.2 MB diskettestation ondersteunde en een vaste schijven groter dan 10 MB.

Microsoft networks

Microsofts MS-DOS 3.1 kreeg ondersteuning voor de zogeheten Microsoft networks. Het ging hier om Microsofts implementatie van IBM's NetBIOS protocol, waar ze haar eigen naam aan gaf.

Deze wisseltruc zou nog vaak voorkomen. Microsoft beschouwt haar implementaties van wat al lang door anderen is uitgevonden als intellectueel eigendom. Op zich is daar niets op tegen, maar door Microsofts monopoliepositie worden ze al snel tot de facto standaard verheven. De geheim gehouden "Microsoft protocollen" kan Microsoft naar eigen believen aanpassen. Maar de met concurrenten compatibele open standaarden niet. Vandaar dat Microsoft Windows gebruikers liever haar "verbeterde", maar met andere besturingssystemen incompatibele oplossingen biedt, dan haar best doet om zich aan de gangbare standaarden te houden.

Dank zij haar monopoliepositie kan Microsoft zich zo'n arrogante houding permitteren. Zelfs tegenover Windows gebruikers, die ze daarmee dwingt om op hun besturingssysteem te waarderen. Zo werkt Windows Vista nauwelijks samen met Windows 9x. Maar Microsoft zet hiermee vooral haar concurrenten op achterstand. Niet via er echt toe doende verbetering of innovatie (betere samenwerking), maar door incompatibiliteit. En dat is geen verdienste. Dat is het slechts het typische gedrag van een slimme monopolist.

DOS, OS/2 en Windows

Om haar goed verkochte PC AT (1984) ook voor haar zakelijke netwerkgebruikers aantrekkelijk te maken besloot IBM samen met Microsoft een 16 bits opvolger voor real mode DOS te maken: Operating System/2. Het moest een modern preëmptief onderbrekend multitasking besturingssysteem worden dat uitsluitend in de protected modus van de Intel 286 processor liep.

DOS gebruikers beschouwden de 16 bits AT als snelle DOS PC's. Via LIM uitbreidingskaarten konden ze 16 MB geheugen aanspreken, maar op het netwerk waren DOS en Windows niet stabiel genoeg. Om bijv. een terminal programma, LAN apparatuur en een database tegelijkertijd te laten lopen was een trage voorgrondprogramma's preëmptief onderbrekend besturingssysteem nodig. Want anders kwam er een netwerk time-out.

OS/2 versie 1 (1987) leek op DOS, maar kon meerdere tekstmodus OS/2 programma's en een DOS taak in een afgeschermde omgeving draaien. OS/2 1.10 (1988) kreeg een grafische interface (Presentation Manager) die sterk op Windows 2.0 (1987) leek. Maar deze Presentation Manager GUI vereiste veel meer vaardigheid om er programma's voor te schrijven (A Short History of OS/2).

Vanaf 1990 gingen IBM's en Microsofts wegen meer uiteen. Microsoft had meer succes met DOS en haar grafische besturingssysteem Windows dan met IBM's hoge eisen stellende OS/2 project. Met de komst van Windows 3.0 (1990) en Windows 3.1 (1992) won Microsoft krediet bij ontwikkelaars die het met gratis compilers voor Windows vooruit geholpen had. Op de toen nog trage PC's liepen de met veel quickfixes uitgeruste DOS en Windows veel sneller dan het geheugenintensieve OS/2.

Toen IBM in 1992 het 32 bits OS/2 2.0 uitbracht kreeg het serieuze concurrentie van het 16 bits Microsofts Windows voor werkgroepen (Windows 3.11, 1992), waarvan de hardware vereisten laag waren en waar al veel 16 bits Windows software voor bestond. Het technisch superieure OS/2 2.0 bood een revolutionaire object georiënteerde Desktop (Werkplek) en draaide naast 16 en 32 bits OS/2 vrijwel alle DOS en 16 bits Windows programma's. Maar die compatibiliteit had ook een nadeel: ontwikkelaars schreven nu liever voor 16 bits t Windows dan voor het lastige OS/2.

Windows New Technology versus oude Windows technologie

> Top <

De "nieuwe" Windows technologie

Eind jaren 80 werkten Microsoft en IBM gezamenlijk aan een 32 bits opvolger van OS/2 2.0 die platform onafhankelijk moest zijn. Deze OS/2 versie zou een Hardware Abstractie Layer (HAL) krijgen, vergelijkbaar met het PC BIOS van DOS. Het BIOS fungeert als lijm tussen de Intel hardware en het PC besturingssysteem. De HAL moest het mogelijke maken OS/2 ook op niet PC platformen te draaien, waaronder DEC Alpha. Maar IBM en Microsoft gingen uit elkaar. IBM ging verder met OS/2 en Microsoft besloot tot twee 32 bits protected mode Windows lijnen.

De met de hardware abstractie laag uitgeruste OS/2 3.0 versie werd door een team onder leiding van VMS/VAX ontwerper David Cutler omgebouwd tot Microsoft Windows New Technology 3.1 (1993). Het pre-emptief multitaskende Windows NT draaide DOS, 16 bits Windows en 16 bits OS/2 applicaties in een afgeschermde omgeving. Windows NT werd met het New Technology File System (NTFS) uitgerust. Dit was vooral belangrijk voor de Windows NT Advanced Server versie, die de concurrentie met IBM en Novell multi-user servers moest aangaan.

Windows NT had nog een lange weg te gaan. Het was net als OS/2 geheugenconsumptief en kritisch ten aanzien van programma's en de hardware. Belangrijke mijlpalen waren de stabiele Windows NT Werkstation en Server versie 4.0 (1996), Windows 2000, waarvan Windows XP werkstation (2003) afgeleid werd en Windows 2003 server. Deze opeenvolgende Windows systemen hadden steeds zwaarder uitgevoerde hardwareconfiguraties nodig om te kunnen functioneren.

32 bits Windows technologie voor consumenten

Daarnaast werkte Microsoft aan de 32 bits Windows 95 voor consumenten die in 1995 zou uitkomen. Het werkte op FAT schijven tot 2 gigabyte met lange namen. De opvolger Windows 95 OEM Service Release 2 (1996) kreeg FAT32 mee, dat 34 GB aankon. Daarna volgden Windows 98, Windows 98 Second Edition (1999) en Windows Millennium Edition (2000).

De belangrijkste verbeteringen lagen op het gebied van hardware ondersteuning (USB, DVD, DirectX), bug-fixes en de aan Windows toegevoegde programma's (IE, MediaPlayer), maar de Windows kernel bleef op de Windows 95 code gebaseerd. Deze Windows kernel was weliswaar in snel 8088 assembler geschreven, maar kreeg nooit echt grip op het systeem, omdat Microsoft ter wille van de compatibiliteit teveel zaken toestond. Zelfs in de Windows versies (ME) zonder DOS ondersteuning.

Overigens kunt u deze 32 bits Windows ontwikkelingen ook anders formuleren.

In de hierboven gegeven klassieke interpretatie lijkt het alsof Microsoft de hardware en software ondersteuning zelf ontwikkelde: "MS 98 ondersteunt USB".

Maar in werkelijkheid was dit niet zo. Het grootse deel van de 32 bits Windows drivers werd niet door Microsoft zelf geleverd, maar door de hardware fabrikanten die het Windows monopolie niet wilden missen.

Microsoft had zich via slinkse wegen (valse beloften m.b.t. de 32 bits compatibiliteit van de 32 bits WIN32 met de 16 bits WIN32S API) met haar MS Office een grote voorsprong op haar concurrenten verkregen. Toen Windows 95 uitkwam was er maar één werkende Office Suite: Rara, wie had de voorkennis? De ontwikkelaars van MS Office natuurlijk, die meteen de marktleider werden. Vervolgens besloot Microsoft niets meer te doen voor de directe PC concurrentie (OS/2), maar het nog wel alles voor de MAC om haar monopoliepositie niet via dit niet-PC platform te verliezen.

Microsofts programma's

Zoals ik al zei bestonden de belangrijkste verbeteringen uit de door Microsoft en aan "het Windows besturingssysteem" toegevoegde programma's en een bredere ondersteuning van hardware. In beide gevallen was de bijdrage van Microsoft aan de programmeerkunst gering. Microsoft was en is vooral een software makelaar. Ik heb het nu niet over de tot ridder verheven Bill Gates, want die zit vooral zijn voor liefdadige doelen bestemde centen tellen. Ik heb heb het over de niet zo liefdadige organisatie waar hij grootaandeelhouder van is.

Microsoft repareerde in iedere Windows versie fouten die ze niet hadden mogen maken (nieuwe Windows versie werden met xxx bugs fixed aangeprezen) en integreerde de opgekochte programma's van andere (veiliger werkende) ondernemingen in hun besturingssysteem. Soms met de dreiging: Als je xxx niet aan ons verkoopt, bieden we de Windows gebruikers een gratis alternatief aan. In die tijd waren open source Windows programma's nog geen optie.

Microsoft Windows stuurbestanden

Met betrekking van de hardware werd het meeste werk aan Intel en de andere hardwarefabrikanten uitbesteed. Anders dan IBM (OS/2 en tig andere besturingssystemen) maakte Microsoft de meeste hardware stuurbestanden niet zelf, maar liet dat werk aan anderen over. Intel en haar concurrenten op het PC hardware platform moesten wel aan dit monopolistische spel meedoen. Want de hardware leverancier die geen Windows drivers kon leveren, prees zichzelf van Microsofts OEM markt.

Microsoft bedient zich nog steeds van deze strategie. Met de introductie van Windows XP op een volstrekt monopolistische Windows OEM markt kon ze het zich permitteren om aan de hardware leveranciers hoge eisen stellen. Het voordeel hiervan is dat Windows stabieler werd, maar het nadeel is dat u keuze m.b.t. de hardware op andere platformen afgenomen is. Generieke stuurbestanden zijn er voor Linux en OS/2 vaak wel, maar de drivers die alles uit de kast halen worden door de fabrikanten alleen voor Windows geschreven. Want als ze wat minder presteren worden ze door Windows only concurrenten van de markt weggevaagd.

Stabiliteit door aan programma's en stuurbestanden opgelegde beperkingen

Vaak wordt beweerd dat Windows NT en opvolgers stabieler dan de Windows 95 familie zijn vanwege het feit dat Windows in DOS opstart. En omdat Windows gedeeltelijk 16 bits was. Maar dat was nooit het punt. Windows NT en OS/2 bevatten ook 16 bits code. Het gaat erom wat die code doet. Een besturingssysteem dat vanuit DOS opstart hoeft nog niet zoals Windows 1-3x onder DOS te lopen. Zelfs het 32 bits Linux is vanuit DOS te laden (loadlin). Alle 32 bits Windows programma's draaien wel degelijk in de protected modus van de 386 processor. Het grote verschil met Windows NT is dat hangende programma's onder Windows 9x moeilijk met Control-Alt-Del af te sluiten zijn en dat programma's en stuurbestanden (vxd stuurbestanden mochten alles met de hardware doen) teveel vrijheid kregen om geheugenfouten te maken. Wat dat betreft waren Windows 3x en 9x nogal tolerant, wat de bekende blauwe schermen opleverde. Onder OS/2 en NT werd het besturingssysteem (of de virtuele DOS sessie) dan abrupt gestopt.

Multi-user eigenschappen

Een belangrijke verbetering van Windows NT was het door OS/2 en Windows NT ontwikkelaar Gordon Letwin ontworpen NTFS bestandssysteem. De al in de OS/2 LAN servers ingebouwde bestandspermissies voor het netwerk (ACL's) werden lokaal in OS/2 's HPFS386 en Windows NT's NTFS bestandssysteem opgeslagen. De bedoeling ervan was dat iedere gebruiker slechts beperkte rechten kreeg over zijn besturingssysteem. Alleen de systeembeheerder en het besturingssysteem (kernel en veel systeemdiensten) mochten overal aankomen.

Met de hulp van de Amerikaanse firma Citrix Systems (www.citrix.com) kreeg Windows NT ook multi-user eigenschappen. De eerste Citrix versie was overigens een OS/2 applicatie. De voor Windows NT herschreven Winframe software (1995) van Ed Iacobucci maakte het mogelijk om Windows en andere software via het netwerk op een NT server te draaien, zoals een X Windows terminal (X server) dat onder Unix doet.

Het veiligheidsmodel van Windows NT

> Top <

C2

De Amerikaanse overheid had behoefte aan een C2 gecertificeerd besturingssysteem. Zo'n besturingssysteem moet bijhouden wie er op de computer inlogt, controleren en bijhouden (loggen) wat hij doet, zonder dat de logbestanden achteraf te veranderen zijn, dit om misbruik te voorkomen. Spionage via computervirussen speelde toen nog geen rol, maar wel de angst voor spionage door gebruikers. Maar die gebruikers zagen Unix niet zo zitten...

Omdat Microsoft NT 3.5 server onder bepaalde omstandigheden (geen diskettestation en geen netwerkverbinding) C2 gecertificeerd kon zijn, accepteerde de Amerikaanse overheid Windows NT als C2 gecertificeerd. Daarna konden de ambtenaren de door hen begeerde Windows applicaties onder Windows NT draaien. Ook al ging dat op het netwerk niet meer op de C2 beveiligde manier...

Windows NT en haar opvolgers gelden sindsdien als veilig, hoewel de door hen gebruikte standaard netwerkconfiguraties binnen een minuut zijn te kraken. En omdat de Windows wormen alle Windows netwerkstations op hun netwerk voortdurend in de gaten houden, zijn ze vaak sneller dan de systeembeheerder. Voordat u met de NT, W2K en XP servers en werkstations relatief veilig het het internet op kunt gaan moet u ze via CD's of uw vertrouwde netwerk uitvoerig patchen. En ook dan bent u nog niet C2 gerectificeerd.

Indien goed ingevoerd (onder de meeste XP installaties dus niet) hebben deze van Unix geleerde principes de volgende voordelen:

  1. Gebruikers kunnen niet zomaar misbruik meer maken van het besturingssysteem. Want het besturingssysteem (lees: de Administrator) geeft alleen toegang tot die applicaties en bestanden die de gebruiker echt nodig heeft.

  2. Gehackte of hackende gebruikers richten hierdoor maar beperkte schade aan: Een hacker erft de gebruikersrechten van de gekaapte applicatie - en als de gebruikersrechten hiervan scherp ingesteld zijn - niets meer dan dat.

  3. Gebruikers worden ingedeeld in groepen. Groepsmachtigingen vereenvoudigen het beheer.

  4. Het systeem houdt bij wie inlogt, wat zijn toegangsrechten zijn, wat hij doet en laat.

Tegenwoordig zullen het bedrijfsleven en de overheid voor Windows 2000 en Windows XP Professional kiezen. De werknemer authentificeert zich op het netwerk. Zonder gebruikersnaam en wachtwoord kom je er niet in. En daarna zorgen bestandspermissies ervoor dat die gebruiker maar een beperkt aantal programma's op kan starten.

Het veiligheidsmodel van Windows NT

Het veiligheidsmodel van Windows NT en opvolgers is afhankelijk van de toegangscontrolelijsten van mappen en bestanden in het NTFS bestandssysteem. Het zal dan ook niet werken op FAT(32) schijven.

Het is bovendien gedeeltelijk uitgeschakeld in Windows XP Home en Windows XP Professional thuisnetwerken die van Eenvoudig delen gebruik maken.

NT's beveiligingssysteem.

Gebruikers moeten specifieke toegangsrechten hebben op ieder object (programma, bestand, map, registerdeel, kernelobject) dat ze gebruiken. Voordat ze iets met een object doen (bijv. lezen, schrijven, uitvoeren) zal die handeling dus goedgekeurd moeten worden door NT's beveiligingssysteem. Via auditing kan ook worden bijgehouden wie wat waar doet.

Dit beveiligingsbeleid wordt uitgevoerd door NT's Local Security Authority (LSA), die hierbij ondersteuning krijgt van twee hulpdiensten. Deze hulpdiensten, de Security Account Manager (SAM) en de Security Reference Monitor (SRM), zijn evenals de gebruikersinterface (UI) via interfaces met de coördinerende Local Security Authority (LSA) verbonden.

Met behulp van SAM regelt de Local Security Authority de gebruikersauthentificatie van degenen die via de gebruikersinterface inloggen. Met behulp van de Security Reference Monitor (SRM) worden de acties van de ingelogde gebruikers gevolgd. De Local Security Authority geeft de gebruikers feedback over hun doen en laten via de gebruikersinterface.

De Security Account Manager (SAM) beheert de gebruikers- en groepsaccounts. SAM biedt ook diensten voor gebruikersverificatie aan. Op een NT domein worden SAM's diensten door een gespecialiseerde server (domeincontroller) uitgevoerd. Maar in een werkgroep bepaalt ieder lokaal werkstation zijn eigen beveiligingsbeleid. Daarom is het onderhouden van een werkgroep veel lastiger dan het centraal beheren van de toegangsrechten via een domein controller.

Onder Windows 2000 en XP is SAM door de Active Directory Services (ADS) van Windows 2003 vervangen.

De andere hulpdienst, de Security Reference Monitor (SRM) controleert en registreert voor de Local Security Authority de handelingen van de NT gebruikers. Zo zal de SRM bij het benaderen van mappen, bestanden en programma's nagaan of de gebruiker (lees zijn programma) hiertoe gemachtigd is en zal de toegang tot de bronnen aldus weigeren of toestaan. Daarnaast kunnen de handelingen van gebruikers in logbestanden worden vastgelegd (auditing).

Hoe werkt het in de praktijk?

Inloggen

Tijdens het lokaal inloggen via het programma winlogon.exe zal de Local Security Authority (lsas.exe) de hulp van de Security Account Manager inroepen die uw gebruikersnaam en wachtwoord in SAM database van het werkstation verifieert.

Bij verificatie op een domein wordt uw versleutelde wachtwoord via het programma netlogon.exe aan de Local Security Authority van de domein controller (DC) verzonden. Deze raadpleegt de SAM database van het domein. De domein controller retourneert de Security IDs (SIDs) van uw domein gebruikersaccount en de globale groepen waar u lid van bent naar de LSA van uw werkstation.

Token objecten

Als de inloggegevens kloppen, mag u verder. Nu kunt u natuurlijk niet fysiek in de computer aanwezig zijn, daarom maakt Windows NT een zogenaamd token-object (security access token) voor u aan.

Dit token-object wordt aan ieder programma gekoppeld dat u opstart. Dus eerst aan uw gebruikersinterface (bijv. cmd.exe of explorer.exe) en daarna aan ieder ander programma dat u opstart om aan te geven dat u het bent. De programma's worden a.h.w. met uw naam gebrandmerkt.

De combinatie van een proces (geladen programma) en het erbij horende token noemt Microsoft een subject. Het is een (verdacht) subject dat de Local Security Authority (LSA) in de gaten moet houden...

U kunt zo'n token-object vergelijken met een elektronisch pasje waarmee de deuren automatisch voor u open gaan, zodat u zich niet bij iedere handeling met naam en wachtwoord hoeft te legitimeren.

Wilt u met uw programma een map of bestand openen, dan zal lsas.exe steeds nagaan of u hiertoe gerechtigd bent. Van de mappen en bestanden die u met dit programma maakt zult u de eigenaar worden. Dit geeft regelmatig problemen, als het programma bijv. zijn logbestanden in een systeemmap kwijt wil, waartoe u als gewoon gebruiker geen toegang tot heeft. De LSA verzorgt dan een Toegang geweigerd (acces denied) foutmelding. Door de schrijfrechten van het logbestand voor gewone gebruikers vrij te geven, lost u dit probleem op.

Het klinkt wat abstract maar met het Windows taakbeheer kunt u zien hoe het werkt. Als u het Windows Taakbeheer met Ctr-Alt-Del opstart ziet u dat er steeds namen aan programma's gekoppeld zijn. De naam (Eigenaar, sjoerd, SYSTEM, Netwerkservice) slaat op het token, het stempel van de eigenaar. De naam van het proces (1e kolom) kan meerdere malen voorkomen.

De rol van het bestandssysteem

Als een programma onder uw inlognaam (proces+gebruiker=subject) een bestand (object) op het NTFS bestandssysteem wil openen, zal Windows de toegangscontrolelijst van het bestand openen om na te gaan of dat mag. Op een NTFS schijf krijgen vreemden meestal een toegang geweigerd als ze aan een persoonlijke map of systeemmap komen.

Maar op FAT, HPFS en FAT32 en veel netwerkschijven bestaan die toegangscontrolelijsten niet, en zal dus zal iedereen toegang tot de bestanden krijgen. Hier zal als u op een bestand of map rechts-klikt en Eigenschappen kiest de Windows NT Security Tab ontbreken. Fajo vertelt u netjes dat het object aan de groep Iedereen behoort. Iedereen (lees ieder NT subject) kan er dus van alles mee uithalen. Ook als het programma iets doet waar u niet om gevraagd had. Als u het wisselbestand op een FAT(32) schijf zet kunnen hackers, virussen en wormen zelf in het geheugen kijken (en u dus uw wachtwoorden en creditcardnummers ontfutselen).

Minimale rechten

Net als onder Linux kunnen programma's die als systeemdiensten worden gestart meer of minder beperkte rechten krijgen. Programma's die voor u het internet opgaan behoren maar over heel beperkte rechten te beschikken. Een cgi-script foutje in een webserver anders een enorm veiligheidsrisico.

Maar uw firewall en on-access viruscanners zullen weer met volledige rechten willen draaien om ieder bestand te kunnen controleren. Zodat u er absoluut zeker van moet zijn dat ze absoluut veilig zijn. Maar die garantie bieden ze u helaas niet. Ook een dure geactualiseerde Security Suite (What's a name?) kent zijn disclaimers.

De enige verstandige oplossing voor dit soort problemen is om dergelijke gevaarlijke nevenactiviteiten van hoofdactiviteiten met firewalls, hardware of virtuele software-interfaces van elkaar te isoleren. In mijn geval laat ik het gevaarlijke scannen op Windows email-virussen liever aan Linux over.


Gebruikers en groepen

> Top <


Gebruikers en groepen

Om het beheer gemakkelijk te maken, maakt Windows NT gebruik van gebruikers en groepen.

Aangezien het ondoenlijk is om alle toegangslijsten aan te passen als er een gebruiker bij komt of van de loonlijst verdwijnt, zal een nieuwe gebruiker tot de groep users of guest behoren, een nieuwe beheerder tot de groep administrators etc. De bestandspermissies van deze ingebouwde (built-in) groepen zijn al vastgelegd en er hoeft dan alleen nog maar een home directory voor de gebruiker te worden aangemaakt. Dit is onder Windows XP een kopie van de verborgen map C:\Documents and Settings\Default user.


Hieronder bespreek ik de gebruikers en groepen die u met programma's als AccountView kunt zien.

Gebruikers

De groep users (gebruikers) bevat gewone computergebruikers met beperkte rechten. Ze krijgen toegang tot hun eigen hoofdmap, tot een beperkt aantal toepassingen en tot de gedeelde mappen. Maar ze hebben maar beperkte of geen rechten op de systeemmappen en de hoofdirectory. De hulptekst zegt: Gebruikers kunnen geen onbedoelde of bedoelde wijzigingen in het systeem aanbrengen. Hierdoor kunnen Gebruikers goedgekeurde toepassingen starten, maar niet de meeste oude toepassingen.

De groep gebruikers bevat de subgroepen Geverifieerde gebruikers, gebruikers van het domein en een groep Interactief.

Geverifieerde gebruikers

De groep authenticated users bevat de gebruikers die na opgave van hun naam en wachtwoord door de NT Authority zijn toegelaten. En dus niet via een anonieme login. De gebruikersgegevens kunnen zowel op het NT domein opgeslagen zijn als op de lokale computer. In een werkgroep kan iemand alleen maar een geauthentificeerde gebruiker zijn als zijn naam en wachtwoord al op de bestandenserver ingevoerd zijn.

Maar bij Eenvoudig delen in een werkgroep treedt een vreemd fenomeen op: Als ik als gebruiker sjoerd met sjoerds wachtwoord op een XP Home server inlog, wordt mijn wachtwoord door de NT Authority weliswaar gecontroleerd (met een verkeerd wachtwoord krijg ik Toegang geweigerd), maar daarna krijgt gebruiker sjoerd het token ("pasje") van een Gast. Dit heeft als gevolg dat ik mijn persoonlijke map niet meer kan benaderen en alleen toegang krijg tot de mappen die zowel op het netwerk als lokaal aan Iedereen toebehoren. Praktisch gesproken zijn dit de op het netwerk Gedeelde mappen en bestanden die op NTFS ook lokaal gedeeld zijn en alle mappen die op niet-NTFS schijven op het netwerk gedeeld worden. Ik krijg dus als lokaal geverifieerde gebruiker niet meer rechten dan een anonieme gast.

Gasten

De groep guests bevat de gebruikers van het anonieme gastaccount (guest) van het systeem. Een gast is een gebruiker van het systeem die anoniem kan blijven. De gebruikersrechten van het gastaccount dienen dan ook zeer beperkt te zijn. Onder Windows 2000 en XP kunnen ze in en uitloggen, programma's draaien, door het systeem bladeren en het systeem weer afsluiten.

Het is wijs om voor het gastaccount een wachtwoord aan te maken en/of het inloggen te verbieden. Want iedereen is een potentiële gast. Het gastaccount is niet te verwijderen.

Iedereen

De groep Everyone (Iedereen) bevat iedere gebruiker die op de een of andere manier in het systeem kwam. Hetzij als gast, hetzij als al dan niet met een wachtwoord geverifieerde gebruiker.

Onder Windows XP zijn de mappen die met Iedereen gedeeld worden (zonder naam en wachtwoord controle) echt voor iedereen toegankelijk.

Als een programma niet goed wil werken (bijv. data opslaan) omdat een map als Program Filles/programma/data niet voor gewone gebruikers beschrijfbaar is, geef dan alleen de submap /data toegangsrechten voor Authenticated users (en dus niet Iedereen), om te voorkomen dat iemand anders Program Files/programma/programma.exe door een virus vervangt of ermee besmet. Want dan hebt u een groot probleem.

Geen

De globale groep None bevat alle gebruikers van de PC (Gast, Administrator, gebruikers en eigenaars). Microsofts helptekst spreekt vreemd genoeg van van "gewone gebruikers".

Administrators

Administrators krijgen het volledige beheer over het systeem. Het lidmaatschap van deze groep is alleen maar nodig om systeembeheer te plegen. Voor het gewone werk kunt u beter u als gewoon gebruiker werken. Zie: Waarom beperkte gebruikersrechten nodig werden.

Administrators behoren altijd een wachtwoord te hebben. Dit geldt ook voor het account van de verborgen Administrator.

Power Users

De in Windows 2000 en XP Professional ingebouwde groep Power Users mogen alles wat gewone gebruikers kunnen en mogen daarnaast: lokale gebruikersaccounts aanmaken, de zelf gemaakte accounts aanpassen, gebruikersrechten aanpassen en gewone programma's installeren.

Maar alleen Administrators kunnen alle data en accounts wissen of veranderen en systeembestanden installeren.


Onder Windows XP Home vond ik met de net opdracht de volgende groepen

G:\>net group
Deze opdracht kan alleen worden gebruikt op een Windows-domeincontroller.
Typ NET HELPMSG 3515 voor meer hulp.

G:\>net localgroup
Aliassen voor \\MULTIBOOT
-------------------------------
*Administrators
*Gasten
*Gebruikers
*HelpServicesGroup
De opdracht is voltooid.

FaJo geeft veel meer groepen op: ANONIEME LOGIN, BATCH, DIALUP, Gasten, Gebruikers, Geverifieeerde gebruikers, HelpServiceGroup, Iedereen, INTERACTIEF, INTERECTIEF EXTERN AANMELDEN, Lokale service, MAKER EIGENAAR, MAKER GROEP, NETWERK, netwerkservice, SERVICE, SYSTEM, TERMINAL SERVER-GEBRUIKER.

Fajo gaf de volgende namen op: ASPNET, Eigenaar, Gast, SUPPORT_388945a0.



De thuisgebruiker en de Windows NT ACLs

Het bedrijfsleven heeft zijn netwerken inmiddels redelijk beschermd. Werknemers loggen in op Windows NT of Active Directory domeinen. Netwerkbeheerders zorgen voor de beveiliging. Maar de thuisgebruikers strooien vanaf hun onbeschermde PC's nog volop virussen en wormen in het rond. Windows XP Home is weliswaar op veiliger technologie gebaseerd dan het oude Windows, maar veel thuisgebruikers maken geen gebruik van.

De gebruikersrechten van Windows XP Home zijn verborgen en standaard zo ingesteld dat iedereen zijn virusellende met iedereen kan delen. Veel Windows XP Home gebruikers loggen zonder wachtwoord in. En vaak ook nog als beheerder. Maar wie als beheerder surft en email leest besmet niet alleen zijn eigen systeem, maar ook de andere computergebruikers met spyware, Trojaanse paarden en andere malware. De ingebouwde beveiliging van Windows NT' beschermt u dan niet.

Windows accepteert de opdrachten van een systeembeheerder zonder morren. Een goed opgeleide beheerder weet wat hij doet. En is niet zo dwaas om dag in dag uit onder het beheerdersaccount te werken. Maar de gewone Windows gebruikers hebben geen notie van wat wat er onder de Windows motorkap gebeurt. Door die fatale combinatie van (al)macht en naïviteit worden veel PC's overgenomen door anderen die wel "weten" hoe Windows in elkaar steekt. En wie is dan de baas? De beheerder in ieder geval al niet meer.


Literatuur

> Top <

Probing into C2 security claims: Is NT as secure as Microsoft has said it is? : Windows NT 3.5 server met SP 3 was C2 gecertificeerd. Alleen niet op het netwerk. En ook niet met een bootable CD-ROM of diskettestation. En al helemaal niet op een multiboot-PC waarbij iedereen met met een DOS diskette of een knoppix boot-cd/dvd met een NTFS driver de gebruikersrechten van het NTFS kan omzeilen.

Beschrijving van beveiligingsgebeurtenissen

Windows NT Security: A Collection of Topics

History of Microsoft Windows - Wikipedia, the free encyclopedia

Windows Products and Technologies History: Windows Overview & History

Iacobucci Presides Over Birth of an Industry : Ed Iacobucci was de oprichter van Citrix.

Essentiële beveiligingsinstellingen voor Windows 98/95/NT - Updates voor het besturingssysteem : Microsoft ondersteunt de verouderde Windows versies nog nauwelijks. Ze raadt u daarom aan om over te stappen naar Windows XP, die t/m het jaar 2008 wordt ondersteund. Dat is welgeteld een jaar na de verschijning XP's opvolger Windows VISTA. Zie ook : Windows 98, Windows 98 Second Edition en Windows Millennium Edition ondersteuning eindigt per 11 juli 2006


> Top <