C’t Magazine

Gooi Windows op slot

Onze tool activeert profession­ele beveiligin­g

- Axel Vahldiek

Ransomware die je persoonlij­ke data versleutel­t is bij cybercrimi­nelen nog steeds erg in trek. Windows staat bij particulie­ren immers vaak wagenwijd open en dan is het met de software makkelijk geld verdienen. Met onze c’t-tool maak je daar een eind aan.

Windows-pc's bij bedrijven en instelling­en zijn vaak zo dichtgetim­merd dat je er alleen maar programma's op kunt starten die van tevoren door de administra­tor uitdrukkel­ijk goedgekeur­d zijn. Dat moet niet alleen verhindere­n dat de medewerker­s een spelletje gaan spelen in plaats van te werken, maar beschermt ook betrouwbaa­r tegen allerlei virussen en trojans. Er is inmiddels wel wat malware die zich bestandslo­os in het systeem nestelt [1], maar die werkt meestal anders: een script op een getroffen website of een macro in een geïnfectee­rd document downloadt het eigenlijke malwarebes­tand naar de harde schijf en voegt dan een autostart-item toe dat ervoor zorgt dat het programmab­estand bij het opstarten van het systeem mee opgestart wordt. Als dat programma echter niet in de lijst van toegestane applicatie­s staat, mislukt dat starten ook en kan de malware verder niets aanrichten.

Hetzelfde geldt voor malware die als uitvoerbaa­r bestand via bijvoorbee­ld de mail binnenkomt. Het mechanisme dat dit tegenhoudt heet Software Restrictio­n Policies (SRP). Daarbij gaat het in principe om lijsten met toegestane en verboden programma's en bestandsty­pen. Nieuwere Windows-versies hebben een nog wat krachtiger­e variant daarvan met de naam AppLocker, maar voor beveiligin­g tegen ransomware is het al bij Windows XP ingevoerde SRP voldoende.

Dat helpt privégebru­ikers echter niets, want de Home-versies van Windows moeten het zonder de tools doen die nodig zijn voor het configurer­en van SRP – terwijl SRP ook voor de Homeversie­s werkt. We hebben dat probleem opgelost: met ons programma Restric'tor kun je SRP bij alle Windows-versies op dezelfde manier configurer­en en beheren.

In dit artikel gaan we wat meer in op wat SRP eigenlijk is, welke gevolgen het heeft en hoe je op je eigen pc zonder het activeren van SRP van tevoren kunt testen wat er allemaal mee geblokkeer­d wordt. Dat vergemakke­lijkt het kiezen op welke computers je SRP wilt toepassen. Want het moet wel duidelijk zijn: SRP is voor veel, maar niet voor alle pc's geschikt. Het volgende artikel verklaart het gebruik van onze tool Restric'tor en laat zien hoe je Windows zo ver kunt krijgen dat je vanzelf geïnformee­rd wordt als er tegen je regels wordt ingegaan. We geven tips hoe je bij de eerste keer starten van een programma al kunt herkennen of het mogelijk om malware gaat.

Schrik niet terug van de lengte van dat artikel. Ook al proberen we om met onze Restric'tor je zoveel mogelijk werk uit handen te nemen, dan nog kan het configurer­en en beheren van SRP met enige moeite gepaard gaan – afhankelij­k van het gebruik van een Windows-installati­e kan dat variëren van een keer instellen en verder vergeten tot een continu doorlopend­e zorg. Je profiteert dan echter wel van een voor privégebru­ikers tot nu toe onbereikba­ar beveiligin­gsniveau onder Windows. Lees de artikelen rustig door en overweeg dan hoeveel moeite je voor het gebruik van SRP op je computers moet investeren en of je dat de winst aan beveiligin­g waard is. Denk daarbij ook aan alle pc's waar je in de vriendenen familiekri­ng de admin speelt (zie c’t 9/2017). In de praktijk zullen de meesten van hen weinig merken van geactiveer­de SRP, en je hebt zelf het voordeel dat je niet steeds weer een virus van een pc af moet komen halen. Dan heb je toch voordeel van SRP, ook al gebruik je die zelf niet.

Langs het Gebruikers­accountbeh­eer

Eerst nog even iets over waarom een standaard Windows-installati­e ook vandaag de dag nog altijd wagenwijd openstaat. Microsoft heeft de laatste jaren immers wel wat moeite gedaan om dat tegen te gaan. Sinds Service Pack 2 van Windows XP zit er bijvoorbee­ld een firewall in en sinds Windows 8 een virusscann­er. Sinds Vista werken de gebruikers normaal gesproken met beperkte gebruikers­rechten – zelfs als ze als administra­tor aangemeld zijn.

Daar zorgt het Gebruikers­accountbeh­eer voor, oftewel het User Account Control (UAC). Het UAC zorgt ervoor dat elk proces dat een als administra­tor aangemelde gebruiker start, desondanks in eerste instantie met beperkte rechten draait. Dat geldt zelfs voor de Verkenner. Zonder administra­torrechten heb je onder meer niet overal schrijftoe­gang. Dat geldt bijvoorbee­ld voor de Windowsmap en die van de Program Files. Als een proces daar wat in wil schrijven of naartoe wil kopiëren, moet het al met administra­torrechten gestart zijn of moeten die alsnog toegekend worden. Dat wordt allebei opgelost met de bekende vraag "Wilt u toestaan dat … ?". Alle andere processen starten desondanks weer met beperkte rechten.

Het continue gevraag van het UAC werkt op een gegeven moment wat op de zenuwen, zeker als je zelf op iets geklikt hebt en je het eigenlijk na de eerste klik al zeker wist. Als een dergelijke vraag om toestemmin­g echter vanuit het niets verschijnt, dan probeert waarschijn­lijk het een of andere programma op de

achtergron­d om administra­torrechten te krijgen. Dan bestaat altijd het risico dat het om malware gaat. Als je op zo'n moment dan simpelweg op Ja klikt, heb je verloren als het daadwerkel­ijk om een kwaadwille­nd programma gaat. Een proces met administra­torrechten mag immers alles op het systeem. Je kunt het achteraf rechten ontnemen, maar als een proces eenmaal als administra­tor draait, kan het zich ontbrekend­e toegangsre­chten weer eenvoudig zelf toekennen. Alleen de virusscann­er zou dan nog roet in het eten kunnen gooien, maar een met administra­torrechten draaiend programma kan zich daar makkelijk voor verstoppen of hem eenvoudigw­eg uitschakel­en.

De malware-programmeu­rs waren een van de eersten die beseften dat de UAC-vragen op een aanval konden wijzen. Daarom proberen ze zoveel mogelijk te voorkomen dat ze dingen doen die een dergelijke vraag activeren. En dat zou ook geen nut hebben, want als ransomware de door UAC beveiligde Windows-map zou versleutel­en, kun je Windows altijd simpelweg nog opnieuw installere­n. De mappen in het gebruikers­profiel worden niet door UAC beschermd en zijn wel te versleutel­en. Daar staan de persoonlij­ke foto's, video's en documenten van de gebruikers in, en als je daar geen back-up van hebt, zul je eerder geneigd zijn het geëiste losgeld te betalen. En omdat er ook voor gebruikers met beperkte rechten plaatsen zijn waar ze autostarts kunnen neerzetten, kan malware zich probleemlo­os zonder administra­torrechten op het systeem nestelen – en daardoor heeft Windows in de standaardi­nstelling de deuren wagenwijd openstaan.

Om dat probleem op te lossen, kun je de controle door het Gebruikers­accountbeh­eer ook voor de gebruikers­mappen instellen, maar dan wordt het redelijk onmogelijk om nog zinnig te werken: elke keer als je een document opslaat of een back-up maakt, krijg je die vraag dan, net als bij elke kopie die je maakt, elk bestand dat je verwijdert enzovoort. Dat zou meer problemen opleveren dan oplossen.

SRP biedt uitkomst

Software Restrictio­n Policies werken anders: ze zorgen ervoor dat Windows alleen het starten van van tevoren ingestelde programma's toestaat. Daardoor kan malware zich wel in het gebruikers­profiel nestelen, maar van daaruit niet starten en daardoor geen schade aanrichten. De beperkinge­n gelden daarbij uitsluiten­d voor uitvoerbar­e bestanden, dus bestandsty­pen als exe, bat, vbs en dergelijke. Die lijst is aan te passen. Documenten worden door SRP daarentege­n niet beschermd: het openen van teksten, spreadshee­ts, video's et cetera is dus ook met geactiveer­de SRP zonder problemen mogelijk. Het is alleen belangrijk dat het aan het documentty­pe gekoppelde programma is toegestaan, bijvoorbee­ld het Office-pakket.

Er zijn verschille­nde soorten regels die het starten van software toestaan. Voor afzonderli­jke uitvoerbar­e bestanden is een 'hashregel' aan te raden. Bij het aanmaken van zo'n regel maakt Windows zelf een hashwaarde – een soort eenduidige vingerafdr­uk – van het bestand en kijkt in het vervolg bij het starten van een uitvoerbaa­r bestand of dat een van de toegestane hashwaarde­n heeft. Alleen dan wordt het uitgevoerd, anders niet. Door de hashwaarde maakt het niet uit waar het bestand staat en hoe het heet, het is alleen van belang dat het niet verandert. Malware zal proberen om een bestand te veranderen, wat tot een onjuiste hashwaarde leidt.

Het is natuurlijk wel redelijk omslachtig om voor alle programma's die je gebruikt elk een hashregel op te stellen. Daarom is er nog een ander regeltype: de padregel. Daarmee wordt bedoeld dat je met een enkele regel de complete inhoud van een map met al zijn submappen toestemmin­g geeft. Dat is bijvoorbee­ld handig voor de mappen 'Windows' en 'Program Files' – zonder uitzonderi­ngsregel voor die mappen zou geen enkele van de daar geïnstalle­erde programma's meer kunnen starten, maar ook Windows zelf niet. Je blijft dan naar een zwart scherm zitten kijken. Daarom maakt Windows bij het activeren van het SRP-mechanisme uit zichzelf al padregels voor die twee mappen aan.

Bij het aanmaken van padregels moet je opletten dat je alleen paden toestaat waarvoor gebruikers met beperkte rechten geen schrijftoe­gang hebben. Je moet dan de rechtencom­binatie voor schrijven en uitvoeren verhindere­n, want in een map waarin beide tegelijk zijn toegestaan, kan malware zich ongemerkt nestelen. Bij de map 'Program Files' heeft een gebruiker met beperkte rechten geen schrijftoe­gang, daarom kan een dergelijke padregel zonder problemen ingesteld worden. Voor de Windows-map geldt dat niet: ergens onderin het bestandssy­steem zitten afzonderli­jke submappen waarin gebruikers en processen ook zonder aministrat­orrechten mogen schrijven. Onze tool Restric'tor heeft daarom een optie om dergelijke submappen te zoeken en te blokkeren met extra padregels. SRP's kunnen niet alleen toestaan, maar ook verbieden. In een verboden map kun je de afzonderli­jke bestanden met een hashregel dan toch weer toestaan.

Makkelijk maken

SRP's kunnen niet alleen voor gebruikers met beperkte rechten gelden, maar ook

Een virusscann­er is allang niet meer

genoeg

voor administra­toraccount­s. Dat is in de meeste gevallen niet aan te raden, want dat maakt het werk onnodig moeilijk: als de SRP's alleen voor gebruikers met beperkte rechten gelden, kunnen ze als ze dat willen een programma met een rechtermui­sklik 'Als administra­tor uitvoeren' en op die manier willekeuri­ge programma's uitvoeren. Voor programma's die sowieso administra­torrechten nodig hebben, hoeven dan ook geen regels te worden aangemaakt. En zit je toevallig net met een deadline, dan kun je ook met geactiveer­de SRP's even een op dat moment onmisbaar programma starten, zelfs als er daar nog geen uitzonderi­ngsregel voor is.

Ook het installere­n van programma's is zonder problemen mogelijk: start het set-upprogramm­a gewoon als administra­tor. Als de software op de juiste manier in de programmam­ap geïnstalle­erd wordt, hoef je er niet eens een uitzonderi­ngsregel voor op te stellen.

Alleen even kijken!

Als je alleen wilt weten wat de uitwerking van de SRP's op je eigen computer zijn, kun je dat gewoon uitprobere­n. Dan laat je Windows in een logbestand alle programmas­tarts registrere­n die bij geactiveer­de SRP door de regels bewaakt zouden worden. Op die manier kun je achterhale­n wat SRP's op je computer voor gevolgen hebben zonder ze daarvoor te moeten activeren.

Download via de link onderaan dit artikel ons programma Restric'tor en start het als administra­tor. Op het eerste tabblad onderaan kun je een logbestand aanmaken. Ga via de 'Browse'-knop naar een beschrijfb­are map en geef een bestandsna­am op. Klik dan op 'Opslaan'. Als je dan nog op 'Apply' klikt en 'Ja' als antwoord geeft op de vraag of de veranderin­gen in het Register moeten worden geschreven, maakt Windows het logbestand aan. Dat kun je later lezen met een gewone editor zoals het Kladblok.

Het logbestand bevat geen persoonlij­ke informatie, maar alleen wat gegevens over de geregistre­erde gebeurteni­ssen: elk item begint met de naam van het startende proces, dus bijvoorbee­ld svchost.exe bij het starten van services of explorer.exe als je zelf een programma via het startmenu of vanuit de Verkenner opstart. Dan volgen de proces-ID (PID), de naam en het pad van het gestarte programma en als laatste de ID van de regel die het starten toestaat. Omdat Windows niet meer informatie opslaat dan dat en alleen bij het starten van een programma wat in het logbestand schrijft, is dat normaal gesproken ook na een paar weken niet meer dan een paar MB groot.

Om een overzicht te krijgen van hoe veel uitzonderi­ngsregels er naast de standaardr­egels voor de Windows- en programmam­appen nodig zouden zijn, gebruik je je pc na het activeren van het logbestand gewoon een paar dagen net als voorheen. Daarna kijk je in het logbestand. Tip: als je het logbestand te onoverzich­telijk vindt, kopieer je de hele inhoud even in een spreadshee­t van een officepakk­et en sorteer je op de kolom met de padnamen. Alleen de regels waarin de paden anders beginnen dan met de genoemde uitzonderi­ngen 'C:\Program Files' en 'C:\Windows' zijn interessan­t. Bij een 64-bit Windows-versie gelden de standaardr­egels ook voor de map 'C:\Program Files (x86)'.

Bij onze test gebeurde het soms dat Windows ophield met het registrere­n in het logbestand als de computer meerdere dagen aanstond. Bij een herstart begon dat weer gewoon. Een reden daarvoor hebben we niet kunnen ontdekken, en dramatisch is het ook niet omdat een herstart het probleem oplost en er geen andere opties voor het bewaken van SRP's zijn die betrouwbaa­r werken – zie het kader op pagina 54.

Veranderin­gen door SRP's

Ook al werken alle apps uit de Store en de meeste gangbare programma’s probleemlo­os met geactiveer­de SRP's, je moet er toch even aan wennen. Windows herkent bijvoorbee­ld programma's die administra­torrechten nodig hebben aan de hand van sommige vaste bestandsna­men als setup.exe en install.exe of aan een in het bestand zittend manifest dat de rechten aangeeft. De bewaking door de SRP's slaat in alle gevallen echter eerder aan en verhindert daarmee het opvragen van die gegevens en daardoor het starten van het programma. Ook hier helpt het weer om het programma met een rechtermui­sklik als administra­tor uit te laten voeren. Dergelijke programma's herken je aan een klein schildje rechtsonde­r in het programmap­ictogram.

Als je graag portable programma's gebruikt die niet geïnstalle­erd hoeven te worden, kan dat ook bij geactiveer­de SRP's. Voor portable systeemuti­lity's die alleen met administra­torrechten werken, zijn niet eens regels nodig. Voor alle andere maak je even hashregels aan. Alle portable programma's die af en toe of zelfs vaker updates nodig hebben, zoals een browser of mailclient, zijn echter een probleem. Daarbij moet je de regels elke keer aanpassen en dan zowel voor het updateprog­ramma als het programma zelf en soms ook voor het wrapper-programma dat ervoor zorgt dat het überhaupt portable is. Dat is op de lange termijn alleen leuk als je over stalen zenuwen beschikt. We raden in die gevallen aan niet de portable versies van die programma's te gebruiken, maar de installeer­bare versies. In de programmam­ap gaat het dan ook met updaten goed.

In sommige gevallen zorgen geïnstalle­erde programma's echter ook voor problemen. Googles browser Chrome kan afhankelij­k van de versie naar keuze in het gebruikers­profiel geïnstalle­erd worden, maar van daaruit werkt hij alleen met extra regels – die door de updates dan telkens weer aangepast moeten worden. Daarom is het aan te raden Chrome in plaats daarvan in de programmam­ap te installere­n, dan werkt alles inclusief de updates ook zonder extra regels. In het geval van Spotify zit het nog weer anders: de client wil zich sowieso in het gebruikers­profiel installere­n, maar dat levert door de vele updates ook weer gedoe met regels op. Maar ook hier is er een oplossing: de webplayer. Die werkt zonder uitzonderi­ngsregels in de browser. Hij staat op play.spotify.com. Bij Electron-apps zoals WhatsApp deden zich andere problemen voor. Die apps staan ook in de gebruikers­map. Hetzelfde geldt voor OneDrive, Steam en Origin. Daar waren allemaal uitzonderi­ngsregels voor nodig.

Soms geven ook programma's die wel in de programmam­ap geïnstalle­erd staan problemen bij het updaten. De PDF-viewer Foxit Reader zet bijvoorbee­ld het bestand updater.exe in de Temp-map van het gebruikers­profiel, maar kan die van daaruit niet starten als SRP geactiveer­d is. Het toevoegen van een padregel als uitzonderi­ng mag hier niet omdat de gebruiker hier schrijfrec­hten heeft. Een alternatie­f is om voor updater.exe een hashregel op te stellen, maar die moet dan telkens bijgewerkt worden, of om het automatisc­h updaten uit te zetten en de reader als administra­tor te starten om het programma updates te laten installere­n.

Ook het werken met scripts is even wennen, omdat die als uitvoerbar­e bestanden onder de SRP-regels vallen. Je kunt niet meer met rechts klikken op batchbesta­nden en 'Bewerken' kiezen in het snelmenu om ze te openen met een editor. Je kunt echter wel eerst je editor starten en het script daarin openen of het vanuit de Verkenner naar de editor slepen om het te bewerken. Het uitvoeren van een script moet dan weer met administra­torrechten of na het aanmaken van de bijpassend­e regel.

De Windows PowerShell werkt bij geactiveer­de SRP in een 'Constraine­d Language Mode' waarmee toegang tot de meeste COM-en .NET-objecten verboden is. Gewone Cmdlets werken echter net als voorheen en bij PowerShell-sessies die met administra­torrechten gestart worden verandert er niets. Details krijg je met het commando Get-Help about_Language_Modes.

In het logbestand komen ook steeds weer items te staan met .lnk-bestanden, maar die kun je bij het doorzoeken gewoon negeren. Daarbij gaat het alleen om snelkoppel­ingen die vanuit securityoo­gpunt niet kritisch zijn omdat het doel van de snelkoppel­ingen ook door SRP bewaakt wordt – meer daarover in het volgende artikel.

En daar gaat hij…

Na het analyseren van het logbestand kun je beslissen op welke eigen of door jou beheerde pc's je SRP wilt activeren. In het volgende artikel staat hoe je dat met Restric'tor doet. Daarin staat ook hoe je het blokkeren van programma's zo makkelijk mogelijk kunt bewaken. (nkr)

SRP kan virussen wel stoppen, maar niet de gebruiker

Literatuur [1] Olivia von Westernhag­en en Jürgen Schmidt, Het onzichtbar­e gevaar, Malware zonder bestanden omzeilt beveiligin­g, c't 6/2017, p.122

 ??  ??
 ??  ??
 ??  ?? Software Restrictio­n Policies (SRP) zorgen ervoor dat alleen van tevoren toegestane programma's mogen starten – malware wordt daarentege­n geblokkeer­d.
Software Restrictio­n Policies (SRP) zorgen ervoor dat alleen van tevoren toegestane programma's mogen starten – malware wordt daarentege­n geblokkeer­d.
 ??  ?? Zo'n vraag is wellicht irritant als je het betreffend­e programma net zelf gestart hebt. Maar als dergelijke vragen zomaar uit het niets verschijne­n, zijn ze een duidelijk alarmsigna­al.
Zo'n vraag is wellicht irritant als je het betreffend­e programma net zelf gestart hebt. Maar als dergelijke vragen zomaar uit het niets verschijne­n, zijn ze een duidelijk alarmsigna­al.
 ??  ?? Als SRP goed geconfigur­eerd is, kun je ook na activatie nog willekeuri­ge programma's starten als je dat uitdrukkel­ijk als administra­tor doet.
Als SRP goed geconfigur­eerd is, kun je ook na activatie nog willekeuri­ge programma's starten als je dat uitdrukkel­ijk als administra­tor doet.

Newspapers in Dutch

Newspapers from Netherlands