Сегодня 23 января 2018
18+
CES 2018
Теги → spectre

Глава ARM прокомментировал ситуацию с Meltdown и Spectre

В этом году выставка CES 2018 прошла в тени обсуждения уязвимостей Spectre и Meltdown, и практически каждая беседа на мероприятии обращалась к этой теме. Журналисты TechCrunch тоже воспользовались возможностью обсудить проблему с исполнительным директором ARM Саймоном Сегарсом (Simon Segars), который рассказал о безопасности, вскрытых проблемах спекулятивных вычислений современных процессоров и борьбе с ними.

Прежде всего господин Сегарс отметил, что вскрытые уязвимости показали, как много в настоящее время существует микропроцессоров. Затем он подчеркнул, что Spectre и Meltdown используют архитектурные особенности высокопроизводительных процессоров, а ARM продаёт лицензии преимущественно на чипы иного плана, так что лишь 5 % решений, использующих её архитектуры, подвержены атакам. Чтобы лучше понять масштабы этих 5 %, нужно отметить, что в настоящее время выпущено, по словам руководителя, более 120 миллиардов чипов, использующих тот или иной дизайн ARM.

Поэтому если говорить только о CPU для смартфонов или планшетов, то процент уязвимых устройств окажется гораздо больше: в той или иной степени атакам подвержены такие популярные ядра, как Cortex-A57, A72 или A9 (наряду с менее распространёнными A8, A15, A17, A73 и A75, а также R7 и R8). Более распространённые CPU-ядра ARM вроде Cortex-A7 или Cortex-A53 не подвержены уязвимостям вообще. Впрочем, речь идёт об эталонном дизайне: лицензиаты подчас вносят весьма серьёзные изменения и, например, все процессоры Apple A подвержены как Spectre, так и Meltdown. NVIDIA тоже выпускает заплатки для своих устройств на базе однокристальных систем Tegra. Подробнее о проблеме ARM рассказывает на своём сайте (19 января компания выпустила ряд дополнительных разъяснений). Там же она обещает, что все будущие её процессоры серии Cortex будут либо полностью неуязвимы к такому типу атак, либо позволят избежать их с помощью уже выпущенных заплаток для ядра ОС.

Саймон Сегарс отметил, что уже вышли обновления для операционных систем (включая, конечно, Android) против обсуждаемых уязвимостей. Тогда журналист спросил у него, как скажутся подобные заплатки на производительности устройств с чипами ARM. Руководитель ответил уклончиво: «Честно говоря, пока рано об этом говорить. Это в высокой степени будет зависеть от типа задач, от конкретного приложения». Впрочем, он сказал, что в некоторых задачах, требующих высокой производительности, скорость снизится, а также добавил: «В большинстве случаев, с которыми имеют дело пользователи — сёрфинг в Интернете, электронная почта и многие другие варианты работы мобильных устройств, — разница не будет заметной».

Журналист задал руководителю ARM вопрос и о том, что компания собирается делать, дабы избежать подобных проблем в будущем, ведь, как показала практика, аппаратные уязвимости могут быть обнаружены спустя годы. Господин Сегарс подчеркнул, что в случае с Meltdown и Spectre возможны программные заплатки, устраняющие проблему. Поэтому индустрии, по его мнению, нужно развиваться в сторону мира, в котором все подключённые к Сети устройства вроде «Интернета вещей» (IoT), телевизоров или иных составляющих «Умного дома» могли бы получать программные обновления безопасности во всё время своего жизненного цикла. Ведь сегодня подобная современная электроника подчас поставляется уже с довольно продвинутыми чипами и собственными ОС, но без механизма обновления ПО. ARM активно трудится в этом направлении, потому что рассматривает IoT в качестве огромной возможности для себя и надеется на будущее, где будут триллионы подключаемых устройств, оснащённых чипами с её архитектурами.

В целом же ситуация с Meltdown и Spectre не вызывает особого оптимизма. Microsoft после длительной паузы, наконец, возобновила выпуск обновлений для всех процессоров AMD (раньше некоторые системы с чипами вроде Opteron, Athlon и Turion X2 Ultra переставали загружаться). С обновлениями для Intel и Apple тоже не всё гладко: поступают массовые жалобы на случайные перезагрузки Windows-компьютеров и iOS-устройств после установки обновлений. Разгневанные потребители оформляют коллективные иски против производителей. Судя по происходящему, Spectre и Meltdown, как и предполагалось, будут ещё долго терзать IT-индустрию.

На AMD подан коллективный иск за «неправильное» информирование о Spectre

Уязвимости Spectre оборачиваются для AMD не только аппаратными проблемами. На разработчика чипов был подан коллективный иск, в котором компания была обвинена в искусственном сдерживании падения курса своих акций с помощью умолчания о том, как сильно варианты атак под общим названием Spectre влияют на её чипы.

Иск был подан в суд США в северном округе Калифорнии компанией Pomerantz LLP от имени акционера Доюн Кима (Doyun Kim). Последний утверждает, что первоначальная реакция AMD на обнародование информации об уязвимостях Meltdown и Spectre вводила общественность в заблуждение: компания заявляла о почти нулевой вероятности атак в отношении систем с её чипами, а затем по сути признала, что процессоры затронуты обоими вариантами уязвимости.

Компания в самом деле вначале заявляла о том, что для её процессоров риски почти нулевые. Затем почти сразу 3 января дала более развёрнутый комментарий, в котором указала, что её CPU не подвержены атакам Meltdown CVE-2017-5754 (rogue data cache load — загрузка в кеш мошеннических данных), а в отношении Spectre уязвимы первому варианту CVE-2017-5753 (bounds check bypass — обход проверки границ) и почти с нулевой вероятностью — второму варианту CVE-2017-5715 (branch target injection — целевое внедрение в ветвь).

Наконец лишь 11 января компания опубликовала расширенный комментарий. В нём она подтвердила отсутствие опасности применения Meltdown благодаря архитектурным особенностям. Также компания добавила, что первый вариант Spectre закрывается с помощью заплаток для Linux и Windows (AMD работает над устранением проблем со старыми чипами вроде Opteron, Athlon и Turion X2 Ultra, из-за которых Microsoft приостановила развёртывание обновлений). Наконец, относительно второго варианта Spectre компания перестала писать о близкой к нулю вероятности атак, а пообещала пользователям и партнёрам выпустить обновления микрокода процессоров (новых прошивок BIOS) и дополнительных заплаток для ОС. Выпуск необязательных обновлений микрокода для Ryzen и EPYC уже начался, ожидаются аналогичные заплатки и для старых чипов.

Так или иначе, но в исковом заявлении против AMD среди прочего говорится: «В результате неправомерных действий и упущений обвиняемой стороны, а также резкого снижения рыночной стоимости обыкновенных акций компании, истец и другие участники коллективного иска понесли значительные потери и убытки».

Это сильное обвинение с учётом того, что уязвимости лишь относительно недавно были осознаны индустрией, а масштабы последствий всё ещё оцениваются. Вдобавок пока ни одна крупная компания не подтвердила их практическое использование, то есть нет примеров действий реальных, а не теоретических злоумышленников. Так или иначе, но AMD — не единственная обвиняемая сторона. Аналогичные коллективные иски по поводу Meltdown и Spectre подаются против Intel, Apple, ARM.

Насколько честно обвинять Intel и AMD в архитектурных особенностях их чипов, которые уже более 20 лет являются частью почти всех процессоров и только сейчас были поняты как просчёты? Впрочем, команда Google Project Zero, которая вскрыла эти проблемы, проинформировала производителей CPU и разработчиков ОС относительно Meltdown и Spectre ещё в июне 2017 года, так что у публики есть некоторые основания говорить о том, что AMD следовало быть более открытой относительно информирования клиентов и инвесторов о проблеме.

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

На Apple подали в суд за замедление iPhone в связи с заплатками против Spectre

Как и большинство современных процессоров, однокристальные системы Apple A подвержены уязвимостям Meltdown и Spectre, которые требуют программных заплаток, снижающих вероятность атак и вместе с тем — производительность (в той или иной мере). Вполне в духе времени на компанию подали в суд в США разгневанные пользователи её продуктов — об этом сообщило издание MacRumors, ознакомившееся с документами.

Энтони Бартлинг (Anthony Bartling) и Жаклин Олсон (Jacqueline Olson) подали коллективный иск против Apple на прошлой неделе в окружном суде США в Сан-Хосе — к нему может присоединиться каждый, кто приобрёл устройство с ARM-процессором, разработанным Apple, начиная от A4 до A11 Bionic, используемых в iPhone, iPad, iPod touch и Apple TV.

В жалобе говорится, что Apple знала о проблемах в дизайне процессоров, открывающих возможность атак Meltdown и Spectre, минимум с июня 2017 года и могла раньше раскрыть детали перед общественностью. Точнее, в иске пишется, что в указанное время ARM узнала от Google Project Zero об уязвимостях и сразу сообщила информацию своим лицензиатам. Разгневанные пользователи добавляют, что Apple вряд ли сможет выпустить полноценные и удовлетворительные заплатки против Meltdown и Spectre без деградации производительности на значение от 5 % до 30 %.

Apple представила первые исправления против Meltdown в macOS High Sierra 10.13.2 и iOS 11.2, а против Spectre — в macOS 10.13.2 и iOS 11.2.2, которые вышли на прошлой неделе. Уязвимости также были исправлены в той или иной степени в старых версиях macOS и OS X. Несмотря на утверждение одного из разработчиков о серьёзном падении производительности (впоследствии выяснилось, что тестирование было проведено неправильно), внутренние тесты самой Apple говорят о том, что заплатки для Safari почти не влияют на результаты бенчмарков Speedometer и ARES-6, а в JetStream наблюдается падение в 2,5 %.

Так или иначе, но американские истцы ожидают, что к ним присоединятся по меньшей мере 100 клиентов Apple, а общая сумма компенсационных и штрафных убытков может превысить 5 миллионов долларов США, если дело поступит в суд и будет выиграно.

Кстати, согласно сообщениям израильской газеты Hamodia, группа граждан их страны подала в районный суд Хайфы документы для оформления коллективного иска против Apple, Intel и ARM по поводу уязвимостей Meltdown и Spectre.

Apple продолжает сталкиваться с ростом количества судебных процессов, в которых она обвиняется в намеренном замедлении старых iPhone (точнее аппаратов с изношенными аккумуляторами) или, по крайней мере, в отсутствии информирования пользователей об изменениях в области управления питанием начиная с iOS 10.2.1. В США по состоянию на 15 января таких коллективных исков было подано не менее 39; аналогичные дела открываются во Франции, Израиле, России, Корее, Вьетнаме и Канаде. В одних требуется выплата компенсаций всем пользователям; смартфоны которых стали медленнее; в других — требуется бесплатная замена батарей; в третьих — возврат средств тем покупателям новых iPhone, которые осуществили замену смартфона из-за падения производительности; в четвёртых — детальное информирование о состоянии аккумулятора.

Intel опубликовала результаты своих тестов заплаток Meltdown и Spectre

Intel снова решила рассказать о влиянии на производительность ПК последних заплаток против уязвимостей Spectre и Meltdown. На этот раз она привела не общие слова, а таблицу с реальными замерами производительности. К сожалению, тесты проводились только на современных чипах Skylake, Kaby Lake и Coffee Lake. А ведь по словам Microsoft, наиболее сильный урон понесли системы на базе процессоров Haswell/Broadwell и более старых.

Так или иначе, согласно этим внутренним тестам Intel, почти во всех задачах наблюдается та или иная деградация производительности даже на 6-, 7- и 8-м поколении процессоров Intel Core i. Менее всего подвержены проблеме чипы Kaby Lake и Coffee Lake — в среднем падение составляет пару-тройку процентов (хотя в тесте отзывчивости SYSMark 2014 SE оно достигает 12—14%, а в веб-приложениях — 8—10 %).

Интересно, что выбор ОС (Windows 7 или Windows 10) на этих процессорах почти не влияет на производительность — это согласуется со словами Microsoft, которая говорит о более старых чипах. Процессоры Skylake демонстрируют чуть более сильный ущерб с точки зрения производительности. На системах, оснащённых SSD, проблемы выражены сильнее в оценке отзывчивости, задачах вроде анализа данных или офисных приложениях. В играх, если судить по оценкам 3DMark Sky Diver, снижение скорости расчётов находится на уровне статистической погрешности — до 3 % даже в тесте физики, где влияние процессора сильнее. Подробнее с характеристиками тестовых платформ и результатами можно ознакомиться в официальной сводной таблице.

Для рядового пользователя разница может оказаться неощутимой, но в некоторых узкоспециализированных ресурсоёмких задачах замедление будет более существенным. И сама Intel это признаёт даже для процессоров уровня Skylake и более новых: «В определённых случаях некоторые пользователи могут столкнуться с заметным влиянием обновлений. Например, пользователи, которые исполняют веб-приложения со сложными JavaScript-операциями, могут заметить более существенное падение (до 10 процентов на основе наших предварительных оценок)».

Помимо публикации результатов своих внутренних тестов обычных ПК, Intel обещает в скором времени поделиться своими оценками влияния заплаток против уязвимостей Spectre и Meltdown на производительность серверных платформ. Компания также подчёркивает, что пока не располагает данными об успешном использовании обсуждаемых уязвимостей злоумышленниками, но рекомендует установить все выпущенные уже заплатки для ОС, материнских плат, драйверов, веб-обозревателей и другого ПО.

Intel обещает скоро решить проблему перезагрузок ПК после установки заплаток

После распространения информации об уязвимостях Meltdown и Spectre, характерных для современных процессоров, исполнительный директор Intel Брайан Кржанич (Brian Krzanich) опубликовал заявление, в котором пообещал максимальную прозрачность в деле информирования общественности о ходе решения проблемы. После того, как ряд пользователей обновили прошивки своих материнских плат, участились случаи сбоев и самопроизвольных перезагрузок систем.

Intel в курсе этой проблемы, и вице-президент подразделения клиентских ПК и мобильных платформ Навин Шеной (Navin Shenoy) опубликовал по этому случаю отдельное заявление. Компания сообщает, что проблема распространяется на пользовательские ПК и серверы, в основе которых лежат процессоры с архитектурой Intel Haswell/Broadwell.

Компания прикладывает все возможные усилия, чтобы поскорее понять, диагностировать и исправить возникшие затруднения. Если исправление ошибки потребует выпуска обновлённых прошивок от Intel, компания будет распространять их по обычным каналам. Intel также напрямую работает с клиентами в секторе центров обработки данных и серверов для скорейшего преодоления трудностей.

В том же обращении господин Шеной отметил, что конечным пользователям необходимо продолжить установку обновлений, рекомендованных разработчиками операционных систем и производителями компьютеров. Напомним: по словам Microsoft, заплатки против Meltdown и Spectre не должны принести особого снижения производительности на системах с процессорами Skylake и новее, а также с Windows 10.

iPhone после заплаток против Spectre становится гораздо задумчивее

Как и остальные участники рынка, Apple тоже выпустила для своих операционных систем заплатки, призванные закрыть потенциальные уязвимости современных процессоров, связанные со спекулятивным исполнением команд. Ранее компания сообщила, что её однокристальные системы серии A, используемые в iPhone, iPad и Apple TV, тоже подвержены атакам Meltdown и Spectre.

Брешь Meltdown компания закрыла ещё в обновлении iOS 11.2, а совсем недавно вышла версия iOS 11.2.2, главная цель которой — дополнительные заплатки, призванные снизить вероятность использования атак Spectre. И если Meltdown, как уже ясно, исправляется относительно малой кровью, то борьба со Spectre куда труднее и сулит большие проблемы для индустрии.

Появились первые тесты заплатки iOS 11.2.2 по сравнению с предыдущими версиями мобильной ОС купертинской компании — в частности, разработчик мобильных приложений, соучредитель поглощённой Uber компании Moop и исследователь Мелвин Мугхал (Melvin Mughal) опубликовал развёрнутые тесты в разных задачах. По его словам, тестирование проводилось на iPhone 6, причём во время проверки производительности никакие приложения не работали даже на фоне, так что бенчмарки могли использовать всю мощь CPU и другие ресурсы смартфона (никаких джейлбрейков, замен батарей или экзотических конфигураций).

Как можно видеть, результаты защищённого iPhone 6 оказываются поистине катастрофическими почти по всем пунктам: падение производительности CPU очень часто оказывается двукратным (в среднем 41 % в однопоточном и 39 % в многопоточном режимах). Возможно, на более свежих аппаратах урон будет не столь сильным, но вряд ли для владельцев относительно старых iPhone это станет большим утешением, ведь обсуждаемая заплатка является необходимым злом для всех (современные смартфоны многими используются как средство оплаты и хранилище важных данных).

Apple заявляет, что обновление iPhone iOS 11.2.2 является важным с точки зрения обеспечения безопасности и пренебрегать им крайне не рекомендуется. Вполне возможно, в перспективе столь сильный урон производительности будет компенсирован какими-нибудь оптимизациями, но есть и обратная вероятность: борьба со Spectre очень сложна, и могут понадобиться дополнительные заплатки, которые приведут к дальнейшей деградации производительности.

Обновлено: результаты тестов были слишком разочаровывающими, так что и сам Melv1n заподозрил неладное, посчитав, что речь идёт об автоматическом ограничении скорости работы смартфона из-за износа батареи, которое по какой-то причине включилось при втором тестировании. Однако тесты вызвали настолько бурную реакцию, что пришлось вмешаться даже разработчикам тестового пакета Geekbench. Один из них пояснил в Twitter, что разница была обусловлена тем, что во второй раз тестирование попросту проводилось в энергоэффективном режиме. В первый же раз тест был сделан в нормальном режиме, так что сравнивать результаты совершенно некорректно.

NVIDIA латает от Meltown и Spectre утилиту GeForce Experience и устройства Jetson и Shield

Масштабы последствий от выявленных в современных процессорах уязвимостей, названных Meltown и Spectre, ещё предстоит оценить, но с каждым днём становится всё более очевидно: они будут весьма значительны. Разработчики ОС обещают заметное снижение производительности в результате заплаток, производители материнских плат выпускают новые прошивки и так далее. Причём всё это не даёт 100-процентной гарантии против атак. Похоже, все значимые приложения также постепенно получат обновления, снижающие в той или иной степени производительность (например, все популярные браузеры уже получили первые заплатки).

И хотя с аппаратной точки зрения видеокарты никак не затронуты уязвимостями, NVIDIA пришлось обновить драйверы для GeForce Tesla, Quadro и NVS, внеся в них коррективы, снижающие вероятность атак Spectre под Windows и Linux (игровые карты тоже получили первый такой драйвер для Windows). Компания также сообщила, что аналогичные обновления будут выпущены и для других её продуктов. Например, затронута GeForce Experience — 9 января была выпущена бета-версия 3.12 этой утилиты (15 января должна быть представлена уже стабильная сборка 3.12), которая тоже включает заплатки против одного из вариантов Spectre.

Но кроме графических ускорителей, NVIDIA выпускает и процессоры Tegra на базе ядер с архитектурой ARM. Поэтому в феврале компания планирует представить обновления Linux-базированной операционной системы для модульного «мини-суперкомпьютера» Jetson TX2, который подвержен как атакам Meltdown, так и Spectre. Платформа предыдущего поколения Jetson TX1 тоже получит обновлённую ОС, но без заплаток для Meltdown, которым не подвержена.

Кроме того, NVIDIA также производит планшет Shield и приставку Shield TV. Оба устройства (вероятно, наиболее актуальные поколения продуктов) до конца января должны получить заплатки против Srectre в виде Android-базированной оболочки Shield Experience 6.3.

Разработчик Google рассказал, как выявил архитектурный прокол Xbox 360

На волне интереса публики к уязвимостям Meltdown и Spectre программист Брюс Доусон (Bruce Dawson), занимающийся сейчас в Google оптимизацией производительности и проверкой надёжности алгоритмов, решил рассказать историю о том, как обнаружил аналогичную архитектурную уязвимость процессора Xbox 360. В 2005 году он, как признаётся, жил и дышал этим чипом, пытаясь понять, как работает его конвейер, чтобы выявить возможные сбои и ошибки накануне запуска.

Процессор Xbox 360 включает три ядра с архитектурой IBM PowerPC — они расположены на трёх четвертях занимаемой CPU площади кристалла, а последняя четверть отведена под 1 Мбайт кеш-памяти L2. Каждое ядро включает по 32 Кбайт кеша инструкций и 32 Кбайт кеша данных. Проблема чипа заключалась в долгих задержках, особенно при работе с памятью. Вдобавок 1 Мбайт кеша L2 (всё, что могло уместиться в заданную площадь) было маловато для 3-ядерного процессора. Так что оптимизация использования кеш-памяти была очень важна.

Кеш-память CPU повышает производительность с помощью пространственной и временно́й локальности. Пространственная локальность означает, что если алгоритм использовал байт данных по некоторому адресу, то, вероятно, он будет вскоре использовать байты данных из соседних адресов. Временна́я локальность означает, что если использована некая хранящаяся в кеше информация, вероятно, она будет использована снова в ближайшем будущем.

Любопытно, что ядро 0 было расположено ближе к кешу L2 и в результате отличалось меньшими задержками при работе с этим буфером

Любопытно, что ядро 0 расположено ближе к кешу L2 и потому отличается меньшими задержками при работе с этим буфером

Если обрабатывается большой массив данных один раз за кадр, то вполне ожидаемо, что они исчезнут из кеша L2 к моменту повторного использования на следующем кадре. Порой данные всё ещё нужны в кеше L1, но при том они потребляют ценное пространство в кеше L2, вытесняя ценные данные и, возможно, замедляя два других ядра. Протокол MESI, используемый для когерентности памяти, требует, чтобы когда одно ядро модифицирует кеш-линию, другие ядра с её копией уже не могли использовать кешированные данные.

Но речь шла о процессоре для игровой консоли, и производительность стояла на первом месте. Поэтому была добавлена новая инструкция — xdcbt. И если стандартная dcbt в PowerPC была типичной инструкцией предварительной выборки, то xdcbt позволяла осуществлять выборку прямо из памяти в кеш данных L1, пропуская L2. В результате когерентность памяти уже не была гарантирована, но разработчики игр знали, что делали и всё должно было быть хорошо. Однако практика выявила проблемы при предварительной выборке xdcbt: когда инструкция применялась к кеш-линиям, последние части которых были частью смежных структур данных, возникали сбои. Поэтому использовать xdcbt нужно было крайне осторожно, чтобы не выйти ни на байт за пределы буфера.

Но затем подобная же проблема стала проявляться даже там, где игры не использовали инструкцию xdcbt — это было весьма серьёзным препятствием для запуска платформы. Брюс Доусон бился безрезультатно над выявлением причин ошибки, пока его не осенило. После письма в IBM опасения подтвердились — дело заключалось в тонкостях дизайна CPU, о которых мало кто думал.

Хотя чип Xbox 360, в отличие от большинства современных чипов, — процессор с последовательным исполнением инструкций, опирающийся прежде всего на высокую частоту для достижения хорошей производительности, у него тоже есть предсказатель ветвлений — это вызвано очень длинными конвейерами (из-за чего верно предсказанные инструкции могли ускоряться даже при последовательном выполнении команд).

Так вот, порой блок предсказания ветвлений при длинных задержках спекулятивно вызывал инструкцию предварительной выборки xdcbt, которая работала идентично реальной и могла вызывать те же проблемы, что и при реальном вызове той же инструкции. Подобная же трудность со спекулятивным исполнением инструкций процессором с целью повышения производительности лежит и в основе обнародованных недавно уязвимостей Meltdown и Spectre.

Принцип работы блока предсказания ветвлений показал, что инструкция xdcbt слишком небезопасна с точки зрения стабильности системы, чтобы её задействовать в любых сегментах кода любых игр для Xbox 360. Возможность снизить риски была, но полностью их избежать вряд ли было возможно и поэтому Брюс Доусон сомневается, что вышла хоть одна игра, в которой использовалась xdcbt, хотя в обсуждениях архитектуры Xbox 360 она продолжает упоминаться.

Тесты процессорных заплаток Meltdown и Spectre в Windows

2018 год начался в IT-индустрии с публикации сведений о серьёзных архитектурных уязвимостях современных процессоров, которые находятся с нами на протяжении свыше двух десятков лет — Meltdown и Spectre. Наиболее интересно рядовым пользователям — как поведут себя их компьютеры с точки зрения производительности после обновления ОС и прошивки свежей BIOS для закрытия дыр безопасности?

Заплатка для Windows 10 нацелена на самую простую с точки зрения исправления уязвимость — Meltdown. Но пока невозможно полностью устранить опасность использования более изощрённой атаки Spectre, которая обусловлена фундаментальным дизайном современных CPU, связанным со спекулятивными вычислениями. Можно лишь смягчить опасность обновлением прошивки материнской платы? AMD утверждает, что Meltdown и один из вариантов атак Spectre вообще не затрагивают их процессоры. Поэтому наиболее интересны результаты тестов чипов Intel, которые подвержены всем трём основным видам атак.

Для некоторых материнских плат (первой стала ASUS) уже вышли прошивки, снижающие опасность Spectre путём изменения работы блока предсказания ветвлений в чипах Intel (используется менее агрессивный алгоритм). В теории это должно привести к снижению показателя исполняемых за такт инструкций: процессор чаще будет ждать доступа к памяти.

Приведённые достаточно развёрнутые тесты производились сотрудниками ресурса TechSpot на материнской плате ASUS TUF Z370-Plus Gaming и процессоре Core i3-8100. Сравнивается работа различных задач без всяких заплаток; с последним обновлением безопасности Windows 10 и после прошивки BIOS с обновлённым микрокодом. Также включены некоторые тесты Core i7-8700K. Каждая проверка прогонялась минимум три раза, чтобы получить более предсказуемые усреднённые результаты.

В Cinebench R15 общее замедление составляет всего 1 % для однопоточной производительности и 2 % для многопоточной — неплохо, в рамках статистической погрешности. Чем больше результат, тем лучше:

А вот в Corona связка заплатки для Windows и новой прошивки BIOS снижает производительность сильнее — на 3 %. Впрочем, это всё ещё несущественно:

В Excel падение минимальное, все системы справляются почти ровно за 6 секунд, так что обсуждать здесь нечего:

Аналогичная картина наблюдается при рендеринге в Blender — все конфигурации выполняют задачу за 58 секунд:

Отличий в производительности не видно и в тесте VeraCrypt: результаты шифрования и дешифровки AES по сути идентичны для трёх конфигураций:

В архиваторе 7-Zip заметного снижения производительности тоже не наблюдается:

В вычислительном тесте Geekbench 4 установленные заплатки почти не снижают результатов. Разве что в задаче целочисленных вычислений можно заметить 3-процентное снижение, а также 2-процентное — в вычислениях с плавающей запятой:

Что ж, и в первом игровом тесте Battlefield 1 падение до 4 % при средних и высоких настройках качества не выглядит катастрофическим. Стоит отметить, что использована нереалистичная игровая система с видеокартой GeForce GTX 1080 Ti и слабым процессором Core i3-8100, чтобы выяснить влияние собственно CPU:

В Ashes of the Singularity: Escalation снова регистрируется падение в 3–4 % при установке заплаток. Это немного, но обновлённые конфигурации всё же стабильно медленнее:

В Assassin's Creed: Origins при указанных настройках ограничивающим фактором выступает CPU (на системе с Core i7-8700K частота кадров в игре заметно выше), тем не менее, падение производительности составляет лишь 1 %, что походит больше на погрешность:

В Rainbow Six Siege — та же история. Разница, если и есть, то неощутимая:

В гоночном симуляторе F1 2017 результаты трёх систем почти неизменны. Только минимальная частота кадров снизилась на 3 % (как в средних, так и в высоких настройках качества):

В Total War Warhammer II наблюдается падение в 4 % для минимальной частоты кадров на средних настройках. При высоких настройках разницы нет вообще:

На более сбалансированной системе с Core i7-8700K и GeForce GTX 1080 Ti различия ещё менее выражены. Так, в Battlefield 1 при средних настройках качества минимальная частота идентична на трёх конфигурациях, а средняя уменьшилась при обновлении на 3 %. А при максимальных настройках обновлённая система вообще демонстрирует 2-процентный прирост. Всё это можно списывать на погрешность:

В Ashes of the Singularity изменений с Core i7-8700K тоже не замечено:

Похоже, едва ли не единственным популярным пользовательским окружением, где падение скорости действительно ощутимо, является подсистема накопителей. Далее тесты проведены на системе с твердотельным приводом Samsung SSD 950 Pro NVMe и процессором Intel Core i7-8700K.

Например, в AS SSD наблюдается снижение скорости последовательной записи на 5 %, скорости случайной записи блоков по 4 Кбайт с глубиной запроса на запись равной 64 в один поток — 8 % и случайной записи по 4 Кбайт без заданной глубины запроса в один поток —  20 %. Скорость чтения почти идентичная:

Ещё бо́льшие «просаживания» наблюдаются при тестировании в CrystalDiskMark. Скорость последовательной записи и чтения выглядит неплохо, но с операцией случайной записи блоками 512 Кбайт снижение скорости достигает 41%. К сожалению, масса повторных тестов указывают на ту же проблему. Любопытно, что чтение 512 Кбайт снизилось только на 8 %. В тесте случайной записи по 4 Кбайт с глубиной запроса равной 32 в один поток падение — около 10 %, а случайной записи по 4 Кбайт без заданной глубины запроса в один поток — 19 %.

В Atto Disk Benchmark падение совсем уж неприличное. Скорость последовательного чтения и записи с заплаткой BIOS падает на значение до 40 %:

Сильные падения, как мы убедились, касаются NVMe SSD. Как же ведут себя более распространённые твердотельные SATA-накопители? На системе с Samsung SSD 850 Evo 2 Тбайт и Core i3-8100 тоже наблюдаются некоторые падения. С последовательным чтением и записью в CrystalDiskMark всё неплохо, со случайным чтением и записью по 512 Кбайт — тоже. При проверке случайной записи по 4 Кбайт с глубиной запроса на запись равной 32 в один поток падение — лишь 3 %, так что беспокоиться вроде бы не о чем. Однако случайная запись и чтение блоков по 4 Кбайт без заданной глубины запроса в один поток упала на 27 % и 19 % соответственно, что уже гораздо хуже:

В Atto Disk Benchmark тоже есть «просаживания» скорости SATA-накопителей с заплаткой для BIOS на значение до 17 %.

Другие тесты в Сети лишь подтверждают снижение производительности SSD после установки заплаток. Например, ресурс Guru3D выявил на системе с обновлённой материнской платой ASUS падение скорости на значение до 33 % для Samsung SSD 960 Pro 2TB NVMe в задачах случайной записи блоков по 4 Кбайт с глубиной запроса на запись равной 32 в один поток, то есть результаты TechSpot подтверждаются.

Видимо, пока влияние заплаток на работу обычных ПК будет реально ощущаться только в области работы накопителя. В других задачах вроде 7-Zip или приложениях для создания контента оно минимальное. В играх, где CPU ограничивает производительность, падение составляет обычно менее 5 %. Но речь идёт о современных процессорах и уже вышедших заплатках. На старых системах разница может быть более ощутимой, да и разработчики ОС и производители обещают в будущем выпуск новых исправлений для борьбы со Spectre. Но пока урон с точки зрения рядового пользователя довольно ограниченный.

Но вот в целом для индустрии последствия будут довольно болезненными. В качестве небольшого примера: в игре Fortnite у игроков наблюдаются проблемы с доступом к серверам. Как объяснили разработчики на форуме Epic Games, вызвано это заплаткой для борьбы с Meltdown, которая увеличила нагрузку на процессоры серверов чуть ли не втрое. В будущем могут быть найдены более изящные способы борьбы, но в ближайшие дни и недели многие облачные службы столкнутся с существенными проблемами.

NVIDIA начала выпускать драйверы GeForce с защитой от уязвимости Spectre

Как выяснилось, проблема уязвимостей, связанных со спекулятивным исполнением команд, затрагивает не только центральные, но и косвенно — графические процессоры. Ускорители NVIDIA не имеют алгоритма предсказания ветвлений, но драйверы исполняются на CPU и, соответственно, тоже подвержены атакам, которые были выявлены специалистами по безопасности в прошлом году, а на днях стали известны публике и, как следствие, злоумышленникам.

Итак, напомним: имеется три основных варианта уязвимостей. CVE-2017-5754, для удобства названная Meltdown, затрагивает наиболее фундаментальное разделение между пользовательскими процессами и ядром операционной системы. Она относительно проста в применении, но и успешно закрывается заплатками. NVIDIA сообщает, что её GPU-драйвер не подвержен этой уязвимости.

С «призрачной» и более сложной в применении Spectre всё сложнее: на данный момент надёжного способа полностью защититься от неё нет. Но производители выпускают обновления, уменьшающие вероятность успешной атаки. Согласно анализу специалистов NVIDIA, её драйверы могут быть потенциально подвержены варианту Spectre CVE-2017-5715, но пока исправлений нет — компания работает над проблемой с другими партнёрами из экосистемы.

А вот для варианта Spectre CVE-2017-5753 производитель ускорителей GeForce уже начал вносить в свои драйверы первые коррективы (в будущем обещаны и другие, более надёжные). Для Windows-систем выпущен драйвер 390.65: для продуктов серий Quadro, NVS — GeForce и Tesla начнут получать аналогичные драйверы в ближайшие дни. Для Linux компания уже представила драйверы 390.12 и 384.111: для ускорителей GeForce, Quadro, NVS — Tesla получат исправленные драйверы в ближайшее время.

Стоит отметить, что заплатки могут повлиять на исполнение вычислительных инструкций CPU за такт и несколько снизить эффективность работы драйвера. Но насколько это отразится на реальной производительности видеокарт в играх или приложениях, активно использующих преимущества GPGPU, ещё предстоит выяснить. Вполне возможно, ощутимых «проседаний» не будет.