Результат испытаний на полученном наборе данный представлен в таблице 3.5. Оценки проводились по трем метрикам: метрика точности, метрика ROC-кривая и среднеквадратичная ошибка [181].
Таблица 3.5. Оценки точности классификатора на основе градиентного бустинга [181]
Метрика оценки
|
Полученное значение
|
Точность
|
98.4%
|
ROC-кривая
|
96%
|
Среднеквадратичная ошибка
|
0.017
|
На рисунке 3.4 представлено сравнение с другими алгоритмами машинного обучения на сформированном наборе данных.
Рисунок 3.4. Оценка точности классификации с использованием различных алгоритмов машинного обучения
Для верификации полученных результатов взят набор данных [107], полученный зарубежными учеными и содержащий такие атаки как Smurf, UDP-flood, SIDDOS, HTTP-flood. На рисунке 3.5 представлено сравнение результатов оценки точности классификации вредоносного трафика с применением различных алгоритмов машинного обучения, полученных другими учеными на данном наборе данных.
Рисунок 3.5. Сравнение результатов классификации
Алгоритм обнаружения и противодействия ранее неизвестным сетевым атакам типа «отказ в обслуживании»
Задача алгоритма обнаружения ранее неизвестных сетевых атак сводится к поиску сетевых аномалий, то есть детектирование в отклонении поведенческих характеристик входящего трафика. Данные атаки чаще всего приходятся на уровень L7 модели OSI. Алгоритм обнаружения подобных атак состоит из нескольких этапов:
наблюдение за активностью пользователя;
анализ наблюдаемых данных;
детектирование раннее неизвестных сетевых атак.
Наблюдение за активностью пользователя
Необходимо собрать данные об активности пользователя:
𝑇𝑇𝐹𝐵 . Подсчет среднего времени ответа приложения параметр – время до получения первого байта от пользователя (Time To First Byte) [187]. Данный параметр необходим, чтобы проанализировать с какой скоростью принимающий сервер будет обрабатывать запрос
𝑇𝑇𝐹𝐵 = 𝑇𝑐 + 𝑇𝑠 + 𝑇𝑙, (3.1) где 𝑇𝑐– время соединения с сервером, 𝑇𝑠 – время отправления первого байта, 𝑇𝑙 – время задержки;
𝑇𝐹𝑀 – фиксация возникновения ошибок в ответе приложения. После того, как пользовательская сессия успешно реализовалась в системе – данной сессии выделяется определенное количество процессов, необходимых для обработки запросов пользователей [183]. Из-за
большого количества поступающих запросов на сервер возникает очередь на обработку таких пакетов. Как только буфер запросов переполняется, сервер возвращает ошибку 503 «сервер временно недоступен», отрезая доступ легитимным пользователей к серверу. По этой причине важно фиксировать возникновение подобного рода ошибок. В то же время данная ошибка может свидетельствовать о неправильной работе сервера [182], поэтому при настройке средств защиты от DDoS атак необходимо удостовериться в исправной работе сервера в штатном режиме.
Параметр в логах сервера вида 𝐻𝑇𝑇𝑃_𝑆𝑇𝐴𝑇𝑈𝑆_𝑆𝐸𝑅𝑉𝐼𝐶𝐸_𝑈𝑁𝐴𝑉𝐴𝐼𝐿;
𝑁𝑅𝑃𝑆 – (Requests Per Second – количество запросов в секунду). Воспользуемся формулой Литтла [184]:
𝑁𝑅𝑃𝑆 = 1000/𝑇 ∗ 𝑓𝑙𝑜𝑤, (3.2) где 1000/𝑇 – количество запросов, выдаваемое однопоточным генератором, 𝑇 – время обработки запроса (миллисекунд), 𝑓𝑙𝑜𝑤 – количество имеющихся потоков.
На данном этапе необходимо произвести подсчет количества запросов в секунду, причем важно отличать DDoS атаку от наплыва пользователей. Нелегитимными запросами будут являться те запросы, при которых параметр 𝑏𝑢𝑟𝑠𝑡 > 𝑟𝑎𝑡𝑒, то есть количество пришедших запросов в 1 миллисекунду, будет больше, чем при штатной работе принимающего сетевого узла компьютерной сети. То есть, системе заведомо надо знать максимальное число 𝑏𝑢𝑟𝑠𝑡 для заданных условий.
Вследствие этого можно заключить, что при правильно настроенной системе легитимный пользователь, бесконечно обновляя страницу, не сможет вручную в 1 секунду послать запросов больше, чем специальное программное обеспечение, которое посылает до 10 запросов в 1 миллисекунду. Тем самым параметр 𝑟𝑎𝑡𝑒 физически ограничивает количество запросов от 1 узла, отбрасывая те запросы, обработать которые не представляется возможным.
𝑁𝐼𝐷 – подсчет количества уникальных пользователей приложения. Уникальный пользователь – это, в первую очередь, субъект, детектируемый сервером. Отличительными особенностями данного субъекта являются его уникальные характеристики, причем для разных систем данные характеристики могут различаться в зависимости от цели подсчета уникальных пользователей [185].
Для подсчета в отношении DDoS атак, целесообразнее использовать следующие метрики: идентификатор (ID) пользователя (IP-адрес пользователя), время входа и cookies. В то же время cookies можно перехватить или использовать так называемые «зомби»-cookies, тем самым применять подменный идентификатор пользователя [186].
Do'stlaringiz bilan baham: |