LINUX.ORG.RU

Уязвимость в Linux позволяет внедрять вредоносный код через Initramfs

 , ,


1

1

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

Отчёт, опубликованный компанией ERNW, демонстрирует эксплуатацию уязвимости в Ubuntu 25.04 и Fedora 42.

Злоумышленник с физическим доступом к системе Linux может получить отладочную (debug) оболочку, просто несколько раз подряд введя неправильный пароль для расшифровки. В Ubuntu достаточно нажать Esc на экране ввода пароля, ввести несколько комбинаций клавиш для того, чтобы появилась отладочная оболочка. Именно через неё атакующий может скомпрометировать зашифрованную систему.

Злоумышленник может подключить USB-накопитель с инструментами для изменения initramfs (Initial RAM File System — временная файловая система, используемая при загрузке для подготовки основной ОС). Поскольку initramfs не подписан, модификация не вызывает срабатывания механизмов защиты.

При следующей загрузке, когда владелец введёт правильный пароль, вредоносный код выполнится с повышенными привилегиями. Это позволит злоумышленнику: похищать данные, получать удалённый доступ для мониторинга системы, запускать кейлоггер или выполнять другие действия.

Исследователи подчёркивают, что это не баг и не ошибка, а скорее «упущение» и «слепое пятно» в архитектуре некоторых дистрибутивов Linux. Отладочная оболочка полезна для пользователей, но злоумышленники могут её использовать в своих целях.

Несмотря на потенциальную опасность, большинству пользователей Ubuntu паниковать не стоит, т.к. атака с физическим доступом требует, чтобы злоумышленник находился рядом с устройством.

Кроме того, метод, описанный ERNW, требует заранее подготовленной USB-флешки со скриптами и инструментами для модификации initramfs, внедрения вредоносного кода и его перепаковки, чтобы процесс загрузки прошёл без ошибок.

Поскольку для этого нужны навыки и подготовка, случайные злоумышленники вряд ли смогут воспользоваться уязвимостью. Риск оправдан только при атаке на важные цели — бизнес, IT-инфраструктуру, активистов или политиков.

Пользователи (и системные администраторы) могут изменить параметры ядра, чтобы система перезагружалась после нескольких неудачных попыток ввода пароля, вместо того чтобы предоставлять отладочную оболочку.

>>> Статья на сайте OMG!Ubuntu

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

А еще можно в grub добавить init 1 и загрузится в root. Или загрузиться с флешки и подмонтировать раздел в чанж рут.

mx__ ★★★★★
()

Злоумышленник с физическим доступом к системе Linux может получить отладочную (debug) оболочку, просто несколько раз подряд введя неправильный пароль для расшифровки. В Ubuntu достаточно нажать Esc на экране ввода пароля, ввести несколько комбинаций клавиш для того, чтобы появилась отладочная оболочка. Именно через неё атакующий может скомпрометировать зашифрованную систему.

Дежавю? Мне кажется лет 5 назад что-то такое уже было

Kolins ★★★★★
()
Ответ на: комментарий от mx__

Риск оправдан только при атаке на важные цели — бизнес, IT-инфраструктуру, активистов или политиков.

Я конечно не безопасник, но в идеальном мире не можно init 1, если всё корректно подписано. Если же нет, то ССЗБ.

apt_install_lrzsz ★★★
()

ЭЭЭ, так это же классическая атака на неподписанный загрузчик. На одном ЛОРе за многие годы (если уже не десятилетия) не мало копий сломано, на тему того, как можно бы было это вылечить.

Что дальше эти парни откроют, что для того, чтобы украсть данные из home не нужен рут пароль?

mamina_radost
()
Последнее исправление: mamina_radost (всего исправлений: 1)

Злоумышленник с физическим доступом к системе

Это ещё цветочки. Только представьте, что может сделать злоумышленник с физическим доступом к владельцу оной!

Smacker ★★★★★
()
Ответ на: комментарий от yars068

Так корневой файловой системы нет без ввода пароля, как ты себе представляешь выполнение /bin/bash?

Но, конечно, шифрование должно сопровождаться отключением свободного доступа в BIOS и к загрузчику.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 3)
Ответ на: комментарий от vbr

Ядру это-то по-прежнему можно передать, но да, если диск зашифрован, будет «тады ой». Но если есть локальный доступ, то можно взломать и шифрованную и обложенную подписями систему, хоть это и займёт время. От такого разве что wipe спасёт.

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от Smacker

Именно. Ректотермальный криптоанализ позволяет нечувствительно обойти любые защиты, шифрования и криптомодули.

beck ★★★★
()
Ответ на: комментарий от yars068

если есть локальный доступ, то можно взломать и шифрованную и обложенную подписями систему, хоть это и займёт время

Поясни.

vbr ★★★★★
()

Ну допустим, взломает уборщица в офисе мой ПК, и внедрится туда зловред с бэкдорами. Пусть даже это будет неLTS версия, хотя таких мы не держим. Но всё равно аномальную активность от хоста обнаружат зонды плюс мега-ИИ по периметру. И вот, прихожу я такой в офис, а комп в песочнице и доступа в корпоративную сетку нет. И вот, начинаю я вести переговоры с ИТ, а они мне доказательства дают, а я в это время в отпуске был, по ВПН в сеть не заходил, двери офиса не открывал.

И чего?

seiken ★★★★★
()

Чо так сложно-то? С физическим доступом к компьютеру можно и со своей флешки загрузиться. И монтируй все, что хочешь!

gns ★★★★★
()
Ответ на: комментарий от gns

С физическим доступом к компьютеру можно и со своей флешки загрузиться.

И как ты это сделаешь?

vbr ★★★★★
()
Ответ на: комментарий от vbr

Ну полный шифрованный диск не обязательно означает, что включен SecureBoot. Значит, можно перегрузиться и править /boot на hdd.

gns ★★★★★
()
Ответ на: комментарий от Smacker

Ректотермальный, это когда сначала вставляют паяльник, а потом нагревают, терморектальный, когда сначала нагревают.

Я адепт первого подхода, он, имхо, эффективнее.

beck ★★★★
()
Ответ на: комментарий от beck

Я так понимаю, мьсе мясо дома не готовит. А так бы мсье знал, что как раз и положено сначала нагревать, а потом использовать.

Smacker ★★★★★
()

Злоумышленник может подключить USB-накопитель…
При следующей загрузке, когда владелец введёт правильный пароль…

Т.е. подходишь ты к своему ноуту и смотришь, какая-то подозрительная флешка в него воткнута. Думаешь, ну флешка и флешка, наверное, так и должно быть, и вводишь пароль безо всякой задней мысли?

rupert ★★★★★
()
Ответ на: комментарий от beck

- Это не эстетично!

- Зато дешево, надежно и практично.

t3n3t
()
Ответ на: комментарий от rupert

Т.е. подходишь ты к своему ноуту и смотришь, какая-то подозрительная флешка в него воткнута

Зависит от форм-фактора. Привет, я блупуп-адаптер для твоей мышки.

t3n3t
()
Последнее исправление: t3n3t (всего исправлений: 2)
Ответ на: комментарий от MagicMirror

Диск в корпусе. При открытии корпуса срабатывает датчик, после которого BIOS отказывается загружаться без ввода пароля администратора.

vbr ★★★★★
()
Ответ на: комментарий от vbr

Если ты этот датчик рабочим нашел, а не целенаправленно искал железо с правильной прошивкой, то можешь еще лотерейный билетик купить.

SB как-то проще и контрится сложнее одного переключателя.

MagicMirror ★★★
()
Ответ на: комментарий от MagicMirror

Датчик я не искал, он в моём thinkpad с завода идёт. Достаточно его не отключать в BIOS, ну и пароль, конечно, поставить.

SB как-то проще и контрится сложнее одного переключателя.

Ну да, вон вся тема про это - меняем initramfs и привет secure boot. Ввёл юзер пароль при следующей загрузки, а этот пароль записался в последний блок на диске.

Ибо secure boot не про защиту userspace, а про защиту kernelspace. Но много интересного происходит именно в userspace, к примеру считывание пароля для диска, преобразование пароля в ключ для luks, и это никак не защищено secure boot-ом. Чтобы было защищено, нужно прилагать дополнительные усилия, и в целом вроде инструменты для этого есть, тот же android их успешно прилагает, но не традиционные дистрибутивы.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от mx__

Идея в том, что если на биосе/ефи стоит пароль, а на грабе тоже стоит пароль, то ты думаешь, что всё безопасно. А тут вот тебе консоль.

Aceler ★★★★★
()

что мешает, загрузившись с флешки, пропатчить initramfs.

rtxtxtrx ★★★
()

Это много лет штатное поведение initramfs’а - при невозможности смонтировать корень запускать консоль.

Secureboot, шифрованный /boot, UKI от этого вот.

undef ★★★
()
Ответ на: комментарий от vbr

Датчик я не искал, он в моём thinkpad с завода идёт. Достаточно его не отключать в BIOS, ну и пароль, конечно, поставить.

В моем тоже идет. Только не работает(((

Ну да, вон вся тема про это - меняем initramfs и привет secure boot. Ввёл юзер пароль при следующей загрузки, а этот пароль записался в последний блок на диске.
Ибо secure boot не про защиту userspace, а про защиту kernelspace.

Просто бубунту - кривое уг, сделавшее себе секурбут только чтобы хомячков не пугать страшными ошибками о невалидных сигнатурах. А разные дурачки верят что для безопасности.

MagicMirror ★★★
()

Срочно включить проверку подписи всего. И подпись должна быть заверена ключом майкрософт. А то небезопасно как-то.

а скорее «упущение» и «слепое пятно» в архитектуре некоторых дистрибутивов Linux

Именно. Без разрешения IBM пользователю рута в принципе лучше не отдавать. Да.

mogwai ★★★★★
()
Ответ на: комментарий от Aceler

А батарейку вынуть?

Ну или сам хдд?

Вообще как я понимаю, чтобы добраться до их отладочной консоли нужно уже преодолеть пароль биоса и пароль груба.

Но прикол в том что взломать ты не можешь, ты можешь подготовить систему к взлому. А взломать может только сам владелец при следующем входе.

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 3)

Интересно, а концептуально отказаться от инитрд можно? Так то все другие ОС умеют грузиться из некого стандартного ядра, и только линукс остался с неразрешимым противоречием: сначала модули или сначала расшифровать диск.

Может пора сделать горячую подмену ядра стандартным способом загрузки? Или там не вся память высвобождается?

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

Вообще то initram это потому что его может сделать просто любой чел. Но если есть знания то можно и подсунуть специально сделанное ядро. В конце концов ядро тоже мы собираем.

mx__ ★★★★★
()
Ответ на: комментарий от kirill_rrr

Тут скорее вопрос в том, почему у инитрд подписи нет.

А сам метод загрузки – хороший. Не вижу никакой проблемы в этой технологии.

wandrien ★★★
()
Ответ на: комментарий от Smacker

Ректотермальный - это когда паяльник вставляют холодным, а потом включают. Терморектальный - наоборот.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от Smacker

Если мы перешли на кухонные аналогии, то… яйца для варки кладут в холодную воду, а то они сразу лопнут.

Камрады, извините за оффтоп. 😁

beck ★★★★
()
Ответ на: комментарий от beck

Ну что делать... Брут-форс, такой брут-форс :)

gns ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.
Тема будет перемещена в архив .