If-Koubou

Защо 64-битовата версия на Windows е по-сигурна

Защо 64-битовата версия на Windows е по-сигурна (Как да)

Повечето нови компютри се доставят с 64-битовата версия на Windows - както Windows 7, така и 8 - от години. 64-битовите битови версии на Windows не са само за да се възползвате от допълнителната памет. Те също са по-сигурни от 32-битовите версии.

64-битовите операционни системи не са имунизирани срещу злонамерен софтуер, но имат повече функции за сигурност. Някои от тях се отнасят и за 64-битовите версии на други операционни системи, като например Linux. Потребителите на Linux ще получат предимства за сигурността, като превключат на 64-битова версия на своята Linux дистрибуция.

Растерно разпределение на пространството

ASLR е защитна функция, която кара данните за местоположението на програмите да бъдат подредени случайно в паметта. Преди ASLR, местоположенията на данни в паметта на програмата биха могли да бъдат предсказуеми, което прави атаките на програмата много по-лесни. С ASLR, нападателят трябва да отгатне правилното място в паметта, когато се опитва да използва уязвимост в дадена програма. Неправилното отгатване може да доведе до срив в програмата, така че нападателят няма да може да опита отново.

Тази характеристика за защита се използва и за 32-битовите версии на Windows и други операционни системи, но е много по-мощна в 64-битовите версии на Windows. 64-битовата система има много по-голямо пространство от 32-битова система, което прави ASLR много по-ефективна.

Задължително подписване на водача

64-битовата версия на Windows налага задължително подписване на водача. Целият код на драйвера в системата трябва да има цифров подпис. Това включва драйвери за устройства с ядрото и драйвери за потребителски режими, като драйвери за принтер.

Задължителното подписване на шофьора не позволява на непредставените драйвери, предоставени от злонамерен софтуер, да работят в системата. Авторите на зловреден софтуер ще трябва по някакъв начин да заобиколят процеса на подписване чрез rootkit за стартиране или да успеят да подпишат заразените драйвери с валиден сертификат, откраднат от легитимен програмист на драйвери. Това прави по-трудно за заразените драйвери да работят в системата.

Подписването на драйвери може да бъде приложено и на 32-битови версии на Windows, но не е вероятно - за продължаване на съвместимостта със стари 32-битови драйвери, които може да не са подписани.

За да деактивирате подписването на драйвери по време на разработката на 64-битови издания на Windows, ще трябва да прикачите дебъгер на ядрото или да използвате специална опция за стартиране, която не се запазва при рестартиране на системата.

Защита на кръпка от ядрото

KPP, известен също като PatchGuard, е функция за защита, която се намира само на 64-битови версии на Windows. PatchGuard не позволява на софтуера, дори на драйверите, които се изпълняват в режим на ядрото, да се запълнят с ядрото на Windows. Това винаги е било неподдържано, но това е технически възможно при 32-битовите версии на Windows. Някои 32-битови антивирусни програми са внедрили антивирусните си мерки за защита, използвайки patching на ядрото.

PatchGuard възпрепятства драйверите на устройства да проследяват ядрото. Например, PatchGuard не позволява на rootkits да променят ядрото на Windows, за да се вградят в операционната система. Ако се установи опит за коригиране на ядрото, Windows ще се изключи веднага със син екран или рестартиране.

Тази защита може да бъде въведена в 32-битовата версия на Windows, но не е била - вероятно заради продължаващата съвместимост със стария 32-битов софтуер, който зависи от този достъп.

Защита на изпълнението на данни

DEP позволява на операционната система да маркира определени области от паметта като "неизпълними" чрез задаване на "NX бит". Плодовете на паметта, за които се предполага, че съхраняват данни само, няма да бъдат изпълними.

Например, на система без DEP, атакуващият може да използва някакъв вид препълване на буфера, за да напише код в област на паметта на приложението. Този код може да бъде изпълнен. При DEP нападателят може да напише код в регион от паметта на приложението - но този регион ще бъде маркиран като не-изпълним и не може да бъде изпълнен, което би спряло атаката.

64-битовите операционни системи имат хардуерно базиран DEP. Въпреки че това се поддържа и на 32-битови версии на Windows, ако имате съвременен CPU, настройките по подразбиране са по-строги и DEP винаги е активирана за 64-битови програми, докато по подразбиране е изключена за 32-битови програми поради причини за съвместимост.

Диалоговият прозорец за конфигуриране на DEP в Windows е малко подвеждащ. Както се посочва в документацията на Microsoft, DEP винаги се използва за всички 64-битови процеси:

"Настройките за конфигуриране на системния DEP се прилагат само за 32-битови приложения и процеси, когато се изпълняват на 32-битови или 64-битови версии на Windows. При 64-битови версии на Windows, ако е налице хардуерно наложен DEP, той винаги се прилага към 64-битови процеси и пространства на паметта на ядрото и няма настройки за системна конфигурация, които да го деактивират. "

WOW64

64-битовите версии на Windows изпълняват 32-битов софтуер за Windows, но го правят чрез слой за съвместимост, известен като WOW64 (Windows 32-bit на Windows 64-bit). Този слой за съвместимост налага някои ограничения върху тези 32-битови програми, което може да предотврати правилното функциониране на 32-битовия зловреден софтуер. 32-битовият злонамерен софтуер също няма да може да работи в режим на ядрото - само 64-битови програми могат да направят това на 64-битова операционна система - затова това може да попречи на по-старите 32-битови зловреден софтуер да функционират правилно. Например, ако имате стар аудио CD с rootkit на Sony, той няма да може да се инсталира на 64-битова версия на Windows.

64-битовите версии на Windows също изпускат поддръжка за стари 16-битови програми. В допълнение към предотвратяването на изпълнението на стари 16-битови вируси, това също ще принуди компаниите да подобрят своите стари 16-битови програми, които биха могли да бъдат уязвими и неподходящи.

Като се има предвид колко широко разпространени са 64-битовите версии на Windows, новият злонамерен софтуер вероятно ще може да работи на 64-битови Windows. Въпреки това, липсата на съвместимост може да помогне за защита срещу стария злонамерен софтуер в дивата природа.

Освен ако не използвате стари 16-битови програми, древен хардуер, който предлага само 32-битови драйвери или компютър с доста стар 32-битов CPU, трябва да използвате 64-битовата версия на Windows. Ако не сте сигурни коя версия използвате, но имате съвременен компютър с Windows 7 или 8, вероятно използвате 64-битовото издание.

Разбира се, нито една от тези функции за сигурност не е сигурна и 64-битовата версия на Windows все още е уязвима за злонамерен софтуер. Обаче 64-битовите версии на Windows определено са по-сигурни.

Image Credit: Уилям Хук на Flickr