📄Работа №209462

Тема: Обнаружение межсайтового скриптинга с помощью методов машинного обучения

📝
Тип работы Дипломные работы, ВКР
📚
Предмет программирование
📄
Объем: 52 листов
📅
Год: 2021
👁️
Просмотров: 17
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

АННОТАЦИЯ 2
ВВЕДЕНИЕ 7
1 ВИДЫ XSS АТАК НА ВЕБ-ПРИЛОЖЕНИЯ 9
1.1 Межсайтовый скриптинг 9
1.1.1 Описание XSS-атаки 9
1.1.2 Классификация XSS атак по вектору воздействия 10
1.1.3. Виды XSS-атак по способу воздействия 13
1.1.4. Виды XSS-атак по каналам внедрения 14
1.2 Статистика веб-атак 15
1.3 Инструменты обнаружения межсайтового скриптинга 16
1.3.1 Программа XssPy 16
1.3.2 Программа BruteXSS 17
1.3.3 Расширение для браузера Netcraft Extension 18
1.4 Машинное обучение в задачах обнаружения XSS-атак 18
1.5 Постановка задачи 20
1.6 Выводы по разделу 20
2 РАЗРАБОТКА МАТЕМАТИЧЕСКОЙ МОДЕЛИ ОБНАРУЖЕНИЯ
МЕЖСАЙТОВОГО СКРИПТИНГА С ПОМОЩЬЮ МЕТОДОВ
МАШИННОГО ОБУЧЕНИЯ 22
2.1 Модель обработки данных классификатора 22
2.2 Алгоритмы машинного обучения 23
2.2.1 Дерево решений 23
2.2.2 Наивный байесовский классификатор 25
2.2.3 Логистическая регрессия 28
2.2.4 Метод опорных векторов 29
2.3 Метрики 29
2.4 Выводы по разделу 31
3 РАЗРАБОТКА АЛГОРИТМА ОБНАРУЖЕНИЯ МЕЖСАЙТОВОГО
СКРИПТИНГА 32
3.1 Алгоритм предварительной обработки данных 32
3.2 Алгоритм предобработки запроса 34
3.3 Алгоритм классификации входящего запроса с помощью
методов машинного обучения 35
3.4 Выводы по разделу 36
4. РАЗРАБОТКА АРХИТЕКТУРЫ ПРИЛОЖЕНИЯ 38
4.1 Разработка приложения для обнаружения межсайтового
скриптинга 38
4.2 Разработка расширения для браузера Google Chrome 38
4.3 Разработка интерфейса расширения 40
4.4 Разработка сервера приложения 40
4.5 Руководство по работе с приложением 41
4.6 Выводы по разделу 42
5 ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ МЕТОДОВ
МАШИННОГО ОБУЧЕНИЯ В ЗАДАЧАХ ОБНАРУЖЕНИЯ
МЕЖСАЙТОВОГО СКРИПТИНГА 44
5.1 Методика эксперимента 44
5.2 Результаты эксперимента 45
5.3 Анализ результатов 47
5.4 Выводы по разделу 49
ЗАКЛЮЧЕНИЕ 50
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 52
ПРИЛОЖЕНИЕ 1

📖 Введение

Веб-приложения используются повсеместно и включают в себя конфиденциальные и личные данные. Это делает их мишенью для вредоносных программ, использующих уязвимости для получения несанкционированных данных, хранящихся на компьютере. К таким атакам относятся SQL- инъекции, межсайтовый скриптинг (XSS) и многое другое. XSS может повлиять на жертву путем кражи файлов cookie, изменения веб-страницы, захвата содержимого буфера обмена, сканирования портов, динамической загрузки. Поэтому безопасность веб-приложений является очень важной задачей для разработчиков. Отсутствие валидации клиентского ввода является наиболее распространенным недостатком безопасности в веб-приложениях и такие слабые места неоднократно обнаруживаются и эксплуатируются как на стороне клиента, так и на стороне сервера. XSS атаки остаются в первой десятке уязвимостей, перечисленных в проекте Open Web Application Security Project (OWASP).
В данной работе исследуется использование методов машинного обучения для построения классификаторов, позволяющих обнаруживать XSS в JavaScript.
Работа по обнаружению и защите от атак XSS может быть в широком смысле разделена на три вида:
1) статический анализ, который рассматривает исходный код. Такой подход может давать формальные гарантии того, что определенные уязвимости не возникают, он также может быть медленным или не давать результата;
2) динамический анализ, который пытается определить, что делает сценарий во время его выполнения. Стратегия такого анализа - изменение интерпретатора или проверка синтаксического структуры;
3) машинное обучение, которое может, используя знания о доступных скриптах для построения классификаторов, прогнозировать поведение новых скриптов.
Преимущества использования машинного обучения заключаются в следующем:
1) классификатор может быстро предсказать, является ли сценарий вредоносным;
2) классификатор не нуждается в изолированной среде для анализа сценария;
3) классификатор может прогнозировать появление новых вредоносных программ JavaScript.

Возникли сложности?

Нужна качественная помощь преподавателя?

👨‍🎓 Помощь в написании

✅ Заключение

В ходе выполнения выпускной квалификационной работы автором изучены способы воздействия, каналы внедрения межсайтового скриптинга на веб-страницу. Рассмотрены инструменты по обнаружению XSS-атак на страницу. Предложено разрабатывать расширение для браузера, так как оно является более удобным для использования. Разобраны существующие исследования по обнаружению межсайтового скриптинга с помощью методов машинного обучения.
Разработан алгоритм подготовки исходных данных для построения математической модели. Построены классификаторы вредоносного кода с помощью методов машинного обучения.
Среди построенных классификаторов выбран классификатор, показавший высокие результаты по проведённым метрикам. Данный классификатор реализован в виде подключаемого модуля для языка Python. Данный модуль можно использовать для других проектов, где требуется функционал обнаружения XSS-атак или предобработки запросов.
Реализовано расширение для обнаружения межсайтового скриптинга на веб-странице. Связь с классификатором осуществляется через REST API сервер, реализованный на языке Python. Запросы, прошедшие проверку, сохраняются в базе данных для дообучения модели.
Особенностью данной работы является использование в качестве признаков наиболее популярных параметров, встречающихся в запросах. Эксперимент показал, что для данного набора признаков наиболее оптимальным методом алгоритма машинного обучения является дерево решений. Текущая точность обнаружения вредоносного кода для модели, построенной с помощью данного метода равна 93%.
В рамках международной научной конференции «Цифровая индустрия: состояние и перспективы развития - 2020» проведено выступление с докладом и подготовлена статья «The detecting cross-site scripting (XSS) using machine learning methods» в сборнике трудов конференции. Данная статья опуб- 50
ликована в цифровой библиотеке IEEE Xplore, индексируемой в библиографических базах Scopus и Web of Science.
Таким образом, поставленные на выпускную квалификационную работу задачи были выполнены, однако тема обнаружения межсайтового скриптинга довольно обширная сфера деятельности, в которой остается еще много нерешенных задач.

Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

1 Kirsten, S. Cross Site Scripting (XSS) / S. Kirsten // - OWASP Foundation. URL: https://owasp.org/www-community/attacks/xss/ (дата обращения: 04.02.2021)
2 Glas, B. OWASP Top 10 Security Risks & Vulnerabilities / B. Glas // - OWASP Foundation. URL: https://owasp.org/www-community/attacks/xss/ (дата обращения: 04.02.2021)
3 Угрозы кибербезопасноти 2019 // Positive Technologies. - 2020 -
URL: https://www.ptsecurity.com/ru-ru/research/analytics/cybersecurity-threat
scape-2019 (дата обращения: 07.02.2021)
4 Статистика атак на веб-приложения // Positive Technologies. - 2021 - URL: https://www.ptsecurity.com/ru-ru/research/analytics/cybersecurity-threat
scape-2020/ (дата обращения: 09.02.2021).
5 XssPy - Web Application XSS Scanner // Github.com. -
URL: https://github.com/faizann24/XssPy (дата обращения: 15.02.2021)
6 BruteXSS // Github.com. - URL: https: //github .com/shawarkhane
thicalhacker/BruteXSS-1 (дата обращения: 19.02.2021)
7 Johari, A. Defending Malicious Script Attacks Using Machine Learning Classifiers / A. Johari, S.K. Adnan // Wireless Communications and Mobile Com- putting - 2017. - C. 1-9 (дата обращения: 07.03.2021)
8 Mereani, F.A. Detecting Cross-Site Scripting Attacks Using Machine Learning / F.A. Mereani, J.M. Howe // Advanced Machine Learning Technologies and Applications - 2018. - C. 200-210 (дата обращения: 09.03.2021)
9 Mereani, F.A. Preventing Cross-Site Scripting Attacks by Combining
Classifiers / F.A. Mereani, J.M. Howe // Proceedings of the 10th International Joint Conference on Computational Intelligence - 2018. - C. 135-143 (дата
обращения: 11.03.2021)
10 Mereani, F.A. Exact and approximate rule extraction from neural networks with boolean features / F.A. Mereani, J.M. Howe // Proceedings of the 11th International Joint Conference on Computational Intelligence - 2019. - C. 424433 (дата обращения: 15.03.2021)
11 Rajesh, S. Decision Trees - A simple way to visualize a decision / S. Ra- jesh // Towards Data Science. - URL: https://towardsdatascience.com/visualizing- decision-trees-with-python-scikit-learn-graphviz-matplotlib-1 c50b4aa68dc (дата обращения: 29.03.2021)
12 Naive Bayes // scikit-learn: machine learning in Python. - URL: https://scikit-learn.org/stable/modules/naive_bayes.html (дата обращения: 04.04.2021)
13 Logisitic Regression // scikit-learn: machine learning in Python. - URL: https://scikit-learn.org/stable/modules/generated/sklearn.linear model.Logis ticRegression.html (дата обращения: 07.04.2021)
14 Zoltan, С. SVM and Kernel SVM / С. Zoltan // Towards Data Science. -
URL: https://towardsdatascience.com/visualizing-decision-trees-with-python-sci
kit-learn-graphviz-matplotlib-1 c50b4aa68dc (дата обращения: 11.04.2021)
15 Ghoneim, S. Accuracy, Recall, Precision, F-Score & Specificity, which to optimize on? / S. Ghoneim // Towards Data Science. - URL: https://towards datascience.com/accuracy-recall-precision-f-score-specificity-which-to-optimize- on-867d3f11124 (дата обращения: 13.04.2021)
..28

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.

©2026 Cервис помощи студентам в выполнении работ