The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Обход ограничений SELinux, связанных с загрузкой модулей ядра, opennews (??), 05-Июн-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


4. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +4 +/
Сообщение от n00by (ok), 05-Июн-23, 10:47 
Предлагаете все возможные имена занести в blacklist?
Ответить | Правка | Наверх | Cообщить модератору

6. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +4 +/
Сообщение от Аноним (1), 05-Июн-23, 10:57 
зачем все возможные имена, если можно держать белый список разрешенных, а при изменении белого списка требовать рестарт?
Ответить | Правка | Наверх | Cообщить модератору

15. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  –2 +/
Сообщение от Аноним (15), 05-Июн-23, 11:21 
Зачем тогда нужны модули если всё можно вкомпилировать в ядро?
Ответить | Правка | Наверх | Cообщить модератору

17. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +1 +/
Сообщение от Аноним (1), 05-Июн-23, 11:35 
потому что не у всех есть время/бюджет заниматься конфигурированием до компиляции и сопровождением всего этого при обновлении ядра.
Ответить | Правка | Наверх | Cообщить модератору

22. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +1 +/
Сообщение от Аноним (15), 05-Июн-23, 11:47 
На белые листы время есть, а на сборку нет. Как-то небезопасненько.
Ответить | Правка | Наверх | Cообщить модератору

26. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +2 +/
Сообщение от Аноним (1), 05-Июн-23, 11:54 
ну давай, расскажи мне, как получить ядро, в котором есть только то, что нужно на этом конкретном железе и для таких-то конкретных задач, и как при этом потратить хотя бы (хотя бы!) в сто раз больше (больше!) времени, чем прописывание белого списка. Подсказываю: стартовым конфигом будет tinyconfig.
Ответить | Правка | Наверх | Cообщить модератору

40. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +1 +/
Сообщение от Аноним (40), 05-Июн-23, 12:46 
Рассказываю по опыту генто@бства: полдня-день на систему на первую итерацию, при условии что в конфиге ядра ориентируешься хоть немного. Первая итерация означает как минимум загружается, делается быстро, если знаешь, что надо включить диски и фс под корень. Остальные несколько часов проверяешь нужные программы и ищешь, почему что отвалилось.

Совсем без опыта наверное ещё дольше, для меня такое слишком давно было, не помню.

Ответить | Правка | Наверх | Cообщить модератору

45. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Аноним (1), 05-Июн-23, 13:08 
если стартуешь с дефолтного конфига - может быть так и есть, при этом не решается проблема того, что получим ядро с кучей лишнего. Правильный ответ начинается со слов "грузимся в максимально полное ядро и исследуем /sys на предмет того, какие устройства имеются, далее для каждого устройства задаем себе вопрос, нужно ли оно на самом деле, или оно здесь появилось просто потому, что мы загрузились в максимальное ядро, далее каким-то макаром находим, какой драйвер отвечает за устройство, по имени драйвера находим имя модуля, по имени модуля находим имя опции, по опции находим его зависимые опции" и так далее и так далее. По пути нужно изучить, как именно ядро грузит модули: по идентификаторам PCI (обычно частичные), по идентификаторам USB (обычно частичные), по всем остальным шинам аналогично. Также вооружаемся lkddb (обычно дает неполную инфу), вооружаемся $EDITOR и grep исследовать исходники ядра, вооружаемся полными спеками железа и проходим по каждому пункту каждого спека и врубаем специфичные опции. Это я не рассказал и 10% того, что касается железа, а ведь есть еще "софт" - не менее сложная тема, ибо если прога не находит для себя достаточные возможности ядра, она молча выходит или выдает негуглящееся сообщение. Это работа на полгода-год, а не на полдня-день.
Ответить | Правка | Наверх | Cообщить модератору

85. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от ivan_erohin (?), 05-Июн-23, 20:17 
выше - краткое содержание чьей-то будущей книги "Как изнасиловать линукс и остаться в живых и на свободе".
Ответить | Правка | Наверх | Cообщить модератору

102. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от n00by (ok), 06-Июн-23, 06:38 
После слов "вооружаемся ... grep исследовать исходники ядра" у меня появились сомнения, кто кого насилует.
Ответить | Правка | Наверх | Cообщить модератору

126. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от ivan_erohin (?), 06-Июн-23, 14:05 
> После слов "вооружаемся ... grep исследовать исходники ядра" у меня появились сомнения,
> кто кого насилует.

года 4 назад я подбирал какой-то инструмент (не на go и не на rust)
для поиска по source tree, искал им в исходниках iMule несовместимости и их происхождение
для пересобрать под новый дебиан. но я забыл название. старость не радость.
но теоретически можно и грепом.

Ответить | Правка | Наверх | Cообщить модератору

130. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от n00by (ok), 06-Июн-23, 16:49 
Хороший инструмент сначала прогоняет исходник через препроцессор, что бы развернуть макросы, а потом переводит результат в упрощённый аналог синтаксического дерева, что бы можно было быстро посмотреть граф вызовов (в Eclipce CDT он называется Call Hierarchy) и выполнять контекстный поиск. Исходники Linux по объёму в разы больше iMule, для некоторых строк grep выдаст массу лишнего (например, одноимённые функции для разных архетектур). Гипотетически, наверное, найти что-то можно и grep-ом, но даже простой переход к месту определению функции окажется существенно дольше.
Ответить | Правка | Наверх | Cообщить модератору

166. Скрыто модератором  +/
Сообщение от ivan_erohin (?), 07-Июн-23, 19:53 
Ответить | Правка | К родителю #130 | Наверх | Cообщить модератору

170. Скрыто модератором  +/
Сообщение от n00by (ok), 08-Июн-23, 09:03 
Ответить | Правка | К родителю #166 | Наверх | Cообщить модератору

41. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  –1 +/
Сообщение от Аноним (41), 05-Июн-23, 12:47 
Если у тебя нет времени на безопасность зачем ей заниматься?
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

50. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  –1 +/
Сообщение от Аноним (50), 05-Июн-23, 13:42 
Внезапно, принели вам сетевушку. Было бы модулем, udev сам бы необхомый(е) модуль(ли) нашёл и загрузил. Но вам придётся самому копать, какой модуль для данного девайса нужон, и ядро из-за одного модуля пересобирать.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

86. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  –3 +/
Сообщение от Атон (?), 05-Июн-23, 20:26 
> Внезапно, принели вам сетевушку.

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

Ответить | Правка | Наверх | Cообщить модератору

121. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Аноним (121), 06-Июн-23, 11:33 
> Каким олигофреном нужно быть, что бы...

Каким олигофреном нужно быть, чтобы так ответить на фразу "внезапно, принесли вам сетевушку". Вы, похоже, смогли представить только следующую картину: посреди тишины и благодати к Вам с улицы пришел какой-то неизвестный смурной мужик в шпионском плаще и протягивает вам со зловещей усмешкой какую-то непонятную железку непонятного производителя и непонятного назначения?

Ответить | Правка | Наверх | Cообщить модератору

123. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Атон (?), 06-Июн-23, 13:12 
>> Каким олигофреном нужно быть, что бы...
> Каким олигофреном нужно быть, чтобы так ответить на фразу "внезапно, принесли вам
> сетевушку". Вы, похоже, смогли представить только следующую картину: посреди тишины и
> благодати к Вам с улицы пришел какой-то неизвестный смурной мужик в
> шпионском плаще и протягивает вам со зловещей усмешкой какую-то непонятную железку
> непонятного производителя и непонятного назначения?

Представьте нам свою картину мира, в которой будет объяснена внезапность появления сетевушки хотя бы даже рядом с SElinux.  Скажем метрах в трёх.

Ответить | Правка | Наверх | Cообщить модератору

127. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от BeLord (ok), 06-Июн-23, 14:06 
Чего там объяснять - диверсия-)))
Ответить | Правка | Наверх | Cообщить модератору

128. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Атон (?), 06-Июн-23, 14:54 
> Чего там объяснять - диверсия-)))

Главный диверсант - HR принявший на работу техником mentality disabled персону, которое, внезапно завидев сетевушку, начинает впихивать её во все отверстия, серверу.

Ответить | Правка | Наверх | Cообщить модератору

28. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +1 +/
Сообщение от n00by (ok), 05-Июн-23, 12:02 
А буфер памяти куда вписать?
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

51. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Аноним (50), 05-Июн-23, 13:45 
В пространство процесса, взявшего на себя обязанность загружать модули. Потом натравить системый вызов на этот буфер. Процес этот, конечно, должен соответствующими правами обладать.
Ответить | Правка | Наверх | Cообщить модератору

68. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от n00by (ok), 05-Июн-23, 16:07 
В адресное пространство каждого процесса, взявшего на себя обязанность загружать модули? А кто будет внедрять данные в пространство произвольного процесса, и что дальше с этими данными делать?
Ответить | Правка | Наверх | Cообщить модератору

72. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Аноним (50), 05-Июн-23, 16:28 
Системный вызов в пространство ядра скопирует, оформит уже как структуры модуля.
Ответить | Правка | Наверх | Cообщить модератору

103. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от n00by (ok), 06-Июн-23, 06:43 
Всё это сделает и загрузит драйвер? Так задача прямо противоположная - не пускать какой попало драйвер в ядро.
Ответить | Правка | Наверх | Cообщить модератору

99. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Аноним (-), 06-Июн-23, 01:16 
> В адресное пространство каждого процесса, взявшего на себя обязанность загружать модули?

Нуб, ты чего? Это работает так: читаешь файл с диска, грузишь модуль в память, ну и натравливаешь вон тот ядерный сискол на свой буфер -> модуль попадает в ядро, если это получилось. Хотел ли это изначально вообще процесс, или это эксплойт какой, или специальная хакерская прога - да в общем то возможны разные варианты. И то что САБЖ этот механизм пролюбил это полное ололо для wannabe-улучшителя безопасности в системе.

Правда как мне кажется SELINUX делался в основном потому что в таком топике как "информационная безопасность" - бывают, внезапно, характерные регламенты. О чем догадываются все у кого например был предмет "информационная безопасность", ну там в вузе, или по своему интересу. И если там написано "трава должна быть зеленой, а контроль доступа мандатным" - ну, вот вам банка с краской, а вот SELINUX, извольте. У официалов информационная безопасность достаточно бюрократизированный топик. А compliance не пустой звук в т.ч. и у амеров. Ну вот оно кажись больше инструмент комплайнса чем реальной защиты.

Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

104. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от n00by (ok), 06-Июн-23, 06:53 
>> В адресное пространство каждого процесса, взявшего на себя обязанность загружать модули?
> Нуб, ты чего? Это работает так: читаешь файл с диска, грузишь модуль
> в память, ну и натравливаешь вон тот ядерный сискол на свой
> буфер -> модуль попадает в ядро, если это получилось. Хотел ли
> это изначально вообще процесс, или это эксплойт какой, или специальная хакерская
> прога - да в общем то возможны разные варианты. И то
> что САБЖ этот механизм пролюбил это полное ололо для wannabe-улучшителя безопасности
> в системе.

Так а как ещё ему объяснить, что по условию задачи модуль попадать в ядро не должен?

> Правда как мне кажется SELINUX делался в основном потому что в таком
> топике как "информационная безопасность" - бывают, внезапно, характерные регламенты.
> О чем догадываются все у кого например был предмет "информационная безопасность",
> ну там в вузе, или по своему интересу. И если там
> написано "трава должна быть зеленой, а контроль доступа мандатным" - ну,
> вот вам банка с краской, а вот SELINUX, извольте. У официалов
> информационная безопасность достаточно бюрократизированный топик. А compliance не пустой
> звук в т.ч. и у амеров. Ну вот оно кажись больше
> инструмент комплайнса чем реальной защиты.

То есть в ТЗ в одном из пунктов указали "запретить загрузку модулей". Исполнитель это прочёл, для одного случая создал правило, а потом пошёл пить кофе и забыл? И за ним никто не проверил? :)

Ответить | Правка | Наверх | Cообщить модератору

145. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Аноним (-), 07-Июн-23, 04:01 
> Так а как ещё ему объяснить, что по условию задачи модуль попадать
> в ядро не должен?

В принципе и другие способы запрета этого есть, если оно реально надо. А забавно тут то что SElinux проявил несколько менее паранои в части Systems SEcurity чем от секурити-экспертов ожидается.

Для лично себя - я не запрещаю вгруз модулей, но там FORCE на проверку подписей и вот именно лично мой ключ. У меня то он есть. Хорошо когда система работает на меня. А если у вон тех нету, они и пролетают, соответственно.

Если хочется пожестче, есть /proc/sys/kernel/modules_disabled - если записать туда 1, загрузка новых модулей отвалится до ребута. При этом после старта системы когда все взлетело, можно быренько это дело врубать - обувая атакующих на это дело вообще. В цать раз проще SELinux и более эффективно. Но может потребовать ребут потом если нечто новое все же потребовалось.

А совсем злобный вариант - собрать ядро без поддержки модулей. Но это неудобно. Однако давно известно что чем удобнее тем хуже безопасность.

> То есть в ТЗ в одном из пунктов указали "запретить загрузку модулей".

Видимо да, иначе не понятно в чем прикол отрубить хвост именно наполовину.

> Исполнитель это прочёл, для одного случая создал правило, а потом пошёл
> пить кофе и забыл? И за ним никто не проверил? :)

А кто его знает. После юного д@лб@"№а сливающего секретные доки в дискорд я ничему такому не удивлюсь.

p.s. и кстати из-за непоседы Кента и его ФС как-то попало под внимание... то что модули априори нарушают W^X: это by design новые аллокации, выполняющие код. А кроме этого есть еще не менее 3 сценариев когда хотят динамически сгенерить код. И вот кент еще - для перфоманса файлухи.

В результате из-за Кента досталось и mm, и блокировкам (locks) и чему-то еще, например: https://lore.kernel.org/lkml/ZH0EseWI9F1n9yJx@moria.hom.../ - на правах хинта шишкину и ко как оно на самом деле надо было, если в майнлайн хочется. И в результате дискуссий, на самом деле, половина работы было спихана на айбиэмщика, еще кого-то и проч. А Кент приближается к желаемым точкам в своем квесте.

Ответить | Правка | Наверх | Cообщить модератору

20. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +2 +/
Сообщение от onanim (?), 05-Июн-23, 11:44 
скорее включить lsm=lockdown и установить https://github.com/lkrg-org/lkrg
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору
Часть нити удалена модератором

52. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Аноним (50), 05-Июн-23, 13:47 
Особенно, когда с кем-то по сети играешь, далеко-далеко так ;)
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

161. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от onanim (?), 07-Июн-23, 13:46 
> Часть нити удалена модератором
> В шахматах не подсказывают , !*! n00by (ok), 11:58 , 05-Июн-23 (27)
> УДАЛЕНО.Отмодерировано: mc, Время: Mon Jun 5 15:48:11 2023

на опеннете запрещено упоминание шахмат? лолшто?

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

180. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от Аноним (180), 08-Июн-23, 15:41 
man оффтопик, вероятно... вот вы наглые стали, еще и возмущаетесь что совсем уж офтоп потерли
Ответить | Правка | Наверх | Cообщить модератору

183. "Обход ограничений SELinux, связанных с загрузкой модулей ядр..."  +/
Сообщение от n00by (ok), 09-Июн-23, 05:43 
Это было как раз по теме исходного сообщения. Его автор несколько плавал в вопросе, я начал задавать наводящие, что бы тот подумал. А onanim взял и сразу написал правильный овтет. ;(
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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