Актуальные проблемы авиации и космонавтики - 2021. Том 2
УДК 004.056.57
ПОВЫШЕНИЕ ТОЧНОСТИ ОБНАРУЖЕНИЯ DGA ДОМЕНОВ
Я. В. Пигалев, В. Г. Жуков
Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: pigalevyan1998@mail.ru
В работе рассмотрено повышение точности обнаружения информационного взаимодействия объектов информационной системы с DGA доменами методами машинного обучения. Представлены результаты оценки эффективности на тестовом множестве доменных имен.
Ключевые слова: информационная безопасность, DNS, Domain Generation Algorithm. IMPROVING DGA DOMAIN DETECTION ACCURACY Y.V. Pigalev, V. G. Zhukov
Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation E-mail: pigalevyan 1998@mail.ru
Improvement of compromised information system objects interaction with DGA domains detection accuracy is considered in the paper. Results of efficiency evaluation using test domain names dataset are presented.
Keywords: information security, DNS, Domain Generation Algorithm.
Современное вредоносное программное обеспечение (ВПО) для получения команд управления, обновления и передачи информации организует информационное взаимодействие с серверами управления (C&C, Command and Control Server) штатными средствами DNS скомпрометированных объектов информационной системы [1]. Применение злоумышленниками специального алгоритма - Domain Generation Algorithm (DGA) для генерации доменных имен C&C существенно усложняет обнаружение и блокирование таких информационных взаимодействий ВПО, т. к. в общем случае сам алгоритм неизвестен, средства защиты блокируя DNS запрос на разрешение любого произвольного i-го доменного имени из списка сгенерированных DGA ставшего известным по каким-либо причинам заставит ВПО просто использовать для взаимодействия следующее уже неизвестное средствам защиты i+1 DGA доменное имя C&C сводя на нет все усилия специалистов [1].
Для решения задачи обнаружения взаимодействия ВПО с C&C авторами было предложено решение на основе применения методов машинного обучения и последующего обогащения из внешних источников для выявления в общем потоке DNS запросов доменных имен сгенерированных DGA [2]. Основным преимуществом предложенного решения является отсутствие необходимости в каких-либо априорных данных о конкретном алгоритме для генерации DGA доменных имен, особенностях взаимодействия или работы самого ВПО. Однако, такой подход дает вероятностное решение и порождает необходимость предпринимать меры, направленные на обеспечение высокого уровня обнаружения, низкого уровня ошибок булевой классификации (сгенерировано ли доменное имя с помощью DGA
(Секция «Информационная безопасность»
или нет) и сохранения стабильности решения в течение времени при условии, что сам алгоритм генерации не изменился [2].
Для повышения точности обнаружения DGA авторами предлагается расширить список атрибутов доменного имени, которые отражают характеристические свойства DNS запросов и используется как входные данные для решения задачи классификации:
1) длина доменного имени;
2) отношение суммы длин всех осмысленных слов (слов, встречающихся в словарях естественных языков) в доменном имени к общей длине имени;
3) отношение длины самого длинного осмысленного слова в доменном имени к общей длине имени;
4) отношение количества цифр в доменном имени к его общей длине;
5) информационная энтропия по определению Шеннона;
6) отношение количества гласных к количеству согласных доменного имени;
7) отношение количества уровней доменного имени к длине доменного имени;
8) количество уникальных букв в доменном имени;
9) флаг, устанавливается в true, если домен первого уровня доменного имени есть списке доменов первого уровня, распространенных среди злоумышленников, false по умолчанию;
10) флаг, устанавливается в true, если первый символ в доменном имени является цифрой, false по умолчанию;
11) отношение количества последовательных цифр в доменном имени к общей длине доменного имени;
12) отношение количества букв, которые встречаются более, чем один раз в доменном имени, к общему количеству уникальных букв в доменном имени;
13) самая большая последовательность согласных в доменном имени.
Кроме того, использовался атрибут, зависящий от контекста DNS запроса: расстояние Левенштейна между текущим и предыдущим доменным именем.
В качестве модельно-алгоритмического ядра использовались следующие методы машинного обучения: «случайный лес» (Random Forest), деревья классификации и регрессии (CART, Classification And Regression Tree), опорных векторов (SVC, support vector machine). При программной реализации применялся набор библиотек scikit-learn для Python [3].
Для обучения и тестирования каждого метода была взята та же выборка, что и в исследовании [2], состоящая из нормальных (DomCop [4]) и DGA доменных имен (Bambenek Consulting [5]). Обе выборки состоят из 25000 доменных имен, в сумме - 50000 доменных имен. Выборка из 50000 доменных имен была разбита на: 80 процентов составила обучающая выборка, оставшиеся 20 - тестовая. Таким образом, обучающая выборка состоит из 40000 имен, тестовая - из 10000.
Для предварительной оценки методов машинного обучения использовался метод кросс-валидации с десятью блоками на обучающей выборке. Суммарная выборка имен разбивается на десять блоков одинакового размера, затем поочередно каждый блок рассматривается, как тестовая выборка, а остальные девять блоков - как обучающая выборка. Для каждого такого блока рассчитывается точность классификации и подсчитывается средняя точность:
1) точность Random Forest составила 98.14 % (в предыдущем исследовании 96,49%);
2) точность CART составила 97.72 % (в предыдущем исследовании 96,31%);
3) точность SVC составила 97.97 % (в предыдущем исследовании 94,64%).
Точность классификации для всех методов повысилась, наиболее результативным является Random Forest и, следовательно, далее классификатор будет построен на основе этого метода. После обучения, было проведено тестирование классификатора: доменные имена из тестовой выборке были классифицированы, на основе результатов была построена таблица сопряженности (табл. 1).
Актусльные проблемы авиации и космонавтики - 2021. Том 2
Таблица l
Таблица сопряжённости_
Классифицировано, % Итого, %
Нормальный DGA
Фактически, % Нормальный 49.2 0.В 50
DGA 0.7 49.3 50
Итого, % 49.9 50.1 100
Таким образом, точность классификации стала выше (9В.5 против 96.5%) за счет внедрения дополнительных атрибутов доменного имени. Предлагаемое решение можно применять как вместе со средствами защиты для обнаружения и блокирования DGA доменов, так и при апостериорном анализе инцидентов информационной безопасности.
Для дальнейшего повышения точности классификации рекомендуется обогащать доменные запросы с помощью whois-запросов, запросов на геолокацию, использовать другие контекстуальные данные о доменных запросах и их деятельности в системе. При выборе источников дополнительных данных необходимо использовать данные о типовом поведении и особенностях DNS запросов на DGA имена, такие как [6][7]:
1) одно доменное имя может разрешаться в несколько IP-адресов;
2) вредоносные домены одного семейства ВПО разрешаются в IP-адреса разных стран;
3) DGA домены работают недолго, они генерируется незадолго до атаки;
4) о DGA доменах содержится меньше регистрационной информации, чем о легитимных;
5) DGA генерирует огромное количество доменных имен - запросы на практически все из них закончатся с ошибкой NXDOMAIN;
6) существует ряд неблагонадежных регистраторов доменов, которые регистрируют заметно большее количество вредоносных доменных имен, чем другие.
Библиографические ссылки
1. Threat Brief: Understanding Domain Generation Algorithms (DGA) [Электронный ресурс]. URL: https://unit42.paloaltonetworks.com/threat-brief-understanding-domain-generation-algorithms-dga/ (дата обращения 05.03.2021).
2. Пигалев Я.В., Жуков В.Г. Обнаружение информационного взаимодействия объектов информационной системы с DGA доменами [Электронный ресурс]. URL: https://apak.sibsau.ru/page/materials. (дата обращения 20.03.2021).
3. Scikit-learn: machine learning in Python [Электронный ресурс]. URL: https://scikit-learn.org/stable (дата обращения 16.01.2021).
4. Top 10 million Websites based on Open data from Common Crawl & Common Search [Электронный ресурс]. URL: https://www.domcop.com/top-10-million-websites. (дата обращения 15.02.2021).
5. Bambenek Consulting [Электронный ресурс]. URL: http://osint.bambenekconsulting.com/feeds/dga-feed.txt. (дата обращения 27.02.2021).
6. A Machine Learning Framework for Domain Generation Algorithm-Based Malware Detection / Y. Li, K. Xiong, T. Chin и др. // IEEE Journals & Magazine [Электронный ресурс]. URL: https://ieeexplore.ieee.org/document/B631171/authors#authors (дата обращения 15.01.2021).
7. EXPOSURE: Finding Malicious Domains Using Passive DNS Analysis / L. Bilge, E. Kirda, C. Kruegel и др. // Institue Eurecom, Sophia Antipolic [Электронный ресурс]. URL: https://sites.cs.ucsb.edu/~chris/research/doc/ndss11_exposure.pdf (дата обращения 11.03.2021).
О Пигалев Я. В., Жуков В. Г., 2021
39S