Varför 64-bitars version av Windows är mer säker
De flesta nya datorer har levererats med 64-bitarsversionen av Windows - både Windows 7 och 8 - i flera år nu. 64-bitars versioner av Windows handlar inte bara om att dra nytta av ytterligare minne. De är också säkrare än 32-bitars versioner.
64-bitars operativsystem är inte immuniska mot skadlig programvara, men de har fler säkerhetsfunktioner. En del av detta gäller även 64-bitars versioner av andra operativsystem, som Linux. Linux-användare kommer att få säkerhetsfördelar genom att växla till en 64-bitars version av Linux-distributionen.
Adress Rymdlayout Randomization
ASLR är en säkerhetsfunktion som gör att ett programs datortillstånd slumpmässigt ordnas i minnet. Före ASLR kan ett programs datortillstånd 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 man försöker utnyttja en sårbarhet i ett program. En felaktig gissning kan leda till att programmet kraschar, så angriparen kommer inte att kunna försöka igen.
Denna säkerhetsfunktion används också på 32-bitars versioner av Windows och andra operativsystem, men det är mycket kraftfullare på 64-bitars versioner 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 körsignering
64-bitarsversionen av Windows verkställer obligatorisk registrering av drivrutiner. Alla förarkoder på systemet måste ha en digital signatur. Detta inkluderar drivrutinsdrivrutiner och drivrutiner för användarläge, t.ex. skrivardrivrutiner.
Obligatorisk körsignering förhindrar oönskade drivrutiner som tillhandahålls av skadlig kod från att köra på systemet. Skribentförfattare måste på något sätt kringgå signeringsprocessen genom en rootkit i starttid eller lyckas underteckna de infekterade drivrutinerna med ett giltigt certifikat som stulits från en legitim drivrutinsutvecklare. Detta gör det svårare för smittade drivrutiner att köra på systemet.
Driver-signering kan också verkställas på 32-bitars versioner av Windows, men det är inte sannolikt för fortsatt kompatibilitet med gamla 32-bitars drivrutiner som kanske inte har skrivits.
Om du vill inaktivera drivrutinsregistrering under utveckling på 64-bitarsversioner av Windows måste du bifoga en kärnfelsökare eller använda ett speciellt startalternativ som inte kvarstår över systemåterstart.
Kärnpatchskydd
KPP, även känd som PatchGuard, är en säkerhetsfunktion som bara finns på 64-bitars versioner av Windows. PatchGuard förhindrar programvara, även drivrutiner som körs i kärnläge, från att patchera Windows-kärnan. Detta har alltid varit obefintligt, men det är tekniskt möjligt med 32-bitars versioner av Windows. Några 32-bitars antivirusprogram har genomfört sina antivirusskyddsåtgärder med hjälp av kärnpatchning.
PatchGuard förhindrar enhetsdrivrutiner att klämma fast kärnan. Till exempel förhindrar PatchGuard rootkits från att ändra Windows-kärnan för att integrera sig i operativsystemet. Om ett försök på kärnpatchning upptäcks stängs Windows omedelbart av med en blå skärm eller omstart.
Detta skydd kan sättas in på 32-bitarsversionen av Windows, men det har inte varit sannolikt för fortsatt kompatibilitet med äldre 32-bitars programvara som beror på denna åtkomst.
Data Execution Protection
DEP tillåter ett operativsystem att markera vissa minnesområden som "icke-exekverbara" genom att ange en "NX bit". Områden med minne som endast ska innehålla data kommer inte att köras.
Till exempel, på ett system utan DEP, kan en angripare använda någon form av buffertöverflöde för att skriva kod till en region i ett programs minne. Denna kod kan då utföras. Med DEP kan angriparen skriva kod till en region i programmets minne - men den här regionen skulle vara markerad som inte körbar och kunde inte utföras, vilket skulle stoppa attacken.
64-bitars operativsystem har hårdvarubaserad DEP. Även om detta stöds även på 32-bitars versioner av Windows om du har en modern CPU, är standardinställningarna strängare och DEP är alltid aktiverat för 64-bitars program, medan det är inaktiverat som standard för 32-bitars program av kompatibilitetsskäl.
DEP-konfigurationsdialogrutan i Windows är lite vilseledande. Som Microsofts dokumentation anger används DEP alltid för alla 64-bitars processer:
"System DEP-konfigurationsinställningar gäller endast för 32-bitars applikationer och processer när de körs på 32-bitars eller 64-bitarsversioner av Windows. I 64-bitarsversioner av Windows, om hårdvaruhandskas DEP är tillgänglig, tillämpas den alltid på 64-bitars processer och kärnminneutrymmen och det finns inga systemkonfigurationsinställningar för att inaktivera det. "
WOW64
64-bitars versioner av Windows kör 32-bitars Windows-programvara, men de gör det via ett kompatibilitetslager som kallas WOW64 (Windows 32-bitars på Windows 64-bitars). Detta kompatibilitetslager verkställer vissa begränsningar för dessa 32-bitars program, vilket kan förhindra att 32-bitars skadlig kod fungerar som den ska. 32-bitars skadlig kod kommer inte heller att köras i kärnläge - endast 64-bitarsprogram kan göra det på ett 64-bitars OS - så det kan förhindra att vissa äldre 32-bitars skadliga program fungerar som de ska. Om du till exempel har en gammal ljud-CD med Sony rootkit på den, kommer den inte att kunna installera sig på en 64-bitarsversion av Windows.
64-bitars versioner av Windows släpper också stöd för gamla 16-bitarsprogram. Förutom att förhindra att gamla 16-bitars virus körs, kommer det också att tvinga företagen att uppgradera sina gamla 16-bitars program som kan vara sårbara och oförlästa.
Med tanke på hur utbredda 64-bitarsversioner av Windows nu är, kommer ny malware troligtvis att kunna köras på 64-bitars Windows. Bristen på kompatibilitet kan dock bidra till att skydda mot gammal skadlig kod i naturen.
Om du inte använder knackiga gamla 16-bitars program, gamla maskinvaror som bara erbjuder 32-bitars drivrutiner eller en dator med en ganska gammal 32-bitars CPU, ska 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, brukar du använda 64-bitarsutgåvan.
Naturligtvis är ingen av dessa säkerhetsfunktioner otrygga och en 64-bitarsversion av Windows är fortfarande sårbar för skadlig programvara. Men 64-bitars versioner av Windows är definitivt säkrare.
Bildkrediter: William Hook på Flickr