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

Бесплатные VPN: чем на самом деле платят пользователи за халяву

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

Эксперты по кибербезопасности предупреждают: если вы не платите за VPN деньгами, скорее всего, вы платите своими данными.

Достаточно открыть Google Play и вбить в поиск «VPN», чтобы увидеть десятки «бесплатных» сервисов. Они обещают анонимность, защиту и свободу от слежки, но на практике часто делают ровно противоположное.

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

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

Одна из главных причин, почему люди выбирают бесплатные VPN, — уверенность, что платные сервисы стоят дорого.

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

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

Вопрос тут не в удобстве и даже не в скорости. А в том, кто именно получает доступ к вашим данным — вы сами решаете или это делают за вас.

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