Запрет SELinux на загрузку модулей ядра можно обойти через init_module

Запрет SELinux на загрузку модулей ядра можно обойти через init_module

Запрет SELinux на загрузку модулей ядра можно обойти через init_module

Американец Шон Пеше (Sean Pesce) представил свой способ обхода SELinux, позволяющий выполнить любой код на уровне ядра. Опубликован PoC-код, с помощью которого можно отключить все ограничения на доступ, реализуемые через этого охранника.

В Linux для загрузки модулей ядра используются два системных вызова: finit_module и init_module. Как оказалось, дополняющая DAC и ACL система SELinux реагирует только на finit, а использование init не отслеживает.

Это открытие Пеше сделал, когда на досуге экспериментировал с неназванным Linux-устройством архитектуры ARM. Получив шелл-доступ с привилегиями root, исследователь попытался выполнить ряд действий из пространства пользователя (смонтировать файловую систему, получить доступа к определенным файлам и т. п.) и обнаружил, что они невозможны из-за включенной защиты SELinux.

Затем он попытался выполнить кастомный код уровня ядра с помощью утилиты insmod (использует системный вызов finit_module). Правила SELinux заблокировали загрузку, и Пеше решил попытать счастья с загрузкой не с диска, а из буфера в памяти, то есть использовать init_module.

Походящий готовый лоадер нашелся, и после его доработки трюк сработал. Испытатель даже смог с его помощью полностью отключить защиту SELinux. Для демонстрации метода создан PoC-эксплойт, который при наличии ограниченного root-доступа позволяет выполнить код на уровне ядра.

В Android подобный контроль доступа к ресурсам и файлам используется, начиная с версии 4.3. Возможность обхода SELinux недавно была выявлена в шпионском дуэте Predator – Alien.

ГАИ проиграла суд против роботов-доставщиков

Московский городской суд отклонил жалобу ГАИ на решение суда первой инстанции, который не усмотрел в действиях роботов-доставщиков состава административного правонарушения, связанного с нарушением Правил дорожного движения. Ранее ГАИ обвинило дочернюю компанию Яндекса — «Рободоставку» — в нарушении ПДД.

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

По мнению инспектора, это подпадало под статью 12.33 КоАП РФ. Компании «Рободоставка» в этом случае грозил штраф в размере 300 тыс. рублей.

Представители Яндекса с такой трактовкой не согласились, указав, что в действиях роботов-доставщиков отсутствует и не может присутствовать умысел. Дело было рассмотрено в Мещанском районном суде Москвы, который поддержал позицию компании.

«Роботы-доставщики не относятся к транспортным средствам, определённым нормами действующего законодательства. Как следует из видеозаписи, робот-доставщик передвигался по краю тротуара, не перекрывая пешеходную зону, автоматически останавливался при приближении людей. Пешеходы продолжали движение. Контакта, вынужденного сближения, опасных манёвров или остановок зафиксировано не было. Следовательно, объективных признаков угрозы безопасности дорожного движения не имелось», — такую выдержку из решения суда приводит Autonews.

ГАИ с таким решением не согласилась и подала жалобу в Московский городской суд. Однако Мосгорсуд оставил её без удовлетворения. Решение было принято ещё 5 февраля, но опубликовано только вечером 9 февраля.

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

RSS: Новости на портале Anti-Malware.ru