Рекомендации по включению защиты от уязвимости Meltdown\Spectre #26
Данный документ дает рекомендации по включению защиты от уязвимости Meltdown. Решение для защиты от уязвимости Spectre пока еще в стадии разработки, поскольку для полной защиты требуются обновления BIOS\FW от производителя оборудования (на данный момент их ещё нет). Поэтому на этапе тестирования включения защиты будет информация только о включении доступных инструментов защиты.
 
Внимание владельцам ВМ с ОС Windows Server 2008 и Windows Server 2012: пакет исправлений для включения защиты от уязвимостей Spectre и Meltdows на данный момент не доступен для загрузки. Поэтому рекомендуем выполнить обновление до более старшей версии ОС Windows.
 
Основная защита.
Устранения уязвимостей ВМ c ОС Windows выполняется установкой последних обновлений, в число которых входит кумулятивный пакет обновлений KB4056896. Чтобы обновления безопасности стали доступны для загрузки и установки из центра обновления Windows, необходимо выполнение одного из следующих условий:
  1. В ОС должен быть установлен «совместимый» антивирус (совместимый с точки зрения последних обновлений безопасности от Microsoft). Для обновления антивируса возможно нужно будет применить соответствующие патчи. По ссылке представлены «совместимые» антивирусы и ссылки на патчи:
    https://docs.google.com/spreadsheets/d/184wcDt9I9TUNFFbsAVLpzAtckQxYiuirADzf3cL42FQ/htmlview?usp=sharing&sle=true
    Облакотека рекомендует именно этот вариант.
  2. Если в ОС нет антивируса, то можно самому установить ключ в реестре:
    Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat" Value="cadca5fe-87d3-4b96-b7fb-a231484277cc" Type="REG_DWORD” Data="0x00000000
    Ключ можно добавить с помощью выполнения указанной команды из командной строки (с правами администратора):
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat" /v cadca5fe-87d3-4b96-b7fb-a231484277cc /t REG_DWORD /d 0 /f
    Если в ОС есть антивирус, но он не является «совместимым» (см. п. А), то ставить ключ в реестре не следует! Это может привести к полной неработоспособности ОС!
 
Внимание! Перед установкой обновлений рекомендуем сделать снапшот ВМ! Эту процедуру можно выполнить самостоятельно из нашей панели управления СР.
 
Дополнительная защита.
Кроме установки последних обновлений мы рекомендуем включить дополнительную защиту от данных уязвимостей через ключи в реестре, в случае если:
  1. ВМ используется в роли Remote Desktop Session Host (RDSH);
  2. На ВМ выполняется ненадежный код, например, контейнеры или ненадежные расширения для базы данных, ненадежный веб-контент или рабочая нагрузка, которые запускают код, который предоставляется из внешних источников.
Включение защиты. В командной строке выполнить:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
НЕОБХОДИМО перезагрузить ВМ.
Выключение защиты. В командной строке выполнить:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
НЕОБХОДИМО перезагрузить ВМ.
 
 
Примечание! Для завершения настройки потребуется перезагрузка ВМ после внесения ключей в реестр. ВАЖНО, включения подобной защиты может приводить к замедлению работы ВМ до 30%. Поэтому, после включения защиты рекомендуем самостоятельно оценить производительность ВМ и приложений. Мониторинг можно выполнить до и после настройки, а загрузку по vCPU можно получить в свойствах ВМ в панели управления облаком. Также наша техподдержка может предоставить график загрузки vCPU у ВМ.
 
Проверка защиты.
Для проверки включения защиты ОС рекомендуем два способа:
  1. Используя утилиту для тестирования настройки безопасности, которую можно скачать по ссылке https://www.ashampoo.com/en/usd/lpa/spectre-meltdown-cpu-checker. Утилита показывает включение защиты от уязвимости Meltdown при условии установленных обновлений и включенной защиты через ключи реестра Memory Management (см. п. Дополнительная защита).
        2. Используя скрипт Мicrosoft, который можно скачать по ссылке https://aka.ms/SpeculationControlPS
 
Рассмотрим более подробно п.2. Для примера папку со скриптом разместили в корне диска С:/. Пример использования скрипта:
PS> # Сохранение текущей политики для возможности восстановления
PS> $SaveExecutionPolicy = Get-ExecutionPolicy
PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser
PS> CD С:\SpeculationControl
PS> Import-Module .\SpeculationControl.psd1
PS> Get-SpeculationControlSettings
PS> # Сброс политики в исходное состояние
PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser
 
 
 
Пример результата исполнения скрипта после основной и дополнительной защиты. На примере ниже зеленым цветом отображены включенные параметры защиты, красным – не включенные.
 
Кроме патчей для самой ОС, производители выпускают патчи и для другого ПО, например, для Microsoft SQL Server. Найти их можно в разделе «Guidance for SQL Server» по ссылке: https://www.thomasmaurer.ch/2018/01/microsoft-guidance-to-protect-against-speculative-execution-side-channel-vulnerabilities-on-windows-windows-server-and-azure-meltdown-spectre/