18Aug

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-bitarsversioner 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 immun mot skadlig programvara, men de har fler säkerhetsfunktioner. Några 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 Utrymme Layout Randomisering

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 även 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 drivrutinssignering

64-bitarsversionen av Windows verkställer obligatorisk registrering av drivrutiner. All körkod på systemet måste ha en digital signatur. Detta inkluderar drivrutins drivrutiner för drivrutiner och drivrutiner för användarläge, t.ex. skrivardrivrutiner.

Obligatorisk chauffö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 infekterade drivrutiner att köra på systemet.

Driver signering kan också tillämpas 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.

För att 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 vid systemåterstart.

Kärnkroppsskydd

KPP, även känd som PatchGuard, är en säkerhetsfunktion som endast 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 implementerat sina antivirusskyddsåtgärder med hjälp av kärnpatchning.

PatchGuard förhindrar enhetsdrivrutiner att klistra in 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 områden av minnet som "icke-exekverbar" genom att ställa in en "NX bit". Områden med minne som endast ska innehålla data kommer inte att köras.

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 programmets 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-bitarsversioner 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 avstängt 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-bitars versioner av Windows. På 64-bitarsversioner av Windows, om hårdvaruförsörjd 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örs32-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öretag 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 skadlig kod sannolikt 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.

Ingen av dessa säkerhetsfunktioner är naturligtvis idiotsäker, 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