De flesta nya datorer har levererats med 64-bitarsversion av Windows - både Windows 7 och 8 - i flera år nu. 64-bitarsversioner av Windows handlar inte bara om att dra nytta av extra minne. De är också säkrare än 32-bitarsversioner.
64-bitars operativsystem är inte immuna mot skadlig kod, men de har fler säkerhetsfunktioner. En del av detta gäller även 64-bitarsversioner av andra operativsystem, till exempel Linux. Linux-användare får säkerhetsfördelar genom att byta till en 64-bitarsversion av deras Linux-distribution .
Adressutrymme Layout Randomisering
ASLR är en säkerhetsfunktion som gör att programmets dataplatser ordnas slumpmässigt i minnet. Innan ASLR kunde ett programs datalägen i minnet vara förutsägbart, vilket gjorde attacker på ett program mycket enklare. Med ASLR måste en angripare gissa rätt plats i minnet när han försöker utnyttja en sårbarhet i ett program. En felaktig gissning kan resultera i att programmet kraschar, så angriparen kan inte försöka igen.
Denna säkerhetsfunktion används också i 32-bitarsversioner av Windows och andra operativsystem, men den är mycket kraftfullare på 64-bitarsversioner av Windows. Ett 64-bitars system har ett mycket större adressutrymme än ett 32-bitars system, vilket gör ASLR så mycket effektivare.
Obligatorisk förarsignering
64-bitarsversionen av Windows tillämpar obligatorisk drivrutinssignering. All förarkod i systemet måste ha en digital signatur. Detta inkluderar drivrutiner för kärnläge och drivrutiner för användarläge, till exempel skrivardrivrutiner.
Obligatorisk drivarsignering förhindrar att osignerade drivrutiner från skadlig programvara körs på systemet. Skadliga programvaruförfattare måste på något sätt kringgå signeringsprocessen genom en starttidskits eller lyckas underteckna de infekterade drivrutinerna med ett giltigt certifikat stulet från en legitim drivrutinsutvecklare. Detta gör det svårare för infekterade drivrutiner att köra på systemet.
Drivrutinssignering kan också tillämpas på 32-bitarsversioner av Windows, men det är inte troligt för fortsatt kompatibilitet med gamla 32-bitars drivrutiner som kanske inte har signerats.
För att inaktivera drivrutinssignering under utveckling på 64-bitarsversioner av Windows måste du bifoga en kärnfelsökare eller använd ett speciellt startalternativ som inte kvarstår om systemet startas om.
Kernelappskydd
KPP, även känd som PatchGuard, är en säkerhetsfunktion som endast finns i 64-bitarsversioner av Windows. PatchGuard förhindrar att programvara, även drivrutiner som körs i kärnläge, lappar Windows-kärnan. Detta har alltid inte stöds, men det är tekniskt möjligt på 32-bitarsversioner av Windows. Vissa 32-bitars antivirusprogram har implementerat sina antivirusskyddsåtgärder med hjälp av kärnlappning.
PatchGuard förhindrar enhetsdrivrutiner från att lappa kärnan. Till exempel förhindrar PatchGuard att rootkits ändrar Windows-kärnan för att bädda in sig i operativsystemet. Om ett försök till kärnlapp upptäcks stängs Windows omedelbart av med en blå skärm eller startar om.
Detta skydd kan sättas in på 32-bitarsversionen av Windows, men det har det inte varit - troligt för fortsatt kompatibilitet med äldre 32-bitarsprogramvara som beror på denna åtkomst.
Dataskydd
DEP tillåter ett operativsystem att markera vissa minnesområden som "icke-körbara" genom att ställa in en "NX-bit". Minnesområden som endast ska innehålla data kan inte köras.
Till exempel, på ett system utan DEP kan en angripare använda någon form av buffertöverskridning för att skriva kod till en region i programmets minne. Den här koden kan sedan köras. Med DEP kunde angriparen skriva kod i en region i programmets minne - men denna region skulle markeras som ej körbar och kunde inte köras, vilket skulle stoppa attacken.
64-bitars operativsystem har hårdvarubaserad DEP. Även om detta stöds även i 32-bitarsversioner av Windows om du har en modern CPU, är standardinställningarna strängare och DEP är alltid aktiverat för 64-bitarsprogram, medan det är inaktiverat som standard av 32-bitarsprogram av kompatibilitetsskäl.
DEP-konfigurationsdialogrutan i Windows är lite vilseledande. Som Microsofts dokumentation stater används DEP alltid för alla 64-bitars processer:
”System DEP-konfigurationsinställningar gäller endast för 32-bitarsapplikationer och processer när de körs på 32- eller 64-bitarsversioner av Windows. På 64-bitarsversioner av Windows, om hårdvarupåverkad DEP är tillgänglig, tillämpas den alltid på 64-bitars processer och kärnminnesutrymmen och det finns inga systemkonfigurationsinställningar för att inaktivera den. ”
WOW64
64-bitarsversioner av Windows kör 32-bitars Windows-programvara, men de gör det genom ett kompatibilitetslager som kallas WOW64 (Windows 32-bit på Windows 64-bit). Detta kompatibilitetsskikt tvingar fram vissa begränsningar för dessa 32-bitarsprogram, vilket kan förhindra att 32-bitars skadlig kod fungerar korrekt. 32-bitars skadlig kod kan inte heller köras i kärnläge - endast 64-bitarsprogram kan göra det på ett 64-bitars OS - så detta kan förhindra att äldre 32-bitars skadlig programvara fungerar korrekt. Om du till exempel har en gammal ljud-CD med Sony rootkit på kan den inte installeras på en 64-bitarsversion av Windows.
64-bitarsversioner av Windows släpper också stöd för gamla 16-bitarsprogram. Förutom att förhindra antika 16-bitarsvirus från att köras, kommer detta också att tvinga företag att uppgradera sina gamla 16-bitarsprogram som kan vara sårbara och omatchade.
Med tanke på hur utbredda 64-bitarsversioner av Windows nu är kommer ny skadlig kod sannolikt att kunna köras på 64-bitars Windows. Bristen på kompatibilitet kan dock hjälpa till att skydda mot gammal skadlig kod i naturen.
Om du inte använder knarriga gamla 16-bitarsprogram, gammal hårdvara som bara erbjuder 32-bitars drivrutiner eller en dator med en ganska gammal 32-bitars CPU, bör du använda 64-bitarsversionen av Windows. Om du inte är säker på vilken version du använder men du har en modern dator som kör Windows 7 eller 8, använder du sannolikt 64-bitarsversionen.
Naturligtvis är ingen av dessa säkerhetsfunktioner idiotsäker, och en 64-bitarsversion av Windows är fortfarande sårbar för skadlig kod. 64-bitarsversioner av Windows är dock definitivt säkrare.
Bildkredit: William Hook på Flickr