5g future | Что такое Meltdown/Spectre и нужно ли вам его бояться?
6770
post-template-default,single,single-post,postid-6770,single-format-standard,ajax_fade,page_not_loaded,,qode-title-hidden,qode_grid_1300,footer_responsive_adv,qode-content-sidebar-responsive,qode-theme-ver-10.1.1,wpb-js-composer js-comp-ver-4.12.1,vc_responsive

Что такое Meltdown/Spectre и нужно ли вам его бояться?

Apple выпустила обновление iOS 11.2.2, которое исправляет аппаратную уязвимость Meltdown/Spectre, обнаруженную в большинстве процессоров, выпущенных аж с 1995 года, в том числе и разработанных ARM (а на базе лицензионных архитектур ARM делает свои процессоры A-серии сама Apple, они используются в смартфонах и планшетах). Обновления безопасности выпущены также для OS X и Apple TV.

Что такое уязвимость Meltdown/Spectre?

Если коротко, то это аппаратная «дырка», позволяющая вредоносному ПО, включая такое примитивное, как Javascript в браузере, получать доступ к областям памяти, используемым ядром операционной системы. В ней могут храниться кэши открытых файлов, в том числе содержащих пароли, персональные данные и т.п.; именно они являются мишенью и легкой добычей хакеров. Известно, что в зависимости от сценария атаки их можно добыть на устройствах, работающих на процессорах Intel, AMD, а ARM даже опубликовала список ядер, на которых возможно проведение такой атаки. Если на пальцах, то атака Meltdown возможна благодаря так называемому спекулятивному выполнению инструкций и предсказанию ветвлений. То есть, он пытается заранее предсказать, какие расчеты надо будет выполнить в дальнейшем, и выполняет их на всякий случай в «свободное время». Удачно предсказал — ура, сэкономили время, уже готов результат. Неудачно — не страшно, посчитаем то, что от нас хотят. И это позволяет хакеру заставить процессор заранее выполнить нужную злоумышленнику инструкцию, результат которой будет сохранен в кэше, откуда можно потом его прочитать, и, таким образом, поэтапно «слить» в кэш все содержимое памяти, где оно будет доступно злоумышленнику. Всего сценариев атаки три, два из них имеют общее название Spectre, а третий — Meltdown.

Кому грозит уязвимость?

В списке ARM — практически все современные ядра, вплоть до Cortex-A75, которое используется в чипсете Snapdragon 845. Из распространенных ядер неуязвимо Cortex-A53, с ним можно спать спокойно. В списке Intel — практически все современные процессоры, начиная с 45-нанометровых, включая серии Intel Core, Atom, Pentium, Celeron и Xeon.
AMD списков не опубликовала, однако Google сообщила о наличии уязвимости в AMD FX и AMD Pro. По свидительствам хакеров, подвержены атакам и многие другие процессоры. В основном уязвимость мобильных устройств касается первого варианта Spectre, а компьютеров — Meltdown.

Как защититься от узвимости? Что делать?

Важно понимать, что атака не происходит сама по себе, для ее реализации нужно запустить на компьютере вредоносный код, то есть, сам пользователь должен что-то скачать на свое устройство и затем запустить. То есть, социальная инженерия остается основной «дырой», если ничего не скачивать и не запускать из неизвестных источников, то проблема для вас будет менее актуальной. Однако Javascript в браузере может запуститься просто при переходе на вредоносный сайт. К сожалению, недостаточно будет не посещать порносайты и сайты с варезом: вредоносный код может быть загружен хакерами и на безобидные ресурсы через уязвимости в популярных CMS, например, WordPress. Пока что придется ждать программную «заплатку».

Как программная заплатка решает проблему аппаратной уязвимости?

Все просто: в процессорах есть буферы TLB (Translation lookaside buffers), в которых хранятся таблицы соответствий адресов виртуальной памяти (к которой обращаются приложения) и физической (которая аппаратно установлена в компьютере, планшете или смартфоне). Буферы эти как раз и нужны для хранения таблиц соответствий, чтобы можно было обращаться напрямую к странице памяти. Стоп, тут уже начинается заумь, а мы договорились на пальцах. В общем, заплатки принудительно раз за разом обнуляют этот буфер. Естественно, это тормозит работу системы, ведь, напомним, буфер придумали для ее ускорения. Правда, торможение незначительное: на 2-3%. Однако при записи данных на жесткие диски скорость в ряде случаев падает до 40%.

Метки:

Подписка на рассылку

Один раз в неделю

всё самое интересное в вашей почте.