Числові типи ключів для проектування оптимізованих баз даних і захисту від SQL-атак
DOI: 10.31673/2409-7292.2024.040010
Анотація
Матеріал даної статті призначений для вироблення оптимального підходу до розробки баз даних (БД) у розрізі вибору типів полів. Обґрунтовується вибір для побудови ідентифікаторів первинних та зовнішніх ключів полів числового типу з точки зору оптимальної роботи з базами даних та оптимізації реалізації захисту даних. Наголошено переваги такого вибору за критерієм швидкості виконання операцій з числовими даними та економії ресурсів і спрощення вибірок даних. Запропоновано структуру та методику валідації даних, які дозволяють мінімізувати необхідність доєднання спеціальних фреймворків при захисті даних від внутрішніх загроз та атак на зразок SQL-ін’єкцій. Проведено цілісний аналіз для реалізації рекомендацій щодо роботи з СКБД – а саме принципу “не брати на стороні сервера жодних вхідних полів без перевірки”. Дане питання розглядається в аспекті правильного підбору типів полів при розробці структури баз даних для оптимізації вирішення таких питань на подальших кроках розробки. Запропоновано стратегію від побудови структури до захисної методики. Розроблено приклади реалізації валідації ідентифікаторів на сервері та методику передачі ідентифікаторів від клієнта до сервера з зазначенням довжини переданого значення. Автори приділили увагу не створенню нового захисного фреймворку, а виробленню оптимального підходу до розробки структури баз даних та розробки методики валідації даних, наведено приклади протидії атакам на її основі. Побудовано метод протидії атакам на основі поєднання ключа та довжини поля у ідентифікаторах, які передаються на сервер. У цілому, рекомендовано розробникам використовувати числові типи полів для побудови первинних та зовнішніх ключів – сформульована стратегія захисту, яка може бути використана для реалізації підходу безпечного коду відповідно до сучасних стандартів розробки.
Ключові слова: проектування баз даних, безпечний код, протидія SQL-атакам, оптимізація баз даних, методи захисту web-застосунків, ключові поля, числові типи полів баз даних.