De meeste nieuwe pc's zijn verzonden met de 64-bits versie van Windows - zowel Windows 7 als 8 - al jaren. Bij 64-bits versies van Windows gaat het niet alleen om het benutten van extra geheugen. Ze zijn ook veiliger dan 32-bits versies.
64-bits besturingssystemen zijn niet immuun voor malware, maar hebben wel meer beveiligingsfuncties. Een deel hiervan is ook van toepassing op 64-bits versies van andere besturingssystemen, zoals Linux. Linux-gebruikers krijgen beveiligingsvoordelen door over te schakelen naar een 64-bits versie van hun Linux-distributie .
Randomisatie van adresruimte-indeling
ASLR is een beveiligingsfunctie die ervoor zorgt dat de datalocaties van een programma willekeurig in het geheugen worden gerangschikt. Vóór ASLR konden de datalocaties van een programma in het geheugen voorspelbaar zijn, waardoor aanvallen op een programma veel gemakkelijker werden. Met ASLR moet een aanvaller de juiste locatie in het geheugen raden om misbruik te maken van een kwetsbaarheid in een programma. Een onjuiste gok kan ertoe leiden dat het programma crasht, zodat de aanvaller het niet opnieuw kan proberen.
Deze beveiligingsfunctie wordt ook gebruikt op 32-bits versies van Windows en andere besturingssystemen, maar is veel krachtiger op 64-bits versies van Windows. Een 64-bits systeem heeft een veel grotere adresruimte dan een 32-bits systeem, waardoor ASLR veel effectiever is.
Verplichte handtekening van de bestuurder
De 64-bits versie van Windows dwingt het ondertekenen van stuurprogramma's af. Alle stuurprogrammacodes op het systeem moeten een digitale handtekening hebben. Dit omvat stuurprogramma's voor kernelmodusapparaten en stuurprogramma's voor gebruikersmodus, zoals printerstuurprogramma's.
Verplichte ondertekening van het stuurprogramma voorkomt dat niet-ondertekende stuurprogramma's van malware op het systeem worden uitgevoerd. Malwareauteurs zullen op de een of andere manier het ondertekeningsproces moeten omzeilen via een boot-time rootkit of erin slagen de geïnfecteerde stuurprogramma's te ondertekenen met een geldig certificaat dat is gestolen van een legitieme stuurprogramma-ontwikkelaar. Dit maakt het moeilijker voor geïnfecteerde stuurprogramma's om op het systeem te draaien.
Ondertekening van stuurprogramma's kan ook worden afgedwongen op 32-bits versies van Windows, maar dat is niet waarschijnlijk vanwege blijvende compatibiliteit met oude 32-bits stuurprogramma's die mogelijk niet zijn ondertekend.
Als u het ondertekenen van stuurprogramma's tijdens de ontwikkeling op 64-bits edities van Windows wilt uitschakelen, moet u dit doen voeg een kernel debugger toe of gebruik een speciale opstartoptie die niet blijft bestaan na het opnieuw opstarten van het systeem.
Kernel Patch-bescherming
KPP, ook wel PatchGuard genoemd, is een beveiligingsfunctie die alleen in 64-bits versies van Windows voorkomt. PatchGuard voorkomt dat software, zelfs stuurprogramma's die in kernelmodus draaien, de Windows-kernel patchen. Dit is altijd niet ondersteund geweest, maar het is technisch mogelijk op 32-bits versies van Windows. Sommige 32-bits antivirusprogramma's hebben hun antivirusbeschermingsmaatregelen geïmplementeerd met behulp van kernelpatching.
PatchGuard voorkomt dat apparaatstuurprogramma's de kernel patchen. PatchGuard voorkomt bijvoorbeeld dat rootkits de Windows-kernel aanpassen om zichzelf in het besturingssysteem te integreren. Als een poging tot kernelpatching wordt gedetecteerd, wordt Windows onmiddellijk afgesloten met een blauw scherm of wordt opnieuw opgestart.
Deze bescherming zou kunnen worden toegepast op de 32-bits versie van Windows, maar dat is niet het geval geweest - waarschijnlijk vanwege blijvende compatibiliteit met verouderde 32-bits software die van deze toegang afhangt.
Bescherming van gegevensuitvoering
Met DEP kan een besturingssysteem bepaalde geheugengebieden markeren als "niet-uitvoerbaar" door een "NX-bit" in te stellen. Geheugengebieden die alleen gegevens zouden moeten bevatten, zijn niet uitvoerbaar.
Op een systeem zonder DEP kan een aanvaller bijvoorbeeld een soort bufferoverloop gebruiken om code in een gebied van het geheugen van een applicatie te schrijven. Deze code kan vervolgens worden uitgevoerd. Met DEP kan de aanvaller code schrijven in een gebied van het geheugen van de toepassing, maar dit gebied wordt gemarkeerd als niet-uitvoerbaar en kan niet worden uitgevoerd, waardoor de aanval wordt gestopt.
64-bits besturingssystemen hebben op hardware gebaseerde DEP. Hoewel dit ook wordt ondersteund op 32-bits versies van Windows als je een moderne CPU hebt, zijn de standaardinstellingen strenger en is DEP altijd ingeschakeld voor 64-bits programma's, terwijl het om compatibiliteitsredenen standaard is uitgeschakeld voor 32-bits programma's.
De DEP-configuratiedialoog in Windows is een beetje misleidend. Zoals Microsoft's documentatie staten wordt DEP altijd gebruikt voor alle 64-bits processen:
“Systeem-DEP-configuratie-instellingen zijn alleen van toepassing op 32-bits toepassingen en processen wanneer deze worden uitgevoerd op 32-bits of 64-bits versies van Windows. In 64-bits versies van Windows, als door hardware afgedwongen DEP beschikbaar is, wordt dit altijd toegepast op 64-bits processen en kernelgeheugenruimten en zijn er geen systeemconfiguratie-instellingen om dit uit te schakelen. "
WOW64
64-bits versies van Windows draaien 32-bits Windows-software, maar ze doen dit via een compatibiliteitslaag die bekend staat als WOW64 (Windows 32-bits op Windows 64-bits). Deze compatibiliteitslaag dwingt enkele beperkingen af op deze 32-bits programma's, waardoor 32-bits malware mogelijk niet correct functioneert. 32-bits malware kan ook niet worden uitgevoerd in de kernelmodus - alleen 64-bits programma's kunnen dat doen op een 64-bits besturingssysteem - dus dit kan ertoe leiden dat sommige oudere 32-bits malware niet correct functioneert. Als je bijvoorbeeld een oude audio-cd hebt waarop de Sony-rootkit staat, kan deze zichzelf niet installeren op een 64-bits versie van Windows.
64-bits versies van Windows laten ook de ondersteuning voor oude 16-bits programma's vallen. Naast het voorkomen dat oude 16-bits virussen worden uitgevoerd, zal dit bedrijven ook dwingen om hun oude 16-bits programma's te upgraden die kwetsbaar en ongepatcht kunnen zijn.
Gezien hoe wijdverspreid 64-bits versies van Windows nu zijn, zal nieuwe malware waarschijnlijk kunnen worden uitgevoerd op 64-bits Windows. Het gebrek aan compatibiliteit kan echter helpen beschermen tegen oude malware in het wild.
Tenzij u krakende oude 16-bits programma's gebruikt, oude hardware die alleen 32-bits stuurprogramma's biedt, of een computer met een vrij oude 32-bits CPU, zou u de 64-bits versie van Windows moeten gebruiken. Als u niet zeker weet welke versie u gebruikt, maar u heeft een moderne computer met Windows 7 of 8, dan gebruikt u waarschijnlijk de 64-bits versie.
Geen van deze beveiligingsfuncties is natuurlijk onfeilbaar en een 64-bits versie van Windows is nog steeds kwetsbaar voor malware. 64-bits versies van Windows zijn echter zeker veiliger.
Afbeelding tegoed: William Hook op Flickr