Уязвимость Cryptsetup в Linux с шифрованием LUKS: достаточно просто зажать Enter
В безопасности 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.Защита разделения дискового пространства
Происходит во время инсталляции системы, когда предлагается поделить диск, если есть необходимость, и отформатировать его части. После этого пользователь может выбрать опцию шифрования из соображений безопасности. Пример
Ниже показано, как выглядит классическая структура уязвимой системы, защищенной всего одним паролем.
Видно, что /dev/sda5
зашифровано и использовано как физический диск в группе lubuntu-vg
, которая состоит из двух логических дисков lubuntu--vg-root
и lubuntu--vg-swap_1
.
С доступом к консоли и опцией перезагрузки системы хакер способен запустить оболочку без корневых разрешений в окружении initrd. Пароль разблокирует системный раздел. Если один раздел запаролен, это не значит, что и остальные тоже защищены. Злоумышленник может многое: от расширения прав локального пользователя до полного удаления всей информации на диске. Как так получилось
Брешь образовалась в некорректной процедуре обработки проверки пароля. После трех неудачных попыток система позволяет пробовать еще и еще.
Корень ошибки скрывается в файле /scripts/local-top/cryptroot
. Как только вы превысили максимальное количество попыток обвала переходных аппаратных средств, вы получаете права доступа к корневому уровню.
Остановите последовательность загрузки, когда количество попыток введения пароля заканчивается. Этот патч откладывает выполнение навсегда. Чтобы выйти — перезагрузите компьютер.Что делать
Linux выпустит фикс проблемы, но администраторам ждать не стоит, пропатчите систему сами.
Комментарии (1)
16 ноября 2016 в 13:25
0↑
↓
Кто такой Linux и куда он выпустит фикс проблемы? Не говоря уж о том, что уязвимость в скриптах инициализации, а «минимуальную уязвимую версию» приводят по версии ядра. Ядро не содержит в себе скрипты инициализации и не содержит этой уязвимости, если я правильно понял прочитанное.