Уязвимость в процессорах: все что Вы хотели знать о Meltdown и Spectre

уязвимости meltdown и spectre

Как получилось так, что практически в одно и то же время несколько независимых экспертов узнали о уязвимости Meltdown?

Кто сообщил об уязвимости в процессорах?

Дрезденский исследователь Томас Прешер, который тестировал метод Андерса Фога, тоже обнаружил уязвимость Meltdown. Разница, с которой они сообщили об имеющейся проблеме в Intel, составила всего несколько дней.

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

Российский хакер Крис Касперский еще в июле 2008 года объявил, что нашел критическую уязвимость в процессорах Intel, для запуска которой необходимо только отправить скрипт на Яваскрипт или же TCP-IP пакет. Он хотел рассказать о ней на конференции, которая должна была проходить в Азии, но разбился, прыгая с парашютом. Его мозг спасти не удалось. В феврале его отключили от аппарата искусственного жизнеобеспечения.

Нельзя с уверенностью сказать, что именно хотел рассказать хакер Крис Касперский. Обнаруженная им уязвимость похожа на Spectre, так как он упомянул яваскрипт. Основные возможности эксплуатирования уязвимости Spectre реализуются с помощью яваскрипта.

хакер Крис Касперский

Только представьте, что Крис Касперский мог рассказать об этой уязвимости почти 10 лет назад!

Чем опасны уязвимости в процессорах Meltdown и Spectre?

Чтобы объяснить проблему Meltdown для неспециалистов был придуман следующий анекдот:

Жена: объясни мне, что такое Meltdown?
Муж: Вот знаешь, когда мы заканчиваем друг у друга …
Жена: …бутерброды?
Муж: Нет. Предложения. Ты попыталась угадать «бутерброды». Это было у тебя в голове. А это также являлось твоим паролем. Пока оно было у тебя в голове кто-то это украл и убежал.

В этом и заключается суть проблемы Meltdown. Когда происходит прогнозированное исполнение, процессор ошибается и возвращается обратно, чтобы получить новую команду. Остатки этого прогнозированного исполнения остаются в кэше процессора.

Используя правильные методы обнаружения данных в кэше, можно эти данные из кэша вытянуть и распознать. А там могут храниться пароли, данные Ваших банковских карт, ssl-ключи безопасности. В общем, некий процесс из пользовательской памяти может получить доступ к памяти в процессоре и собрать эти данные и каким-то образом их применить. В этом заключается особенность уязвимости Meltdown.

Какие процессоры уязвимы Meltdown?

Данная проблема характерна не только для процессоров Intel, но и других тоже. Например, Apple заявила, что используемые ими процессоры (ARM) также подвержены этой уязвимости.

Процессоры AMD отличаются архитектурой процессов, но они также используют прогнозированное исполнение. Поэтому 100% гарантии, что этой проблемы нет в процессорах AMD, пока никто не дает.

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

Какие процессоры уязвимы Spectre?

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

Как обнаружили Meltdown?

Информация об этих уязвимостях появилась в первой половине 2017 года. О ней сообщила элитная команда хакеров Google Zero, которой руководил Ян Хорн.

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

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

1 июня он сообщил производителям чипсетов о своей находке. Через неделю он обнаружил Meltdown и сообщил об этом в Intel.

Вторая половина 2017 года была посвящена решению этой проблемы и написанию кода, который мог бы исправить эту уязвимость.

Официальное признание уязвимости было запланирована на 9 января, но британское издание The rochester опубликовали 3 января большую статью, где заподозрили наличие серьезной проблемы с процессорами Intel в операционной системе Линукс.

На тот момент разработчики дорабатывали взаимодействие ОС Линукс с процессорами, с тем, как работает память, как кэшируются данные.

Новогодний переполох с уязвимостями в процессорах связан с утечкой информации из коммитов кода. Поэтому 4 января было известно и о Meltdown, и о Spectre. Из-за этого все поперепутали и начали поднимать панику, а доблестные сми в этом активно помогали.

Чем отличается Spectre от Meltdown?

Разница в уязвимостях Meltdown и Spectre заключается в архитектуре.

Meltdown распространяется на процессоры Intel и процессоры Apple.

Spectre распространяется на Intel, Apple и большинство процессоров ARM и на процессоры AMD, а также процессоры Qualcomm (о них немного говорили, но стоит упомянуть).

Кстати, чипы Qualcomm стоят в большинстве android-смартфонов.

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

Meltdown пытается достать закэшированные данные из памяти ядра.

Наглядный пример, который может случиться с каждым из нас. Яваскрипт, который исполняется в отдельном процессе от браузера, но за счет этой уязвимости он может получить доступ к процессу браузера, к процессам разных страниц и собрать данные, которые там используются (логины, пароли, данные кредитных карт и прочее).

Эта проблема затрагивает компьютеры, телефоны, планшеты, различные онлайн-сервисы, которые работают со своими процессорами.

Кстати, для рядовых пользователей решение уязвимостей Meltdown и Spectre обернется снижением производительности на 5-30%. Большинство из них это почти не заметит, так как будут затронуты не все процессы, выполняемы на компьютере или телефоне.

А вот для различных хостингов эта проблема достаточно существенная. При установке патча Meltdown и Spectre производительность процессоров на их оборудовании падает на 15-30%. На онлайн-сервисах с высокой загрузкой процессора (50-60%) это может привести к сбоям в работе.

Как ведут себя сервера Stack Overflow после патча Meltdown:

график загруженности сервера Stack Overflow после патча Meltdown

источник: https://t.me/alexmakus

Что теперь делать?

Эксперт в сфере интернет-безопасности Алекс Пацай считает, что в этом году не появится каких-то радикальных решений уязвимостей Meltdown и Spectre, например новых чипсетов процессоров.

Какое-то время они будут исследовать возможности обойти эти уязвимости без потери мощность производительности процессора.

Как минимум, им придется придумать новую логику их работы. Каждый раз, когда выпускается новое поколение процессоров их позиционируют, как более мощные и быстрые. Вряд ли новые поколения будут представлены как более медленные, ссылаясь на отсутствие уязвимостей Meltdown и Spectre.

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

Сам подкаст:

Обновления:

Далее будем добавлять новости по теме в хронологическом порядке.

«По состоянию на 15 февраля 2018 года было подано 30 судебных исков о действиях в отношении клиентов и два судебных иска по делу о ценных бумагах», — пояснил Intel в подаче комиссии по ценным бумагам и биржам (SEC).

Многие СМИ пишут, что Intel намеренно скрыла обнаружение недостатков безопасности чипов Meltdown и Specter от должностных лиц кибербезопасности США. Intel «нарушила законы о ценных бумагах». Глава Intel Брайан Кржанич продал принадлежавший ему значительный пакет акций компании, зная об обнаруженной критической уязвимости процессоров ее производства, пишет Business Insider. То есть у них был еще один мотив для сокрытия информации об уязвимостях в процессорах. Узкий круг лиц успел продать акции Intel по выгодной цене. После обнародования уязвимостей Meltdown и Specter стоимость акций начала снижаться. Чтобы такого не повторилось в будущем комиссия по ценным бумагам и биржам США (SEC) обновила свод правил, где теперь компании будут должны своевременно предоставлять информацию о киберугрозах.