Уязвимость Cryptsetup в Linux с шифрованием LUKS: достаточно просто зажать Enter

041784405a404ad1a02df1c92c68c2b7.png

В безопасности Linux обнаружилась огромная брешь, которая оставалась незамеченной с версии 2.6. Все интернет-издания ссылаются на отчет авторства Гектора Марко и Исмаила Риполла из компании Cybersecurity Group.

Уязвимость находится в скриптах, которые дают доступ к разбивке системы на разделы, при условии, что процедура защищена с помощью Linux Unified Key Setup (LUKS). Сведения о «слабом месте» были обнародованы 11 ноября во время конференции по безопасности DeepSec 2016 в Вене. Название доклада, прозвучавшего со сцены, — «Злоупотребление LUKS для взлома системы».

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

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

Какие системы подвержены уязвимости
Debian и Ubuntu с зашифрованными системными разделами — скорее всего, все дистрибутивы, но авторы отчета это не проверяли. Также все системы с Dracut вместо initramfs — это Fedora, Red Hat Enterpise Linux, и SUSE Linux Enterprise Server.Защита разделения дискового пространства
Происходит во время инсталляции системы, когда предлагается поделить диск, если есть необходимость, и отформатировать его части. После этого пользователь может выбрать опцию шифрования из соображений безопасности. Пример
Ниже показано, как выглядит классическая структура уязвимой системы, защищенной всего одним паролем.

87958bf3103640e0bf7a683e1bdd1c01.png

Видно, что /dev/sda5 зашифровано и использовано как физический диск в группе lubuntu-vg, которая состоит из двух логических дисков lubuntu--vg-root и lubuntu--vg-swap_1.

Чем чревато

С доступом к консоли и опцией перезагрузки системы хакер способен запустить оболочку без корневых разрешений в окружении initrd. Пароль разблокирует системный раздел. Если один раздел запаролен, это не значит, что и остальные тоже защищены. Злоумышленник может многое: от расширения прав локального пользователя до полного удаления всей информации на диске. Как так получилось
Брешь образовалась в некорректной процедуре обработки проверки пароля. После трех неудачных попыток система позволяет пробовать еще и еще.

27c5b1fbf7af48a19bfc1294b4102ae9.png

Корень ошибки скрывается в файле /scripts/local-top/cryptroot. Как только вы превысили максимальное количество попыток обвала переходных аппаратных средств, вы получаете права доступа к корневому уровню.

Таблетка от невнимательности
Остановите последовательность загрузки, когда количество попыток введения пароля заканчивается. Этот патч откладывает выполнение навсегда. Чтобы выйти — перезагрузите компьютер.

124097193a0f4326ae8af21c0829a17b.png

Что делать
Linux выпустит фикс проблемы, но администраторам ждать не стоит, пропатчите систему сами.

Комментарии (1)

  • 16 ноября 2016 в 13:25

    0

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

© Habrahabr.ru