Тесты производительности, после устранения уязвимости Meltdown и Spectre
Оцените эту статью

Комманда специалистов по безопасности, которая выявила уязвимость в процессорах, в последствии названных Meltdown и Spectre, выложили в открытый доступ прототипы эксплоитов, для демострации возможности атаки. Так же для всеобщего обозрения стал доступен код  libdump, данный код был использован в качестве перехватчика паролей, уклонения от KASLR, а также получения доступа к памяти системы KVM из гостевых ОС и получения данных из области физ памяти memdump, physical_reader. В ходе тестирования эксплоитов были выявлены процессоры, с лучшими результатами, в это число попали Intel Core i7-5…, Core i7-6…, Core i7-7…

Стоит отметить, что ранее код эксплоита не был общедоступен.

Уже стала появляться информация об оценки производительности систем, на которых были установлены патчи для ядра Linux KPTI и retponline, которые закрывают уязвимость Meltdown и Spectre.

В целом, можно говорить, что потеря производиетльности допустима для систем PCID, при этом замедление работы на системах без поддержки PCID достаточно заметна. Такое замедление в производительности может быть до 30%.

Патч KPTI приводит к тому, что контекст при системном вызове, сбрасывает кэш данных физ адресов в виртуальные, что влечет замедление в работае системы. При этом PCID предоставляет возможность не использовать сброс кэша TLB, а привязывать кэшированные старницы TLB к идентификатору контекста и тем самым ограничивает операции,, только с допустимым в текущий момент контекст.

Многие модели процессоров, который выпускались после 2010 года, поддерживают PCID .

Что бы проверить поддерживает ли ваш процессор PCID, проверьте есть ли флаг «pcid» в файле /proc/cpuinfo. Гостевые KVM и VmWare, и часть AWS не поддерживают PCID. В линукс  такая поддержка стала доступна в ядре 4.14, таким образом снижение производительности на ссистемах 4.14 и выше будет незначительной. X86 системы защаищены в версиях 4.15-rc7 и 4.14.12, доступны обновления для веток 4.9 и 4.4. Патчи ARM64 уже доступны в составе ядра для Android 3.18, 4.4, 4.9.

События, произошедшие в связи с уязвимостью Meltdown и Spectre.

  • 01.2018 компания Intel выпустила большое число обновлений для своих процессовроы как старых так и новых моделей. Данные обновления реализованы в качестве покетов, что упрощает обновление без необходимости обновлять BIOS. При этом, обновив микрокод, так же нужно поставить патчи KPTI на ядро Linux.
  • В компании Intel провели собственные тесты производительности, на которую имеют влияния обновления и патчи. Так для систем восьмого поколения CPU Intel Core, производительность снижается на 2-14%, т.е. среднее снижение до 6%
  • Компания RedHat сообщает, что после установки патчей для устранения уязвимости на RHEL7 производительность снизилась на 1-20%. Больше всего пострадали в скорости работы OLTP СУБД, производительность снизилась 8-20%. 3-7% снижение на запросах аналитики в СУБД. 2-5% на решениях HPC, которые используют большую нагрузку Незначительное влияние на системах с методом прямого доступа к ресурсам без участия ядра.
  • Выпущены обновления для Ubuntu 12.04 (ядро 3.2), 14.04 (ядро 3.13), 16.04 (4.4) и 17.10 (4.13). После обновления до Ubuntu 16.04 выявлена ошибка, при которой не возможна загрузка ядра!!!
  • Phoronix в свою очередь так же проанализировали производительность после избавления от уязвимости. В Ubuntu 4.14 с KPTI+Retpoline, снижение скорости работы от 9% до 4 раз в тесте Flexible IO Tester, 16-22% в тесте Compile Bench , 18-23% в тесте FS-Mark, 26-32% в тесте Apache Benchmark, 22-27% в тесте NGINX Benchmark;
  • В Debian доступно обновление для ядер 2, 3.16, 4.9 и 4.14
  • SUSE/openSUSE выпустили обновления для сових ОС
  • В ALT доступно обновления для устранения уязвимости для версий 9.75 (LTS) и 4.14.12
  • OpenBSD И FreeBSD еще в процессе разработки патчей. Уже доступна информация, что после установки патча уменьшится производительность на 5-12% для серии Skylake и 12-53% Haswell
  • IBM так же подключился к разарботки патчей для микрокода и выпустил новые обновления для POWER7 и POWER8
  • Тесты для ФС lustre показали потерю производительности 10-45%, исходя из нагрузки и конфига
  • AWS EC2 так же снизится производительность на 5-30%
  • Падает скорость и для python до 37%, протестировано на windows 7

Динамика снижения производительности в связи с устранением уязвимости отмечена практически для всех ОС и на большинстве процессорах. Мы склоняемся к тому, что защита от уязвимости нужна даже ценой снижения производительности. Предполагается, что в следующих обновлениях этот недостаток будет максимально невилирован.

Не знаете как устранить уязвимость процессора Meltdown и Spectre, обращайтесь [email protected], мы поможем.