Уязвимости в процессорах Meltdown и Spectre: как защититься

Уязвимости в процессорах Meltdown и Spectre: как защититься | ageofgeeks.com

В начале января 2018 в сети активно заговорили о 2 очень страшных уязвимостях почти во всех существующих процессорах, позволяющих в худшем случае полностью прочитать содержимое памяти компьютера, не имея на нем вообще никаких прав. Мы решили разобраться в вопросе и доступным языком объяснить, почему эта проблема настолько глобальная и острая, и как от этого защищаться.

Экскурс

В 2018 году мы живем в настолько оцифрованном обществе, что вся эта виртуальная инфраструктура представляет огромную ценность для тех самых хакеров, готовых украсть наши деньги и частные данные. Производители современных операционок и сложных программных продуктов ежемесячно закрывают уязвимости десятками. Многие пользователи и не задумываются о том объеме работы, которая ведется независимыми экспертами и компаниями производителями софта, в области безопасности. Многие пользователи даже специально отключают обновления для своей операционной системы, мотивируя это простым «А зачем? И так все работает».

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

В общем, безопасность устройств оказывается забыта напрочь. И все хорошо, пока пользователь не «ловит» какого-нибудь вымогателя-шифровальщика или другой вирус, причиняющий массу хлопот.

meltdown

Процессоры тоже подвержены уязвимостям?

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

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

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

Что такое Meltdown и Spectre?

Meltdown — способ получения данных из оперативной памяти, доступ к которой в нормальном режиме невозможен. У каждого современного процессора есть кэш-память. Она в десятки раз быстрее, чем ОЗУ (оперативная память), но объем ее меньше. Туда помещаются самые важные данные, которые нужны или будут нужны процессору. Суть атаки заключается в том, чтобы очистить кэш процессора и запросить данные из недоступной оперативной памяти. Возникнет исключение, но данные в кэш-память все равно попадут. Ради производительности процессор сначала запрашивает данные из оперативной памяти, потому что ждать их долго, а затем проверяет, есть ли у запросившего к ним доступ. Даже если доступа нет, данные все равно попадут в кэш. А затем атакующий «скармливает» процессору разные наборы данных и оценивает время выполнения. Если время низкое — такие данные есть в кэш-памяти.  Основываясь на этом простом переборе, можно как бы «копировать» содержимое кэша. Очень медленно, но все же можно. Причем делать это может любое запущенное приложение, даже не обладающее на устройстве административными правами. А в некоторых случаях даже скрипт на сайте в интернете.

Spectre — способ чтения содержимого оперативной памяти. Современные процессоры — очень сложные устройства, выполняющие массу операций каждый такт, миллионы ежесекундно. Большинство, будь то чипы от Intel, AMD или ARM, имеют алгоритмы предсказания. Получив набор инструкций, процессор переупорядочивает его и пытается не только выполнить максимально быстро, но и провести параллельно те вычисления, которые могут пригодиться. Если пригодятся — отлично, быстродействие повысилось. Если нет — ну и ладно, выкинем. Суть атаки заключается в том, чтобы «натренировать» алгоритм предсказания процессора на выполнение одной и той же команды, а затем в последний момент подсунуть вместо данных ссылку на нужную информацию из оперативной памяти. Процессор радостно исполнит команду, ведь до этого кучу раз нужно было, затем поймет, что проделанная работа лишняя, но информация уже попала в его кэш-память, откуда ее можно «скопировать».

Какие процессоры и устройства подвержены?

Многие современные, в том числе:

  • Процессоры компании Intel всех серий кроме Itanium и Atom, выпускавшиеся с 1995 года. Процессоры Atom новых поколений, выпущенные с 2013 года.
  • Процессоры компании AMD последних поколений.
  • Процессоры ARM серий Cortex-A15, A-57, A-72, A-75 и производные от них.
  • Процессоры, создаваемые компанией Apple и использующиеся в смартфонах iPhone, а также все компьютеры Mac, построенные на процессорах Intel.
  • Процессоры серий IBM Power 7, 8, 9.

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

spectre

Насколько критичны эти уязвимости?

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

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

Еще одно важное замечание — полностью исправить проблему можно только заменой процессора на новый, не имеющий такой уязвимости, а пока что таковых попросту нет.  Но ряд мер, затрудняющих использование уязвимости, могут быть предприняты уже сейчас. Большинство из них, к сожалению, замедлят работу вашего устройства, впрочем, незначительно, вы вряд ли это заметите. В случае с ОС Linux и Windows у пользователя есть выбор, пойти на этот компромисс или нет.

Что делать?

  1. Убедиться, что вы используете актуальную версию операционной системы для своего устройства, будь то Windows, iOS, Android.
  2. Убедиться, что у вас включена установка обновлений безопасности. В случае с мобильными устройствами, убедиться, что производитель вообще предоставляет такие обновления. Большинство недорогих телефонов и планшетов перестают поддерживаться сразу после выпуска. Они в зоне наибольшего риска.
  3. По мере появления новых версий прошивок, обновлений BIOS незамедлительно их установить.
  4. Обновить антивирусное ПО на компьютере (в случае появления вредоносного ПО антивирус хотя бы узнает о его существовании и постарается помешать его работе на вашем устройстве).
  5. Обновить веб-браузер и следить за актуальностью его версии.

Где получить больше информации

Исследователи уже запустили сайт Meltdown and Spectre (англ.), целиком посвященный данной проблеме. Там можно найти как краткие ответы на основные вопросы, так и подробное техническое описание проблемы.

Информации в Интернете уже тоже появилось достаточно. Например, на сайте ZDNet имеется подробная статья (англ.) о KPTI и разделении пользовательской памяти и памяти ядра для борьбы с данной проблемой в ОС Linux.

Компания Microsoft опубликовала соответствующие бюллетени безопасности (англ.) с информацией по обнаружению и устранению проблемы.

Компания Apple опубликовала статью (англ.) на своем сайте поддержки о данных уязвимостях.

В «Википедии» уже появились подробные статьи о Meltdown (англ.) и Spectre (англ.).

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

Итог

К счастью, подобные уязвимости всплывают достаточно редко. Но масштаб проблемы с лихвой компенсирует этот факт. Практически все современные бытовые и профессиональные компьютеры оказались подвержены проблеме, возникшей не столько из-за чьей-то ошибки, сколько из-за особенностей работы современных систем. Тем не менее, стоит предпринять некоторые действия, описанные выше, чтобы максимально обезопасить себя от данной проблемы.


Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Евгений Беляев

Евгений Беляев

@MorgenS (116 lvl)

Гик и геймер. Фанат ПК и чуточку консольщик. Редактор и автор.

Twitter (username)

Комментарии:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: