Waarom de 64-bits versie van Windows veiliger is
De meeste nieuwe pc's verzenden al jaren met de 64-bits versie van Windows, zowel Windows 7 als 8. 64-bits bitversies van Windows gaan niet alleen over het profiteren van extra geheugen. Ze zijn ook veiliger dan 32-bits versies.
64-bits besturingssystemen zijn niet immuun voor malware, maar ze hebben wel meer beveiligingsfuncties. Een deel hiervan is ook van toepassing op 64-bit-versies van andere besturingssystemen, zoals Linux. Linux-gebruikers zullen beveiligingsvoordelen behalen door over te schakelen naar een 64-bits versie van hun Linux-distributie.
Adresruimte layout-randomisatie
ASLR is een beveiligingsfunctie waardoor 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 eenvoudiger werden. Met ASLR moet een aanvaller de juiste locatie in het geheugen raden wanneer hij probeert een kwetsbaarheid in een programma te misbruiken. Een onjuiste schatting kan ertoe leiden dat het programma crasht, dus de aanvaller kan het niet opnieuw proberen.
Deze beveiligingsfunctie wordt ook gebruikt op 32-bits versies van Windows en andere besturingssystemen, maar is veel krachtiger bij 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 stuurprogrammahandtekening
De 64-bits versie van Windows dwingt verplichte ondertekening van stuurprogramma's af. Alle bestuurderscodes op het systeem moeten een digitale handtekening hebben. Dit omvat stuurprogramma's in kernelmodusapparaten en gebruikersmodusstuurprogramma's, zoals printerstuurprogramma's.
Verplichte ondertekening van stuurprogramma's voorkomt dat niet-ondertekende stuurprogramma's van malware op het systeem worden uitgevoerd. Malwaremakers zullen op de een of andere manier het ondertekeningsproces moeten omzeilen via een opstarttijd-rootkit of moeten de besmette stuurprogramma's ondertekenen met een geldig certificaat dat is gestolen door een legitieme driverontwikkelaar. Dit maakt het voor geïnfecteerde bestuurders moeilijker om op het systeem te draaien.
Het ondertekenen van stuurprogramma's kan ook worden afgedwongen op 32-bits versies van Windows, maar dat is niet het geval. Waarschijnlijk blijft deze compatibiliteit bestaan met oude 32-bits stuurprogramma's die mogelijk niet zijn ondertekend.
Als u het ondertekenen van stuurprogramma's tijdens de ontwikkeling op 64-bits versies van Windows wilt uitschakelen, moet u een kernel-foutopsporing bijvoegen of een speciale opstartoptie gebruiken die niet wordt gebruikt bij het opnieuw opstarten van het systeem.
Kernel Patch Protection
KPP, ook bekend als PatchGuard, is een beveiligingsfunctie die alleen wordt aangetroffen op 64-bit versies van Windows. PatchGuard voorkomt dat software, zelfs stuurprogramma's die in de kernelmodus worden uitgevoerd, de Windows-kernel patchen. Dit is altijd niet ondersteund, 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 device drivers de kernel patchen. PatchGuard voorkomt bijvoorbeeld dat rootkits de Windows-kernel kunnen aanpassen om zichzelf in het besturingssysteem te integreren. Als een poging tot kernelpatching wordt gedetecteerd, wordt Windows onmiddellijk afgesloten met een blauw scherm of opnieuw opgestart.
Deze bescherming zou kunnen worden geïmplementeerd op de 32-bits versie van Windows, maar dit is niet het geval geweest - waarschijnlijk voor voortdurende compatibiliteit met oudere 32-bits software die afhankelijk is van deze toegang.
Bescherming van gegevensuitvoering
DEP staat een besturingssysteem toe om bepaalde geheugengebieden als "niet-uitvoerbaar" te markeren 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 bufferoverloop gebruiken om code in een regio van het toepassingsgeheugen te schrijven. Deze code kan dan worden uitgevoerd. Met DEP zou de aanvaller code in een regio van het geheugen van de toepassing kunnen schrijven - maar deze regio zou worden gemarkeerd als niet-uitvoerbaar en kon niet worden uitgevoerd, wat de aanval zou stoppen.
64-bits besturingssystemen hebben DEP op basis van hardware. Hoewel dit ook wordt ondersteund op 32-bits versies van Windows als u een moderne CPU hebt, zijn de standaardinstellingen strenger en DEP is altijd ingeschakeld voor 64-bits programma's, terwijl het standaard is uitgeschakeld voor 32-bits programma's vanwege compatibiliteitsredenen.
Het DEP-configuratievenster in Windows is een beetje misleidend. Zoals de documentatie van Microsoft vermeldt, wordt DEP altijd gebruikt voor alle 64-bits processen:
"Systeem DEP-configuratie-instellingen zijn alleen van toepassing op 32-bit-toepassingen en -processen bij gebruik op 32-bits of 64-bits versies van Windows. Op 64-bits versies van Windows wordt DESP, als de hardware is afgedwongen, 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 gebruiken 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 voor deze 32-bits programma's, waardoor wordt voorkomen dat 32-bits malware correct werkt. 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 voorkomen dat sommige oudere 32-bits malware correct werken. Als u bijvoorbeeld een oude audio-cd hebt waarop de Sony-rootkit is geïnstalleerd, kan deze zichzelf niet installeren op een 64-bits versie van Windows.
64-bit versies van Windows laten ook ondersteuning voor oude 16-bit-programma's vallen. Naast het voorkomen dat oude 16-bit virussen worden uitgevoerd, dwingt dit bedrijven ook hun oude 16-bit-programma's die kwetsbaar kunnen zijn en die niet zijn opgeslagen, te upgraden..
Gezien de wijdverspreide 64-bitversies van Windows nu, zal nieuwe malware waarschijnlijk kunnen worden uitgevoerd op 64-bit 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 redelijk oude 32-bits CPU, zou u de 64-bits versie van Windows moeten gebruiken. Als je niet zeker weet welke versie je gebruikt, maar je hebt een moderne computer met Windows 7 of 8, gebruik je waarschijnlijk de 64-bits editie.
Natuurlijk is geen van deze beveiligingsfuncties waterdicht en is een 64-bits versie van Windows nog steeds kwetsbaar voor malware. 64-bits versies van Windows zijn echter zeker veiliger.
Image Credit: William Hook op Flickr