Почему 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 (32-разрядная версия Windows в 64-разрядной версии Windows). Этот уровень совместимости накладывает некоторые ограничения на эти 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 определенно более безопасны.
Кредит Фотографии: Уильям Хук на Flickr