LINUX.ORG.RU

Во, блин! Аж из 3-го!
Не знаю, но вот что мне интересно: а как получить под Линухом
привелегии 3-го кольца?

Мне почем-то кажется, что и в Линухе, и в Нте, задействованы
только 2 кольца: 0, в котором ядро, и 5, которое userspace.
Или я не прав? Очень прошу просветить...


anonymous
()
Ответ на: комментарий от tvn

2tvn (*) (2001-11-05 21:11:02.0):
А сколько в Интеле колец? Всего 4? AFAIK userspace=старшее кольцо.

И что такое "получить Ring 0 через INT"?
Естественно, системные вызовы делаются через INT, и после любого системного
вызова процесс оказывается в кернел-моде, т.е. в кольце 0. Но это ж не значит,
что я могу написать процедуру, установить, как в ДОСе, вектор прерывания на нее
и позвать INT, чтобы ее выполнить в kernel space?


anonymous
()

Написать ядрёный модуль, и общаться с ним через сисколлы. Так и только так, всё остальное будет грязным хаком.

Antichrist
()
Ответ на: комментарий от Antichrist


> всё остальное будет грязным хаком.

Ну, интересно, а В ПРИНЦИПЕ возможно в защищенном режиме урвать привилегии
0 кольца из старшего? Конечно, можно написать модуль, который после сисколла
подзагрузит в кернел-спейс процедурину из юзер-спейса, и передаст ей управление,
но это будем считать "грязным хаком" системы. А как насчет експлойтов,
или подобные штуки можно проделать регулярным образом (типа, "зарядить"
вектор прерывания, написав из-под рута прямо в виртуальную память через
файловый девайс)?

Или так:
пишем в /dev/kmem нечто, соответствующее "грязному хаку", после чего зовем сисколл,
который вообще переводит процессор в реальный режим. Такое возможно?



anonymous
()

Насчёт INT'a: AFAIK в Виндюшках можно модифицировать IDT (она не защищена, можно читать-писАть), а в Линюхе вот затруднительно (именно из-за заSHIt'ы)(всё из кольца 3). Может, сущ-ет способ переустановки INT'a как в ДОСе, о котором я не знаю??? Что за "ядрёный модуль"? ОС УЖЕ ЗАПУЩЕНА! По аналогии со знакомой мне Виндюхой (где есть VxD) - есть ли нечто kernel-mode'ное, динамически загружаемое? Заранее извиняюсь за возможное ламерство. "Грязный хак"... без него ничего гикогда не получится, арх. Интеловских процов не предусматривает (в идее) AFAIK процедуре на 3м кольце работать на 0м. А насчёт модуля, который будет грузить из юзерспейса в ядро - от УЖЕ должен иметь привилегии Ring0. Или я что-то не понимаю? Кстати - имеется в виду именно ДИНАМИЧЕСКАЯ загрузка - то есть программа, работающая на 3м кольце, выполняет некоторую (произвольную) процедуру с привилегиями 0. И никакого перевода в реальный режим не предусматривается.

anonymous
()
Ответ на: комментарий от anonymous

> Заранее извиняюсь за возможное ламерство
Ок, извиняем :)

anonymous
()
Ответ на: комментарий от anonymous

>Что за "ядрёный модуль"? ОС УЖЕ ЗАПУЩЕНА!
а insmod уже отменили?..

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.