|
|
|
ksili |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Ни UNIX, ни Linux не пользовал никогда, поэтому не пинайте сильно...
Общеизвестно, что процессоры семейства x86 поддерживают 4 уровня привилегий для организации механизма защиты. Эти уровни используются и в селекторах сегментов, и в дескрипторах сегментов, и для защиты ввода/вывода. Известно также, что Windows из 4-х уровней использует только 2 крайних - 0 и 3. И мне стало интересно, как здесь дела обстоят с UNIX и Linux. Используют ли они этот механизм по полной, или там вообще все в этом смысле равны? Или ещё как-то? -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
bilbobagginz |
|
|||
Naughtius Maximus Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
а вы знаете что значат эти "4 уровня привилегий" ?
-------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
ksili |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
знаю. а вы ответ на мой вопрос знаете?
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
bilbobagginz |
|
|||
Naughtius Maximus Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
не знаю о "UNIX", т.к. есть несколько ОС на подходящих под этот "формат".
Линукс работает в только в 2-х режимах: ядра и пользователя. т.е. когда происходит системный вызов, программа из режима "пользователя" ( ring3 ) передает данные каким-то там системным библиотекам в форме загружаемого модуля, и эти библиотеки бегут в режиме "ядра", т.е. ring0. я полагаю, что один из оставшихся режимов используется при работе SMI прерываний, но этого линукс не "чувствует". и еще в последнее время Xen бежит в режиме ring0, и соответственно ядро в ring1, a приложения в ring3. короче ответ: линукс в стандартной ( пока ) конфигурации использует только 2 режима, как и винда. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
ksili |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Спасибо
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
MAKCim |
|
|||
Воін дZэна Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
выделенную фразу не понял данные передаются через регистры, для перехода используются int 0x80 / sysenter (X86) syscall (X64) также, о каких библиотеках идет речь? есть функции, выполняющиеся в режиме ядра, но не более того
опять не понял вообще говоря SMI# переводит CPU в нереальный режим (unreal mode), где нет понятия об уровнях привилегий -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
bilbobagginz |
|
||||
Naughtius Maximus Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
ну не совсем я понятный, когда пишу что-то в 7:46 ( до того как лег спать )
hm... это только терминология. но суть - код, бегущий в защищенном режиме бежит не в контексте пользователя, а в контексте ядра. какая инструкция ассембли это реализует и как я не упоминаю.
это значит следующее: в любом более защищенном режиме, жем незащищенный ring3 процессор может выполнять больше инструкций и реагировать на больше прерываний, и "быстрее". значит, теоритически ядро, находясь в таком режиме должно быть с т.з. безопасности в "kernel space", и запускать в это время код ядра. Фактически же (правда это еще не смогли использовать не поназначению, ПОКА) в режим SMM процессор приходит каждое прерывание SMI. и теоритически существует возможность выполнения в это время пользовательского кода. тут есть статья: http://www.securityfocus.com/columnists/402 -------------------- Я ещё не демон. Я только учусь. |
||||
|
|||||
ksili |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Я посмотрел статью и у меня возникли вопросы .
1) SMM-режим и нереальный режим - это одно и то же? 2)
Как его можно выполнять в этом режиме? В статье сказано вроде, что этот режим прозрачен для операционной системы и тем более для пользоательских программ. Они просто не замечают как проц переходит из защищённого в SMM и обратно. 3) В статье сказано, что проц может работать в четырёх режимах, там упоминаются SMM и защищёный. Ещё один - реальный. А чётвёртый? Virtual Mode 8086? Или ещё какой-то? -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
bilbobagginz |
|
|||
Naughtius Maximus Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
1. имхо - да.
2. если бы я знал ответ, то этот дядя уже наверное изучил это дело. 3. их проще нумеровать. насколько я понял "имена" - это семантика оперативной системы. и полная разница немного может отличаться от реализации к реализации... надо RTFM делать. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
ksili |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
не понял. так что ли каждый режим соответствует кольцу? По-моему режим это нечто более широкое, чем просто уровень привилегий... там же адресное пространство, наборы команд, и т.д. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
bilbobagginz |
|
|||
Naughtius Maximus Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
"концепция" - простая: чем выше индекс "кольца", тем меньше привилегий, больше ограничений (включая "запрещенные" иструкции, запрещенные адреса, и адресации, короче ресурсы ) но точный круг что можно а что нет - не всегда одинаковый на всех архитектурах, надо мануалы копать. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
MAKCim |
|
|||
Воін дZэна Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
bilbobagginz,
отдохнуть бы тебе (не обижайся, просто посты у тебя какие-то сумбурные и трудночитаемые) по теме
большее число инструкций - да однако, реагирование процессором на прерывания не зависит от режима его работы теперь по поводу SMM SMRAM не доступен пользователю в виду следующих ограничений: 1. Защита на уровне чипсета 2. (в случае отсутствия п. 1) Эта область все-равно защищена, поскольку по-умолчанию в качестве SMBASE используется адрес < 1MB, а ядро не выделяет страницы памяти из диапозона 0-0xFFFFF (точнее выделять то и нечего, поскольку они все используются) нет, не одно и то же да, Virtual 8086 если стоит аппаратная защита на SMRAM, тогда никто кроме BIOS не может эту область использовать (а тем более изменять) если защиты нет, теоретическая возможность существует, но это уже серьезная дыра в ОС Это сообщение отредактировал(а) MAKCim - 1.10.2007, 12:31 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
bilbobagginz |
|
|||
Naughtius Maximus Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
100% прав. скоро уже, лет через 70-80 пойду на отдых. надеюсь заслуженный -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
MAKCim |
|
|||
Воін дZэна Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
естественно в защищенном режиме, например, предусмотрена 4-х уровневая модель защиты, в виртуальном - лишь 2-х уровневая (CPL = 3, CPL = 0) в реальном режиме (как и в SMM) вообще нет понятия уровня привилегий Это сообщение отредактировал(а) MAKCim - 1.10.2007, 12:40 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
ryzubexx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 6.3.2009 Репутация: нет Всего: нет |
А я вобще их не использую. Слишком они сложные.
|
|||
|
||||
Правила форума "Asm для Linux/Unix" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для Linux/Unix | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |