The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Проект OpenPaX развивает аналог механизмов защиты Grsecurity/PaX для ядра Linux

31.10.2024 07:58

Компания Edera, развивающая решения для защиты инфраструктуры Kubernetes и AI-систем, представила проект OpenPaX, представляющий собой набор патчей к ядру Linux с реализацией методов противодействия эксплуатации уязвимостей, вызванных ошибками при работе с памятью. OpenPaX позиционируется как распространяемый без ограничений аналог набора патчей PaX от проекта Grsecurity, который с 2017 года поставляется только в составе платного продукта. Наработки OpenPaX открыты под лицензией GPLv2.

Разработчики дистрибутива Alpine Linux намерены в следующем выпуске 3.21 предоставить экспериментальную сборку ядра с патчами OpenPaX, а в выпуске 3.22 перевести её в разряд штатных опций. OpenPaX также может быть использован дистрибутивами Gentoo и Arch Linux, которые ранее предлагали варианты ядра Linux с патчами PaX. Разработчики OpenPaX также надеются на перенос некоторых разработанных ими механизмов защиты в основной состав ядра.

Из реализованных в OpenPaX возможностей можно отметить применение при маппинге страниц памяти механизма W^X (write XOR execute), не допускающем создание страниц памяти, одновременно доступных на запись и исполнение, а также блокирующем смену типа маппинга страниц с записи на исполнение. Также в OpenPaX присутствует механизм эмуляции, позволяющий использовать стек и кучу, в которых запрещено исполнение кода, с функциями-трамплинами, например, генерируемыми libffi или GCC (суть трамплинов в том, что код для вызова вложенной или внешней функции динамически создаётся и выполняется в стеке). Эмуляция трамплинов производится через перехват исключений (page fault) при попытке запуска кода в неисполняемой памяти и эмуляции перехода.

Так как реализованные методы защиты могут нарушить нормальную работу JIT-компиляторов, предусмотрена возможность использования xattr и утилиты paxmark для выборочного управления включением возможностей OpenPaX в привязке к исполняемым файлам. Также доступен режим мягкой активации OpenPaX (sysctl kernel.pax.softmode=1), при котором по умолчанию OpenPaX отключён, но может выборочно быть активирован для требующих защиты отдельных приложений.

Дополнительно можно отметить выпуск модуля ядра LKRG 0.9.9, развиваемого проектом Openwall и предназначенного для выявления и блокирования атак, а также предотвращения нарушения целостности структур ядра. Например, модуль может защитить от несанкционированного внесения изменений в работающее ядро и попыток изменения полномочий пользовательских процессов (определение применения эксплоитов). Модуль подходит как для организации защиты от эксплоитов уже известных уязвимостей ядра Linux (например, в ситуациях, когда в системе проблематично обновить ядро), так и для противостояния эксплоитам для ещё неизвестных уязвимостей. Код проекта распространяется под лицензией GPLv2. Об особенностях реализации LKRG можно прочитать в первом анонсе проекта. В новой версии обеспечена совместимость с ядрами Linux 5.10.220+, 6.10.10+, 6.11 и 6.12-rc, а также с пакетами с ядром 5.14.0-470.el9+, поставляемыми в CentOS Stream 9 и RHEL 9. Обеспечена совместимость с ядрами, собранными в режиме "CONFIG_JUMP_LABEL" на системах с архитектурой ARM64.

  1. Главная ссылка к новости (https://edera.dev/stories/eder...)
  2. OpenNews: Представлены патчи для рандомизации адресов стека ядра Linux при системных вызовах
  3. OpenNews: Проблемы с безопасностью в патчах, предложенных сотрудником Huawei для защиты ядра Linux
  4. OpenNews: Суд предписал OSS выплатить 300 тысяч долларов Брюсу Перенсу по итогам разбирательства с Grsecurity
  5. OpenNews: Проект по продвижению в ядро Linux новых технологий активной защиты
  6. OpenNews: Grsecurity прекращает бесплатное распространение своих патчей
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62143-openpax
Ключевые слова: openpax, pax, grsecurity
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Афроним (?), 09:37, 31/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Параноики напряглись.
     
     
  • 2.3, Аноним (3), 09:54, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +11 +/
    а когда это они успели расслабиться, а?
     
     
  • 3.5, Аноним (5), 10:03, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Наверное, в прошлой жизни!
     
  • 2.17, n00by (ok), 12:19, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Параноики напряглись.

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

     
     
  • 3.21, Афроним (?), 12:40, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Гики сидят на коре дуба и в ус не дуют, а остальным придется изворачиваться.
     
  • 3.23, Аноним (23), 13:01, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Покерфейс - это интерфейс к Покеру?
     
     
  • 4.28, голос_из_леса (ok), 14:33, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это интерфейс поккера - face of pokker (devil). ))
     
  • 4.35, Аноним (-), 16:25, 31/10/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.41, Тысячеглаз рулез (?), 21:42, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если выбирая сторону "сильных" думаешь, что так всегда будешь на коне, то нет, этим самым конём и будешь.
     
  • 2.42, Megacock (ok), 21:43, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Принцип неуловимого Джо пока неплохо работает. Поставь любой дырявый linux/vpn/firewall/mongodb/ПО на java использующее Log4j в небольшую компанию и вопрос взлома откладывается на годы. Я редко патчу exim, у меня нет и десятка пользователей и спам-фильтра. Всю некондицию я банально отправляю в /dev/null. И работает. Уже лет 8-9 как. За это время в спам-репорт не пришло, ни уведомлений о том что ваш сервер в блэк-листах, ни одного abuse со стороны хостера. Один раз пришло письмо что хостер мной "недоволен". Но это быстро удалось опровергнуть - просто поискать свой адрес в "черных" списках и указать, что в списках подсеть /16, а не конкретно я. При этом большая часть подсети хостеру не принадлежит. Благо опыт исключения из блэклистов у меня богатый, я раньше администрировал корпоративный почтовик. Потому поиск причин много времени не занял.
    Вишенка на торте. На том хостере, что пожаловался и почтовика-то не было, иначе последствия я бы раньше заметил в виде недоходящих писем или писем отправляемых в спам.
    С другой стороны, вот пример атаки на относительно крупную компанию 1000-2000 рабочих мест разбросанных по сотням филиалов от 1-2 до 10 машин + 100 в центральном офисе + 10-30 в региональных + 40 серверов. Шифровальщик присланный в отдел кадров смог вывести из строя три компа у HR. Вот Win32.Kido был гораздо большей проблемой в нулевые. Но к моменту атаки домены и файловые серверы на samba +POS-терминалы на java+linux + мобильные терминалы на winCE, а будь там вся инфраструктура основана на современном MS?
     

  • 1.2, Соль земли (?), 09:49, 31/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ну вот, теперь придётся ещё и OpenPaX отключать при каждой установке.
     
  • 1.4, Аноним (5), 10:02, 31/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Похоже что авторы программы огорчились почему их бекдоров нет в ядре и решили сами их внедрить под предлогом борьбы с  другими бекдорами.
     
     
  • 2.9, Жироватт (ok), 10:33, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пока их патчины не навязывают в глотку всем - любо.
     
     
  • 3.25, Аноним (5), 13:34, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Окно овертона, "тогда и поговорим", "а когда пришли за мной" и прочием мемы про то что сначала вроде прикол, а потом у тебя ютуб не грузится и ты ничего не можешь сделать.
     
     
  • 4.27, Аноним (-), 13:47, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Окно овертона, "тогда и поговорим", "а когда пришли за мной" и прочием мемы про то что сначала вроде прикол,

    Всегда прикол) Не вижу никакой причины не отпустить шутку черного юмора.

    > а потом у тебя ютуб не грузится и ты ничего не можешь сделать.

    Так он и не грузится потому что ты "ничего не делал")
    От такие пироги с котятами.


     
     
  • 5.30, Аноним (5), 14:49, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так то товарищ и говорит что не надо ничего делать потому что любо. Дальше давай думай сам. Разворачивай аналогию.  
     
  • 5.33, YetAnotherOnanym (ok), 16:18, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так и замечательно, не будет больше выжирать в одно рыло всю полосу у провайдера.
     

  • 1.7, Аноним (7), 10:09, 31/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А DRM будет?
     
     
  • 2.37, Аноним (37), 20:45, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А DRM будет?

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

     

  • 1.12, Аноним (-), 11:37, 31/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > механизм W^X
    > механизм эмуляции с функциями-трамплинами
    > методы защиты могут нарушить нормальную работу JIT-компиляторов

    На что только готовы погромисты, лишь бы дырявый код продолжать писать)))
    А защиту где-то там размажем.

     
     
  • 2.13, Аноним (-), 11:48, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Согласен, нет бы сразу на расте и питоне писать
     
  • 2.15, Жироватт (ok), 12:11, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    128ядерный кластер с жидкостным охлаждением / 640 гигабайт рамы в домашнем ПК-балдёжнике точно хватит, чтобы запустить БЕЗОПАСНЫЙ стек от низкоуровнего БЕЗОПАСНОГО ассемблера до БЕЗОПАСНЫХ js-скриптов внутри интерпретатора внутри песочницы браузерного движка внутри контейнера внутри прозрачной виртуалки над интерпретируемым сервисом поверх БЕЗОПАСТНОСТНОГО и ВЕРИФИЦИРОВАННОГО микроядра, крутящегося поверх ещё более безопасного наноядра?
     
     
  • 3.18, n00by (ok), 12:27, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тут даже пожизненная кАмпЕляция в BHC-релизенгах не поможет.
     
  • 3.19, Аноним (-), 12:29, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ого ты выдал! Прямо буллщит бинго.

    Правильно я понимаю, что ты из тех, кто готов голым задом светить?
    Ну типа если комп - проходной двор, то "ничего страшного, дело житейское"?

     
     
  • 4.26, Аноним (5), 13:38, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вин 98 светили в локальную сеть годами. При том что была возможность с ними делать  через локальную сеть скажем так очень многое.
     
     
  • 5.32, Pahanivo (ok), 15:14, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ГыГы, а ты смешной. Тогда локальные сети были только в организациях - и чем там искать, когда файло и базы лежали на каком-нибудь новел-нетваре?
     
  • 3.24, Аноним (23), 13:04, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Про пикоядро забыл упомянуть.
     
  • 3.39, Аноним (39), 20:48, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > 128ядерный кластер с жидкостным охлаждением / 640 гигабайт рамы в домашнем ПК-балдёжнике
    > точно хватит, чтобы запустить БЕЗОПАСНЫЙ стек от низкоуровнего БЕЗОПАСНОГО ассемблера
    > до БЕЗОПАСНЫХ js-скриптов

    А чего такое хилое то? Уже вон Ampere 192 и даже 256 ядер выкатили. Впрочем AMD тоже смогли столько в EPYC, хоть и "dense" огрызки урезаные. А у тебя 128 всего - фу, прошлый век.

     

  • 1.36, pavlinux (ok), 20:22, 31/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Через 10 лет закроются и будут продавать по 300.000$ за патч?
     
     
  • 2.40, Аноним (40), 21:05, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Возможно, это их полное право.

    Но
    1 даже столлман говорил что GPL это не обязательно бесплатно
    2 все десять лет потреблятели будут получать код нахаляву
    3 весь код до смены лицензии останется открытым и пользователи смогли бы сами его развивать и дальше, если бы не были такими бесполезными

     
     
  • 3.43, Аноним (43), 21:48, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > пользователи смогли бы сами его развивать и дальше, если бы не были такими бесполезными

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

     

  • 1.38, pavlinux (ok), 20:47, 31/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Oй oтcтoй ....

    1. добавим свой член в tasc_struct->mm_stuct:  current->mm->pax_flags

    2. устанoвим фляг:



    if (snapshot_randomize_va_space) {
    set_bit(PAXF_RANDMMAP, ¤t->mm->pax_flags);
    }



    3. Проверим фляг:



    #ifdef CONFIG_OPENPAX
        && test_bit(PAXF_RANDMMAP, ¤t->mm->pax_flags)
    #endif


    Проверка флага в бинарнике ... parse_flag('r', 'R', PAXF_RANDMMAP);
    Фляг в файл пишется естественно "своей новой" утилью (ниасилили objcopy)

    Так работают все детские системки защиты.  :D

     
     
  • 2.44, Аноним (44), 00:39, 01/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А как взрослые работают?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру