МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Мал. 7.11 Формат дескриптора шлюзу.Уведенонаступні правила використання шлюзів: · значення DPL шлюзу виклику повинне бути більше чи дорівнювати значенню поточного рівня привілеїв CPL; · значення DPL шлюзу виклику повинне бути більше чи дорівнювати значенню поля RPLселектора шлюзу; · значення DPL шлюзу виклику повинне бути більше чи дорівнювати значенню DPL цільового сегмента коду; · значення DPL цільового сегмента коду повинне бути менше чи дорівнювати значенню поточного рівня привілеїв CPL. Вимоганаявності і доступності шлюзу виклику для переходу на більш привілейований код обмежує менш привілейований код заданим набором точок входу в код з більшим привілеєм. Тому що шлюзи виклику є елементами в дескрипторних таблицях (а ми говорили, що їх не тільки можна, але і бажано там розташовувати), то менш привілейована програма не може створити додаткових (а виходить, і неконтрольованих) шлюзів. Таким чином, розглянутий механізм шлюзів дає наступні переваги в організації середовища для виконання надійних обчислень: · привілейований код надійно захищений і визиваючі його програми не можуть його зруйнувати. Природньо, що такий системний код повинний бути особливо ретельно налагодженим, не містити помилок, бути максимально ефективним; · шлюзи міжсегментних переходів для виклику системних функцій роблять ці самі системні функції невидимими для програмних модулів, розташованих на зовнішніх (більш низьких) рівнях привілеїв; · оскільки викликаюча програма безпосередньо адресує тільки шлюз виклику, реалізовані викликаючим модулем (сегментним кодом) функції можна змінити чи перемістити в адресному просторі, не торкаючись інтерфейсу зі шлюзом; · програмні модулі викликаються з більш привілейованого рівня. Викладений коротко апаратний механізм захисту по привілеях виявляється досить складним і жостким. Основний ризик зв'язаний з передачею керування через шлюз виклику більш привілейованій процедурі. Не можна надавати викликаючій програмі ніяких переваг, що випливають через тимчасове підвищення привілеїв. Це зауваження особливо важливе для процедур нульового рівня привілеїв (PL0-процедур). Викликаюча програма може порушити роботу процедури, передаючи їй «погані» параметри. Тому доцільно якомога раніше проконтролювати передані процедурі параметри. Шлюз виклику сам по собі не перевіряє значень параметрів, що копіюються в новий стек, тому вірогідність кожного переданого параметра повинна контролювати викликана процедура. От деякі способи контролю переданих параметрів. 1. Варто перевіряти лічильники циклів і повторень на мінімальні і максимальні значення. 2. Необхідно перевірити 8- і 16-бітні параметри, передаваємі в 32-бітних регістрах. Коли процедурі передається короткий параметр, його варто розширити з знаком чи нулем для заповнення всього 32-бітного регістра. 3. Потрібно прагнути звести до мінімуму час роботи процесора з забороненими перериваннями. Якщо процедурі потрібно заборонити переривання, необхідно, щоб викликаюча програма не могла впливати на час перебування процесора з забороненими перериваннями (флаг IF=0). 4. Процедура ніколи не повинна сприймати як параметр чи код покажчик коду. 5. В операціях процесора варто явно задавати стан флагця напрямку DF для ланцюгових команд. 6. Заключна команда RET чи RETn у процедурі повинна точно відповідати полю лічильника WC шлюзу виклику; при цьому n= 4x(WC), тому що лічильник задає число подвійних слів, а n відповідає байтам. 7. Не слід застосовувати шлюзи викликів для функцій, яким передається змінне число параметрів. При необхідності потрібно скористатися лічильником і покажчиком параметрів. 8. Функції не можуть повертати значення в стеці, тому що після повернення стеки процедури і викликаючої програми знаходяться точно в такому стані, у якому вони були до виклику. 9. У процедурі варто зберігати і відновлювати всі сегментні регістри. Інакше, якщо який-небудь сегментний регістр залучався для адресації даних, недоступних викликаючій програмі, процесор автоматично завантажить у нього порожній селектор. Рекомендується контролювати всі звертання до пам'яті. Неважко уявити собі, що PL3-програма передасть PL0-процедурі покажчик селектор:зсув і запросить зчитування чи запис декількох байтів по цій адресі. Типовим прикладом може служити процедура дискового введення/виведення, що сприймає як параметр системний номер файлу, лічильник байт і адреса, по якому записуються дані з диска. Хоча PL0-процедура має привілеї для здійснення такої операції, але в PL3-програми дозволу на це може не бути. Тема 8. Організація системи переривань 32-розрядних мікропроцесорів i80х80. 1. Робота системи переривань у реальному режимі роботи процесора. Читайте також:
|
||||||||
|