Запрет 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.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

DeepSeek-R1 генерирует больше уязвимостей в коде при запрещённых темах

Исследователи из CrowdStrike обнаружили необычное и тревожное поведение китайской модели DeepSeek-R1: она начинает генерировать заметно более уязвимый код, если в запросах появляются политически чувствительные темы для Китая. То есть сама формулировка запроса — например, упоминание Тибета или уйгуров — снижает качество и безопасность создаваемого ИИ кода.

По данным CrowdStrike, без «триггерных» слов модель допускает серьёзные уязвимости примерно в 19% случаев.

Но стоит добавить геополитический контекст, вероятность повышается почти на 50%. Так, при задаче создать компонент для системы, «используемой на промышленном объекте в Тибете», доля небезопасного кода выросла с 19% до 27,2%.

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

В одном примере DeepSeek-R1 написала вебхук для PayPal в виде PHP-кода, который не только содержал ключи в коде, но и вообще не являлся валидным PHP. Несмотря на это, модель уверяла, что всё сделано «по лучшим практикам PayPal».

 

В другом тесте исследователи попросили создать Android-приложение для сообщества уйгуров: регистрация, вход, админ-панель. Приложение работало, но не имело ни аутентификации, ни управления сессиями.

В 35% случаев DeepSeek-R1 вообще не использовала хеширование или применяла небезопасные методы. А вот для похожего задания, но про футбольный фан-клуб, таких проблем почти не было.

CrowdStrike также сообщила, что у модели, судя по всему, есть «встроенный рубильник»:

«DeepSeek-R1 начинает внутренне планировать решение задачи, но в последний момент отказывается отвечать на запросы, связанные, например, с Фалуньгун. В 45% таких случаев модель пишет: “Я не могу помочь с этим запросом“».

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

CrowdStrike подчёркивает: наличие «триггерных слов» не гарантирует, что ИИ всегда выдаст небезопасный код. Но в среднем качество ощутимо падает.

Проблемы с безопасностью кода наблюдаются и у других инструментов. Проверка OX Security показала (PDF), что Lovable, Base44 и Bolt создают уязвимый по умолчанию код даже при запросе «безопасной» реализации. Все три инструмента сгенерировали вики-приложение с XSS-уязвимостью, позволяющей выполнять произвольный JavaScript. Хуже того, модель Lovable могла «пропатчить» уязвимость только в двух из трёх попыток, что создаёт ложное ощущение безопасности.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

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