УДК 004.056.53
Жубанышбай Д.Б.
Евразийский национальный университет им. Л.Н. Гумилева
(г. Астана, Казахстан)
ИССЛЕДОВАНИЕ МЕТОДОВ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ОТ SQL-АТАК
Аннотация: в исследовании рассмотрена уязвимость веб-приложений к SQL-инъекциям, проведена атака в лабораторной среде с использованием инструмента SQLmap. Анализ сетевого трафика и ответов веб-сервера показал успешное выполнение атаки и получение критической информации о базе данных, включая логины и пароли пользователей. Для предотвращения таких атак предложены превентивные меры, такие как использование параметризованных запросов и ограничение прав доступа. Также разработаны правила для NGFW, которые эффективно блокируют SQL-инъекции, анализируя HTTP-трафик и ключевые символы SQL-запросов. Выводы исследования подтверждают важность регулярного аудита и безопасности веб-ресурсов.
Ключевые слова: SQL-инъекция, сканер уязвимости, базы данных.
БрЬ-инъекция - одна из наиболее распространенных и опасных уязвимостей веб-приложений, позволяющая злоумышленникам выполнять произвольные SQL-запросы к базе данных. Актуальность данной угрозы обусловлена ее простотой реализации и широким применением в реальных атаках, что может привести к утечке данных, изменению информации и нарушению работы систем [1-5].
В рамках данного исследования была проведена атака с использованием БрЬ-инъекций в специально разработанной лабораторной среде. SQL-инъекция осуществлялась с целью последующего получения трафика сети и анализа, зафиксированного в процессе атаки. В ходе анализа были отфильтрованы запросы, задействованные при выполнении SQL-инъекций, а также проанализированы ответы веб-сервера на эти запросы. На основании этого
анализа были предложены превентивные меры для предотвращения уязвимостей, связанных с SQL-инъекциями.
Лабораторная среда состояла из двух виртуальных машин: на одной из них была установлена операционная система Kali Linux для проведения атаки, на другой - веб-ресурс на базе Debian. Для выполнения атаки использовался инструмент SQLmap, который был выбран на основании сравнительного анализа различных инструментов для реализации SQL-инъекций. Для мониторинга и фильтрации сетевого трафика использовался Wireshark.
Атака SQL-инъекций была реализована с помощью команды, выполненной на хосте Kali Linux с использованием SQLmap (рис. 1).
File Actions Edit View Help
I—(ksl. i?jkaU)-[~J
— .■■:'! trap Щ http://192.168.56.102/cat.php id=l -do's — biitch
{l.T.SSstablei
ti l * 1
JU.l -I u
[!] legal disclaimer: Usage of sqtmap for attacking targets without prior mut
ual consent is illegal. It is the end user's responsibility to obey all appli
cable local, state and federal laws. Developers assume no liability and are n ot responsible for any misuse or damage caused by this program
[*] starting a 04:52:08 /2024-09-24/
[04:52:091 [ IN FD] resuming back-end DBMS "mysql" [' ] [INFO] testing connection to the target URL
sqlmap resumed the following" injection point(s) front stored session:
Рисунок 1. Фрагменты использования инструмента SQLmap.
Инструмент обнаружил уязвимость на веб-ресурсе по IP-адресу 192.168.56.102 и сгенерировал запросы для определения имени базы данных. Анализ сетевого трафика между хостами Kali и Debian показал обмен значительным количеством пакетов, что подтверждало успешное выполнение атаки.
В ходе атаки были использованы различные виды SQL-инъекций, такие как Boolean-based Blind, Error-based, Time-based Blind и Union Query. В результате выполнения SQL-запросов веб-сервер возвращал сообщения об
ошибках, которые раскрывали структуру базы данных, версию операционной системы и имя веб-сервера. В частности, было выявлено, что веб-сервер работает на операционной системе Linux Debian 6 (squeeze) с использованием PHP 5.3.3 и Apache 2.2.16, а база данных представляет собой MySQL (табл. 6).
Получение информации о базах данных является ключевым этапом эскалации атаки, так как злоумышленники могут получить доступ к таблицам, извлечь содержащиеся в них данные или удалить базы данных целиком. В рамках исследования было установлено, что веб-ресурс содержит две базы данных: information_schema и photoblog.
С помощью SQL-запросов были извлечены следующие данные:
INFORMATION_SCHEMA.TABLES - вывод списка всех таблиц базы данных через системную таблицу. Имена таблиц были отображены в формате JSON, что позволило выявить три таблицы: USERS, PICTURES и CATEGORIES.
Второй запрос был направлен на получение списка столбцов и их типов из таблиц, что позволило извлечь важные метаданные.
Третий запрос нацелен на получение данных о пользователях, таких как ID, LOGIN и PASSWORD из таблицы users с использованием функций Json_arrayagg и CONCAT_WS для представления данных в формате JSON.
В результате атаки SQL-инъекции был получен полный доступ к базе данных веб-ресурса, включая данные о логинах и паролях пользователей, что позволило злоумышленникам войти в административную панель веб-ресурса. Помимо этого, была извлечена информация о операционной системе хоста, технологиях веб-разработки, структуре баз данных, их таблицах и столбцах.
Таким образом, SQL-инъекция в данном исследовании продемонстрировала серьёзные угрозы безопасности веб-ресурсов и подтвердила необходимость разработки и внедрения превентивных мер, таких как использование параметризованных запросов, ограничение прав доступа к базам данных и регулярный аудит безопасности.
Поскольку основной целью нашего исследования является исследование методов обеспечения информационной безопасности от SQL-атак, мы изучили
принципы, особенности работы сканеров обнаружения уязвимостей SQL-инъекций, выяснили, какие методы, подходы используются, и на практике создали лабораторную среду для проведения атак SQL-инъекций, подробно разобрались с алгоритмом атаки.
С помощью технологии NGFW были разработаны правила, которые анализируют трафик на уровне presentation сетевой модели для обнаружения атак SQL-инъекций и используют несколько методов для выявления потенциальных атак. В таблице ниже приведены основные подходы и правила, которые можно реализовать для обнаружения атак SQL-инъекций с помощью технологии NGFW.
Одним из основных методов определения атаки SQL - инъекции является определение основных операторов SQL в структуре URL-адресов и запросов. Технология NGFW может анализировать HTTP-трафик и установить правило поиска ключевых слов, специфичное для запросов SQL-инъекций.
Правила для технологии NGFW:
rule sql-injection-detection match: requestcontent matches /. *\b(SELECT\ UNION\INSERT\ UPDATE\DELETE\DROP\ALTER\TRUNCATE\EXE C\AND\OR)\b. */i action: block log: enabled
Символ комментария часто используется для завершения запросов SQL-инъекций или для сокрытия других частей кода SQL. Соответственно, актуально правило определения использования комментариев в ходе атаки SQL-инъекций.
Правила для технологии NGFW:
rule sql-comment-detection match: request content matches /--\#/ action: block log: enabled
Запрос должен быть заблокирован, если запросы содержат следующие последовательности: ключевые слова SQL предшествуют одной кавычке ( ' ) или другим уникальным комбинациям символов (например, несколько кавычек
подряд). для этого было разработано правило фильтрации подозрительных символов и комбинаций.
Правила для технологии NGFW:
rule sql-suspicious-characters match: requestcontent matches /(\%27\ \%22\\%3B\\%3D\\%23\\%2D\%2D\\(\))/i action: block log: enabled
Если в запросе закодировано подозрительное количество символов или символов, характерных для атаки SQL-инъекций, запрос будет заблокирован. Правила для технологии NGFW:
rule sql-url-encoded-injection match: requestcontent matches /\%27\ \%22\\%3B\\%3D\\%23/i action: block log: enabled
Приведенный выше список правил помогает идентифицировать атаки, специфичные для SQL-инъекций, путем анализа содержимого запросов, параметров и типичных шаблонов атак.
Мы считаем, что предлагаемые правила эффективно защищают веб-ресурсы от атак SQL-инъекций, поскольку мы видим, что передовые организации в мире защищают свои ресурсы от внешних атак благодаря упомянутому методу, подходам.
СПИСОК ЛИТЕРАТУРЫ:
1. A Review Study on SQL Injection Attacks, Prevention, and Detection. Mona Alsalamah, Huda Alwabli, Hutaf Alqwifli, and Dina M. Ibrahim. Selected Paper at the ICCMIT'21 in Athens, Greece. November 2021, Volume 13, Number 3 (pp. 1-9);
2. Analysis of SQL Injection Detection Techniques. Jai Puneet Singh. Theoretical and Applied Informatics 28(1&2). DOI:10.20904/281-2037. 2016;
3. SQL Injection. https://w.cisecurity.org/wp-content/uploads/2017/05/SQL-Inj ection-White-Paper2. pdf;
4. A systematic review of detection and prevention techniques of SQL injection attacks. Mohammed Nasereddin and others. INFORMATION SECURITY JOURNAL: A GLOBAL PERSPECTIVE. https://doi.org/10.1080/19393555.2021.1995537;
5. STUDY ON SQL INJECTION ATTACKS: MODE, DETECTION AND PREVENTION. Subhranil Som and other. International Journal of Engineering Applied Sciences and Technology, Vol. 1, Issue 8, ISSN No. 2455-2143, Pages 23-29. 2016
Zhubanyshbai D.B.
L.N. Gumilyov Eurasian National University (Astana, Kazakhstan)
RESEARCH OF INFORMATION SECURITY METHODS AGAINST SQL ATTACKS
Abstract: the study examines the vulnerability of web applications to SQL injections, an attack was carried out in a laboratory environment using the SQLmap tool. Analysis of network traffic and web server responses showed successful execution of the attack and receipt of critical information about the database, including user logins and passwords. To prevent such attacks, preventive measures are proposed, such as the use ofparameterized queries and restriction of access rights. NGFW rules have also been developed that effectively block SQL injections by analyzing HTTP traffic and SQL query keywords. The findings of the study confirm the importance of regular auditing and security of web resources.
Keywords: SQL injection, vulnerability scanner, databases.