Реферат за темою випускної роботи
При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: червень 2022 року. Повний текст роботи і матеріали по темі можуть бути отримані у автора або його керівника після зазначеної дати.
Зміст
- Вступ
- 1. Проблема забезпечення інформаційної безпеки для клієнт-серверних додатків з базою даних
- 2. Аналіз ризиків загроз інформаційній безпеці для клієнт-серверних додатків з базою даних
- 3. Ідентифікація джерел загроз і побудова моделі загроз для клієнт-серверного додатка з базою даних
- 4. Огляд досліджень і розробок
- 5. Проектування програмних засобів і алгоритмів захисту клієнт-серверного додатка з базами даних виходячи з моделі загроз
- Висновок
- Перелік посилань
Вступ
При проектуванні клієнт-серверних додатків з базами даних різного призначення для зберігання великих і надвеликих обсягів інформації проектувальники зазвичай роблять вибір на користь реляційної СУБД. На наступних стадіях проектування і розробки, забезпечення безпеки бази даних зазвичай зводиться до виділення класів користувачів, їх інформаційних потреб і привілеїв (формується політика безпеки), проектування системи розмежування доступу.
Далі для призначення / скасування привілеїв використовується мова SQL, що включає оператори GRANT, REVOKE і т. д. більшість сучасних реляційних СУБД підтримує дискреційну (DAC) і мандатну (MAC) моделі розмежування доступу, а також додаткові засоби забезпечення безпеки.
На всіх стадіях життєвого циклу клієнт-серверного додатку з базою даних, побудованої на основі реляційної СУБД, можливі реалізації великого числа загроз різних класів. Ці можливості випливають як з властивостей самої реляційної моделі даних, так і з особливостей реалізації СУБД різними виробниками і використовуваної моделі розмежування доступу. Захист інформації в реляційних базах даних має специфіку, полягає в тому, що семантика оброблюваних даних дає великі можливості по реалізації різних загроз стосовно бази даних, ніж, наприклад, до файлової системи.
Під загрозою зазвичай розуміють потенційно можливу подію, дію (вплив), процес або явище, яке може привести до нанесення шкоди чиїмось інтересам.
1. Проблема забезпечення інформаційної безпеки для клієнт-серверних додатків з базою даних
При проектуванні клієнт-серверних додатків з базами даних різного призначення для зберігання великих і надвеликих об'ємів інформації проектувальники зазвичай роблять вибір на користь реляційної СУБД. На наступних стадіях проектування і розробки забезпечення безпеки бази даних зазвичай зводиться до виділення класів користувачів, їх інформаційних потреб і привілеїв (формується політика безпеки), проектування системи розмежування доступу, а також вибору алгоритмів і програмних засобів захисту.
На всіх стадіях життєвого циклу клієнт-серверного додатку з базою даних, побудованої на основі реляційної СУБД, можливі реалізації великого числа загроз різних класів. Ці можливості випливають як з властивостей самої реляційної моделі даних, так і з особливостей реалізації СУБД різними виробниками і використовуваної моделі розмежування доступу. Захист інформації в реляційних базах даних має специфіку, що полягає в тому, що семантика оброблюваних даних дає великі можливості по реалізації різних загроз стосовно до бази даних, ніж, наприклад, до файлової системи.
Загрозою інформаційної безпеки клієнт-серверного додатка з базою даних назвемо можливість впливу на інформацію, оброблювану в додатку, що призводить до спотворення, знищення, копіювання, блокування доступу до інформації, а також можливість впливу на компоненти інформаційної системи, що приводить до втрати, знищення або збою функціонування носія інформації або засоби управління програмно-апаратним комплексом системи.
Загроза порушення конфіденційності даних включає в себе будь-яке умисне або випадкове розкриття інформації, що зберігається в обчислювальній системі або передається з однієї системи в іншу. До порушення конфіденційності веде як умисна дія, спрямована на реалізацію несанкціонованого доступу до даних, так і випадкова помилка програмного або некваліфікованої дії оператора, яка може привести до передачі по відкритих каналах зв'язку незахищеної конфіденційної інформації.
Загроза порушення цілісності включає в себе будь-яке умисне або випадкове зміна інформації, оброблюваної в інформаційній системі або вводиться з первинного джерела даних. До порушення цілісності даних може привести як навмисне деструктивна дія деякої особи, що змінює дані для досягнення власних цілей, так і випадкова помилка програмного або апаратного забезпечення, що призвела до безповоротного руйнування даних.
Для побудови моделі загроз клієнт-серверних додатків з базами даних необхідно їх ідентифікувати. Необхідно не тільки провести роботу з виявлення та аналізу самих загроз, а й вивчити і описати джерела виникнення виявлених загроз. Такий підхід допоможе у виборі комплексу засобів захисту. Наприклад, нелегальний вхід в систему може стати наслідком відтворення початкового діалогу, підбору пароля або підключення до мережі неавторизованого обладнання. Очевидно, для протидії кожному з перерахованих способів нелегального входу потрібні свої механізми безпеки [1].
2. Аналіз ризиків загроз інформаційній безпеці для клієнт-серверних додатків з базою даних
Клієнт-серверні додатки з базами даних схильні до великої кількості ризиків, що загрожують інформаційній безпеці програмної системи.
Розглянемо і проаналізуємо основні з них:
- надмірне зловживання привілеями – користувачам надано права доступу, які дозволяють їм виконувати інші завдання, зловмисні наміри можуть бути виявлені за допомогою таких завдань, що призводить до зловживання такими привілеями. Коли ми говоримо про таке зловживання, можна навести приклад АСУ університету, в якому адміністратор має доступ до всіх баз даних і має право змінювати записи будь-якого студента. Це може призвести до неправильного використання, наприклад, до зміни оцінок учнів. Джерело уразливості – всім користувачам, які виконують різні завдання, надається рівень привілеїв за замовчуванням, який надає доступ понад норму;
- зловживання легітимними привілеями – може мати форму неправомірного використання користувачами бази даних, адміністраторами або системним адміністратором, які виконують будь-які незаконні або неетичні дії. Це, крім іншого, будь-яке неправомірне використання конфіденційних даних або невиправдане використання привілеїв. Джерело уразливості – людський фактор;
- несанціоноване підвищення привілеїв – зловмисники можуть змінити привілеї, наприклад, звичайному користувачеві надати доступ з правами адміністратора. Це може призвести до підробки рахунків, переказу коштів, невірного тлумачення певної конфіденційної аналітичної інформації. Такі випадки також зустрічаються у функціях бази даних, протоколах і навіть операторах SQL. Джерело уразливості – надмірне вплив призводить до виявлення недоліків прогарммной системи ,якими можуть скористатися зловмисники;
- уразливості платформ, на яких розгорнуто клієнт-серверний додаток з базою даних уразливості операційних систем можуть викликати витік даних з бази даних, пошкодження даних або умови відмови в обслуговуванні. Наприклад, черв'як-бластер створив умови відмови в обслуговуванні через уразливість, виявленої в Windows 2008. Джерело уразливості – системні помилки, віруси, несправності і дірки в операційних системах;
- SQL-ін'єкції – випадкові SQL-запити, що виконуються на сервері зловмисником. У цій атаці за оператором SQL слід рядковий ідентифікатор в якості вхідних даних. Це підтверджується сервером. Якщо він не буде перевірений, він може бути виконаний. Завдяки цим безперешкодним правам зловмисники можуть отримати доступ до всієї бази даних. Джерело вразливості – не повністю оброблені запити SQL:
- недостатній журнал аудиту – політика аудиту бази даних забезпечує автоматичну, своєчасну і правильну запис транзакцій бази даних. Така політика повинна бути частиною міркувань безпеки бази даних, оскільки всі конфіденційні транзакції бази даних мають автоматизований запис, відсутність якої створює серйозний ризик для баз даних організації і може викликати нестабільність в роботі. Джерело уразливості – не налаштована або неправильно налаштована запис транзакцій БД;
- відмова в обслуговуванні – атака, яка не дозволяє законним користувачам програми/програми/даних використовувати або отримувати доступ до цієї конкретної службі. DoS може відбуватися з використанням іншої техніки. Зловмисник може отримати доступ до бази даних і спробувати викликати збій сервера або перевантаження ресурсів. Це серйозна загроза для будь-якої організації. Джерело уразливості переповнення мережі і пошкодження даних.
- протокол обміну даними з базою даних & ndash; уразливості в протоколах зв'язку з базами даних призводять до несанкціонованих дій, керуючим цією сприйнятливістю, вони можуть бути різними від незаконного доступу до даних до експлуатації даних і відмови в обслуговуванні. Джерело уразливості велика кількість слабких місць в протоколах зв'язку з базами даних всіх постачальників;
- слабкий механізм аутентифікації – робить бази даних більш вразливими для зловмисників можуть бути вкрадені ідентифікаційні дані користувачів бази даних або через будь-яке джерело, яке потім допомагає в зміні даних або отриманні конфіденційної інформації, можуть бути отримані облікові дані для входу. Джерело уразливості – аутентифікація не реалізована належним чином і є слабкою.
- несанціонований доступ до резервних даних-важлива загроза, про яку необхідно подбати, оскільки резервні копії на будь-яких зовнішніх носіях схильні до високого ризику. Джерело уразливості – недостатня або повна відсутність захищеності від таких атак, як крадіжка або знищення бекапа [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].
З вищесказаного можна сформувати наступний алгоритм реєстрації/авторизації.
- Реєстрація користувача:
- введення імені користувача;
- введення пароля;
- Створення випадкової солі до пароля;
- застосування хеш алгоритму;
- збереження імені користувача, хешу і солі в таблиці бази даних.
- Авторизація користувача:
- таймаут 2 секунди, для уповільнення атак за допомогою грубої сили;
- отримання імені користувача та пароля;
- отримання відповідного запису з бази даних;
- використання солі з бази даних, щоб створити хеш до пароля;
- порівняння отриманого хешу з хешем пароля, який зберігається в базі даних;
- повернення
не вдалося увійти в систему
абоуспішна авторизація
; (не показуємо більш детальні повідомленнякористувач не знайдений
абоневірний пароль
, оскільки це дає порушнику багато інформації).
5.2 Алгоритм розмежування прав доступу
Для зниження ризику несанкціонованого доступу до інформації, на яку у користувача недостатньо привілеїв, планується використовувати алгоритм розмежування прав доступу користувача. Цей алгоритм включає в себе створення ролей на серверній частині клієнт-серверного додатка з базою даних, внесення призначених для користувача записів в певну роль, присвоєння кожної ролі свого набору привілеїв і прав доступу на перегляд/редагування/створення таблиці, і обробку цих ролей і привілеїв на клієнтській частині програми.
Також для більш захищеного рівня інформаційної безпеки прийнято рішення звертатися до всіх таблиць не на пряму, а тільки через їх подання на серверній частині. Представлення – це пойменована динамічно підтримувана сервером вибірка з однієї або декількох таблиць. Це віртуальна таблиця, у якій записи формуються при зверненні до неї користувача згідно з раніше призначеним їй запитом. За допомогою уявлень формується доступ не до цілої таблиці, а до певних записів, необхідних для роботи Користувачеві.
Для цього необхідно створити до кожної таблиці з даними подання і призначити привілеї на кожне подання для всіх наявних ролей.
Далі необхідно провести обробку наявних ролей і привілеїв в серверній частині при авторизації Користувача на клієнтській частині програми.
З вищесказаного можна сформувати наступний алгоритм розмежування прав доступу:
- виконання запиту до сервера з параметром імені користувача при авторизації.
- отримання ролі і привілеїв з сервера, відповідних даному імені користувача.
- формування в представлення даних, відповідних привілеїв цього користувача.
- відображення на клієнтській частині сформованого подання.
5.3 Алгоритм знеособлення персональних даних
Для зниження ризику несанкціонованого доступу до особистих даних або витоку таких даних, планується використовувати алгоритм знеособлення персональних даних (рис. 3).
Пропонований алгоритм знеособлення персональних даних побудований на наступних принципах:
- розбиття вихідної множини даних на підмножини, що дозволяє скоротити розмірність і спростити його практичну реалізацію;
- використання циклічних перестановок, що реалізує перемішування даних.
Алгоритм забезпечує перестановку даних кожної множини атрибутів вихідної таблиці покроково. На кожному кроці використовується принцип циклічних перестановок [5].
Розбиття кожної множини має володіти наступними властивостями:
- підмножини розбиття включають всі елементи множини даних одного атрибута;
- всі елементи в підмножинах упорядковані як за внутрішніми номерами (номери елементів всередині підмножини), так і по зовнішній нумерації самих підмножин в розбитті;
- сумарне число елементів всіх підмножин множини даних одного атрибута дорівнює загальному числу елементів цієї множини.
Критерієм якості знеособлення персональних даних є ймовірність отримання персональних даних на підставі витоку знеособлених даних конкретної людини. При цьому передбачається, що зловмиснику відомий контекст обробки.
Розглянутий алгоритм з знеособленням персональних даних є перспективним і оптимальним рішенням завдань щодо забезпечення інформаційної безпеки даних, оброблюваних в клієнт-серверних додатках з базами даних.
Даний алгоритм має наступні переваги:
- забезпечує захист персональних відомостей від несанкціонованого доступу ,в тому числі від компрометації інформації при її витоку по технiчних каналах;
- забезпечує гарантований доступ до персональних даних при легітимному зверненні;
- отримання персональних відомостей за допомогою контекстного аналізу або шляхом перебору вельми трудомістко, а часто практично неможливо;
- параметри перестановки задаються за допомогою генератора випадкових чисел, що збільшує стійкість алгоритму до злому [6].
Найбільша ефективність при застосуванні даного алгоритму проявляється в разі, коли в клієнт-серверних додатках з базами даних містяться велика кількість персональних даних суб'єктів, що забезпечує найбільший захист.
5.4 Алгоритм забезпечення контролю цілісності знеособлених персональних даних
Для зниження ризику підміни інформації, а також контролю цілісності інформації після алгоритму знеособлення персональних даних планується проводити контроль цілісності отриманих даних. Це забезпечується шляхом перевірки поточної контрольної суми всього файлу (сформованого після алгоритму знеособлення персональних даних) і контрольної суми, що розраховується при подальшому відкритті файлу. Наприклад, за допомогою алгоритму хешування MD5.
Даний алгоритм має наступні переваги:
- розмір файлу з персональними даними, що надходить на вхід алгоритму, може бути довільним;
- для обчислення використовуваної в алгоритмі хеш-функції не потрібно ключ, який необхідно зберігати і вводити, що значно спрощує програмну реалізацію;
- для застосування даного рішення не потрібно додаткових апаратних засобів, використовуваний алгоритм обчислення хеш-функції MD5 входить до складу відкритих криптографічних бібліотек;
- алгоритм може бути реалізований в якості програмної надбудови над алгоритмом знеособлення персональних даних [7].
5.5 Засоби захисту на рівні СУБД
Також для забезпечення найбільш захищеного рівня інформаційної безпеки клієнт-серверного додатка з базою даних планується використовувати такі засоби захисту рівня СУБД Postgresql: політики захисту рядків, шифрування обраних стовпців, протоколювання роботи сервера, реплікація бази даних і т. д.
Висновок
В даному рефераті була сформована модель загроз для клієнт-серверного додатка з базою даних. Наведено та розглянуто засоби та алгоритми захисту, які в подальшому планується використовувати для підвищення ефективності рівня інформаційної безпеки клієнт-серверного додатку з базою даних. При розгляді виділених підходів, рішень, засобів і алгоритмів захисту для забезпечення безпеки клієнт-серверних додатків з базами даних були виявлені їх переваги і недоліки.
При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: Червень 2022 року. Повний текст роботи і матеріали по темі можуть бути отримані у автора або його керівника після зазначеної дати.
Перелік посилань
- Основные аспекты безопасности СУБД: что следует знать [Электронный ресурс] /. – Режим доступа: https://tproger.ru/articles/dbsecurity-basics. – Заглавие с экрана.
- С чего начинается защита базы данных? [Электронный ресурс] /. – Режим доступа: https://www.dataarmor.ru/с-чего-начинается-защита-базы-данных. – Заглавие с экрана.
- Secure Password Authentication Explained Simply [Электронный ресурс] /. – Режим доступа: https://www.codeproject.com/Articles/54164/Secure-Password-Authentication-Explained-Simply. – Заглавие с экрана.
- Системы управления базами данных [Электронный ресурс] /. – Режим доступа: http://www.bseu.by/it/tohod/sdo4.htm – Заглавие с экрана.
- В.К. Волк. Базы данных. Проектирование, программирование, управление и администрирование: учебник – Санкт-Петербург: Лань, 2020. – 244 с.
- А.С. Куракин. Алгоритм деперсонализации персональных данных // Научно-технический вестник информационных технологий, механики и оптики, № 6 (82), 2012. – p.130-135.
- Ю.А. Гатчин, О.А. Теплоухова, А.С. Куракин. Алгоритм контроля целостности деперсонализированных данных в информационных системах персональных данных // Научно-технический вестник информационных технологий, механики и оптики, № 1 (83), 2013. – p.145-147.