ZeRO и No-FAT: аппаратная защита памяти без потери производительности

ZeRO и No-FAT: аппаратная защита памяти без потери производительности

ZeRO и No-FAT: аппаратная защита памяти без потери производительности

Исследователи из Колумбийского университета предложили два новаторских способа обеспечения безопасности по памяти аппаратными средствами. Оба метода можно реализовать, слегка изменив микроархитектуру. Тестирование показало, что при подходе No-FAT снижение производительности незначительно — около 8%; в случае ZeRØ потери равны нулю.

Безопасность доступа к памяти — давняя проблема, о которой каждый раз вспоминают при появлении серьезных угроз. За сорок лет было предложено множество различных решений, но они либо плохо работали, либо требовали жертв. Меры противодействия эксплойту Spectre и Meltdown, например, повлекли падение производительности — в среднем на 20%, в отдельных случаях в два раза. Кроме того, с появлением новых угроз используемая защита может потерять свою эффективность, и специалистам придется искать альтернативные решения.

Согласно описанию ZeRØ (PDF), этот механизм позволяет обеспечить защиту кода и указателей системы, притом без поражения в производительности. Его реализация предполагает замену инструкций обращения к памяти и схемы кодирования метаданных — по словам авторов проекта, эти изменения можно привнести в современные процессоры без особого труда. Университетские исследователи предлагают использовать ZeRØ в дополнение к средствам противодействия атакам на память.

 

Техника No-FAT (PDF) была разработана с прицелом на снижение потребления ресурсов при проверках безопасности по памяти. С этой целью авторы исследования предложили использовать группировку распределителей памяти (memory allocator binning) — набрающий популярность метод, который позволяет ускорить вычисление начального адреса и размера участка памяти, выделенного под указатель, притом выполнять это во время доступа к данным.

Применение No-FAT, по словам разработчиков, снимает многие проблемы, свойственные традиционным подходам, — такие как совместимость с незащищенным софтом и заметное падение производительности. Прогон тестов SPEC CPU2017 показал, что при новом способе защиты памяти быстродействие снижается примерно на 8%.

Среди прочих достоинств создатели No-FAT особо отметили надежную защиту от некоторых видов Spectre-атак. Их метод также позволяет значительно ускорить фаззинг при поиске уязвимостей, автоматическую очистку памяти, улучшить предсказуемость предвыборки данных и работы контроллеров DRAM.

 

Финансирование проектов ZeRØ и No-FAT частично осуществлялось за счет грантов, полученных от ВМС и ВВС США, а также целевой дотации Qualcomm. Спецподразделение ВВС уже работает над созданием чипов с новой встроенной защитой.

В Windows 11 нашли способ включить нативный NVMe — SSD ускорились до 15%

Microsoft сделала важный шаг в сторону ускорения Windows — компания объявила, что Windows Server 2025 получит нативную поддержку NVMe-накопителей. Есть хорошая новость для обычных пользователей: поскольку архитектура Windows 11 во многом унаследована от Windows 10, энтузиасты уже нашли способ включить нативную NVMe-поддержку вручную — через правку реестра.

И, судя по первым отзывам, эффект вполне ощутимый. Пользователи, которые решились на эксперимент, сообщают о:

  • снижении задержек;
  • росте скорости чтения и записи;
  • приросте производительности примерно на 10–15%;
  • снижении нагрузки на процессор.

 

 

Кроме того, система становится устойчивее в сценариях с активной работой с диском — когда несколько приложений одновременно нагружают хранилище, Windows реже «замирает» целиком.

 

Впрочем, магии для всех не случилось: часть пользователей признаётся, что не заметила вообще никаких изменений после включения функции.

Исторически Windows работает со всеми накопителями через SCSI. Даже NVMe-диски в системе фактически «притворяются» SCSI-устройствами — команды NVMe просто переводятся в понятный Windows формат. Под это поведение за годы подстроились драйверы, утилиты и софт.

При переходе на нативный NVMe этот слой исчезает — и тут начинаются нюансы:

  • некоторые утилиты управления дисками перестают видеть NVMe-накопители;
  • другие, наоборот, обнаруживают их дважды;
  • может измениться идентификатор диска, из-за чего программы резервного копирования и другой софт теряют накопитель.

По данным Microsoft, нативная NVMe-поддержка в Windows рассчитана на 64 000 очередей, каждая из которых может обрабатывать 64 000 команд одновременно. В теории — это более 4 миллиардов операций в очереди.

Для сравнения: SCSI-протоколы ограничены 32 командами на очередь. Разница — колоссальная, особенно с учётом современных NVMe-дисков и систем с DDR5.

Если вы любите выжимать максимум из железа — попробовать можно уже сейчас, инструкции доступны. Но есть важное «но»:
перед экспериментами обязательно сделайте резервную копию системы или протестируйте всё в виртуальной среде. Правка реестра на таком уровне вполне может привести к нестабильной работе Windows.

В долгосрочной перспективе нативный NVMe, скорее всего, станет стандартом, когда разработчики начнут учитывать его в своих продуктах. А пока это история для энтузиастов, которые готовы немного рискнуть ради скорости.

RSS: Новости на портале Anti-Malware.ru