LINUX.ORG.RU

А чё, никто не в курсе? Новая уязвимость линукса: BootHole

 , ,


0

1

subj

Как выяснили исследователи компании Eclypsium, большинство дистрибутивов Linux, включая ПО для Интернета вещей, оказались подвержены опасной уязвимости. Обнаруженная уязвимость кроется в механизме загрузки, что позволяет легко обходить даже процесс проверки при включенном режиме безопасной загрузки (Secure Boot). Патчи готовятся, но процесс исправления может затянуться.

Неофициальное название новой уязвимости ― BootHole, а присвоенный ей официальный индекс ― CVE-2020-10713. Специалисты Eclypsium обнаружили уязвимость около полугода назад и с тех пор рассылали информацию всем причастным к созданию дистрибутивов Linux компаниям. Можно рассчитывать, что патчи не задержатся, хотя сложность в реализации проверки работы загрузчика с множеством компонентов не обещает простых решений.

Слабым звеном в защите процесса загрузки устройств под управлением Linux стал один из элементов популярного загрузчика GRUB2 во всех его проявлениях. Это конфигурационный файл grub.cfg, который хранится в системном разделе EFI. У этого файла нет криптографической защиты, например, цифровой подписи. У него простой текстовый формат, содержимое которого может модифицировать любой с правами администратора. В мире полно уязвимостей, позволяющих повысить привилегии пользователя, так что необходимость прав администратора для исправления grub.cfg не должна никого успокаивать.

Модифицированный злоумышленником файл через классическую уязвимость типа переполнения буфера даёт возможность управлять процессами загрузки ПК или устройствами с подключением к Интернету. Например, обеспечить загрузку буткита и, тем самым, навечно прописать в систему зловредное ПО, которое невозможно будет удалить даже с помощью форматирования накопителя. Самое печальное, что включение режима безопасной загрузки, что само по себе должно проверять все подозрительные действия загрузчика, не защищает от уязвимости BootHole.

Данная уязвимость грозит не только системам под управлением одной лишь Linux. Если ПК предполагает два варианта загрузки (Linux и Windows), он также уязвим к BootHole. Тем самым в опасности оказываются не только серверы и устройства IoT, но также ноутбуки и настольные компьютеры.

Перемещено leave из talks

★★★★★

Зачем мне под рутом переполнять буфер через груб, что-бы прописать свой псевдогруб через уязвлённый груб, если я могу просто сразу заменить груб на свой загрузчик, если я уже умею (а с этой дыркой я должен это уметь) обходить секурбут в своём загрузчике? о_О

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

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

Зачем это? У меня отдельный сервер под виртуализацию. А на десктопе есть Multipass, если надо быстренько запустить Ubuntu. И LXD с поддержкой qemu-kvm.

anonymous
()

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

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

потом удивляться почему дети похожи на «Васяна».

Действительно, странно: должны были бы быть похожи на соседа… Как он этого «Васяна» прозевал?!

anonymous
()
Ответ на: комментарий от fornlr

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

Почему нет? Любая нормальная плата позволяет заменить ключи Secure Boot на собственные ключи пользователя, и тогда, действительно, Secure Boot должен защитить от подмены ядра даже в случае компрометации системы. Если, конечно, не найдётся уязвимость в загрузчике.

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

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

Печально ещё, что дебиан сразу в стейбл положил апдейт. Это признак, что там некому оказалось возразить, что уязвимость на самом деле не особо то и критическая

anonymous
()
Ответ на: комментарий от theNamelessOne

уязвимость линукса

GRUB2

Што?

Линукс - это семейство операционных систем.

Linux (Слушатьi/ˈlɪnəks/ [ˈlɪnəks][2][3] или [ˈlɪnʊks][4][5][6], Ли́нукс) или GNU/Linux (см. ниже) — семейство Unix-подобных операционных систем на базе ядра Linux, включающих тот или иной набор утилит и программ проекта GNU, и, возможно, другие компоненты.

grub - часть Linux.

anonymous
()
Ответ на: комментарий от crutch_master

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

Не всегда. Для правки grub.cfg нужен не весь рут, а лишь CAP_DAC_OVERRIDE.

Во вторых, атакующий может править файл, но прочие разрешения порезаны через selinux и прочее.

anonymous
()
Ответ на: комментарий от crutch_master

В openbsd grub не используют?

Принадлежность граба (GNU grub) к линуксу (GNU/Linux) не отменяет возможности его использования где угодно.

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

Принадлежность граба (GNU grub) к линуксу (GNU/Linux)

Он НЕ принадлежит к линуксу никаким боком. Это проект гну, который может использоваться где угодно. Может еще будешь утверждать, что ява принадлежит к линуксу, ну её же запускают там.

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

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

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

Может еще будешь утверждать, что ява принадлежит к линуксу, ну её же запускают там.

Если установлена по умолчанию в дистрибутиве линукса - то да. Вообще весь мир - линукс, и мы часть линукса.

anonymous
()

любой с правами администратора

такой любой может даже так сделать…

# rm -rf /

как назовем такую уязвимость?

anonymous
()
Ответ на: комментарий от buratino

Таки не совсем бред. Согласно этому материалу, есть возможность проскочить этап проверки secure boot`ом. Также, имея физический доступ, либо через pxe-boot, можно запустить модифицированное ядро с вредоносным кодом.

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

Как я понял, там есть возможность подменить ядро. Но только если у тебя есть физический доступ, или по pxe-boot. Это, конечно, не отменяет того, что новость совершенно идиотская. Если интересно, вот ссылка.

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

Лилобог ворвался в этот ИТТ тред

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

То есть, насколько я понял, чтобы полноценно воспользоваться уязвимостью, нужно так или иначе получить доступ к машине. Но если админ разрешает произвольный доступ к компьютерам, то он ССЗБ. Так что, не совсем понятно, что тут такого страшного

anti_win ★★
()

Получается, уязвимость таки есть, но при нормальном подходе ею не получится воспользоваться. А имея физический доступ или права администратора можно натворить дел покруче подмены ядра.

anti_win ★★
()

Походу, «уязвимость» — надуманный предлог для выкидывания или огораживания GRUB. Корпорастам не нравится универсальный настраиваемый загрузчик, позволяющий грузить что угодно.

Сначала внедрили Secure boot, теперь это.

hobbit ★★★★★
()

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

anonymous
()

Это такая хрень, что даже упоминать нет смысла. Есть вообще хоть один дистрибутив, с полным секуре бут пас? С подписанными (кем?) модулями, initrd, IMA/EVM итд?

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

Шерето…

Только речь-то про UEFI. Хотя там тоже что-то из линукса сделали, но уж как сделали.

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

Корпорастам не нравится универсальный настраиваемый загрузчик, позволяющий грузить что угодно.

Сейчас они предложат залочить рута и прошить загрузчик, или обвешать его сертификатами или ещё какой-нибудь ерундой. Хотя можно его прибить к системд, вообще наркоманский торт получится. Тогда сразу можно закапывать линукс так как это уже будет подобие андроида, только более кривое и вечно требующее правок. Так скоро пересядем на Винду и будем грузить линуксы в ней. Финиш!

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

оставить жену наедине с соседом, а потом удивляться почему дети похожи на «Васяна».

Не тот счастлив, у кого много добра, а тот - у кого жена верна.

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

Сотрудникам и владельцам шапки давно уже пора вставить бутылки за деструктивную деятельность.

LongLiveUbuntu ★★★★★
()

Tight butt hole vulnerability

anonymous
()

Практично уязвимости CVE-2020-10713 (BootHole) не существует!!!

https://www.gnu.org/software/grub/manual/grub/grub.html#Using-digital-signatures

У меня ВСЕ модули и ВСЕ настройки grub, включая grub.cfg и прочие, которые он подгружает, подписаны, так же как и ВСЕ ядра и инитрд. Не подписанный файл или с плохой цифровой подписью grub незагрузит и может прервать загрузку системы: set check_signatures=enforce .

Если grub.cfg изменить, то уязвимость не проявится, grub проверит цифровую подпись, увидеть что файл плохой и не будет его подгружать. Цепочку доверия и верификации между secure boot и IMA/EVM GRUB не нарушит.

GRUB, пренебрегает безопасностью в угоду минималмстичности и простоты. Но одного Integrity, которое в GRUB есть, хватит чтобы сделать практическое использование уязвимости переполнения буфера нереальным - Integrity в grub верифицируется все, как исполняемые программы, так и данные.

Значит «уважаемые Потеринги» с RedHat опять что-то мутят...

Хотят свою дрянь systemd-boot протолкнуть под предлогом исправления из пальца высосанной, практично не реализуемой проблемы.

Хотят испортить grub под предлогом исправления «уязвимости».

А может не только дрянь sustemd-boot совать будут, а в «обновлённые сборки дистрибутивов Linux» уже засунули... А чтобы со старых, чистых образов не грузились и не ставили чистую систему отозвали в UEFI старые ключи!

Shim - неприемлемое зло! В большинстве Linux-дистрибутивов для верифицированной загрузки используется небольшая прослойка shim, заверенная цифровой подписью Microsoft.

С secure boot UEFI ВСЕ чужие публичные ключи должны удалятся. Это незыблемое требование Integrity. Вы сами, лично, должны создать свой ключ для secure boot UEFI и подписывать им grub core.img в котором находятся установленные переменные окружения и публичный ключ для проверки подписей модулей grub, его настроек, а также ядер и инитрд. Наличие любого чужого публичного ключа, даже, такой уважаемой фирмы как M$, в secure boot неприемлимо!

Integrity - верифицируемая цепочка загрузки OS!

0. Расшифровка «аппаратным ключом платформы» уникального для каждого компа «корневого ключа платформы».
1. Проверка публичным «корневым ключом платыормы» UEFI перед его загрузкой и испоьнением.
2. Проверка ВАШИМ публичным ключом с UEFI ядра grub core.img которое включает: необходимые модули крыптографии для расшифровки /boot, публичный ключ grub, модули grub для проверки подписей и переменные окружения grub.
3. Верификация публичным ключом grub всех подгружаемых по требованию модулей, настроек grub.
4. Верификация публичным ключом grub ядра OS с публичными ключами IMA/EVM и инитрд.
5. Верификация ядром публичными ключами IMA/EVM процесса #1 init и ВСЕХ остальных исполняемых в системе файлов, библиотек, настроек и неизменяемых данных.

Система Integrity дает гарантию аутентичности и целостности всей системы.

anonymous
()
Ответ на: комментарий от vasily_pupkin

Есть вообще хоть один дистрибутив, с полным секуре бут пас? С подписанными (кем?) модулями, initrd, IMA/EVM итд?

У меня есть. Для себя сделал свой дистр. Все работает.

anonymous
()
Ответ на: комментарий от d_a

А вообще, если серьёзно, странно почему /usr и прочее не монтируют в r/o. Пакетный менеджер перемонтировал бы временно когда ему надо, всё равно от рута работает.

В NixOS примерно так и сделано ( /nix/store , в котором содержимое всех установленных пакетов лежит).

shatsky ★★
()

Баян. А вообще мне пофиг. Юзаю граб, секурбут вырублен.

RedEyedMan666
()

Сейчас разговоры про уязвимости обычно используются только для того, чтобы пропихивать собственные новые разработки. К примеру майкрософт с пропихиванием телеметрической системы, которая считает себя умнее её пользователя, ну или опера, которая уничтожила оперу престо только для того, чтобы не париться с движком и перейти на хромиумный.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.