Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БІКС 2015_1 / Лек 6 Захист інформації на рівні операційної системи.doc
Скачиваний:
74
Добавлен:
12.02.2016
Размер:
3.66 Mб
Скачать

Л_6!!!

Захист інформації на рівні операційної системи

Апаратне забезпечення засобів захисту

+ Керування пам'яттю: віртуальна пам'ять і трансляція адрес

  • Захист сегментів і сторінок пам'яті

  • Керування процесами (задачами)

  • Реалізація функцій захисту в процесорах Intel х86

1. Завдання апаратного захисту

До апаратного забезпечення засобів захисту (АЗЗЗ) належать засоби підтрим­ки функцій захисту операційних систем, які вбудовано у процесор та (або) в мікросхеми системної плати. Ці засоби визначаються архітектурою процесора і обчислювальної системи. їх може бути реалізовано частково апаратно та част­ково програмно. Деякі з таких програм жорстко «зашиті» у систему та не мо­жуть бути модифікованими (наприклад, мікропрограми процесора), а деякі роз­ташовані у постійній пам'яті, що піддається перепрограмуванню (наприклад, функції BIOS).

Необхідно враховувати, що операційна система може використовувати або іг­норувати деякі функції АЗЗЗ, а також замінювати їх своїми програмними моду­лями (наприклад, встановлювати власні оброблювачі переривань замість оброб­лювачів переривань BIOS).

За усталеною термінологією [91], до АЗЗЗ долучають засоби не за ознакою їх апаратної реалізації, а за колом завдань, що вони вирішують:

  • підтримка керування пам'яттю;

  • підтримка керування процесами (задачами);

  • підтримка взаємодії між процесами.

З цього переліку видно, що АЗЗЗ не забезпечує виконання завдань повністю, а лише надає необхідну підтримку. Як правило, АЗЗЗ виконує функції доступу до об'єктів, перевірки, переключення, реалізація ж складних алгоритмів, що здій­снює планування таких функцій, виноситься за межі апаратних засобів.

Слід зауважити, що в цьому контексті у складі АЗЗЗ не розглядають апаратні модулі, що виконують певні функції із захисту інформації, які не підтримує ОС наприклад апаратні модулі шифрування.

2. Підтримка керування пам'яттю

Основними завданнями розподілу пам'яті є такі [92]:

  • відстеження вільної та зайнятої пам'яті, виділення пам'яті процесам під час їх запуску і в процесі роботи, звільнення і дефрагментація пам'яті;

  • трансляція адрес, що використовують програми;

  • організація віртуальної пам'яті;

  • розмежування доступу процесів до окремих областей пам'яті як з метою ізо­ляції адресних просторів процесів від інших процесів, так і з метою організації контрольованого спільного доступу процесів до виділених областей пам'яті.

2.1. Віртуальні адреси

У програмах використовують різні типи адрес команд і операндів, які під час ви­конання програмного коду процесором перетворюються на фізичні адреси, тобто на номери комірок фізичної пам'яті комп'ютера. Програміст, створюючи програ­му, використовує символьні імена (ідентифікатори, мітки). Компілятор під час трансляції програми заміняє їх віртуальними адресами. Якщо програмний код не компілюється, а виконується інтерпретатором, то він перетворює символьні іме­на на віртуальні адреси під час виконання програми.

Віртуальні адреси дають змогу однозначно адресувати команду або дані у ви­діленому програмі (процесу) адресному просторі. Основна вимога до віртуаль­них адрес — це наявність можливості їх трансляції задля забезпечення коректної адресації незалежно від розташування програми (або навіть конкретного екземп­ляра програми) в оперативній пам'яті комп'ютера.

Найтиповішим варіантом є використання відносних адрес, тобто зміщення від деякої базової адреси. Якщо кожному процесу виділяється єдина безперервна по­слідовність віртуальних адрес, зміщення дає змогу однозначно вказати на розта­шування даних або команди в адресному просторі цього процесу. Таку модель пам'яті називають пласкою (Flat).

Альтернативною моделлю є сегментна модель пам'яті. Адресний простір про­цесу поділяється на окремі частини, які називають сегментами (іноді секціями чи областями). У такому випадку віртуальна адреса задається парою чисел (я, ти), де п позначає сегмент, am — зміщення в ньому.