Sign in to follow this  
Daniel5555

Meltdown, Spectre и общее состояние индустрии…

Recommended Posts

Тема про все, связанное с уязвимостями на уровне CPU под названиями Meltdown (только процессоры Intel) и Spectre (Intel, AMD, многие ARM-процессоры).

 

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

 

Речь идет об уязвимостях в архитектуре современных процессоров на уровне железа. Они достаточно большие, их невозможно исправить с помощью микрокода (кода, который используется для функционирования самого процессора и не является частью операционной системы и других программ).

 

Meltdown является наиболее опасной из них — он позволяет любой произвольной программе получать доступ к областям памяти, зарезервированным для операционной системы. С его помощью можно получить доступ к конфиденциальной информации, в частности к паролям, которые находятся в оперативной памяти. К примеру, в академической статье, которая описывает эту уязвимость, исследователи успешно извлекли пароли, которые сохранил менеджер паролей Mozilla Firefox.

 

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

 

Пара ключевых аспектов:

 

1. Эти уязвимости позволяют только получать информацию, но не менять ее. Они не позволяют «волшебным образом» получить доступ к компьютеру. Но, конечно, они могут помочь украсть, скажем, пароль администратора и таким образом все-таки предоставить доступ.

 

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

 

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

 

Что надо делать:

 

1. Против Meltdown необходимо устанавливать обновления безопасности для операционных систем на компьютерах, где используются процессоры Intel. В данный момент известно, что уязвимость есть на практически всех процессорах, вышедших после 1995 года.

 

Эту уязвимость можно исправить на уровне операционной системы. Антивирусный софт и другие программы крайне неэффективны против этой уязвимости.

 

Имейте в виду, что обновление Windows вызывает проблемы с некоторыми антивирусными программами, так что антивирус тоже должен быть обновлен. Большая часть пользователей должны получить обновление автоматически, если они еще не получили его.

 

2. Против Spectre нет патчей и, скорее всего, не будет.

 

3. Соблюдать общие рекомендации для обеспечения информационной безопасности. Не храните пароли в браузере. Используйте разные пароли на всех сайтах. Критические пароли не стоит хранить в электронном виде вообще.

 

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

 

Интересные ссылки

 

Брюс Шнайер о теме (много линков на разную информацию): https://www.schneier.com/blog/archives/2018/01/spectre_and_mel_1.html

Официальный сайт уязвимостей с академическими статьями: https://meltdownattack.com/

Простое техническое объяснение: https://lwn.net/SubscriberLink/742702/83606d2d267c0193/

Еще более простое объяснение: https://www.lawfareblog.com/spectre-advertising-meltdown-what-you-need-know

Почему Raspberry Pi не затронут: https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/

 

  • Like 2

Share this post


Link to post
Share on other sites
10 часов назад, Daniel5555 сказал:

Брюс Шнайдер

только он не Шнайдер, а Шнайер )

*обожаю этого чувака*

  • Thanks 1

Share this post


Link to post
Share on other sites

Достаточно интересная заметка о текущем состоянии дел: http://lists.dragonflybsd.org/pipermail/users/2018-January/335626.html

 

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

Share this post


Link to post
Share on other sites

"Парни! Вас ждет вторая серия!" (мр. Секонд)

https://security-tracker.debian.org/tracker/CVE-2018-8897

 

https://www.opennet.ru/opennews/art.shtml?num=48569

Цитата

Причиной возникновения уязвимости является недостаточно ясная трактовка в официальной документации ("System Programming Guide of the Intel 64 and IA-32") поведения MOV SS/POP SS при возникновении отладочных исключений (#DB). На системах x86 стек представлен комбинацией из сегмента стека (SS) и указателя позиции в стеке (SP), которые всегда должны быть синхронизированы для корректного выполнения операций. Инструкции, выполняющие манипуляции с сегментом стека, для блокирования рассинхронизации содержат специальный обработчик для обеспечения согласованности с изменением указателя стека.

 

Уязвимость позволяет непривилегированному пользователю инициировать ситуацию при которой можно получить контроль за указателем стека и указателем GSBASE в обработчике прерываний, вызванном в контексте ядра, что позволит получить доступ к структурам ядра и повлиять на ход выполнения низкоуровневых функций операционной системы (прототип эксплоита для Linux). Например, атакующий может настроить отладочный регистр для срабатывания точки останова при доступе к данным в вершине стека, после чего выполнить инструкцию 'pop %ss; int 3'. Данная инструкция приведёт к возникновению исключения DB#, но оно будет вызвано только после выполнения 'int 3' и перехода в контекст ядра (исключение на адрес в пространстве пользователя возникнет в контексте ядра).

Работа по формированию обновлений для устранения уязвимости велась согласованно с соблюдением эмбарго, поэтому проблема была устранена в большинстве систем ещё до публичного анонса. Подверженность уязвимости различных систем:

  • Linux: уязвимость может привести только к краху ядра, возможность атаки по повышению привилегий исключена (в Linux используется IST, но один слот для #BP и #DB, что позволяет совершить DoS). Обновления пакетов с ядром выпущены для Debian, RHEL, Fedora, openSUSE, SUSE и Ubuntu. Исправления включены в свежие выпуски поддерживаемых веток ядра Linux;
  • Системы виртуализации на базе KVM (CVE-2018-1087): непривилегированный пользователь гостевой системы может использовать уязвимость для поднятия своих привилегий внутри гостевой системы (прототип эксплоита);
  • Гипервизор Xen (XSA-260): пользователь гостевой системы, работающей в режиме паравиртуализации (PV), может поднять свои привилегии до уровня гипервизора (ring0);
  • FreeBSD: уязвимость устранена в ветках stable/11, 11.2-PRERELEASE, releng/11.1, 11.1-RELEASE-p10, stable/10, 10.4-STABLE, releng/10.4, 10.4-RELEASE-p9. В ходе атаки можно получить доступ к содержимому памяти ядра, потенциально поднять свои привилегии или вызвать крах ядра;
  • DragonFly BSD: исправление уязвимости включено в ядро DragonFly_RELEASE_5_2;
  • Windows: уязвимость можно использовать для повышения привилегий и получения полного контроля над системой;
  • macOS: локальный пользователь может поднять свои привилегии в системе и выполнить код с правами ядра;
  • OpenBSD и NetBSD не подвержены уязвимости.

 

https://www.kb.cert.org/vuls/id/631579

Заплатки есть. Дружно апдейтимся.

Share this post


Link to post
Share on other sites
11 часов назад, Minamoto Michi сказал:

 

Заплатки есть. Дружно апдейтимся.

Так, а для Win7 x64 можно достать ссылочку прямую? А то найти не могу, а автоапдейтером принципиально не пользуюсь

Share this post


Link to post
Share on other sites
3 часа назад, Minamoto Michi сказал:

Насколько вижу, надо несколько: https://www.rapid7.com/db/vulnerabilities/msft-cve-2018-8897

Я просил прямую ссылку на мелкомягких, вестимо :)

Но всё же спасибо, попробую разобраться.

Share this post


Link to post
Share on other sites

На прошлой неделе в рассылке разработчиков OpenBSD было опубликовано следующее: https://marc.info/?l=openbsd-tech&m=153504937925732&w=2

 

Если вкратце, то весь Hyperthreading/Multithreading в процессорах Intel небезопасен, так как в процессоре имеется баг на уровне железа. Это может позволить, скажем, компьютерному вирусу выйти из виртуальной машины и заразить хост, что очень и очень мощно, скажем так.

 

Поэтому Тео де Раадт советует отключить Hyperthreading на уровне БИОСа. Я бы не был столь категоричен на домашних компьютерах, потому что это очень сильно снизит производительность и угроза, на мой взгляд, не настолько велика. Однако, если есть какие-то критические данные или процессы, на серверах и тому подобной технике, это может быть необходимым решением в создавшейся ситуации.

 

Еще немного о баге с более легким текстом: https://www.schneier.com/blog/archives/2018/08/speculation_att.html

  • Thanks 1

Share this post


Link to post
Share on other sites

Свежач0к!!!
Смотрите на каждом проце от Интела 2011...2018 года!
https://zombieloadattack.com/
"...After Meltdown, Spectre, and Foreshadow, we discovered more critical vulnerabilities in modern processors. The ZombieLoad attack allows stealing sensitive data and keys while the computer accesses them.

While programs normally only see their own data, a malicious program can exploit the fill buffers to get hold of secrets currently processed by other running programs. These secrets can be user-level secrets, such as browser history, website content, user keys, and passwords, or system-level secrets, such as disk encryption keys.

The attack does not only work on personal computers but can also be exploited in the cloud..."

 

Вкратце: Интел позволяет смотреть задачи и данные других пользователей (контейнеров, процессов - не важно) путем нетривиального переполнения буфера в проце.

 

Пример на видео - постороннему снаружи можно посмотреть, куда ходит Тор браузер в изолированной виртуалке:

https://zombieloadattack.com/public/videos/demo_720.mp4

 

Возапдейтимся же, братие!

https://www.zdnet.com/article/how-to-test-mds-zombieload-patch-status-on-windows-systems/

Edited by Minamoto Michi

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.