Numeric key types for designing optimized databases and protecting against SQL attacks

Я. Б. Момрик · Modern information security · 2024

ЧИСЛОВІ ТИПИ КЛЮЧІВ ДЛЯ ПРОЕКТУВАННЯ ОПТИМІЗОВАНИХ БАЗ ДАНИХ І ЗАХИСТУ ВІД SQL-АТАКМатеріал даної статті призначений для вироблення оптимального підходу до розробки баз даних (БД) у розрізі вибору типів полів.Обґрунтовується вибір для побудови ідентифікаторів первинних та зовнішніх ключів полів числового типу з точки зору оптимальної роботи з базами даних та оптимізації реалізації захисту даних.Наголошено переваги такого вибору за критерієм швидкості виконання операцій з числовими даними та економії ресурсів і спрощення вибірок даних.Запропоновано структуру та методику валідації даних, які дозволяють мінімізувати необхідність доєднання спеціальних фреймворків при захисті даних від внутрішніх загроз та атак на зразок SQL-ін'єкцій.Проведено цілісний аналіз для реалізації рекомендацій щодо роботи з СКБД -а саме принципу "не брати на стороні сервера жодних вхідних полів без перевірки".Дане питання розглядається в аспекті правильного підбору типів полів при розробці структури баз даних для оптимізації вирішення таких питань на подальших кроках розробки.Запропоновано стратегію від побудови структури до захисної методики.Розроблено приклади реалізації валідації ідентифікаторів на сервері та методику передачі ідентифікаторів від клієнта до сервера з зазначенням довжини переданого значення.Автори приділили увагу не створенню нового захисного фреймворку, а виробленню оптимального підходу до розробки структури баз даних та розробки методики валідації даних, наведено приклади протидії атакам на її основі.Побудовано метод протидії атакам на основі поєднання ключа та довжини поля у ідентифікаторах, які передаються на сервер.У цілому, рекомендовано розробникам використовувати числові типи полів для побудови первинних та зовнішніх ключів -сформульована стратегія захисту, яка може бути використана для реалізації підходу безпечного коду відповідно до сучасних стандартів розробки.Ключові слова: проектування баз даних, безпечний код, протидія SQL-атакам, оптимізація баз даних, методи захисту web-застосунків, ключові поля, числові типи полів баз даних. Вступ і формулювання проблемиОскільки загрози даним стають настільки актуальними, що автори [1] вживають термін "кібер-війна", пропонується комплексно вирішувати дане питання, враховуючи і внутрішні загрози, пов'язані та недосконалою розробкою структури і програмного забезпечення, які в сукупності з помилками роботи персоналу приводять до порушення цілісності та втрат даних, і аспекти атак на бази даних через мережу Інтернет.При цьому важливо дотримуватися мети оптимізації роботи з базами даних.Розглядаючи техніку оптимізації баз даних автори [2] рекомендують ефективне проектування схеми бази даних як один з кроків для досягнення продуктивності: "Проектуйте схему бази даних з урахуванням продуктивності.Оптимізуйте типи даних, використовуйте відповідні обмеження і мінімізуйте зайві відносини.Добре проектована схема може значно впливати на ефективність запитів."Вцілому можливі методи оптимізації [3] (безпосередньо сама оптимізація БД і СУБД в цілому; оптимізація взаємодії програми та MS SQL Server; оптимізація запитів) залежать від правильності виконання даного кроку.За [4] правильний вибір (професійний підхід) до етапу проектування -шлях до забезпечення цілісності та безпеки даних і дає захист даних від внутрішніх загроз на подальших етапах роботи.Незважаючи на існуючі стратегії захисту, SQL-ін'єкції продовжують бути ефективними засобами атаки [5].Тому потрібні подальші дослідження та розробка нових технік та рекомендацій для ефективного запобігання цим атакам.Якщо йде мова про бази данихпершочерговими є загрози атак впровадження SQL які, залежно від типу використовуваної СКБД та умов впровадження, можуть дати можливість атакуючому виконати довільний запит до бази даних [6].Коли атаки SQL успішні, зловмисники можуть: увійти у програму або на веб-сайт без пароля; отримати доступ, видобувати та видаляти збережені дані із захищених баз даних; створювати власні записи бази даних або змінювати існуючі записи, відкриваючи двері для подальших атак.

Read the paper · More papers on PaperTik