The OpenNET Project / Index page

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



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

Оглавление

Уязвимость в ядре Linux, позволяющая повысить свои привилеги..., opennews (??), 31-Мрт-20, (0) [смотреть все]

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


10. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +1 +/
Сообщение от Аноним (73), 31-Мрт-20, 11:33 
И как микроядерная архитектура спасает от слабоумных разработчиков которые решают выполнять JIT-код в привелигерованном кольце?
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

16. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +/
Сообщение от нах. (?), 31-Мрт-20, 11:52 
Микроядерная архитектура предназначена для того, чтобы ты мог выполнять код залетного васяна в кривом драйвере в непривелигированном кольце ;-)

"теперь мне не нужно взламывать ядро системы - достаточно подсунуть что-то драйверу в userspace!"

это ли не прогресс науки и технологий?!

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

52. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +3 +/
Сообщение от Совершенно другой аноним (?), 31-Мрт-20, 13:46 
Принципиально, конечно, микроядерная архитектура более безопасна, хотя-бы потому, что предполагает больше колец привилегий, чем моноядерная, в которой ты или ядро, и имеешь доступ к абсолютно всему, или пользователь, и не имеешь доступа ни к чему.

Если правильно помню, в том-же старом QNX4 использовались три кольца: 0 - микроядро, 1 - драйвера, 2 - пользовательские компоненты. Соответственно даже сломав драйвер сетевой карты ты не сможешь получить доступ к буферам дисковой подсистемы или ещё к чему-нибудь совсем с этим драйвером не связанным. В принципе даже к данным какого-нибудь левого прикладного процесса доступа не получишь.

Другое дело, что микроядра более медленные, т.к. где в моноядре всё решается обычным вызовом функции (пусть как в Linux - косвенно, через указатель в структуре), в микроядре приходится задействовать какой-нибудь IPC с подтверждениями, блокировками и участием того самого микроядра. Ещё один минус - микроядерный подход более сложный - прийдётся чётко выверять протоколы между всеми компонентами и "Stable API nonsense" уже не очень получится, т.е. что-то поменять уже становится сложнее.

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

54. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +/
Сообщение от КО (?), 31-Мрт-20, 13:52 
С другой стороны, делая данный JIT для общего случая - ему же дадут права для доступа к остальным драйверам и данным. И собственно ядро все...
Ответить | Правка | Наверх | Cообщить модератору

72. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +/
Сообщение от Анолинукс (?), 31-Мрт-20, 16:19 
Кольца безопасности поддерживаются аппаратно - процессором.
В Intel-e x86 - 2 кольца, больше было у SUN SPARK, если правильно помню.
Програмная реализация этой фигни - это будет надстройка еще раз убивающая
производительность и практическую полезность этой системы
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

74. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +3 +/
Сообщение от Совершенно другой аноним (?), 31-Мрт-20, 16:22 
> Кольца безопасности поддерживаются аппаратно - процессором.
> В Intel-e x86 - 2 кольца, больше было у SUN SPARK, если
> правильно помню.
> Програмная реализация этой фигни - это будет надстройка еще раз убивающая
> производительность и практическую полезность этой системы

Вообще-то аппаратных в x86 именно 4.

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

75. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +/
Сообщение от Анолинукс (?), 31-Мрт-20, 16:23 
В 1990 на 386 процессоре?
Ответить | Правка | Наверх | Cообщить модератору

80. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +3 +/
Сообщение от Совершенно другой аноним (?), 31-Мрт-20, 16:38 
> В 1990 на 386 процессоре?

в 1985 и да, за процессоре 80386. На всякий случай ещё раз перепроверил по книге В.Л.Григорьева "Микропроцессор i486. Архитектура и программирование".

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

86. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +2 +/
Сообщение от Аноним (84), 31-Мрт-20, 17:00 
Есть ещё как минимум 2 подземных уровня, о которых не принято говорить.
Ответить | Правка | Наверх | Cообщить модератору

89. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +1 +/
Сообщение от Совершенно другой аноним (?), 31-Мрт-20, 17:04 
> Есть ещё как минимум 2 подземных уровня, о которых не принято говорить.

Уже даже 3

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

87. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  –1 +/
Сообщение от Анолинукс (?), 31-Мрт-20, 17:00 
Там в 1990 году, скорей всего вопрос стоял по другому:
Работающая упрощенная неидеальная система или идеальная (академическая) но неэффективная
и не работающая. Это как с TCP\IP и моделью OSI.
Насчет процессоров и колец могу ошибаться конечно.
Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

90. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +2 +/
Сообщение от Совершенно другой аноним (?), 31-Мрт-20, 17:12 
> Там в 1990 году, скорей всего вопрос стоял по другому:
> Работающая упрощенная неидеальная система или идеальная (академическая) но неэффективная
> и не работающая.

если быть честным, то Minix тоже работал (хотя тогда была гораздо более слабая версия Minix-1, по-моему, и если я не путаю работающая в реальном режиме процессора 8086). На его фоне Linux, даже в начале своего пути, но уже работающий в защищенном режиме и умеющий адресовать >1M памяти выглядел более предпочтительней.

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

99. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +1 +/
Сообщение от Аноним (98), 31-Мрт-20, 18:52 
Так изначально и было, емнип даже начиная с 286-го, а потом amd решило - а накуя? - и оптимизировало до двух в amd64. И п#зда xen-у, и понеслось всё на костылях.
Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

116. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +/
Сообщение от JL2001 (ok), 01-Апр-20, 01:57 
> Ещё один минус - микроядерный
> подход более сложный - прийдётся чётко выверять протоколы между всеми компонентами
> и "Stable API nonsense" уже не очень получится, т.е. что-то поменять
> уже становится сложнее.

как вообще (не)стейблАпи соотносится с (микро)ядерностью??? вы можете выкатить два апи для юзерленда - один для всех, второй для дров которые в вашем дереве исходников, и его перекраивать каждый релиз

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

124. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +/
Сообщение от Совершенно другой аноним (?), 01-Апр-20, 10:12 
>> Ещё один минус - микроядерный
>> подход более сложный - прийдётся чётко выверять протоколы между всеми компонентами
>> и "Stable API nonsense" уже не очень получится, т.е. что-то поменять
>> уже становится сложнее.
> как вообще (не)стейблАпи соотносится с (микро)ядерностью??? вы можете выкатить два апи
> для юзерленда - один для всех, второй для дров которые в
> вашем дереве исходников, и его перекраивать каждый релиз

В том-то и дело, что с точки зрения системы нет такого разделения - драйвера это такие-же процессы, как и другие, и всем доступно одинаковое API. Если говорить про конкретику - например в QNX - есть базовый механизм IPC - Send()/Receive()/Reply() - всё в системе на самом деле обменивается сообщениями, и даже когда Вы говорите open("/home/my_file", O_RDONLY); то на самом деле от Вашего, прикладного процесса, посылается сообщение, в котором закодировано, что надо выполнить операцию открытия такого-то файла и посылает это сообщение соответствующему менеджеру. Определением необходимого менеджера может потребовать посылку других сообщений какому-нибудь "менеджеру менеджеров" который знает, кто за какую часть файловой системы отвечает.

Т.е. в итоге для каждой компоненты системы, будь то файловый менеджер, сетевой менеджер ещё кто-нибудь, есть чётко определённый набор запросов и ответов. Менеджеры тоже могут общаться между собой (например NFS или SMB, который вроде как файловый, но потом обращается к сетевому). И вот вы добавили что-то дополнительное в запрос. В Linux, как я понимаю, эти доп. признаки обработаются где-то на уровне входа в системный вызов и драйвера про него может даже и не узнают. В QNX надо этот новый флаг добавлять во все соответствующие сообщения, или плодить, как в linux - новые сообщения для open(), new_open(), new_new_open() и придумывать как в динамике определять есть этот new_new_open() или нет . В общем, имхо, много проблем на пустом месте.

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

129. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  +/
Сообщение от Совершенно другой аноним (?), 01-Апр-20, 11:04 
про Stable API - внутри ядра Linux можно всё менять как угодно, как угодно переделывать взаимодействующие подсистемы - это всё одно большое ядро. В "микроядерном" подходе - каждая из подсистем - это отдельный ВНЕШНИЙ модуль, независимый от других и с чёткими интерфейсами - (если говорить про QNX - какие он сообщения понимает и какие ответы может выдать". Считайте, что каждый раз, когда Вы правите ядра, вам приходится дружно править и весь прикладной уровень - все программы, которые, например, используют данный вызов. Сорри, возможно как-то сумбурно излагаю, но надеюсь, что смысл я смог донести - при микроядерном подходе в прикладной уровень уезжает то, что раньше было в ядре и менять его становится тяжелее. Править приходится всё вместе централизовано. В принципе все более-менее удачные микроядерные системы закрыты и развиваются каждая своей компанией.
Ответить | Правка | К родителю #116 | Наверх | Cообщить модератору

76. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  –1 +/
Сообщение от Аноним (73), 31-Мрт-20, 16:26 
Вы, господа, говорите конечно все верно только не понимаете что юзкейс этого конкретного JIT-а в ядре - иметь доступ ко всему зоопарку который в привелигированном кольце живет. И то что само по себе это решение совершенно безответственное и некомпетентное с точки зрения безопасности вне зависимости от архитектуры ядра и что подобные васяны среди разработчиков системы способны наговнокодить такое же решение и для микроядра, дай им волю.
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

77. "Уязвимость в ядре Linux, позволяющая повысить свои привилеги..."  –1 +/
Сообщение от Анолинукс (?), 31-Мрт-20, 16:30 
Да, JIT-у не место в ядре.
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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