Метод динамического построения топологии сети для решения задач обнаружения угроз безопасности

МЕТОД ДИНАМИЧЕСКОГО ПОСТРОЕНИЯ ТОПОЛОГИИ СЕТИ ДЛЯ РЕШЕНИЯ ЗАДАЧ ОБНАРУЖЕНИЯ УГРОЗ БЕЗОПАСНОСТИ

М.Ю. Будько

Научный руководитель - к. т.н., доцент Г.П. Жигулин

Рассматривается метод динамического построения топологии сети. В качестве исходных данных используется статистика загрузки интерфейсов сетевых устройств, собранная с помощью протокола SNMP.

Введение

В настоящее время широкое распространение получили сети передачи данных, построенные с использованием технологии Ethernet. Несмотря на то, что физическая топология таких сетей представляет собой дерево, достаточно большие сегменты могут быть объединены на втором уровне модели OSI. Это приводит к возникновению угроз безопасности, связанных с использованием широковещательных и групповых адресов для организации штормов в сети. В связи с этим возникает задача динамического анализа потоков данных с целью обнаружения источников дестабилизирующего воздействия на сеть и определения области поражения. При ее решении возникла необходимость предварительного построения топологии сети, в связи с чем и был разработан соответствующий метод. Одним из его возможных применений является автоматизация процесса документирования структуры крупных сетей. Кроме того, для упрощения процедур устранения неисправностей, проектирования и управления сетью решается задача наглядного представления сетевой инфраструктуры.

В настоящее время используются следующие методы построения топологии распределенных сетей передачи данных:

(1) вручную, посредством документирования структуры сети;

(2) с использованием международного стандарта IEEE 802.1AB [1] (Link Layer Discovery Protocol);

(3) с использованием фирменных протоколов, таких как EDP (Extreme Discovery Protocol) компании Extreme Networks, CDP (Cisco Discovery Protocol) компании Cisco Systems, NDP (Nortel Discovery Protocol) компании Nortel Networks;

(4) с использованием универсальных методов, анализирующих адресные таблицы коммутаторов или счетчики количества пропущенных пакетов или байтов.

Недостатки ручного метода документирования структуры сети состоят в неудобстве использования. Протокол 802.1AB мало распространен и не поддерживается большинством сетевого оборудования. Сфера применения фирменных протоколов ограничивается оборудованием конкретного производителя. Соответственно, в настоящее время наиболее удобными являются универсальные методы, ориентированные на использование некоторых общих закономерностей в работе сети для построения сетевой топологии [2].

Среди недостатков универсальных методов можно выделить их невысокую точность и сложность применения. Как правило, все они рассчитаны на использовании информации, запрашиваемой по протоколу SNMP. Следовательно, для их функционирования необходимо поддерживать актуальный список всех устройств в сети. Также постоянные запросы могут «отвлекать» устройства от выполнения их основных функций и, следовательно, приводить к снижению быстродействия некоторых узлов.

Для устранения ряда существующих недостатков универсальных методов предложены следующие улучшения:

(1) для получения статистической информации о функционировании устройств в сети используются сведения из общей системы мониторинга сети, и не требуется дополнительный опрос устройств;

(2) автоматическое, на основе данных системы мониторинга составление списка устройств в сети;

(3) обеспечение возможности построения топологии сети по состоянию на заданную дату и отслеживание изменений в топологии в течение времени;

(4) обеспечение автоматического определения уровней иерархии устройств в сети с выделением периферийных, промежуточных и центральных узлов;

(5) обеспечение независимости метода построения топологии сети от используемой системы мониторинга и программно-аппаратных платформ.

Основная часть

Одна из задач, которую предстояло решить, состояла в обеспечении высокой достоверности обнаружения связей между устройствами. Природа этой проблемы состоит в том, что устройства опрашиваются не синхронно, т.е. существует разница во времени между запросом статистики у первого и последнего устройства в списке мониторинга. Известно только, что максимальный интервал времени задержки равен 300 с. Приложение RRDtool для снижения влияния задержки при опросе устройств интерполирует данные до того момента, когда начался опрос первого устройства.

Это приводит к несоответствию показаний статистики для двух портов, даже если весь трафик с одного из них поступает на вход другого. Соответственно показания, считанные из базы данных, являются функцией от реальных значений:

Ж) = IЦ) + в,

где t = ((,) - вектор значений временных меток, во время которых инициируется процесс опроса устройств, Дt = -ti+1) - период опроса устройств, п - количество значений в выборке; у = у((,t2,...,tn) - вектор показаний трафика на порту, сохраненных в системе мониторинга; I = It2,...,tn) - реальные значения трафика на порту; в = (,в2,...,вп) - вектор случайных компонент, образовавшихся вследствие несинхронного опроса устройств и последующей интерполяции данных.

В общем виде задача определения связей между устройствами состоит в поиске наиболее близких последовательностей интенсивностей трафика среди множества портов других устройств:

у = У1

Y = <

У2 = У2

где У - множество значений показаний статистики по всем портам, Уг - вектор показаний трафика на порту г, к - количество портов в сети, п - объем анализируемой выборки.

Одним из вариантов решения задачи поиска похожих последовательностей является представление ее в виде задачи нахождения нормы в к-мерном арифметическом пространстве, т.е. отклонений между векторами из множества У:

У - У]

= Ш1П .

Векторы, разница отклонений между которыми будет минимальной и не превысит некоторого порогового значения, будут относиться к связанным портам. В качестве меры похожести можно использовать следующий критерий:

ЬаЪ =

XI Уа (г) - Уъ (0Г

г=1

где sab - коэффициент, определяющий близость между значениями трафика на портах a и b, ya(i) - значение отсчета с номером i на порту a, yb(i) - значение отсчета с номером i на порту b, n - количество отсчетов, используемых для определения связей между устройствами, p - показатель, определяющий степень влияния выбросов в выборке.

При p=1 получаем сумму абсолютных значений остаточных разностей, которую Лаплас предложил использовать для поиска нормы отклонений наблюдаемых и расчетных значений, при p=2 - сумму квадратов отклонений, которую предложили Гаусс и Лежандр для применения в методе наименьших квадратов. Увеличение значения p влияет на степень учета отклонений сравниваемых значений. Например, при p=2 наличие выбросов в сравниваемых выборках может ухудшить значение коэффициента s по сравнению с p=1.

Для применения на практике следует несколько модифицировать последнюю формулу, чтобы получать не абсолютные, а относительные значения при расчете s:

Sab = p

1X

ya (0 - Уь (О

тах

В этом случае вычисляется сумма долей, которую занимают отклонения от максимального из отсчетов. Это также позволяет ввести универсальное пороговое значение ^ , при котором связь между устройствами будет считаться обнаруженной:

Sab = т1П

1Ль < ^

Определение значения р, которое бы приводило к наиболее достоверным результатам, возможно экспериментальным путем. Однако уже при р=1 в реальной сети были получены достаточно точные сведения о связях между устройствами.

Одним из вариантов решения задачи поиска похожих последовательностей может являться использование коэффициента корреляции. Например, стандартного коэффициента корреляции Пирсона, характеризующего степень линейной зависимости или непараметрического коэффициента корреляции, например, коэффициента ранговой корреляции Кендалла. Коэффициент корреляции Пирсона определяется как: ооу(х,У) , л1ох х т'

где ооу(Х,У) = М[X-МХ)х(У-МУ)] - ковариация двумерного распределения случайного вектора (Х У); МХ и ПХ- математическое ожидание и дисперсия случайной величины X.

Для применения к двумерной выборке объемом п вычисляем выборочный коэффициент корреляции:

п ( 1 п Л ^ 1 п

£ ^ —£ ^ х у —£ у

r =

cov

i=i V

n

i=1

V

n

i=1 У

SXSY

\

\ 2

i=1 V

1 n Л n f 1

x —X x xX

n

i=1 у i=1

n

i=1

n

i=1 У

n Y

У, — X У,

V n i=1 У

л

__1 n f 1 n л f 1 n

где cov(X, Y) = — XI xi--X xi x yi--X У' - выборочная ковариация;

n

i=1 У

Sx =.

сий.

n

XI x — X x

i=1 V n i=1

и SY =.

i=1 У

n

X yi--X Уi - выборочные оценки диспер-

i=1 V n i=1 У

i=1 У

Коэффициент корреляции Кендалла вычисляем по формуле [4]:

*

2

2

1

1

гк =

ИИ, .

л - %) )>

и(И -1) 7=1 Ах

-1, х < 0

где ) = < 0, х = 0 - знаковая функция; д^) - ранговые статистики, вычисленные

+1, х > 0

путем построения вариационных рядов значений х, и у, присвоения им рангов г и д и дальнейшего упорядочивания по возрастанию рангов г.

Выделим преимущества использования рангового коэффициента корреляции Кен-далла по сравнению с коэффициентом корреляции Пирсона для решения задачи поиска похожих последовательностей:

- коэффициент корреляции Кендалла характеризует степень произвольной нелинейной зависимости между переменными величинами;

- он не зависит от распределения исследуемых выборок;

- он менее чувствителен к выбросам;

- он дает более точные результаты на малых выборках.

При реализации и разработке программного обеспечения для обнаружения связей между устройствами предусмотрена возможность выбора критерия, на основании которого следует строить топологию сети. Это также дало возможность провести исследование точности работы различных подходов к поиску похожих последовательностей.

Были проведены испытания, в ходе которых оценивалась степень надежности обнаружения связей между устройствами и доля ошибочно обнаруженных связей. При этом использовалось четыре критерия:

(1) коэффициент, вычисленный на основе сумм абсолютных значений остаточных разностей;

(2) коэффициент, использующий сумму квадратов отклонений;

(3) выборочный коэффициент корреляции Пирсона;

(4) выборочный ранговый коэффициент корреляции Кендалла.

Результаты приведены на рис. 1 и рис. 2.

Рис. 1. Степень совпадения с реальной топологией

Можно сделать вывод о том, что наиболее точными оказались коэффициент, вычисленный на основе сумм абсолютных значений остаточных разностей, и коэффициент корреляции Кендалла. Наихудшие результаты показал коэффициент корреляции Пирсона. По количеству ошибочно обнаруженных связей лучше всех был коэффициент

корреляции Кендалла. Однако он может показывать хорошие результаты только при объеме выборки от 10. Таким образом, при объеме выборки до десяти значений целесообразней использовать коэффициент, вычисляющий модуль разности отсчетов, а при большем - коэффициент корреляции Кендалла.

Рис. 2. Ошибочно обнаруженные связи

(^начало

Чтение исходных данных командной строки: имя выходного файла, дата на которую строить сеть

Подключение к серверу мониторинга по протоколу

Обнаружение файлов статистики загрузки интерфейсов

Выборка данных статистики за интервал времени, достаточный для анализа с заданной точностью

Составление списка устройств в сети, определение номеров интерфейсов и соответствующих им данных статистики

Поиск устройств и портов в сети с совпадающими парами трафика

Определение связей между устройствами и построение структуры сети

Рис. 3. Блок-схема алгоритма динамического построения структуры сети

Испытания проводились на основе разработанной программы построения топологии сети. Для ее применения достаточно указать каталог для хранения файлов статистики (файлов в формате RRD), IP-адрес и параметры учетной записи для подключения к серверу мониторинга сети и дату, на которую необходимо строить дерево. После этого программа в автоматическом режиме проведет анализ файлов базы данных статистики и определит названия устройств, связи между ними, номера портов, посредством которых они соединяются, центральное устройство, которое будет находиться на вершине дерева, а также сохранит построенное дерево в специальном формате в виде текстового файла и построит в графическом режиме дерево сети. Блок-схема алгоритма представлена на рис. 3.

Заключение

В настоящей работе разработаны и реализованы:

• метод динамического построения топологии сети,

• алгоритмы и программное обеспечение, которое в автоматическом режиме проводит анализ файлов базы данных статистики и строит топологию сети.

Определен наиболее точный критерий для обнаружения связей между устройствами. Преимущество предлагаемого метода состоит в том, что для его применения не требуется сохранять и накапливать информацию об используемом сетевом оборудовании и схемах его включения. Достаточно просто указать каталог для хранения файлов статистики, IP-адрес, параметры учетной записи для подключения к серверу мониторинга сети и дату, на которую необходимо строить структуру сети.

Литература

1. IEEE, "802.1AB. IEEE Standard for Local and metropolitan area networks. Station and Media Access Control Connectivity Discovery". - New York, 2005.

2. Пат. 5,926,462 USA, МКИ6 H04L 12/28. Method of determining topology of a network of objects which compares the similarity of the traffic sequences/volumes of a pair of devices. David Schenkel, Michael Slavitch, Nicholas Dawes, 16.11.1995, 20.07.1999.

3. Казиев В.М. Введение в математику и информатику. - СПб: БИНОМ. Лаборатория знаний; Интернет-университет информационных технологий - ИНТУИТ.ру, 2007. -304 с.

4. Минько А.А. Статистический анализ в MS Excel. - М.: Издательский дом «Виль-ямс», 2004. - 448 с.