3. Казанцев И.С. Анализ клавиатурного почерка в процессах аутентификации, идентификации и обнаружения подмены оператора // Молодой ученый. 2016. № 9 (113). С. 167-169.
4. Корниенко С.В., Пантюхина А.В. Методика выявления потенциальных внутренних нарушителей информационной безопасности // Интеллектуальные технологии на транспорте, 2023. № 2. С. 50-57.
5. Перегудов А.В. Анализ клавиатурного почерка. Способы его применения // Киберленинка. 2018. С. 5960.
6. Рудаков О.М. Метод биометрической аутентификации, основанный на анализе клавиатурного почерка // Молодой ученый. 2016. № 11 (115). С. 448-451.
7. Юсупов О.Р. Сравнительный анализ возможности использования технологий биометрической идентификации // Молодой ученый. 2016. № 19 (123). С. 118-121.
8. Ямченко Ю.В. Методы решения задач аутентификации и идентификации пользователя на основе анализа клавиатурного почерка // Вестник МГТУ им. Н. Э. Баумана. 2020. № 1. С. 124-139.
9. Bours P., Mondal S. Continuous Authentication with Keystroke Dynamics. Computers & Security, 2015. 52.
P. 54-66.
10. Deng Y., Zhong Y. Keystroke Dynamics User Authentication Using Advanced Machine Learning Methods. Recent Advances in User Authentication Using Keystroke Dynamics Biometrics, 2015. Chapter 2. P. 23-40.
Чекмарев Дмитрий Юрьевич, магистрант, [email protected]. Россия, Тула, Тульский государственный университет,
Борзенкова Светлана Юрьевна, канд. техн. наук, доцент, [email protected], Россия, Тула, Тульский государственный университет
EVALUATION AND COMPARATIVE ANALYSIS OF THE EFFICIENCY OF KEYBOARD HANDWRITING RECOGNITION
SYSTEMS
D.Y. Chekmarev, S.Y. Borzenkova
This paper investigates the principles of handwriting recognition systems and examines their various types, focusing on the unique characteristics of each, analyzing and comparing the effectiveness of various handwriting recognition systems with a focus on their applicability to information security. The work aims to provide recommendations for selecting the best systems considering the security requirements and wide range of applications.
Key words: identification, keyboard handwriting, keyboard handwriting recognition system, information security, information systems.
Chekmarev Dmitry Yurievich, master's, [email protected], Russia, Tula, Tula State University,
Borzenkova Svetlana Yurievna, candidate of technical sciences, docent, [email protected]. Russia, Tula, Tula State University
УДК 004.49
DOI: 10.24412/2071-6168-2023-12-492-493
СОВРЕМЕННЫЕ ТЕНДЕНЦИИ ЗАЩИТЫ БАЗ ДАННЫХ ВЕБ-ПРИЛОЖЕНИЙ ОТ SQL ИНЪЕКЦИЙ
Е.М. Баранова, А.Н. Баранов, С.Ю. Борзеноква, К.И. Васин, В.С. Перезябов
В статье рассматриваются понятие SQL-инъекция, виды последствий от этой уязвимости, меры защиты веб-приложений от атак, связанных с SQL-инъекциями.
Ключевые слова: SQL-инъекция, уязвимость веб-приложений, защита от атак, базы данных, безопасность данных.
В мире, где цифровые технологии играют ключевую роль в повседневной жизни, безопасность данных и информационных систем стала одним из самых актуальных и критических вопросов. В контексте веб-приложений, уязвимости могут иметь разрушительные последствия, и одной из наиболее распространенных и опасных из них является SQL-инъекция.
SQL-инъекция - это метод, при котором злоумышленнику удается внедрить вредоносный SQL-код в запросы к базе данных через веб-формы или URL-параметры. Эта уязвимость может привести к несанкционированному доступу к данным, их изменению, незаконному владению ими и их уничтожению.
На рисунке 1 показана общая схема веб-приложения.
В веб-приложениях данные, полученные от пользователей через веб-формы, URL-параметры или другие источники, часто используются для формирования SQL-запросов к базе данных. SQL-запросы позволяют приложению извлекать, обновлять или удалять информацию из базы данных в зависимости от запросов, сформулированных программистами. Основной целью SQL-инъекции является внедрение вредоносного SQL-кода в запросы таким образом, чтобы атакующий мог воздействовать на базу данных вредоносным образом.
Принцип работы SQL-инъекции можно проиллюстрировать на примере сайта, который позволяет пользователям авторизоваться и просматривать свою персональную информацию. В этом случае используется база данных, где хранятся все данные пользователей. Злоумышленник может ввести в поле для логина следующий код:
Системный анализ, управление и обработка информации
' OR 1 = 1 -
Этот код будет интерпретирован как SQL запрос, который будет выглядеть примерно так: SELECT * FROM users WHERE usemame = '' OR 1=1 --' AND password = ''
Пзгьэоватвль
МвЧЛ (МЛ -'.Hi! К И Я
■ .4
Пэльэоеагель ве5-приложения
f
|=>
Пэлиаэдтпль
Вв&-ГрИ1ЮШеННН
«Г
Л*
Сервер вес-пригажпмии
1
сеовес ввэ
EOt.
ЗДЛРР^
Область защиты от SQL-инъекций
Рис. 1. Общая схема веб-приложения
В данном случае злоумышленник вводит имя пользователя, которое заканчивается одинарной кавычкой, а затем добавляет код, который говорит о том, что 1=1 всегда верно. Таким образом, запрос вернет все строки из таблицы пользователей, а не только те, которые соответствуют введенному логину и паролю.
Причина возникновения уязвимости SQL-инъекции заключается в недостаточной фильтрации и валида-ции данных, вводимых пользователями в веб-приложениях, перед тем как они используются для создания SQL-запросов к базам данных.
Ниже представлен анализ причин возникновения исследуемой уязвимости:
1. Динамическое построение SQL-запросов. Самый простой вариант для программиста - подставлять без дополнительной фильтрации введенные пользователем данные в готовую конструкцию запроса.
2. Некорректная обработка исключений. При попытке отправки SQL команды, содержащей ошибку, SQL-сервер отправит обратно пользователю информацию о ней. Злоумышленник, ориентируясь по этим сообщениям, вводит правильную команду.
3. Некорректная обработка специальных символов. В базе данных MySQL, например, комментарий задается с помощью символов "--" или "#". Потому приложение должно обрабатывать такие символы.
4. Некорректная обработка числовых данных. Если приложение не выполняет должную фильтрацию и валидацию входных числовых данных, злоумышленники могут внедрять условия в запросы, что приводит к искажению логики SQL-запросов, особенно в тех случаях, где запросы сравнивают числа [1].
SQL-инъекция может иметь разнообразные и серьезные последствия, которые могут повлечь за собой значительные ущербы для веб-приложений, организаций и их клиентов.
Далее рассмотрены последствия исследуемой уязвимости:
1.Утечка конфиденциальных данных. Злоумышленники могут получить доступ к личным данным пользователей, включая имена, адреса, электронные почты, кредитные карты и пароли. Такие данные используются для мошенничества.
2.Несанкционированный доступ. SQL-инъекция может предоставить злоумышленникам несанкционированный доступ к системам и приложениям, что может привести к изменению данных, созданию новых учетных записей и полному взлому системы.
3.Ущерб репутации. Клиенты могут потерять доверие к компании, что может отразиться на ее успехе и доходности.
4.Потеря данных. SQL-инъекция может привести к удалению данных из базы данных. Это может оказаться катастрофическим для организации, особенно если утеряны важные информационные ресурсы и отсутствуют их резервные копии.
5.Недоступность системы. Атаки SQL-инъекции могут вызвать отказ в обслуживании или недоступность системы, так как злоумышленники могут загрузить базу данных запросами, перегрузив серверы и делая приложение недоступным для легитимных пользователей.
б.Злоупотребление привилегиями. Если приложение использует базу данных с административными привилегиями, злоумышленники могут выполнять административные действия на сервере базы данных. Это включает в себя создание, удаление и модификацию таблиц и схем.
7.Юридические последствия. Организации, допустившие утечку данных из-за SQL-инъекции, могут подвергаться юридическим последствиям и гражданским искам со стороны пострадавших клиентов. Для государственных учреждений в случае утечки данных характерны еще и штрафные санкции со стороны регуляторов в сфере информационной безопасности.
Эффективная защита от SQL-инъекций и правильная реакция на этот вид угрозы становятся приоритетными задачами для организаций и разработчиков.
Обнаружение SQL-инъекции - это ключевой этап в обеспечении безопасности, и знание эффективных методов и инструментов для выявления этой угрозы может спасти веб-разработчиков от серьезных последствий.
Ниже рассмотрены различные способы обнаружения SQL-инъекций, начиная от тестирования ввода данных и заканчивая использованием современных инструментов и технологий.
1. Аудит безопасности. Представляет собой процесс проверки веб-сайта на наличие уязвимостей, включая SQL-инъекции. Распространенным инструментом является SqlMap. SqlMap - это инструмент с открытым исходным кодом для тестирования на проникновение, который автоматизирует процесс выявления и эксплуатации SQL-инъекций. SqlMap обеспечивает полную поддержку для таких систем управления базами данных как MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB и HSQLDB позволяет с большой долей вероятности обнаруживать уязвимости.
2. Тестирование на проникновение. Представляет собой процесс имитации атаки на веб-сайт с целью выявления уязвимостей. Специалисты по безопасности проводят тестирование на проникновение, чтобы обнаружить и устранить уязвимости до того, как они будут использованы злоумышленниками.
3.Использование объектно-реляционного отображения (object-relational mapping или ORM). Технология ORM преобразует данные из базы данных в объекты по аналогии с объектно-ориентированным программированием, а также выполняет обратное преобразование. Применение библиотеки ORM уменьшает количество явных SQL-запросов, а значит, делает приложение менее уязвимым к SQL-инъекциям.
Для надежной защиты от SQL-инъекций предпринимают следующие действия:
1. Использование параметризованных запросов. Это означает, что разработчик должен использовать специальные функции для подготовки SQL запросов, которые будут содержать параметры вместо прямого включения данных в запрос.
2.Валидация вводимых данных. Разработчик должен проверять данные, которые вводят пользователи сайта, на соответствие определенным правилам. Например, разработчик обязан проверять, что введенный логин или пароль содержат только допустимые символы.
3.Ограничение прав доступа к базе данных. Разработчик должен убедиться, что пользователи имеют только те права доступа к базе данных, которые им необходимы для выполнения своих задач.
4. Обновление программного обеспечения. Разработчик должен регулярно обновлять программное обеспечение, которое используется на сайте, чтобы убедиться, что все известные уязвимости устранены.
Таким образом, SQL-инъекция - это одна из самых распространенных и опасных угроз для веб-приложений и баз данных. Однако с правильными знаниями, методами и практиками можно эффективно предотвратить эту уязвимость и обеспечить безопасность ваших приложений.
Список литературы
1.Аканов Т.Т. Безопасность сайтов: SQL-инъекция // Вестник науки. 2019. № 6. С. 265-267.
2.Егоров М.М. Выявление и эксплуатация SQL-инъекций в приложениях // Защита информации. Инсайд. 2011. № 2. С. 2-8.
3.Securing Web Services [Электронный ресурс] URL: https://owasp.org/www-pdf-archive/SecuringWebServices-RixGroenboom.pdf (дата обращения: 10.05.2023).
4.Web Application Security [Электронный ресурс] URL: https://owasp.org/www-pdf-archive/Ibwas10 proceedings.pdf (дата обращения: 10.05.2023).
Баранова Елизавета Михайловна, канд. техн. наук, доцент, [email protected], Россия, Тула, Тульский государственный университет.
Баранов Андрей Николаевич, канд. техн. наук, доцент, [email protected], Россия, Тула, Россия, Тула, Тульский государственный университет,
Борзенкова Светлана Юрьевна, канд. техн. наук, доцент, [email protected], Россия, Тула, Россия, Тула, Тульский государственный университет,
Васин Кирилл Игоревич, студент, [email protected], Россия, Тула, Россия, Тула, Тульский государственный университет,
ПерезябовВладислав Сергеевич, студент, [email protected], Россия, Тула, Россия, Тула, Тульский государственный университет
CURRENT TRENDS IN DATABASE PROTECTION WEB APPLICATIONS FROM SQL INJECTION E.M. Baranova, A.N. Baranov, S.Y. Borzenokva, K.I. Vasin, V.S. Perezyabov
The article discusses the concept of SQL injection, the types of consequences of this vulnerability, and measures to protect web applications from attacks related to SQL injections.
Key words: SQL injection, vulnerability of web applications, protection against attacks, databases, data security.
Baranova Elizaveta Mikhailovna, candidate of technical sciences, docent, [email protected], Russia, Tula, Tula State University,
Baranov Andrey Nikolaevich, candidate of technical sciences, docent, [email protected], Russia, Tula, Tula State University,
Borzenkova Svetlana Yurievna, candidate of technical sciences, docent, [email protected], Russia, Tula, Tula State University,
Vasin Kirill Igorevich, student, [email protected], Russia, Tula, Tula State University,
494