МЕТОД РАННЕГО ОБНАРУЖЕНИЯ КИБЕРАТАК НА ОСНОВЕ ИНТЕГРАЦИИ ФРАКТАЛЬНОГО АНАЛИЗА И СТАТИСТИЧЕСКИХ МЕТОДОВ
В статье рассматривается метод обнаружения кибератак на компьютерные сети, основанный на выявлении аномалий в сетевом трафике путем оценки его самоподобия и определения воздействия кибератак с использованием статистических методов. Предлагаемая методика предусматривает три этапа, в рамках которых выполняются анализ свойства самоподобия для эталонного трафика (с применением теста Дики-Фуллера, R/S-анализа и метода DFA), анализ свойства самоподобия для реального трафика (теми же методами) и дополнительной обработки временных рядов статистическими методами (методы скользящего среднего, Z-Score и CUSUM). Рассмотрены вопросы программной реализации предложенного подхода и формирования набора данных, содержащего сетевые пакеты.
И.Котенко, д.т.н., заведующий лабораторией проблем компьютерной безопасности Санкт-Петербургского федерального исследовательского центра Российской академии наук (СПб ФИЦ РАН) / ivkote@comsec.spb.ru,
И.Саенко, д.т.н., вед. науч. сотр. СПб ФИЦ РАН, профессор Военной академии связи / ibsaen@comsec.spb.ru,
О.Лаута, д.т.н., профессор Государственного университета морского и речного флота
им. адмирала С.О.Макарова / laos-82@yandex.ru,
А.Крибель, соискатель Военной академии связи / nemo4ka74@gmail.com
УДК 621.391.82, DOI: 10.22184/2070-8963.2021.98.6.64.70
В статье рассматривается метод обнаружения кибератак на компьютерные сети, основанный на выявлении аномалий в сетевом трафике путем оценки его самоподобия и определения воздействия кибератак с использованием статистических методов. Предлагаемая методика предусматривает три этапа, в рамках которых выполняются анализ свойства самоподобия для эталонного трафика (с применением теста Дики-Фуллера, R/S-анализа и метода DFA), анализ свойства самоподобия для реального трафика (теми же методами) и дополнительной обработки временных рядов статистическими методами (методы скользящего среднего, Z-Score и CUSUM). Рассмотрены вопросы программной реализации предложенного подхода и формирования набора данных, содержащего сетевые пакеты. Результаты экспериментов продемонстрировали наличие самоподобия сетевого трафика и подтвердили высокую эффективность предложенного метода, который позволяет обнаруживать кибератаки в реальном или близком к реальному времени.
Введение
Компьютерные сети представляют собой высокоразвитые системы с многоуровневой иерархической структурой. Для управления такой сложной, разветвленной и нелинейной системой необходимо искать инновационные подходы к прогнозированию развития событий и использовать их с целью выработки правильных и оперативных решений.
Применение в современных компьютерных сетях информационных и коммуникационных технологий сбора информации дает возможность злоумышленнику воздействовать на сетевую инфраструктуру путем реализации кибератак [1]. Кибератаки могут достигать цели за счет массового использования устаревших операционных систем, малоэффективных механизмов защиты и наличия множественных уязвимостей в незащищенных сетевых протоколах. Подобные уязвимости дают потенциальному злоумышленнику возможность изменять настройки сетевых устройств, прослушивать и перенаправлять трафик, блокировать сетевое взаимодействие и получать несанкционированный доступ к внутренним компонентам компьютерных сетей.
Воздействие кибератак приводит к появлению в трафике компьютерных сетей аномальной активности. Для мониторинга и обнаружения отклонения (аномальной активности трафика) необходимо учитывать наличие значительного количества сетевых маршрутов, на которых периодически возникают резкие колебания задержки в передаче данных и большие потери пакетов; контролировать появление новых свойств сетевого трафика, а также соблюдение требования обеспечить высокое качество обслуживания приложений. Все это послужило поводом для поиска новых методов обнаружения и прогнозирования кибератак [2], к числу которых можно отнести и фрактальный анализ.
Ключевой параметр фрактального анализа – показатель Херста. Эту меру используют при анализе временных рядов. Чем больше задержка между двумя одинаковыми парами значений во временном ряду, тем меньше коэффициент Херста (или показатель скейлинга). Для нахождения указанного параметра необходимо знать, стационарен ли исследуемый процесс. От этого зависит выбор алгоритма для дальнейшего вычисления скейлинга [3–5].
Таким образом, с целью обнаружения кибератак в первую очередь необходимо определить, стационарный трафик или нестационарный. Далее следует рассчитать показатель Херста (т. е. определить наличие в трафике свойства самоподобия). На заключительном этапе происходит обнаружение аномалий [6].
Общее описание предлагаемого метода
К основным методам, позволяющим выполнить все этапы обнаружения кибертак, относятся расширенный тест Дики-Фуллера, R/S-анализ и метод DFA [5].
Предлагаемый метод детектирования кибератак предусматривает три этапа:
- вспомогательный (анализ самоподобия в эталонном трафике);
- основной (анализ самоподобия в реальном трафике);
- заключительный (классификация атак с помощью дополнительного статистического анализа).
На первом этапе, вспомогательном, анализируются самоподобные свойства эталонного сетевого трафика. В эталонном трафике отсутствуют аномалии. В результате этого анализа определяется значение показателя Херста, соответствующее эталонному трафику. Этот этап можно назвать этапом обучения. Для определения значений показателя Херста используются рассмотренные выше методы тестирования Дики-Фуллера, R/S-анализа и DFA.
На втором, основном, этапе анализируются самоподобные свойства реального трафика, для которого могут быть характерны аномалии, вызванные воздействием кибератак. При этом также используются рассмотренные выше методы определения значений показателя Херста. Если выявленное значение показателя Херста отличается от значения, полученного для эталонного трафика, принимается решение о наличии аномалий в реальном трафике, которые могут быть вызваны воздействием кибератак. На этом же этапе определяется минимальный размер группы пакетов, достаточный для точной оценки показателя самоподобия. Чем скромнее размер этой группы, тем меньшее время требуется для детектирования кибератаки.
На третьем этапе на основе методов математической статистики осуществляется классификация кибератак в целях реализации мер защиты.
Реализация метода
В качестве исследуемого сценария был выбран трафик, соответствующий существующей компьютерной сети, состоящей из узловых элементов (четырех маршрутизаторов и восьми персональных компьютеров), а также сетевых элементов, включающих семь маршрутизаторов. В этом сценарии процесс передачи пакетов сообщений является стационарным. В качестве реализуемых атак учитывались кибератаки типов DDoS и "Сканирование сети и ее уязвимостей".
Учитывая вышеизложенное, в качестве основных исследуемых характеристик в наборе данных рассматривались структура трафика, длина заголовка пакета, флаги, контрольная сумма и некоторые другие.
С целью проведения эксперимента были сформированы два датасета. Первый датасет включал эталонный трафик и использовался для обучения системы и анализа трафика без аномалий. Второй датасет, предусматривавший кибератаки типов DDoS и "Сканирование сети и ее уязвимостей", применялся для проверки эффективности рассматриваемого метода и обнаружения его преимуществ перед другими методами.
Для демонстрации возможности выявления самоподобия трафика компьютерной сети было смоделировано и исследовано несколько выборок, содержащих 1 024 точки, распределенные по закону фрактального броуновского движения с различными значениями показателя Херста: 0,3, 0,5 и 0,8.
Программная реализация предложенного метода обнаружения кибератак была выполнена на языке Python с использованием следующих библиотек и инструментов: Pandas, NumPy, Matplotlib и Jupiter Notebook.
Библиотека Pandas обеспечивает работу с высокоуровневыми сводными таблицами, их группировку и другие манипуляции с ними, а также легкий доступ к табличным данным. Библиотека NumPy – инструмент низкого уровня для работы с математическими функциями высокого уровня, а также с многомерными массивами. Модуль Matplotlib предоставляет возможность формирования графиков на основе полученного набора данных. Jupiter Notebook служил командной оболочкой для интерактивных вычислений [7].
Экспериментальная проверка
При экспериментальной проверке метода на первых двух этапах для нахождения показателя Херста использовались R/S-анализ и метод DFA. Многие исследователи применяют R/S-анализ для нахождения показателя H в сетевом трафике. Однако R/S-анализ дает большую погрешность, достигающую 20–30% в случае нестационарных процессов. Это свидетельствует о нежелательности применения R/S-анализа в такой ситуации [7]. Поэтому для нахождения показателя скейлинга в нестационарном трафике предлагается использовать метод DFA, а для нахождения Н в стационарных процессах – как DFA, так и R/S-анализ.
Следует заметить, что при изменении H преследовалась цель получения как можно более разнообразного случайного сигнала, не похожего на предыдущий, чтобы обеспечить максимально полную проверку работоспособности алгоритмов, необходимых для выявления различных кибератак. Поэтому границы интервалов по оси времени не фиксировались. Изменение H в ходе имитации осуществлялось программным способом. Для этого использовался инструмент Matplotlib. Затем выполнялся анализ самоподобия смоделированного сигнала с помощью рассмотренных выше алгоритмов оценки H.
Найденное значение параметра H сравнивалось с эталонным. Только после проверки работоспособности алгоритмов осуществлялся переход к работе с реальным трафиком.
При исследовании нестационарного временного ряда в нем обычно отмечают три компоненты:
- тренд (Tt), который описывает плавное изменение уровней ряда, вызванное долгосрочными факторами;
- сезонную компоненту (St), которая определяет периодические колебания уровней ряда;
- случайную компоненту (Et), описывающую влияние случайных, неучтенных факторов или ошибок измерения.
Таким образом, каждый уровень ряда Xt можно представить в виде функции F (Tt, St, Et). Вид этой функции определяет взаимосвязь компонент уровня ряда и указывает на следующую модель ряда:
- аддитивная: Xt = Tt + St + Et;
- мультипликативная: Xt = Tt × St × Et;
- смешанная: Xt = Tt × St + Et.
При выраженных компонентах Tt и St, а также незначительном шуме можно визуально идентифицировать модель ряда. Поэтому будем полагать, что сетевому трафику соответствует смешанная модель, в которой учитываются все три ее компоненты.
Первоочередная задача перед обработкой временного ряда – определение его стационарности. Для того чтобы определить, стационарен ряд или нет, применялся тест Дики-Фуллера. Результат тестирования временного ряда, отображающего интенсивность сетевого трафика, представлен на рис.1. На рис.1a отображена функция автокорреляции, а на рис.1б – функция частичной автокорреляции.
Поясним смысл этих функций. Одно из главных отличий последовательности наблюдений, образующих временной ряд, от случайной выборки заключается в том, что члены временного ряда являются статистически взаимозависимыми. Степень тесноты статистической связи между двумя случайными величинами может быть измерена парным коэффициентом корреляции. На рис.1 коэффициент корреляции измеряет корреляцию, существующую между членами одного и того же временного ряда. Поэтому его принято называть коэффициентом автокорреляции, а при анализе изменения коэффициента автокорреляции в зависимости от значения интервала между членами ряда говорят об автокорреляционной функции. Ее график называют коррелограммой. Автокорреляционная функция безразмерна. Ее значения изменяются в диапазоне от –1 до +1.
Близость значений автокорреляционной функции к нулю свидетельствует о слабой зависимости между уровнями ряда или ее отсутствии, близость к единице – о сильной зависимости. По значениям автокорреляционной функции можно судить о тренде или сезонной компоненте. Так, если наибольшее значение среди значимых коэффициентов корреляции набирает первый коэффициент (как на рис.1a), можно говорить о наличии тренда, который является доминирующим в этом временном ряде. Если наибольшее значение набирает коэффициент порядка k, то ряд имеет повторяющиеся колебания с периодом k наблюдений. Если среди коэффициентов корреляционной функции нет значимых, то это свидетельствует об отсутствии тренда и сезонной компоненты.
Для нахождения чистого влияния периодических явлений можно также использовать частичную автокорреляцию. Как видно из рис.1б, местами она очень высокая. Поэтому не исключается влияние промежуточных уровней временного ряда.
Таким образом, тест Дики-Фуллера и графики коррелограмм не отвергают гипотезу о нестационарности ряда. Ряд является нестационарным.
Теперь рассмотрим результаты применения метода скользящего среднего (MA). На рис.2 представлены результаты вычисления скользящего среднего для различных временных рядов, полученных из сетевого трафика: интенсивность трафика (рис.2a), количество байт в сети (рис.2б), UDP-поток (рис.2в) и нефильтрованный сетевой трафик (рис.2г). Синие линии показывают исходный трафик, а красные – скользящее среднее.
Для метода MA характерны два недостатка, которые были обнаружены в ходе экспериментальной проверки. Первый заключается в том, что с помощью этого метода можно прогнозировать поведение трафика только на ближайшие периоды времени. Прогноз актуален всего лишь в течение 15–20 мин. Второй недостаток обусловлен тем, что метод MA отличается повышенной чувствительностью к выбросам данных. Кратковременный, но очень сильный всплеск приводит к достаточно длительному и существенному изменению амплитуды скользящего среднего. Для устранения этого недостатка можно использовать модификацию метода MA, в которой каждое предыдущее значение имеет разный вес.
Данный метод можно назвать взвешенной скользящей средней (WMA). С его помощью несложно указать, насколько важно конкретное историческое значение для нового прогноза.
Метод WMA позволяет учитывать временной контекст. Чем раньше произошло событие, тем меньше его влияние на прогнозируемое событие. Сдвиг в методе WMA меньше, чем в методе MA. Метод WMA более чувствителен к колебаниям.
Рассмотрим результаты применения других дополнительных методов, которые были упомянуты выше.
Результат обработки исходного сигнала методом потокового окна (Z-Score) отображен на рис.3.
На рис.3a представлен исходный сигнал, для которого характерна аномалия в пределах 150 мин. На рис.3б показан результат обработки исходного сигнала методом Z-Score. Видно, что данный метод помогает выделить периодичность сигнала, а также обнаружить аномалию (изображена красным цветом). Однако выявляется аномалия с запаздыванием в 100 мин. Продолжительность запаздывания равняется величине установленного временного окна.
Результаты обработки сигнала методом кумулятивных сумм CUSUM показаны на рис.4. Экспериментальные данные приведены для различных значений порога и количества аномалий. На рис.4б и рис.4в представлены результаты, в которых отражены две аномалии. Однако пороговые значения для этих случаев различны. На рис.4б порог равен двум, а на рис.4в – четырем. На этих же рисунках представлены результаты обнаружения аномалий.
Начало и конец выявленных аномалий помечены зелеными стрелками. Красная точка показывает наиболее вероятный элемент временного ряда, который содержит аномалию.
На рис.4a представлен наиболее "трудный" случай, который рассматривался в ходе экспериментальной проверки метода. Видно, что временной ряд содержит 62 аномалии. Все эти аномалии были успешно выявлены. Как и для двух предыдущих случаев, для каждой аномалии были установлены начало и конец, а также наиболее вероятный элемент, содержащий эту аномалию.
Таким образом, экспериментальные результаты показали, что дополнительное применение методов MA, WMA, Z-Score и CUSUM на третьем этапе позволяет успешно обнаруживать как однократные, так и множественные аномалии в сетевом трафике. Следовательно, предложенный метод может применяться для выявления аномалий, вызванных реализацией различных компьютерных атак, включая атаки вида DoS и сканирования.
Заключение
Для проектирования систем потоковой аналитики и потоковой обработки данных характерны свои нюансы, проблемы и свой технологический стек. Анализ результатов сравнительной оценки показывает, что среди главных преимуществ фрактального анализа – его скорость, а также возможность обнаружения аномалий при любом виде трафика. К увеличению времени расчета приводит только рост количества обрабатываемых параметров заголовка протокола передачи данных (длина пакета, флаги и т. д.).
При тестировании фрактальных методов, позволяющих исследовать долговременные зависимости в трафике компьютерной сети, метод DFA является более эффективным, чем R/S-анализ, поскольку предоставляет возможность обрабатывать не только стационарные, но и нестационарные ряды с высокой точностью. Для компьютерных сетей преимущества DFA, по сравнению с более старым методом R/S, заключаются в том, что он устраняет локальные тренды посредством регрессионного соответствия методом наименьших квадратов и относительно невосприимчив к нестационарности. Следовательно, DFA позволяет обнаруживать корреляции на большие расстояния, встроенные в нестационарные ряды. Это характерно для компьютерных сетей и можно избегать ложного обнаружения явных корреляций на большие расстояния, которые являются артефактами нестационарности.
В процессе выполнения работы проведена экспериментальная оценка ряда статистических методов, которые включены в третий этап предлагаемого метода раннего обнаружения атак. Данные методы предназначены для проверки отклонения исходного сигнала от некоторого опорного значения (чаще всего от среднего арифметического). К таким методам относятся методы скользящего среднего, потоковых окон и кумулятивных сумм.
Основываясь на результатах экспериментальной проверки, можно сделать вывод, что предложенный метод является достаточно корректным. Дальнейшие исследования предполагают интеграцию рассмотренного метода раннего выявления атак с другими известными и имеющимися в арсенале специалистов по компьютерной безопасности методами детектирования атак.
Работа выполнена при частичной финансовой поддержке РФФИ (проект 18-29-22034) и бюджетной темы 0073-2019-0002.
ЛИТЕРАТУРА
Котенко Д.И., Котенко И.В., Саенко И.Б. Методы и средства моделирования атак в больших компьютерных сетях: состояние проблемы //
Труды СПИИРАН. 2012. № 3(22). С. 5–30.
Kotenko I., Saenko I., Kushnerevich A. Parallel big data processing system for security monitoring in Internet of Things networks // Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications (JoWUA). 2017. No. 8(4). РР. 60–74.
Campbell P., Abhyankar S. Fractals, form, chance and dimension // The Mathematical Intelligencer. 1978.
No. 1. РР. 35–37.
Leland W.E., Taqqu M.S., Willinger W., Wilson D.V. On the self-similar nature of Ethernet traffic // SIGCOMM Comput. Commun. 1993. No. 23(4). РР. 183–193.
Крупенин С.В. Фрактальные излучающие структуры и аналоговая модель фрактального импеданса. Дис. канд. физ.-мат. наук: 01.04.03, 01.04.04 / [Место защиты: Моск. гос. ун-т им. М.В.Ломоносова. Физ. фак.]. М., 2009. 157 c.
Aissaa N.B., Guerroumia M. Semi-Supervised Statistical Approach for Network Anomaly Detection // Procedia Computer Science. 2016. No. 83. РР. 1090–1095.
Котенко И.В., Крибель А.М., Лаута О.С., Саенко И.Б. Анализ процесса самоподобия сетевого трафика как подход к обнаружению кибератак на компьютерные сети // Электросвязь. 2020. № 12. С. 54–59.