Андрей Коновалов, поделился способом отключения блокировки

Андрей Коновалов Инженер-программист Google, представили способ удаленного отключения защиты от блокировка предлагается в ядре Linux, поставляемом в Ubuntu. С которым показывает, что методы защиты неэффективны, плюс он также упоминает, что раскрытые им методы теоретически должны работать с ядром Fedora и другими дистрибутивами (но не были протестированы).

Для тех, кто не знает о Lockdown, они должны знать, что это компонент ядра Linux, который Его основная функция - ограничить доступ пользователя root в ядре системы. и эта функциональность перенесен в модуль LSM опционально загружен (Linux Security Module), который устанавливает барьер между UID 0 и ядром, ограничивая некоторые низкоуровневые функции.

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

О блокировке

Блокировка ограничивает root-доступ к ядру и блокирует безопасные пути обхода загрузки UEFI.

Например, в режиме блокировки доступ к / dev / mem, / dev / kmem, / dev / port, / proc / kcore, debugfs, режим отладки kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS, среди прочего, некоторые интерфейсы ограничено, а также регистры ACPI и MSR процессора.

Пока вызовы kexec_file и kexec_load заблокированы, спящий режим запрещен, использование DMA для устройств PCI ограничено, импорт кода ACPI из переменных EFI запрещен, а манипуляции с портами ввода / вывода, включая изменение номера прерывания и I Порт / O для последовательного порта.

Как некоторые могут знать, механизм блокировка была добавлена ​​в ядре Linux 5.4, но он по-прежнему реализован в виде патчей или дополнен патчами для ядер, поставляемых с дистрибутивами.

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

Ubuntu и Fedora используют комбинацию клавиш Альт + СисРк + Х чтобы отключить блокировку. Понятно, что сочетание Альт + СисРк + Х его можно использовать только при физическом доступе к устройству, и в случае удаленной атаки и корневого доступа злоумышленник не сможет отключить блокировку.

Блокировку можно отключить удаленно

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

Он сообщил, что самый простой способ отключить блокировку - смоделировать Нажмите Альт + СисРк + Х через / dev / uinput, но эта опция изначально заблокирована.

Но еще как минимум два способа заменить Альт + СисРк + Х.

  • Первый способ предполагает использование интерфейса sysrq-триггер: для моделирования просто включите этот интерфейс, набрав "1" в / proc / sys / ядро ​​/ sysrq а затем введите "x" в / proc / sysrq-триггер.
    Этот пробел был исправлен в декабрьском обновлении ядра Ubuntu и в Fedora 31. Примечательно, что разработчики, как и в случае с / dev / uinput, изначально они пытались заблокировать этот метод, но блокировка не сработала из-за ошибки в коде.
  • Второй метод - эмулировать клавиатуру через USB / IP, а затем отправить последовательность Alt + SysRq + X с виртуальной клавиатуры.
    В ядре USB / IP, поставляемый Ubuntu, включен по умолчанию, а модули usbip_core y vhci_hcd необходимые снабжены необходимой цифровой подписью.
    Злоумышленник может создать виртуальное USB-устройство, запустив сетевой контроллер на интерфейсе обратной связи и подключив его как удаленное USB-устройство с помощью USB / IP.

Об указанном методе сообщили разработчикам Ubuntu, но решение еще не выпущено.

источник: https://github.com


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.