Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технології захисту інформації - копия

.pdf
Скачиваний:
259
Добавлен:
17.03.2016
Размер:
6.65 Mб
Скачать

підслуховування розмов, телексів, телефонів; перехоплення інформації й електромагнітного випромінювання;

організація крадіжок; вимагання й хабар.

Багато власників систем часто не уявляють, яку підготовчу роботу повинен провести порушник, щоб проникнути в ту або іншу комп’ютерну систему. Тому вони самовпевнено вважають, що єдине, що необхідно зробити, – це захистити файл, указавши йому пароль, і забувають, що будь-яка інформація про ті або інші слабкі місця системи може допомогти зломщику знайти лазівку й обійти пароль, одержавши доступ до файла. Таким чином, інформація стає легкодоступною, якщо зловмисник знає, де й що дивитися.

Підбір співучасників. Підбір співучасників заснований на підслуховуванні розмов у барах, фойє готелів, ресторанах, таксі, підключенні до телефонів і телексам, вивченні змісту загублених портфелів і документів. Більшу й корисну інформацію можна витягти, якщо трапляється можливість підсісти до групи програмістів. Цей спосіб часто використовують репортери й професійні агенти.

Витяг інформації з періодичних видань. Зловмисники можуть почерпнути багато корисної інформації з газет і інших періодичних видань. Перехоплення повідомлень електронної пошти. Звичайно для підключення до електронної пошти використовується побутовий комп’ютер з модемом для зв’язку з державною телефонною мережею [23; 43]. Телефонний канал доступу в таку систему звичайно вільний, хоча останнім часом системні оператори вимагають установки обладнань реєстрації користувачів електронної пошти. Аж до недавнього часу багато довідкових систем були оснащені блоками, через які зломщики могли витягати більші обсяги даних, а також ідентифікатори й паролі користувачів. Зараз немає нічого незвичайного в тому, що блоки, установлені кракерами, можуть бути зашифровані й тільки окремі члени злочинних угруповань можуть зчитувати з них інформацію.

Зав’язування знайомств. З метою одержання інформації про обчислювальну систему або отримання службових паролів зломщики можуть використовувати різноманітні способи. Наприклад, знайомлячись, вони представляються менеджерами; використовують запитальники, роздаючи їх у фойє фірми й детально розпитуючи співробітників про комп’ютерну систему; дзвонять системноми адміністратору в обідній

411

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

Більш зловмисним, але, можливо, і більш успішним є метод "полювання за разумами", коли на фірму приходить людина, яка бажає працювати системним програмістом або інженером зв’язку, і просить дати йому консультацію. Дивно, як багато інформації може передати службовець, який не має перспективи зростання, але вважає себе гідним більш важливої й високооплачуваної посади; він може розкрити коди користувачів, паролі, указати слабкі місця в мережах зв’язку і т. д.

Аналіз роздруківок. Деякі зломщики одержали доступ, до ЕОМ просто вивчаючи роздруківки, і це один з найбільш ефективних і найменш ризикованих шляхів одержання конфіденційної інформації. Численні фірми втрачають інформацію зі своїх комп’ютерних систем, поперше, помилково думаючи, що вона не містить конфіденційної інформації, і, по-друге, помилково вважаючи, що всі чорнові роздруківки сумлінно знищуються. Саме таким способом зломщики змогли одержати досить повну картину організації комп’ютерної системи, використовуючи викинуті роздруківки й незатребувані протоколи роботи системи, які співробітникам обчислювального центру представлялися невинними папірцями.

Перехоплення повідомлень в каналах зв’язку. На сьогодняшній час кількість фірм, оснащених обчислювальною технікою, постійно зростає, тому перехоплення повідомлень стало досить реальною загрозою й для комерційного світу. Спектр можливих перехоплень досить широкий – перехоплення усних повідомлень із використанням радіопередавачів, мікрофонів і мікрохвильових обладнань; підслуховування повідомлень, переданих з телефону, телексу й іншими каналами передачі даних; контроль електромагнітного випромінювання від ПК; перехоплення супутникових або мікрохвильових передач.

Установкою радіопередавачів, мікрофонів і мікрохвильових обладнань або прослуховуванням ліній зв’язку звичайно займаються професійні зломщики, а також аматори й фахівці зі зв’язку. Останнім часом кількість випадків установки таких обладнань зросла. Улюбленими точками безконтрольного доступу також є телефонні лінії.

412

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

12.4. Організація захисту пам’яті в ПК

Захист пам’яті – паратні і програмні засоби для запобігання запису або відтворення інформації з недозволених адрес пам’яті обчислювальної системи або машини. Сутність захисту пам’яті полягає в тому, що пам’ять ЦОМ програмно або апаратно розбивається на ряд ділянок і кожній ділянці або групі ділянок присвоюється код-ключ, який запам’ятовується в тій самій або спеціальній пам’яті. При зверненні до пам’яті визначається її ділянка і відповідний ключ, який порівнюється з дозволеним ключем захисту пам’яті, зазначеним в самій команді або диспетчером-програмою. Невідповідність ключів розглядається як порушення захисту пам’яті і виконання програми переривається. Переривання програми організовується так, щоб зміст захищеної області пам’яті залишився без змін. Захист пам’яті функціонує при кожному зверненні до пам’яті або в режимі запису інформації, або в режимі відтворення інформації, або в обох режимах. Захист пам’яті виконує такі функції: захист вмісту певних областей пам’яті від втрати інформації під час виконання програм через помилкові засилки інформації, які викликані відмовами і збоями устаткування або диспетчер-програми ЦОМ, помилками програміста або користувача; захист інформації від попадання її в руки стороннього користувача при несанкціонованому випадковому або навмисному втручанні.

До апаратних засобів захисту пам’яті відносяться: запам’ятовуючий пристрій ключів захисту, ємність якого відповідає числу ділянок, які захищаються, а швидкодія на порядок більше, ніж в основній пам’яті ЦОМ; схеми порівняння ключів захисту, переривання та індикації при порушенні захисту пам’яті. До програмних засобів захисту пам’яті відносяться: програми контролю ділянок пам’яті, їх кодування і складання таблиць відповідності; програми динамічного перерозподілу захисту пам’яті за розпорядженнями споживачів, за параметрами одночасно розв’язуваних завдань; програми аналізу причин порушень захисту

413

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

12.4.1. Організація захисту пам’яті в ЕОМ

При мультипрограмному режимі роботи ЕОМ у її пам’яті одночасно можуть перебувати кілька незалежних програм. Тому необхідні спеціальні заходи по запобіганню або обмеженню звернень однієї програми до областей пам’яті, які використовуються іншими програмами. Програми можуть також містити помилки, які, якщо цьому не перешкодити, призводять до спотворення інформації, що належить іншим програмам. Наслідки таких помилок особливо небезпечні, якщо руйнуються програми операційної системи. Іншими словами, треба виключити вплив програми користувача на роботу програм інших користувачів і програм операційної системи. Слід захищати і самі програми від помилок, які знаходяться в них самих.

Таким чином, засоби захисту пам’яті повинні запобігати [23; 43]: недозволеній взаємодії користувачів один з одним, несанкціонованому доступу користувачів до даних, пошкодженню програм і даних через помилки в програмах, навмисним спробам зруйнувати цілісність системи,

використанню інформації в пам’яті не відповідно до її функціонального призначення.

Щоб перешкодити руйнуванню одних програм іншими, досить захистити область пам’яті даної програми від спроб запису в неї з боку інших програм, а в деяких випадках і своєї програми (захист від запису), при цьому допускається звернення інших програм до цієї області пам’яті для зчитування даних.

В інших випадках, наприклад при обмеженнях на доступ до інформації, що зберігається в системі, необхідно забороняти іншим програмам будь-яке звернення до деякої області пам’яті як на запис, так

414

і на зчитування. Такий захист від запису і зчитування допомагає в налагодженні програми, при цьому здійснюється контроль кожного випадку звернення за область пам’яті своєї програми.

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

Якщо порушується захист пам’яті, виконання програми призупиняється і виробляється запит переривання за порушенням захисту пам’яті.

Захист від вторгнення програм в чужі області пам’яті може бути організована різними методами. Але при будь-якому підході реалізація захисту не повинна помітно знижувати продуктивність комп’ютера і вимагати дуже великих апаратурних витрат.

Методи захисту базуються на деяких класичних підходах, які отримали свій розвиток в архітектурі сучасних ПК. До таких методів можна віднести захист окремих комірок, метод граничних регістрів, метод ключів захисту [23; 43].

Захист окремих комірок пам’яті організовується в ПК, призна-

чених для роботи в системах управління, де необхідно забезпечити можливість налагодження нових програм без порушення функціонування робочих програм, керуючих технологічним процесом, які знаходяться в пам’яті. Це може бути досягнуто виділенням в кожній комірці пам’яті спеціального "розряду захисту". Установка цього розряду в "1" забороняє проводити запис в дану комірку, що забезпечує збереження робочих програм. Недолік такого підходу – велика надмірність в кодуванні інформації через надмірно дрібний рівень об’єкта, що захищається (комірка).

У системах з мультипрограмною обробкою доцільно організовувати захист на рівні блоків пам’яті, що виділяються програмами, а не окремих комірок.

Метод граничних регістрів (рис. 12.5) полягає у введенні двох граничних регістрів, які вказують верхню і нижню межі області пам’яті, куди програма має право доступу.

415

Переривання по захисту пам'яті

 

 

 

 

 

 

 

 

 

 

Схема

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А > C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

порівняння

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОЗП

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A ≤ C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

РегісІстр верхньої

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

границі (С)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Регістр адреси

 

 

 

 

 

 

 

 

 

 

Дозвіл

 

 

Дозволена

 

(A)

 

 

 

 

 

 

 

 

звернення

 

 

область пам'яті

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Регістр нижньої

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

границі (B)

 

 

 

 

A ≥ B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A < B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Схема

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

порівняння

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Переривання по захисту пам'яті

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 12.5. Захист пам’яті методом граничних регістрів

При кожному зверненні до пам’яті перевіряється, чи знаходиться використовувана адреса в установлених межах. При виході за межі звернення до пам’яті не виконується, а формується запит переривання, що передає керування операційній системі. Зміст граничних регістрів встановлюється операційною системою при завантаженні програми в пам’ять.

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

Метод граничних регістрів, володіючи безсумнівною простотою реалізації, має і певні недоліки. Основним з них є те, що цей метод підтримує роботу лише з безперервними областями пам’яті.

Метод ключів захисту, на відміну від попереднього, дозволяє реалізувати доступ програми до областей пам’яті, організованим у вигляді окремих модулів, що не є єдиним масивом. Пам’ять у логічному відношенні ділиться на однакові блоки, наприклад, сторінки. Кожному блоку пам’яті ставиться у відповідність код, званий ключем захисту пам’яті, а кожній програмі, яка бере участь у мультипрограмній обробці, присвоюється код ключа програми. Доступ програми до даного блоку пам’яті для читання і запису дозволений, якщо ключі збігаються (тобто даний блок пам’яті відноситься до даної програми) або один з них має

416

код 0 (код 0 присвоюється програмам операційної системи і блокам пам’яті, до яких мають доступ всі програми: загальні дані, підпрограми, які спільно використовуються тощо). Коди ключів захисту блоків пам’яті і ключів програм встановлюються операційною системою.

У ключі захисту пам’яті передбачається додатковий розряд режиму захисту. Захист діє тільки при спробі запису в блок, якщо в цьому розряді стоїть 0, і при будь-якому зверненні до блоку, якщо стоїть 1. Коди ключів захисту пам’яті зберігаються в спеціальній пам’яті ключів захисту, більш швидкодіючої, ніж оперативна пам’ять. Функціонування цього механізму захисту пам’яті пояснюється схемою на рис. 12.6.

Регістр адреси

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер блоку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пам'ять ключів захисту

 

 

 

 

 

TrPO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Звернення

ОЗП

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ключ захисту пам'яті

РРО

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дозволено

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Схема аналізу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ключ програми

 

 

 

 

 

 

 

 

 

 

 

 

Переривання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

по захисту

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пам'яті

 

 

Рис. 12.6. Захист пам’яті методом ключів захисту

Призверненні до пам’яті група старших розрядів адреси ОЗП, що відповідає номеру блоку, до якого здійснюється звернення, використовується як адреса для вибірки з пам’яті ключів захисту коду ключа захисту, присвоєного операційною системою даному блоку.

Схема аналізу порівнює ключ захисту блоку пам’яті і ключ програми, що знаходиться в регістрі слова стану програми (ССП), і виробляє сигнал "Звернення дозволено" або сигнал "Переривання по захисту пам’яті". При цьому враховуються значення режиму звернення до ОЗП (запис або зчитування), що вказується тригерним режимом обіг і режиму захисту, встановленого в розрядірежиму обігу (РРО) ключа захисту пам’яті.

417

12.5. Засоби захисту памяті в персональній ЕОМ

Захист пам’яті в персональній ЕОМ [4] ділиться на захист при управлінні пам’яттю і захист за привілеями.

Засоби захисту при управлінні пам’яттю здійснюють перевірку:

перевищення ефективною адресою довжини сегмента; прав доступу до сегмента на запис або тільки на читання; функціонального призначення сегмента.

Перший механізм базується на методі граничних регістрів. При цьому початкові адреси того чи іншого сегмента програми встановлюються операційною системою. Для кожного сегмента фіксується його довжина. При спробі звернення за відносною адресою, що перевищує довжину сегмента, виробляється сигнал порушення захисту пам’яті.

При перевірці функціонального призначення сегмента визначаються операції, які можна проводити над розташованими в ньому даними. Так, сегмент, що є стеком програми, повинен допускати звернення як на запис, так і на читання інформації. До сегмента, що містить програму, можна звертатися тільки на виконання. Будь-яке звернення на запис або читання даних з цього сегмента буде сприйнято як помилкове. Тут спостерігається певний відхід від принципів Неймана в побудові ЕОМ, в яких стверджується, що будь-яка інформація, що знаходиться в ЗП, функціонально не поділяється на програму і дані, а її ідентифікація проводиться лише на стадії застосування даної інформації. Очевидно, що такий розвиток викликано багато в чому появою мультипрограмування і необхідністю більш уважного розгляду питань захисту інформації.

Захист по привілеям фіксує більш тонкі помилки, пов’язані, в основному, з розмежуванням прав доступу до тієї чи іншої інформації.

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

виконувати деякі команди; виконувати команди введення-виведення на тому чи іншому зов-

нішньому пристрої;

418

звертатися до даних інших програм; викликати інші програми.

На апаратному рівні в процесорі розрізняються 4 рівні привілеїв. Найбільш привілейованими є програми на рівні 0.

Число програм, які можуть виконуватися на більш високому рівні привілеїв, зменшується від рівня 3 до рівня 0. Програми рівня 0 діють як ядро операційної системи. Тому рівні привілеїв зазвичай зображаються у вигляді чотирьох кілець захисту (рис. 12.7).

Найменш

привілейований

рівень

0

1

Найбільш

2

привілейований

 

рівень

3

 

Рис. 12.7. "Кільця захисту"

Як правило, розподіл програм по кільцях захисту має такий вигляд:

рівень 0 – ядро ОС, що забезпечує ініціалізацію роботи, управління доступом до пам’яті, захист і ряд інших життєво важливих функцій, порушення яких повністю виводить з ладу процесор;

рівень 1 – основна частина програм ОС (утиліти); рівень 2 – службові програми ОС (драйвери, СУБД, спеціалізовані

підсистеми програмування та ін); рівень 3 – прикладні програми користувача.

Конкретна операційна система не обов’язково повинна підтримувати всі чотири рівня привілеїв. Так, ОС UNIX працює з двома кільцями захисту: супервізор (рівень 0) та користувач (рівні 1,2,3). Операційна система OS / 2 підтримує три рівні: код ОС працює в кільці 0,

419

спеціальні процедури для звернення до пристроїв введення-виведення діють в кільці 1, а прикладні програми виконуються в кільці 3.

Просту незахищену систему можна цілком реалізувати в одному кільці 0 (в інших кільцях це зробити неможливо, оскільки деякі команди доступні тільки на цьому рівні).

Рівень привілеїв сегмента визначається полем DPL рівня привілеїв його дескриптора. Рівень привілеїв запиту до сегмента визначається рівнем привілеїв RPL, закодованому в селекторі. Звернення до сегмента дозволяється тільки тоді, коли рівень привілеїв сегмента не вище рівня запиту. Звернення до програм, які знаходяться на більш високому рівні привілеїв (наприклад, до утиліт операційної системи з програм користувача), можливо за допомогою спеціальних апаратних механізмів – шлюзів виклику.

При сторінковому перетворенні адреси застосовується простий дворівневий механізм захисту: користувач (рівень 3) / супервізор (рівні 0,1,2), що указується в полі U / S відповідної таблиці сторінок.

При сегментно-сторінковій перетворенні адреси спочатку перевіряються привілеї при доступі до сегмента, а потім – при доступі до сторінки. Це дає можливість встановити більш високий степінь захисту окремих сторінок сегмента.

Моделі безпеки, що застосовуються при побудові захисту в СУБД

При побудові СУБД широко використовується рольова модель безпеки. Її загальний вигляд у СУБД розглянемо далі.

На додаток до прав доступу, видаваним окремим користувачам, СУБД може надавати можливість призначення:

певних прав доступу ролі, яка потім видається іншим;

певних вбудованих груп прав доступу користувачам.

Звичайно, термінологія не дотримується строго у всіх основних СУБД. Деякі СУБД називають ролі групами і навпаки. Як адміністратору баз даних, вам необхідно розуміти, як кожна СУБД, якою ви керуєте, реалізує ролі і групи і як кожна з цих властивостей може бути використана для спрощення адміністрування безпеки бази даних.

Ролі

Як тільки вона визначена, роль може бути використана для видачі одного або декількох заздалегідь встановлених прав доступу користувачу. Роль по суті є набором прав доступу. Адміністратор баз даних

420