11 ноября 2020 года Microsoft выпустила пакет обновлений безопасности для Windows 10, которые устраняют аппаратную уязвимость типа Platypus путем обновления микрокода процессоров Intel. Патчи доступны для операционной системы Windows 10 версии 20H2, 2004, 1909, 1803 и более старых версий, а также для Windows Server 2016, 2019, 1903, 1909, 2004 и 20H2.
Список обновлений от Microsoft, которые исправляют уязвимости CVE-2020-8695 (уязвимость в Intel Running Average Power Limit (RAPL) Interface), CVE-2020-8696 (уязвимость в Vector Register Sampling) и CVE-2020-8698 (уязвимость в механизме прогнозирования быстрого сохранения):
- KB4589212 — для Windows 10 версии 2004 и 20H2, Windows Server версии 2004 и 20H2;
- KB4589211 — для Windows 10 версии 1903 и 1909, Windows Server версии 1903 и 1909;
- KB4589208 — для Windows 10 версии 1809, Windows Server 2019;
- KB4589206 — для Windows 10 версии 1803;
- KB4589210 — для Windows 10 версии 1607, Windows Server 2016;
- KB4589198 — для Windows 10 версии 1507.
Вышеперечисленные патчи микропрограммы Intel поддерживают следующие семейства процессоров: Amber Lake, Apollo Lake, Avoton, Broadwell, Cascade Lake, Cherry View, Coffee Lake, Comet Lake, Denverton, Gemini Lake, Haswell, Ice Lake, Ivy Bridge, Kaby Lake, Sandy Bridge, Skylake, Valley View / Baytrail.
После установки обновления микрокода процессора понадобится перезагрузка Windows 10.
В начале ноября этого года исследователи из Грацского технического университета, университета Бирмингема, а также Центра информационной безопасности имени Гельмгольца в Германии (CISPA) рассказали об открытии новой атаки Platypus (Power Leakage Attacks: Targeting Your Protected User Secrets). Атака использует RAPL-интерфейс процессоров Intel (Running Average Power Limit), который позволяет прошивке и программам контролировать энергопотребление DRAM и ЦП. Platypus использует RAPL, чтобы получить данные, которые обрабатывает ЦП, ориентируясь на показатели интерфейса и может обнаружить пароли, ключи шифрования и прочую защищенную информацию. Специалисты опубликовали информацию о Platypus на специальном сайте. Там же они выложили два видео с успешным применением этой атаки.
Ранее 1 сентября 2020 года Microsoft выпустила для Windows 10 (версии 2004, 1909, 1903 и других версий), а также Windows Server большой комплект обновлений микрокодов для процессоров Intel. Эти патчи затронули большое количество различных процессоров Intel. Тогда Microsoft пояснила, что Intel устранила в новых версиях микрокодов различные баги и реализовала патчи против нескольких уязвимостей (CVE-2019-11091, CVE-2018-12126, CVE-2018-12127 и CVE-2018-12130), которые затрагивают как клиентские платформы, так и серверные решения.
namikiri
Интересно, что патчи с обновлением микрокода Intel выпускает Microsoft, а не сама Intel.
Mur81
Intel выпускает обновлённый микрокод, а MS выпускает патчи с этим микрокодом.
Микрокод может быть загружен либо BIOS'ом материнской платы, либо операционной системой. Да вот незадача — производителям материнок платы снятые с производства становятся очень быстро не интересны. Поэтому обновления биоса со свежим микрокодом по них нет.
А так Intel раздаёт микрокод своим партнёрам (а может и всем желающим, не знаю) и они выпускают патчи. MS кстати такие патчи выпускает только под Windows 10 и производные от неё серверные ОС. Т.е. для Windows 8.1 и Server 2012 R2 таких патчей нет, хотя сами эти ОС ещё на поддержке находятся.
В дистрибутивах на основе Linux вроде бы проблем с выходом подобных патчей нет (не очень силён в Linux'е). Под Ubuntu по крайней мере вышел уже.
ptica_filin
А микрокод загружается каждый раз при загрузке ОС, или это что-то вроде прошивки процессора?
Например, пропатчили процессор в компе с Windows 10, потом переставили в комп с Server 2012, и уже там работаем с новым микрокодом. Или это так не сработает?
Mur81
Каждый раз грузится. По крайней мере в x86-процессорах (за всё разнообразие не ручаюсь).
dartraiden
Это патчи, накладываемые «на лету».
dartraiden
Mur81
Согласен. В этом плане загрузка микрокода средствами ОС выглядит более логичной.
innovaIT
Вот читаю читаю. И не понимаю, как микрокод попадает в процессор. Что это вообще, пните в нужном направлении. Почему пишут что, виндовс добавила микрокод. А как же линукс? Другие ос? Почему операционка имеет прямой доступ к процессору, минуя биос?
Rast1234
Например, линукс применяет это где-то на ранних этапах запуска ядра. Ему надо указать параметром загрузки путь до файла intel_ucode.img, или как-то так. Можно погуглить механизм того как линукс его применяет, скорее всего у процессора есть специальные фичи для таких фокусов.
innovaIT
А как же тогда другие процессоры? Они тоже ждут? Арм, амд? Ладно x86 более менее понятно. Там есть некоторые механизмы, но не напрямую же?! Только через биос. А в армах как тогда?
khajiit
А другие процессоры, к счастью, делает не интел…
В любой момент времени, находясь в привелегированном режиме, можно загрузить в память блоб с микрокодом и вызвать соответствующую инструкцию, передав ей указатель на начало блоба, возможно длину и другие параметры.
CodeRush
Вот вам документация Intel, просвещайтесь.
y2k
Может совпадение, но у меня уже дважды обновление выводило из строя сервер на 2012 R2. Оживает только после перепрошивки программатором.
dartraiden
Было бы весьма странно, если бы обновления Windows выпускала не Microsoft.
alan008
В статье речь про обновление Firmware внутри процессора.