Meltdown & Spectre — пробуем на Астре и Альте

Разработчики из Google Project Zero опубликовали детали двух уязвимостей, которые получили кодовые имена Meltdown и Spectre. Процессоры Intel и ARM64 подвержены обеим проблемам, AMD затрагивает только вторая уязвимость. Для демонстрации атак подготовлены работающие прототипы эксплоитов, в том числе реализация на JavaScript, работающая в браузере.

Уязвимость Meltdown (CVE-2017−5754) позволяет приложению прочитать содержимое любой области память компьютера, включая память ядра и других пользователей. Проблема также позволяет получить доступ к чужой памяти в системах виртуализации и контейнерной изоляции, например, пользователь одной виртуальной машины может получить содержимое памяти хост-системы и других виртуальных машин. Уютный видосик:

Уязвимость Spectre (CVE-2017−5753, CVE-2017−5715) создаёт брешь в механизме изоляции памяти приложений и позволяет атакующему получить данные чужого приложения (только приложения, но не памяти ядра). Этой атаке подвержены процессоры Intel, AMD (только при включенном eBPF в ядре) и ARM64. По сравнению с Meltdown уязвимость существенно труднее в эксплуатации, но её и значительно труднее исправить.

Как проверить

Исходники для Meltdown (Windows) лежат на pastebin, для Линукс есть репозиторий на Гитхабе.

Для Spectre на Гитхабе.

Исправления

Для Линукс уже есть патчи (PTI), народ рапортует о результатах:

Выключен PTI

dd if=/dev/zero of=testfile bs=512 count=5000000
5000000+0 records in
5000000+0 records out
2560000000 bytes (2.6 GB, 2.4 GiB) copied, 2.34906 s, 1.1 GB/s

Включен PTI

dd if=/dev/zero of=testfile bs=512 count=5000000
5000000+0 records in
5000000+0 records out
2560000000 bytes (2.6 GB, 2.4 GiB) copied, 4.91892 s, 520 MB/s

В /tmp который tmpfs.

С Новым Годом!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *