ЗІ від НСД в базах даних
Головне джерело загроз, специфічних для систем управління базами даних (СУБД), лежить у самій природі баз даних. Як відомо, СУБД призначені для створення, модифікації, відображення і збереження даних. Ці дані можуть зберігатися і відображатися в такому виді, у якому вони були створені автором чи будуватися (виводитися) за допомогою операцій, підтримуваних системою, на підставі збережених даних. Практично в будь-якому додатку, що забезпечує доступ до БД, передбачається контроль доступом на рівні користувача і бази даних. Тільки авторизований користувач може створювати нові бази даних чи змінювати структуру існуючих. Інші користувачі мають право змінювати і переглядати дані відповідно до своїх прав доступу. Одні з обмежень покликані підтримувати погодженість даних (один з видів цілісності), інші призначені для захисту від НСД. Для того, щоб продемонструвати, що система захищена, необхідно довести, що ці обмеження коректно дотримуються при будь-яких умовах.
Оскільки в БД може зберігатися величезна кількість різноманітної інформації, то наявність потужного інструмента для зручного і дуже простого маніпулювання даними (котрий надає кожна СУБД) майже завжди призводить до виникнення наступних проблем ЗІ, характерних для БД.
Проблема агрегування полягає в тому, що мітка безпеки даних, отриманих у результаті застосування операцій маніпулювання даними, може виявитися більшою, ніж найбільша мітка усіх використаних даних.
Прикладом агрегації менш секретної інформації для одержання більш секретної може служити одержання секретної інформації про загальну чисельність загону солдат в конкретній зоні на підставі несекретних даних про місце розміщення окремих солдатів. Таким чином, агрегована інформація може виявитися більш секретної, чим кожний з компонентів, її що склав.
Інший приклад. Розглянемо базу даних, що зберігає параметри всіх комплектуючих, з яких буде збиратися ракета, і інструкцію зі зборки. Дані про кожен вид комплектуючих необхідні постачальникам, інструкція зі зборки – складальному виробництву. Інформація про окремі частини сама по собі не є секретною (який сенс ховати матеріал, розміри, кількість гайок?). У той же час аналіз усієї бази дозволяє довідатися, як зробити ракету, що може уже вважатися державною таємницею. Підвищення рівня таємності даних при агрегуванні цілком природно – це наслідок закону переходу кількості в якість. Боротися з агрегуванням (як і логічним висновком) можна за рахунок ретельного проектування моделі даних і максимального обмеження доступу користувачів до інформації.
Проблема логічного виводу полягає в можливості одержати секретну інформацію, що не міститься явно в структурах даних, шляхом об'єднання нової інформації зі знаннями. Нерідко шляхом логічного виводу можна витягти з бази даних інформацію, на одержання якої стандартними засобами в користувача не вистачає привілеїв. Вивід секретних даних за допомогою допустимих запитів і інформації в БД, може бути проілюстрований наступними прикладами.
1. Розглянемо лікарняну базу даних, що складає з двох таблиць. У першій зберігається інформація про пацієнтів (анкетні дані, діагноз, призначення і т.д.), у другий – відомості про лікарів (розклад заходів, перелік пацієнтів і т.д.). Якщо користувач має право доступу тільки до таблиці лікарів, він, проте, може одержати непряму інформацію про діагнози пацієнтів, оскільки, як правило, лікарі спеціалізуються на лікуванні певних хвороб.
2. Загальна кількість одиниць секретна, однак загальна вартість і ціна одиниці – доступні усім.
Відповіддю на наступний запит користувача, що не має доступу до секретної інформації – «Одержати всі дані, що стосуються факту транспортування бомб рейсом № 1» може бути повідомлення: «доступ заборонений», оскільки одна чи кілька записів засекречені. Це відразу ж говорить неавторизованому користувачу про те, що рейс №1 дійсно секретно транспортує бомби.
Крім того, якщо мітки безпеки в БД прив'язуються до об'єктів (контейнерів), що містять дані, то може виникнуть ситуація, коли модифікація контейнера приведе до збільшення або до зменшення рівня його таємності. Іншими словами, рівень безпеки об'єкта БД може змінюватися з модифікацією інформації.
Ще одна загроза для баз даних – це замах на високу готовність або доступність. Якщо користувачу доступні всі можливості СУБД, він може досить легко утруднити роботу інших користувачів (наприклад, ініціювавши тривалу транзакцию, що захоплює велике число таблиць).
Жодна з цих проблем не вирішується за допомогою традиційних заходів захисту.
Отже, можна зробити висновок, що в більшості випадків необхідно застосовувати таку модель політики безпеки, що обмежувала б привілею користувачів згідно тієї ролі, що він (користувач) виконує в даний момент часу. Відповідно до такої політики, користувачам буде дозволено виконувати визначені ролі в системі при виконанні деяких умов. Так наприклад, у магазині тільки визначеним користувачам буде дозволено виконувати роль касира тільки в заплановані часи їх роботи. Або в страховій компанії – працівники можуть виконувати обов'язки агента тільки в звичайний робочий час.
Крім того, обробка даних, яку можуть виконувати користувачі, граючи деяку роль, теж повинна бути обмежена. Приміром, користувач, що виконує роль аналітика, може мати доступ для перегляду лише деяких статистичних даних. Більш того, частоту виконання подібних запитів можна обмежити для зменшення імовірності атаки БД за допомогою логічного виводу.
Дата добавления: 2015-12-22; просмотров: 673;