Тема: Обнаружение межсайтового скриптинга с помощью методов машинного обучения
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ВВЕДЕНИЕ 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
📖 Введение
В данной работе исследуется использование методов машинного обучения для построения классификаторов, позволяющих обнаруживать XSS в JavaScript.
Работа по обнаружению и защите от атак XSS может быть в широком смысле разделена на три вида:
1) статический анализ, который рассматривает исходный код. Такой подход может давать формальные гарантии того, что определенные уязвимости не возникают, он также может быть медленным или не давать результата;
2) динамический анализ, который пытается определить, что делает сценарий во время его выполнения. Стратегия такого анализа - изменение интерпретатора или проверка синтаксического структуры;
3) машинное обучение, которое может, используя знания о доступных скриптах для построения классификаторов, прогнозировать поведение новых скриптов.
Преимущества использования машинного обучения заключаются в следующем:
1) классификатор может быстро предсказать, является ли сценарий вредоносным;
2) классификатор не нуждается в изолированной среде для анализа сценария;
3) классификатор может прогнозировать появление новых вредоносных программ JavaScript.
✅ Заключение
Разработан алгоритм подготовки исходных данных для построения математической модели. Построены классификаторы вредоносного кода с помощью методов машинного обучения.
Среди построенных классификаторов выбран классификатор, показавший высокие результаты по проведённым метрикам. Данный классификатор реализован в виде подключаемого модуля для языка Python. Данный модуль можно использовать для других проектов, где требуется функционал обнаружения XSS-атак или предобработки запросов.
Реализовано расширение для обнаружения межсайтового скриптинга на веб-странице. Связь с классификатором осуществляется через REST API сервер, реализованный на языке Python. Запросы, прошедшие проверку, сохраняются в базе данных для дообучения модели.
Особенностью данной работы является использование в качестве признаков наиболее популярных параметров, встречающихся в запросах. Эксперимент показал, что для данного набора признаков наиболее оптимальным методом алгоритма машинного обучения является дерево решений. Текущая точность обнаружения вредоносного кода для модели, построенной с помощью данного метода равна 93%.
В рамках международной научной конференции «Цифровая индустрия: состояние и перспективы развития - 2020» проведено выступление с докладом и подготовлена статья «The detecting cross-site scripting (XSS) using machine learning methods» в сборнике трудов конференции. Данная статья опуб- 50
ликована в цифровой библиотеке IEEE Xplore, индексируемой в библиографических базах Scopus и Web of Science.
Таким образом, поставленные на выпускную квалификационную работу задачи были выполнены, однако тема обнаружения межсайтового скриптинга довольно обширная сфера деятельности, в которой остается еще много нерешенных задач.





