Исследование уязвимостей WEB - приложений к атакам типа SQL – инъекции

ВКР в которой описывается теоретическая часть, в которой раскрываются наиболее распространенные методы проведения атак типа SQL – инъекция, приводятся примеры и классификация методов, а также описываются методы защиты. Проведено моделирование уязвимости SQL – инъекции с использованием обучения с подкреплением Q-Learning. Описана разработка модели SQLIA, включающее в себя анализ результатов
Author image
Iskander
Тип
Дипломная работа
Дата загрузки
08.10.2022
Объем файла
628 Кб
Количество страниц
46
Уникальность
Неизвестно
Стоимость работы:
2000 руб.
2500 руб.
Заказать написание работы может стоить дешевле

Введение
WEB-приложение - это программное обеспечение или программа, доступная через любой веб-браузер []. Миллионы предприятий используют интернет как эффективный канал связи. Он позволяет им обмениваться информацией с рынком и совершать быстрые и безопасные транзакции. Однако эффективное взаимодействие возможно только в том случае, если предприятие способно собирать и хранить все необходимые данные, а также иметь средства обработки этой информации и представления результатов пользователю.
Поскольку база данных доступна из любой точки через интернет, это увеличивает ее подверженность атакам. В настоящее время информационная и сетевая безопасность является большой проблемой, пользователи могут столкнуться со многими типами атак, из которых одной из распространенных является категория SQL – инъекция (SQLIA). Эти атаки представляют собой очень серьезную угрозу для любого веб-приложения, которое получает входные данные от пользователя и включает их в SQL-запросы к базовой базе данных.

 

Оглавление

Введение 3

1. Понятие SQL инъекции 5

1.1 Методы проведения атак типа SQL-инъекция (SQLIA) 5

1.2 Методы защиты от атак типа SQL-инъекция (SQLIA) 13

2. Моделирование уязвимости SQL-инъекции с использованием обучения с подкреплением Q-Learning 25

2.1 Обучение с подкреплением 25

2.2 Разработка модели 27

2.3 Экспериментальное моделирование 31

3. Разработка модуля обнаружения уязвимостей WEB - приложений к атакам типа SQL – инъекции. 47

3.1 Разработка метода обнаружения 47

3.2 Разработка метода защиты 53

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

Список использованных источников
1) Кларк Д. SQL Injection Attacks and Defense / Д. Кларк. — Оксфорд: Syngress, 2012. — 576 с.
2) L. R. Halme. Ain’t misbehaving–a taxonomy of anti-intrusion techniques. Computers and Security, 14(7):163–172, 1995.
3) W. G. J. Halfond, J. Viegas, and A. Orso. A classification of sql-injection attacks and countermeasures. Int’l Symp. on Secure Software Engineering, 2006.
4) G. Buehrer, B. W. Weide, and P. A. G. Sivilotti. Using parse tree validation to prevent sql injection attacks. In Proceedings of the 5th international workshop on Software engineering and middleware, SEM ’05, pages 106–113, New York, NY, USA, 2005. ACM.
5) W. G.J. Halfond, A. Orso, and P. Manolios. Wasp: Protecting web applications using positive tainting and syntax-aware evaluation. IEEE Trans. Softw. Eng., 34:65–81, January 2008.
6) A. N. Tuong, S. Guarnieri, D. Greene, J. Shirley, and D. Evans. Automatically hardening web applications using precise tainting. In In 20th IFIP International Information Security Conference, pages 372 – 382, 2005.
7) M. Cova, D. Balzarotti, V. Felmetsger, and G. Vigna. Swaddler: an approach for the anomaly-based detection of state violations in web applications. In Proceedings of the 10th international conference on Recent advances in intrusion detection, RAID’07, pages 63–86, Berlin, Heidelberg, 2007. Springer-Verlag.
8) R. A. McClure and I. H. Kr¨uger. Sql dom: compile time checking of dynamic sql statements. In Proceedings of the 27th international conference on Software engineering, ICSE ’05, pages 88–96, New York, NY, USA, 2005. ACM.
9) Y. Shin and L. Williams. Toward a taxonomy of techniques to detect cross-site scripting and sql injection vulnerabilities. 2007.
10) Шелухин О. И., Ерохин С. Д., Полковников М. В. Ш44 Технологии машинного обучения в сетевой безопасности. – М.: Горячая линия – Телеком, 2021. – 360 с.: ил. – (Серия «Интеллектуальные технологии информационной безопасности»; Вып. 1)

Безопасное программирование
Безопасное программирование представляет собой защитный подход к кодированию в целях сокращения уязвимостей инъекций за счет внедрения процедур проверки ввода, применения стандартных API или библиотечных классов для встраивания предложения в исходный код приложения в ходе разработки. Доступно большое количество безопасных библиотек, предлагаемых поставщиками. SQL DOM [8] призывает разработчиков к применению наборов классов, строго типизированных для схемы базы данных. Для генерации операторов SQL используется безопасный API вместо манипуляций со строками для формирования динамических SQL-запросов, запрограммированных разработчиками. Таким образом удается исключить вредоносные символы и предотвратить атаки SQL-инъекций. Для данного метода основным недостатком является необходимость обучения разработчиков корректной эксплуатации безопасных библиотек.
Статический анализ