На прошлой неделе были раскрыты детали о найденных крупных аппаратных уязвимостях в процессорах Intel, ARM и AMD. Реализация данных уязвимостей позволяет злоумышленнику при локальном доступе к системе получить доступ на чтение данных из привилегированной памяти ядра системы. Обе найденные уязвимости присутствуют в процессорной технологии спекулятивного исполнения команд, позволяющей современным процессорам «предугадывать», какие команды нужно выполнить в дальнейшем, что приводит к общему росту производительности системы.
- Базовая информация об уязвимости Meltdown
- Базовая информация об уязвимости Spectre
- Как проверить, уязвима ли ваша система
- Обновление прошивки
- Обновления безопасности Windows для защиты от уязвимости Meltdown и Spectre
- Что делать, если патч не устанавливается
- Падение производительности системы после установки обновлений защиты от Meltdown и Spectre
Базовая информация об уязвимости Meltdown
Уязвимость Meltdown (CVE-2017-5754) затрагивает только процессоры Intel и ARM (процессоры AMD уязвимости не подвержены).
Реализация уязвимости Meltdown позволяет нарушить изоляцию между пользовательскими приложениями и ядром ОС. Атакующий может получить доступ к защищенным данным, обрабатывающимся ядром ОС. Данной уязвимости подвержены практически все модели процессоров Intel, выпущенные за последние 13 лет (кроме процессоров Intel Itanium и Intel Atom до 2013 года)
Базовая информация об уязвимости Spectre
Уязвимость Spectre (CVE-2017-5753 и CVE-2017-5715). Данная уязвимость присутствует как на процессорах Intel с ARM, так и AMD. При реализации уязвимости из одной программы можно получить доступ к памяти другой программы или сервиса (украсть пароли, персональные данные и т.д.). Реализовать атаку через уязвимость Spectre намного сложнее, чем через Meltdown, но, соответственно, и защитится от нее сложнее.
Как проверить, уязвима ли ваша система
Microsoft выпустила специальный Powershell модуль SpeculationControl для тестирования наличия процессорной уязвимости в вашей системе (проверяется как наличие обновления прошивки BIOS/firmware, так и патча для Windows).
Модуль SpeculationControl можно установить через менеджер пакетов из галереи Powershell:
Save-Module -Name SpeculationControl -Path c:\tmp\SpeculationControl
Install-Module -Name SpeculationControl
Или скачать в виде zip архива с TechNet.
$SaveExecutionPolicy = Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned -Scope Currentuser
Import-Module .\SpeculationControl.psd1
Get-SpeculationControlSettings
В моем случае модуль вернул следующие данные:
Hardware support for branch target injection mitigation is present: False
Windows OS support for branch target injection mitigation is present: False
Windows OS support for branch target injection mitigation is enabled: False
Speculation control settings for CVE-2017-5754 [rogue data cache load]
Hardware requires kernel VA shadowing: True
Windows OS support for kernel VA shadow is present: False
Windows OS support for kernel VA shadow is enabled: False
Suggested actions
* Install BIOS/firmware update provided by your device OEM that enables hardware support for the branch target injection mitigation.
* Install the latest available updates for Windows with support for speculation control mitigations.
* Follow the guidance for enabling Windows Client support for speculation control mitigations described in https://support.microsoft.com/help/4073119
BTIHardwarePresent : False
BTIWindowsSupportPresent : False
BTIWindowsSupportEnabled : False
BTIDisabledBySystemPolicy : False
BTIDisabledByNoHardwareSupport : False
KVAShadowRequired : True
KVAShadowWindowsSupportPresent : False
KVAShadowWindowsSupportEnabled : False
KVAShadowPcidEnabled : False
Как вы видите, в данном случае компьютер уязвим и к Meltdown (CVE-2017-5754), и к Spectre (CVE-2017-5715). Отсутствуют как аппаратное обновление прошивки, так и для патч Windows.
Не забудьте вернуть политику исполнения PowerShell на изначальную:
Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser
Обновление прошивки
Т.к. проблема связана с аппаратным обеспечением, в первую очередь необходимо проверить сайт вендора вашего устройства на наличие обновления прошивки BIOS/firmware для вашей системы. Если такой прошивки пока нет – нужно как минимум установить обновления безопасности, блокирующей доступ к чужой памяти на уровне ОС.
Обновления безопасности Windows для защиты от уязвимости Meltdown и Spectre
Microsoft довольно оперативно опубликовала обновления безопасности, которые должны защитить операционную систему Windows от реализации атак через уязвимости Meltdown и Spectre.
Были выпущены обновления как для Windows 10, так и для Windows 7 / Windows Server 2008 R2 (KB4056897 ) и Windows 8.1/ Windows Server 2012 R2 (KB4056898).
Обновления должны автоматически установиться на компьютере через Windows Update / WSUS.
Для ручного скачивания и установки обновления, можно воспользоваться следующими ссылками на каталог обновлений Windows Update.
- Windows 10 1507 – KB4056893 — https://www.catalog.update.microsoft.com/Search.aspx?q=kb4056893
- Windows 10 1511 – KB4056888 — https://www.catalog.update.microsoft.com/Search.aspx?q=kb4056888
- Windows 10 1607 – KB4056890 — https://www.catalog.update.microsoft.com/Search.aspx?q=kb4056890
- Windows 10 1703 – KB4056891 — https://www.catalog.update.microsoft.com/Search.aspx?q=kb4056891
- Windows 10 1709 — KB4056892 — https://www.catalog.update.microsoft.com/Search.aspx?q=kb4056892
- Windows 8.1 x86/x64 и Windows Server 2012 R2 (KB4056898): https://www.catalog.update.microsoft.com/Search.aspx?q=KB4056898
- Windows 7 SP1 x86/x64, Windows Server 2008 R2 и Windows Embedded Standard 7 (KB4056897): https://www.catalog.update.microsoft.com/Search.aspx?q=KB4056897
Что делать, если патч не устанавливается
Некоторые сторонние антивирусы могут блокировать установку обновлений, закрывающих уязвимости Meltdown и Spectre. В этом случае рекомендуется в ветке реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat найти ключ cadca5fe-87d3-4b96-b7fb-a231484277cc, изменить его значение на 0 и перезагрузить компьютер.
reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat” /v cadca5fe-87d3-4b96-b7fb-a231484277cc /t REG_DWORD /d 0 /f
После перезагрузки нужно попробовать установить обновление еще раз.
Также имеется информация о несовместимости некоторых антивирусов с данными обновлениями, т.к. они обращаются к памяти ядра методом, схожим с Meltdown.
Если обновление не устанавливается с ошибкой 0x80070643, убедитесь, возможно патч уже установлен, либо версия патча не соответствует версии ОС.
В некоторых случаях при установки обновления KB4056894 на Windows 7, система после перезагрузки падает в BSOD с ошибкой 0x000000c4 и перестает грузится. В данном случае поможет только удаление обновления через загрузочный диск/ диск восстановления.
dism /image:d:\ /remove-package/packagename:Package_for_RollupFix~31bf3856ad364e35~amd64~~7601.24002.1.4 /norestart
Падение производительности системы после установки обновлений защиты от Meltdown и Spectre
По имеющейся информации данные обновления Windows уменьшают общую производительность системы на 5-30% в зависимости от версии процессора и используемого ПО. Также отмечается увеличение температуры CPU. Связано это с тем, что существенно изменяется схема работы ядра Windows с памятью. Так замедляются вызовы со сменой уровня привилегий — системным вызовам приходится дополнительно переключаться на другую таблицу страниц, описывающую всю память ядра ОС
Временно отключить защиту можно изменив следующие ключи реестра:
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
Включить защиту:
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
По информации от Intel, на процессорах Skylake и более новых, падение производительности незначительное. Судя по всему, больше всего проблему падения производительности почувствуют пользователи высоконагруженные облачные сервера с высокой плотностью ВМ/сервисов.
Заметил, что после установки патча, виртульные машины Hyper-V перестают перемещаться между пропатченным и непропатченным хостом.
Также нужно обновить версию браузера, иначе скрипты (в т.ч. js), выполняющиеся в контексте браузера, могут получить доступ к данным системы или другого приложения.
Отдельно патчить Edge и IE 11 не нужно достаточно установить security апдейт на Windows для нужной архитектыры
В случае Google Chrome нужно обновится до версии >=64 или включить политику изоляции сайтов:
HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\SitePerProcess = 1
Для пользователей Firefox нужно иметь версию >=57.0.4
Коллеги, как у вас с падением произ-тва после патчей ? Оч заметно?
4 сервера — WS 2012 R2 — полет нормальный. Правда и средняя загрузка не очень высокая — около 50%.
Думаю лучше всего проверять наличие тормозов от апдейта в свежих игрушках на высоких настройках ))
В свежих игрушках обычно страдает оптимизация самих игр. Особенно сразу после релиза.
Последняя Windows 10 1709.
Замерял в 7Zip время упаковки одной и той же папки размером 2 Гб. До установки патча KB4056892 папка упаковывалась за 120 секунд, после — 122 сек. Т.е. падения по сути нет, больше похоже на стат погрешность.
Вот «запланированное старение» постучалось и к процам… Маркетинг рулит миром!
Уверен — в скором времени будут найдены «уязвимости», для устранения которых нужно будет пожертвовать 50, 70 % производительности CPU. Сейчас патчи не влияют на большинство задач? Будут! Нет прецедентов реальных атак? Тоже будут!
Обновления, понижающие производительность устройств будут внедрены насильно, не сомневайтесь. Через патчи, драйвера и прошивки.
Цель одна — заставить весь мир сдать на лом свои девайсы и раскошелиться дружно на новые!
Мир висит на крючке технологий, и ничто не должно долго и надежно работать — в этом суть прогресса!
Show mast go on!
полностью согласен, отношусь ко всему скептически… столько времени существовали эти якобы уязвимости и ничего..дурят,нас, крестьян, разводят на даллары.скоро в связи с безопасностью обязуют купить вебку чтоб она вегда транслировала куда надо.. трындец короче
Глупости. Всех технических специалистов не задурить. Код эксплоита доступен. Обновляются все и фирмы и линуксы, а там не дураки сидят. Иногда бывают и совпадения — миром правит не тайная ложа, а полная лажа.
Перестал работать переводчик Promt, причём любой версии.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AppID\{00D76C51-7A7D-4eb5-AEB0-409804F94DEA}]
«AuthenticationLevel»=dword:00000003
[HKEY_CLASSES_ROOT\AppID\{DB81C589-DC8A-42EB-8B27-5507746178D9}]
«AuthenticationLevel»=dword:00000003
Думаю не стоит торопиться обновления накатывать
Судя по информации BSOD после установки обновления появляется только на старых процах AMD. Решение есть в статье: удаление проблемного апдейта через загрузочный диск.
На данный момент MSFT уже отозвала патчи для процессоров Intel, похоже реально массово зацепило обладателей AMD.
PS. Прям анекдот: не используйте процессоры AMD, винда на них не грузится после установки патча, закрывающего дыру в процессорах Intel.
Список процессоров AMD, на которых патч вызывает проблему:
AMD Athlon X2 6000+
AMD Athlon X2 5600+
AMD Athlon X2 5400+
AMD Athlon X2 5200+
AMD Athlon X2 5050e
AMD Athlon X2 4800+
AMD Athlon X2 4600+
AMD Athlon X2 4200+
AMD Athlon X2 3800+
AMD Athlon X2 BE-2400
AMD Opteron 285
AMD Opteron 2218
AMD Opteron 2220
AMD Semprom 3400+
AMD Turion X
У меня перестал работать AISuite II для мат. плат Asus(i5 2500K | Maximus IV GENE-Z).
А что делать дл защиты от Meltdown и Spectre на windows xp и windows server 2003? Не могу найти для них патчей.
Нет, на странице с KB 4073757 Microsoft четко указывает, что устаревшие системы, такие, как Windows Vista, Windows XP и Windows Server 2003 подвержены уязвимости, но патчей для этих ОС выпускать не планируется.
Хотя тут все зависит от масштаба эксплуатации этих уязвимостей в ближайшем будущем. Уже несколько раз MSFT выпускала патчи для неподдерживаемых ОС (как в случае с WannaCry )
Как вариант, нужно ждать обновления BIOS/firmware от производителей железа.
Хотя Windows XP, Windows Vista, Windows 8 и Windows Server 2003 не поддерживаются, следовательно, для них обновление не вышло, на этих системах защититься от Meltdown и Spectre можно. А как — зависит от системы. Поскольку
Windows XP Embedded поддерживается, на этой системе нужно установить совместимый с ней современный антивирус и добавить его в автозагрузку. Если антивирус запустится, запустить полную проверку, закрыть окно антивируса, зайти на сайт Windows Update, и, если есть доступные обновления — установить их. На Windows XP (кроме 64-битной и Embedded) нужно установить совместимый с ней современный антивирус и все обновления для Windows XP Embedded, вышедшие не в этом году. Антивирус добавить в автозагрузку, и, если он запустится — запустить полную проверку, закрыть окно антивируса, зайти на сайт Windows Update, и, если есть доступные обновления — установить их. На 64-битной Windows XP и Windows Server 2003 защититься от Meltdown и Spectre нельзя. Чтобы защититься от этих уязвимостей на Windows Vista, нужно установить совместимый с ней современный антивирус и все обновления для Windows Server 2008, вышедшие не в этом году. Антивирус добавить в автозагрузку, и, если он запустится — запустить полную проверку, закрыть окно антивируса, запустить Центр обновления Windows, и, если есть доступные обновления — установить их. На 32-битной Windows 8 нужно установить совместимый с ней современный антивирус и все обновления для Windows 8 Embedded, вышедшие не в этом году. Антивирус добавить в автозагрузку, и, если он запустится — запустить полную проверку, закрыть окно антивируса, запустить Центр обновления Windows, и, если есть доступные обновления — установить их. На 64-битной Windows 8 нужно установить совместимый с ней современный антивирус и все обновления для Windows Server 2012, вышедшие не в этом году. Антивирус добавить в автозагрузку, и, если он запустится — запустить полную проверку, закрыть окно антивируса, запустить Центр обновления Windows, и, если есть доступные обновления — установить их.
Иконки повесить на системники )))
У меня вот Hyper-V Server 2012 R2 (процессор Intel) так и не видит январского кумулятивного патча. Обычные сервера 2012 R2 видят, а Hyper-V — нет. И вот интересно — это опять глюк какой-то, что про существование Hyper-V забыли или MS придерживает пока как в случае с серверами на процессоре AMD?
Видимо стоит руками патч выкачать и поставить.
Согласно гайду MSFT хосты Hyper-V в зоне повышенного риска
Your server is at increased risk if it is in one of the following categories:
Hyper-V hosts – Requires protection for VM to VM and VM to host attacks.
To enable the fix
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 «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization» /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d «1.0» /f
If this is a Hyper-V host and the firmware updates have been applied: fully shutdown all Virtual Machines (to enable the firmware related mitigation for VMs you have to have the firmware update applied on the host before the VM starts).
Restart the server for changes to take effect.
Руками-то понятно. Но с другой стороны есть у меня сервер на AMD Opteron 2218 и он тоже апдейт этот не видит. Вот полез бы я руками его ставить и привет. Не получилось бы также с Hyper-V. Может не с проста он его не видит?
Оказалось, что надо просто руками в реестре ключ прописать (флаг совместимости). Тот который антивирусы должны прописывать. После этого апдейты становятся доступны для скачивания.
У меня на гипервизорах нет антивируса, соответственно ключ этот там не создался. А MS официально уже написали — если нет антивируса, то надо прописывать ключ руками иначе январские и последующие апдейты ставится не будут (пруф: https://support.microsoft.com/en-us/help/4072699/january-3-2018-windows-security-updates-and-antivirus-software).
Почему сразу об этом не подумал? Потому что на некоторых других серверах 2012 R2 где тоже нет антивируса эти апдейты были видны сразу. Почем так не знаю. Возможно потому что ставил в первый день как их выкатили и этот ключ еще был не обязателен. Хотя его наличие вроде сразу было как требование для установки апдейтов. Не знаю короче.
Спасибо за ползную инфу — почему-то об этом нигде инфы не видел. Видимо очередной бардак у команды разработки обновлений 🙂
Сергей, спасибо за инфу!
а где вводить код дляя выключения патча от мелтдауна и спектра?
cmd.exe -> runas admin
У меня перестал работать asustec II 2.04.01.
Спасибо за статью!
У вас вроде как опечаточка по перечисленным обновлениям:
Для Windows 7 / Windows Server 2008 R2 не (KB4056898), а KB4056897
Для Windows 8.1 / Windows Server 2012 R2 не (KB4056897), а KB4056898
Читал еще об этом тут
оттуда можно добавить в вашу статью список обновлений и версий.
Спс за замечание, поправил (изначально ссылки дал на правильные обновления, а по тексту ошибся, извнияюсь)
после установки kb4056891 в ручном режиме, слетела винда ,появилось сообщение scanning and repairing drive c,процессор интел ай5 сандибридж и десятка- 1703
Попробуйте отключить проверку диска при загрузке системы: https://winitpro.ru/index.php/2010/10/19/kak-otklyuchit-proverku-diska-chkdsk-pri-zagruzke-v-windows/
Установка данных патчей против Meltdows/ Spectre ломает возможность теневого подключения к сессиям пользователей на RDS серверах (как на Windows Server 2012 R2, так и на Windows Server 2016) — Неопознанная ошибка / Unspecified error
Для исправления проблемы нужно установить обновления:
для Windows Server 2016 — KB4057142 (от 17 января 2018)
для Windows Server 2012 R2 — KB4057401 (от 17 января 2018)
Подробности тут: https://winitpro.ru/index.php/2014/02/12/rds-shadow-v-windows-2012-r2/#comment-79549
Здравствуйте, подскажите пожалуйста что делать если после применения патча
Windows OS support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is enabled: False
как его включить «Windows OS support for branch target injection mitigation»?
После установки обновлений Metdown/Spectre, нужно «включать» патч через реестр (ну или групповыю политику, если сразу на всех компьютерах)
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
Подскажите пожалуйста что делать если не закрывается уязвимость?
Hardware support for branch target injection mitigation is present: False
Windows OS support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is enabled: False
Windows OS support for branch target injection mitigation is disabled by system policy: False
Windows OS support for branch target injection mitigation is disabled by absence of hardware support: True
Я так понял прошивка BIOS обязательна?
А что делать если прошивки на сайте производителя нет и вообще железо старое? Спасибо!
Да, нужна прошивка firmware. У intel пока с прошивкой не очень, в январе они быстро выпустили релиз, но быстро его отозвали из-за проблем. Тестируют видимо до сих пор.
Что делать со старым железам — решайте сами 🙂 Возможно и для старых систем что-то будет со временем.
Ну вот и всё. «Intel отменила выпуск заплаток для устранения уязвимости Spectre» http://vnokia.net/news/windows-phone/5358-intel-otmenila-vypusk-zaplatok-dlya-ustraneniya-uyazvimosti-spectre
И исправила уязвимости в своих новейших процессорах. https://tproger.ru/news/intel-spectre-meltdown/
Маркетинг как он есть.
Microsoft отказалась от проверки ключей реестра для антивирусов во всех версиях Windows
https://www.securitylab.ru/news/492626.php
На Sandy Bridge пришлось шаманить программатором. Но например на мамках Asus P8P67 всё проще простого и процедура прошла очень гладко. Полёт нормальный!
Пожалуй только так! И только на свой страх и риск!
В прочем бага не такая серьёзная, как о ней малюют, использовать её крайне сложно, так что можно не заморачиваться. Только если безопасность крайне важна со всех сторон, особенно в виртуальной среде
Я правильно понимаю, что надо выцепить микрокод из какой-нибудь прошивки биоса для мамки где производитель не забил на обновления и внедрить в прошивку нужной нам мамки?
Есть где-нибудь инструкции и инструментарий? Когда-то очень давно на сайте rom.by подобное было. Но сейчас я смотрю сайт уже видимо сменил владельца и ничего такого там нет.
MS выпустили обновления микрокодов средствами Windows (здесь: https://support.microsoft.com/en-us/help/4093836/summary-of-intel-microcode-updates). Но только для Windows 10/Server 2016. Для остальных (поддерживаемых, на минуточку) ОС пока только «ожидается».
Для Linux пакеты с обновлениями микрокодов доступны вроде уже. Впрочем я в Линуксе очень поверхностно, что бы точно утверждать.
Вот смотрю — и ставить обновлялки для win8.1 (посл.обновления 07.2017) не буду. так посижу )))
Может уже стоило бы на 10-ку обновиться или так и сидите?)
обновляться на самую мусорную систему — не очень умный шаг.