Аннотация 2
Введение 5
1 Исследование предметной области 6
1.1 Постановка задачи 6
1.1.1 Основы DNS 7
1.1.2 Эксфильтрация данных 9
1.2 Существующие методы 12
1.2.1 Анализ биграмм 12
1.2.2 Статистический метод 13
1.2.3 Метод опорных векторов (SVM) 13
1.2.4 Метод случайного леса (RF) 15
1.3 Существующие утилиты по созданию DNS-туннелей 16
1.4 Математическая модель 18
1.4.1 Сверточная нейронная сеть 18
1.4.2 Архитектура нейронной сети 22
2 Реализация системы распознавания DNS-туннелей 27
3 Тестирование и анализ эффективности 36
Заключение 39
Список используемой литературы 40
Скрытые кибератаки могут иметь серьезные последствия для компаний. В частности, злоумышленники могут получить конфиденциальную информацию, которая может быть использована в корыстных целях. Это может привести к утрате доверия пользователей и, в конечном итоге, к снижению рыночной стоимости организации. Кроме того, компания может столкнуться с судебными и финансовыми последствиями в случае утечки конфиденциальной информации.
DNS-туннелирование - это метод передачи данных через протокол DNS, который используется для решения сетевых запросов, связанных с доменными именами. При использовании DNS-туннелирования данные кодируются в формат DNS-запроса, который затем отправляется на DNS-сервер. Данные извлекаются из ответа, который возвращается отправителю, и расшифровываются. DNS-туннелирование используется для передачи данных через сеть, которая обычно блокирует определенные протоколы, такие как FTP, SSH и т.д.
DNS-серверы могут быть скомпрометированы злоумышленниками, которые могут использовать различные методы, такие как взлом пароля администратора, использование уязвимостей в программном обеспечении сервера или ввод вредоносного кода через DNS-туннелирование.
Для защиты DNS-серверов от таких атак, была реализована система, основанная на сверточной нейронной сети, способная обнаруживать формирование DNS-туннелей. Этим подтверждается актуальность работы.
В результате данной выпускной квалификационной работы были выполнены все поставленные задачи.
Получены следующие результаты:
• проведена аналитическая работа по изучению проблемы обнаружения DNS туннелей в реальном времени. В рамках работы были рассмотрены существующие методы анализа DNS трафика, а также реализован подход к решению данной проблемы, основанный на машинном обучении;
• реализована система по обнаружению DNS-туннелей с использованием различных технологий;
• в результате тестирования разработанной системы не было обнаружено ошибок, а результаты взаимодействия с программой подтвердили правильность ее работы;
В ходе исследования предметной области были указаны материалы, позволяющие ознакомиться с теоретическими данными и реализацией сверточной нейронной сети в области обработки естественного языка.
Итак, использование сверточной нейронной сети для текстового анализа доменных имен в обнаружении DNS-туннелирования предоставляет преимущества по сравнению с применением других методов. В отличие от статистических методов, такой подход не требует полного анализа содержимого DNS-запроса, включая временные характеристики и накопление исторических данных о сети. Более того, текстовый анализ доменных имен превосходит анализ биграмм, поскольку не требует построения таблицы частот для каждого языка.