Чому 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 вимагає підписання обов'язкового драйвера. Весь код драйвера системи повинен мати цифровий підпис. Це включає в себе драйвери пристроїв режиму ядра та драйвери режиму користувача, такі як драйвери принтера.
Обов'язкове підписання драйвера запобігає запуску в системі непідписаних драйверів, що надаються шкідливими програмами. Авторам шкідливого програмного забезпечення доведеться якось обходити процес підписання за допомогою руткіту завантаження або вдатися до підписання заражених драйверів дійсним сертифікатом, викраденим у законного розробника драйверів. Це ускладнює запуск інфікованих драйверів у системі.
Підписання драйверів також може бути застосовано на 32-розрядних версіях Windows, але це не так - ймовірно, для продовження сумісності зі старими 32-розрядними драйверами, які, можливо, не підписані.
Щоб вимкнути підписання драйверів під час розробки на 64-розрядних версіях Windows, вам доведеться приєднати відладчик ядра або скористатися спеціальною опцією запуску, яка не зберігається в перезавантаженнях системи.
Захист виправлення ядра
KPP, також відомий як PatchGuard, є функцією безпеки, яка доступна лише для 64-розрядних версій Windows. PatchGuard не дозволяє програмному забезпеченню, навіть драйверам, що працюють у режимі ядра, виправити ядро Windows. Це завжди не підтримувалося, але це технічно можливо на 32-розрядних версіях Windows. Деякі 32-розрядні антивірусні програми реалізували свої антивірусні засоби захисту, використовуючи виправлення ядра.
PatchGuard запобігає виправлення драйверів пристроїв ядра. Наприклад, PatchGuard перешкоджає руткітам змінювати ядро Windows, щоб вставити себе в операційну систему. Якщо виявляється спроба виправлення ядра, Windows негайно закриється синім екраном або перезавантажується.
Цей захист може бути застосований у 32-розрядної версії Windows, але він не був, ймовірно, продовжувати сумісність з попереднім 32-бітним програмним забезпеченням, яке залежить від цього доступу.
Захист виконання даних
DEP дозволяє операційній системі позначити певні області пам'яті як "не виконувані", встановивши "біт NX". Області пам'яті, які тільки повинні зберігати дані, не будуть виконуватися.
Наприклад, у системі без DEP зловмисник може використовувати деякий тип переповнення буфера для запису коду в область пам'яті програми. Цей код може бути виконаний. З DEP зловмисник може написати код в область пам'яті програми - але цей регіон буде позначений як не виконуваний і не може бути виконаний, що зупинить атаку.
64-розрядні операційні системи мають апаратну DEP. Хоча це також підтримується для 32-розрядних версій Windows, якщо у вас є сучасний процесор, налаштування за замовчуванням є більш суворими, а 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-бітній шкідливій програмі працювати належним чином. Наприклад, якщо у вас є старий аудіо компакт-диск із руткітом Sony, він не зможе встановити себе на 64-розрядної версії Windows.
64-розрядні версії Windows також видаляють підтримку старих 16-розрядних програм. На додаток до запобігання виконанню стародавніх 16-бітних вірусів, це також змусить компанії модернізувати свої давні 16-розрядні програми, які можуть бути вразливими та ненаправленими.
Враховуючи, наскільки широко поширені 64-розрядні версії Windows, нові зловмисні програми, ймовірно, будуть здатні працювати на 64-розрядних Windows. Однак, відсутність сумісності може допомогти захистити від старих шкідливих програм у дикій природі.
Якщо ви не використовуєте скрипучі старі 16-розрядні програми, старі апаратні засоби, які пропонують лише 32-розрядні драйвери, або комп'ютер із досить старим 32-бітним процесором, ви повинні використовувати 64-розрядну версію Windows. Якщо ви не впевнені, яку версію ви використовуєте, але у вас є сучасний комп'ютер з операційною системою Windows 7 або 8, ви, ймовірно, використовуєте 64-бітне видання.
Звичайно, жодна з цих функцій безпеки не є надійною, а 64-бітна версія Windows залишається вразливою до шкідливих програм. Однак 64-розрядні версії Windows, безумовно, є більш безпечними.
Зображення: William Hook на Flickr