Русский   English
 

Реферат за темою випускної роботи

При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: червень 2022 року. Повний текст роботи і матеріали по темі можуть бути отримані у автора або його керівника після зазначеної дати.

Зміст

Вступ

При проектуванні клієнт-серверних додатків з базами даних різного призначення для зберігання великих і надвеликих обсягів інформації проектувальники зазвичай роблять вибір на користь реляційної СУБД. На наступних стадіях проектування і розробки, забезпечення безпеки бази даних зазвичай зводиться до виділення класів користувачів, їх інформаційних потреб і привілеїв (формується політика безпеки), проектування системи розмежування доступу.

Далі для призначення / скасування привілеїв використовується мова SQL, що включає оператори GRANT, REVOKE і т. д. більшість сучасних реляційних СУБД підтримує дискреційну (DAC) і мандатну (MAC) моделі розмежування доступу, а також додаткові засоби забезпечення безпеки.

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

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

1. Проблема забезпечення інформаційної безпеки для клієнт-серверних додатків з базою даних

При проектуванні клієнт-серверних додатків з базами даних різного призначення для зберігання великих і надвеликих об'ємів інформації проектувальники зазвичай роблять вибір на користь реляційної СУБД. На наступних стадіях проектування і розробки забезпечення безпеки бази даних зазвичай зводиться до виділення класів користувачів, їх інформаційних потреб і привілеїв (формується політика безпеки), проектування системи розмежування доступу, а також вибору алгоритмів і програмних засобів захисту.

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

Безпека клієнт-серверного додатка з базою даних

Малюнок 1 – Безпека клієнт-серверного додатка з базою даних (анімація: 9 кадрів, 6 циклів, 198 кбайт)

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

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

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

Для побудови моделі загроз клієнт-серверних додатків з базами даних необхідно їх ідентифікувати. Необхідно не тільки провести роботу з виявлення та аналізу самих загроз, а й вивчити і описати джерела виникнення виявлених загроз. Такий підхід допоможе у виборі комплексу засобів захисту. Наприклад, нелегальний вхід в систему може стати наслідком відтворення початкового діалогу, підбору пароля або підключення до мережі неавторизованого обладнання. Очевидно, для протидії кожному з перерахованих способів нелегального входу потрібні свої механізми безпеки [1].

2. Аналіз ризиків загроз інформаційній безпеці для клієнт-серверних додатків з базою даних

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

Ризики безпеки для клієнт-серверних додатків з базами даних

Малюнок 2 – Ризики безпеки для клієнт-серверних додатків з базами даних

Розглянемо і проаналізуємо основні з них:

3. Ідентифікація джерел загроз і побудова моделі загроз для клієнт-серверного додатка з базами даних

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

Сформулюємо перелік зовнішніх і внутрішніх загроз інформаційній безпеці баз даних.

Зовнішніми дестабілізуючими факторами, що створюють загрози безпеці функціонуванню клієнт-серверних додатків з базами даних і СУБД, є:

Внутрішніми джерелами загроз клієнт-серверних додатків з базами даних і СУБД є:

Повне усунення всіх потенційних загроз інформаційній безпеці клієнт-серверних додатків з базами даних принципово неможливо. Реальне завдання полягає в зниженні ймовірності реалізації потенційних загроз до прийнятного для конкретної системи рівня. Прийнятність відповідного рівня загроз може визначатися областю застосування, виділеним бюджетом або положеннями чинного законодавства. Сукупний ризик є досить складною функцією уразливості компонентів програми. Різні негативні впливи також досить складним чином впливають на основні характеристики якості та безпеки клієнт-серверних додатків з базами даних [3].

4. Огляд досліджень і розробок

4.1 Огляд міжнародних джерел

Iснує безліч джерел, присвячених проблемі забезпечення безпеки клієнт-серверних додатків з базами даних. Так, У статті Database Security and Encryption: A Survey Study досліджується безпека баз даних, аналізуються проблеми, вимоги та загрози забезпечення безпеки баз даних, а також розглядається використання засобу захисту шифрування на різних рівнях безпеки баз даних.

A в статті DATABASE SECURITY: THREATS AND PREVENTIVE MEASURES проводиться аналіз безлічі різних загроз і вразливостей і визначаються найбільш поширені і проблемні, також пропонується найбільш підходящі превентивні заходи або рішення для кожного з проаналізованої загрози і уразливості.

У книзі Database Reliability Engineering: Designing and Operating Resilient Database Systems by Laine Campbell and Charity Majors приділяється внівманіе вимогам до рівня обслуговування і управління ризиками баз даних, Створення і розвитку архітектури для забезпечення надії роботи баз даних, розробці інфраструктури та управління інфраструктурою, безпечного зберігання, індексації та реплікаціія даних, визначення характеристик сховища даних і найкращих варіантів використання, проектування компонентів архітектури сховища даних і архітектури керовані даними.

4.2 Огляд національних джерел

Серед національних джерел безліч публікацій також присвячено забезпеченню безпеки клієнт-серверних додатків з базами даних. У книзі Бази даних. Проектування, програмування, управління та адміністрування – 2020 Вовка B.обговорюються основні концепції і проблематика баз даних, розглядаються процеси їх проектування, програмування і управління, а також технології їх адміністрування з метою досягнення високої продуктивності доступу до даних і забезпечення необхідного рівня інформаційної безпеки.

Книга PostgreSQL 11. Майстерність розробки – 2019 Шеніга Ганса-Юргена висвітлює передові технічні аспекти PostgreSQL, включаючи логічну реплікацію, кластери баз даних, оптимізацію продуктивності, моніторинг і управління користувачами. У ній раассматріваются транзакциии, блокування, індекси і оптимізація запитів. Крім того, розглядається забезпечення мережевої безпеку і механізм резервних копії і реплікацій, корисні розширення PostgreSQL, що дозволяють збільшити продуктивність при роботі з великими базами даних.

У книзі Основи технологій баз даних – 2020 Новікова б., Горшкової Е.і Графеевой Н. детально розглядаються основні поняття, пристрій і принципи роботи СУБД, забезпечення безпеки роботи, а також технології (Архітектура, алгоритми, структури даних), що лежать в їх основі.

4.3 Огляд локальних джерел

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

У роботі Моделі продуктивності систем управління базами даних Селмі Уаяік досліджує продуктивність системи управління бази даних за допомогою порівняння серверів баз даних [4].

5. Проектування програмних засобів і алгоритмів захисту клієнт-серверного додатка з базами даних виходячи з моделі загроз

5.1 Алгоритм приховування пароля

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

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

Якщо пароль буде загублений або скомпрометований, повинен відбутися скидання, це означає, що для аутентифікації не потрібно зберігати пароль у відкритому вигляді. Один із способів вирішити ці проблеми – використовувати односторонній хеш, тобто шифрування, яке неможливо розшифрувати. Відомі алгоритми хешування, такі як MD5-хеш, SHA-1. Ці алгоритми хороші тим, що незалежно від розміру даних, розмір повернутих даних завжди один і той же. MD5 має довжину 128 біт, що становить 16 байт. Одного алгоритму хешування недостатньо, так як його легко зламати.

Для зниження ризику злому необхідно використовувати найнадійніший хеш алгоритм, доступний в нашій базі коду. І засолити наші паролі, тобто створити випадкове значення для додавання в кінець пароля, щоб зробити його більш унікальним. Це також необхідно для запобігання аналізу паролів, якщо використовувати тільки алгоритм хешування всі однакові паролі будуть мати однаковий хеш. При використанні випадкового значення солі збережені хеші стають унікальними, навіть якщо використовується один і той же пароль. Також при авторизації будуть підставлятися в запит не самі значення змінних, а їх параметри, для запобігання SQL-ін'єкцій [4].

З вищесказаного можна сформувати наступний алгоритм реєстрації/авторизації.

  1. Реєстрація користувача:
    • введення імені користувача;
    • введення пароля;
    • Створення випадкової солі до пароля;
    • застосування хеш алгоритму;
    • збереження імені користувача, хешу і солі в таблиці бази даних.
  2. Авторизація користувача:
    • таймаут 2 секунди, для уповільнення атак за допомогою грубої сили;
    • отримання імені користувача та пароля;
    • отримання відповідного запису з бази даних;
    • використання солі з бази даних, щоб створити хеш до пароля;
    • порівняння отриманого хешу з хешем пароля, який зберігається в базі даних;
    • повернення не вдалося увійти в систему або успішна авторизація; (не показуємо більш детальні повідомлення користувач не знайдений або невірний пароль, оскільки це дає порушнику багато інформації).

5.2 Алгоритм розмежування прав доступу

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

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

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

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

З вищесказаного можна сформувати наступний алгоритм розмежування прав доступу:

5.3 Алгоритм знеособлення персональних даних

Для зниження ризику несанкціонованого доступу до особистих даних або витоку таких даних, планується використовувати алгоритм знеособлення персональних даних (рис. 3).

Блок-схема алгоритму знеособлення персональних даних

Малюнок 3 – Блок-схема алгоритму знеособлення персональних даних

Пропонований алгоритм знеособлення персональних даних побудований на наступних принципах:

Алгоритм забезпечує перестановку даних кожної множини атрибутів вихідної таблиці покроково. На кожному кроці використовується принцип циклічних перестановок [5].

Розбиття кожної множини має володіти наступними властивостями:

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

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

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

Даний алгоритм має наступні переваги:

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

5.4 Алгоритм забезпечення контролю цілісності знеособлених персональних даних

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

Даний алгоритм має наступні переваги:

5.5 Засоби захисту на рівні СУБД

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

Висновок

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

При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: Червень 2022 року. Повний текст роботи і матеріали по темі можуть бути отримані у автора або його керівника після зазначеної дати.

Перелік посилань

  1. Основные аспекты безопасности СУБД: что следует знать [Электронный ресурс] /. – Режим доступа: https://tproger.ru/articles/dbsecurity-basics. – Заглавие с экрана.
  2. С чего начинается защита базы данных? [Электронный ресурс] /. – Режим доступа: https://www.dataarmor.ru/с-чего-начинается-защита-базы-данных. – Заглавие с экрана.
  3. Secure Password Authentication Explained Simply [Электронный ресурс] /. – Режим доступа: https://www.codeproject.com/Articles/54164/Secure-Password-Authentication-Explained-Simply. – Заглавие с экрана.
  4. Системы управления базами данных [Электронный ресурс] /. – Режим доступа: http://www.bseu.by/it/tohod/sdo4.htm – Заглавие с экрана.
  5. В.К. Волк. Базы данных. Проектирование, программирование, управление и администрирование: учебник – Санкт-Петербург: Лань, 2020. – 244 с.
  6. А.С. Куракин. Алгоритм деперсонализации персональных данных // Научно-технический вестник информационных технологий, механики и оптики, № 6 (82), 2012. – p.130-135.
  7. Ю.А. Гатчин, О.А. Теплоухова, А.С. Куракин. Алгоритм контроля целостности деперсонализированных данных в информационных системах персональных данных // Научно-технический вестник информационных технологий, механики и оптики, № 1 (83), 2013. – p.145-147.