УДК 004.415.532
Институт вычислительной математики и математической геофизики СО РАН пр. Акад. Лаврентьева, 6, Новосибирск, 630090, Россия E-mail: 1 [email protected], 2 [email protected]
ДВЕ КОМПОНЕНТЫ АНАЛИЗА СЕТЕВОГО ТРАФИКА
В статье представлена информация о разработке двух новых компонент для высокопроизводительной системы анализа сетевого трафика региональной сети Интернет СО РАН. Они предназначены для наблюдения динамики использования протоколов и выявления «активных» сетевых устройств. Обе компоненты включены в состав инструментария робота «Анализатор» «сетевой погоды» и расширяют его возможности в области качественного анализа сетевого трафика.
Ключевые слова: экспресс анализ сетевого трафика, визуализация состава трафика по протоколам, аномальное поведение сетевых устройств, база данных Round Robin Database, пакет Fusion Charts.
Введение
Эффективное управление распределенной информационно-вычислительной системой (ИВС) требует постоянного наблюдения за множеством параметров ее сетевой инфраструктуры. Значения этих параметров составляют базу данных для анализа работы системы в целом, что крайне необходимо на этапе сопровождения ИВС, а также для своевременного обнаружения возникающих проблем и локализации их источников. Один из возможных подходов к решению подобных задач базируется на качественном анализе сетевого трафика.
Объектом исследования является сеть передачи данных Сибирского отделения РАН [СПД СО РАН, 2005], а анализируемым материалом - трафик AS5387. Используется схема пассивного сетевого мониторинга, которая выполняется без нарушения целостности сети. В режиме постоянной эксплуатации находится служба наблюдения за загрузкой сети, ведется ежедневный количественный учет трафика, генерируются отчеты по внешним каналам связи и абонентам. Робот «Анализатор «сетевой погоды» (АСП) круглосуточно проводит экспресс анализ сетевого трафика - строит его распределения по абонентам и протоколам передачи данных [Бредихин и др., 2005].
Настоящая работа является развитием АСП, в ней представлены две новые компоненты робота, предназначенные для качественного анализа сетевого трафика. Первая компонента визуализирует трафик по протоколам, вторая - анализирует активность сетевых устройств (хостов). Далее под словом «протокол» будем понимать протоколы прикладного уровня, которые определяются номерами портов из перечня 1.
Визуализация трафика по протоколам
Для наблюдения за использованием протоколов на внешних каналах сети разработан ви-зуализатор - Vis/Dyn. Он предназначен для визуализации состава трафика по множеству заранее определенных протоколов. Входящий и исходящий трафик для каждого канала представлен на отдельных рисунках, похожих на графики mrtg 2. Исходные данные для визуализатора поставляет робот, который собирает, хранит и обрабатывает записи формата 3. Визуализатор работает круглосуточно и доступен по веб-интерфейсу.
1 IANA port numbers. http://www.iana.org/ assignments/port-numbers.
2 Oetiker mrtg. The Multi Router Traffic Grapher. http://oss.oetiker.ch/mrtg/.
3 NetFlow. http://www.cisco.com/en/US/ docs/net_mgmt/netflow_collection_engine/3.0/ user/guide/nfcform.html.
ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2008. Том 6, выпуск 1 © С. В. Бредихин, Н. Г. Щербакова, 2008
В качестве объектов наблюдения выбраны протоколы, отвечающие наиболее распространенным сервисам СПД. Образуем множество Mi, содержащее следующие протоколы:
Mi = {ftp (20,21), ssh (22), telnet (23), smtp (25), tcp-dns (53), http (80), nntp (119), pop3(110), https
(443), edonkey (4660-4665), bittorent (6881-6889), tcp-others, udp-dns (53), udp-others, others}.
Здесь tcp-others и udp-others означают все остальные tcp и udp протоколы списка, others -IP-протоколы, отличные от TCP / UDP из перечня 4 Визуализатор генерирует два типа графических отчетов. Отчет Vis отражает состав трафика по всем протоколам M1, а отчет Dyn дает детальную картину по любому протоколу из этого множества.
Отчет Vis содержит три группы изображений. Каждая группа состоит из двух графиков, которые отражают динамику входящего и исходящего трафика. По оси абсцисс откладывается время наблюдения T(n), разбитое на интервалы I(n). Это обеспечивает различные ретроспективы наблюдения R(n) и масштабирует изображения (табл. 1).
Таблица 1
Периоды наблюдений, число интервалов и ретроспектива для каждой группы
Группа n T (n) I (n) R (n)
1 30 мин 100 50 ч
2 2 ч 108 9 сут.
3 12 ч 35 5 нед.
По оси ординат указывается суммарное число появлений каждого протокола из множества M1. На рис. 1 приведен пример отчета Vis, который иллюстрирует содержание протоколов во входящем и исходящем трафике на выбранном канале: дата - 2007/11/26, время - 13:50, период наблюдения T (n) = 30 мин.
Отчет Dyn отражает частоту использования интересующего протокола P из множества M1. Для любой пары {канал, протокол} строится график утилизации этого протокола по параметрам первой группы изображений. Входящий и исходящий трафик выводятся на одном графике. На рис. 2 приведен пример отчета Dyn по протоколу tcp-www на выбранном канале: дата - 2007/11/26, время - 13:50.
Несколько слов о реализации визуализатора. Для каждого наблюдаемого канала СПД построена своя база данных в формате Round Robin Database (RRDB) 5. Все базы устроены одинаково: в качестве источников данных выступают протоколы множества M1, а в качестве правил архивирования заданы усреднения, соответствующие наборам T(n) и R(n) из табл. 1. Данные для этих баз генерирует робот АСП, модуль обработки протоколов которого -TopProts, дополнен возможностью работы c RRDB. Программный инструментарий RRDTool обеспечивает их хранение, консолидацию и извлечение. Следует отметить, что объем хранимых данных не увеличивается со временем, так как память используется циклически. Графика визуализатора выполнена на базе графического пакета 6. Информацию для HTML-отчетов Vis и Dyn генерирует специальный Perl-скрипт. Он извлекает из баз RRDB данные, относящиеся к протоколам множества M1, и строит xml-файлы формата, обусловленного графическим пакетом.
Анализ активности хостов
Изучаются «активные» устройства (хосты) СПД. Исследуется вопрос, какими tcp / udp портами они пользуются и как часто. Разработанный программный модуль в режиме реального времени определяет «активные» сетевые устройства, для каждого такого устройства строит профиль его активности и заносит его в базу данных. Дальнейший анализ профилей позволяет давать заключение о характере активности. Например, фиксировать
4 IANAprotocol numbers. http://www.iana. org/assignments/protocol-numbers.
5 Oetiker rrdt. RRDTool. http://oss.oetiker. ch/rrdtool/.
6 FusionCharts. http://monitor.nsc.ru/fusion/.
аномальные явления, находить «больные» хосты, выявлять р2р-сеансы и в некоторых случаях определять популярные программы файлообмена.
Исходные данные для анализа активности сетевых устройств СПД поставляет робот АСП, который на основе трафика AS5387 формирует записи следующего формата:
start|end|src_addr| src_org_num|dst_addr| dst_org_num|input_int| output_int| src_port| dst_port|
servicejpacketsjoctets |
Содержимое полей записи определено в табл. 2.
Определение активного хоста
Пусть N - snmp-индекс интерфейса одного из внешних каналов сети, на котором ведется мониторинг трафика СПД. Обозначим через all_entrs количество записей, относящихся к посылке информации через канал N вовне, т. е. тех, для которых поле output_int=N. Пусть entrs_num (ip) -число всех записей, в которых хост c адресом ip выступал в качестве источника (src_addr = ip).
Зафиксируем два условия. Условие 1: будем рассматривать только те записи, в которых адрес источника (поле src_addr) принадлежит AS5387. Условие 2: будем считать хост с адресом ip кандидатом для дальнейшего рассмотрения, если (entrs_num (ip)* 100)/all_entrs >= 1, иными словами, если entrs_num (ip), составляет более 1 % от all_entrs.
Обозначим через dest_num (ip) количество различных ip-адресов получателей (поле dst_addr), для хоста ip, выступающего в качестве источника и удовлетворяющего условиям 1 и 2. Будем считать хост ip активным, если ((dest_num (ip)* 100)/entrs_num (ip) >= 60) и dest_num > min_dest_num. Иными словами, хост с адресом ip считается активным, если dest_num (ip) составляет не менее 60 % от entrs_num (ip) и величина dest_num больше некоторой константы.
Рис. 1. Пример отчета Vis
Скрипт, определяющий активные хосты, запускается диспетчером робота АСП по мере готовности файлов с записями и при наличии свободных вычислителей кластера. Параметрами скрипта являются имя файла и snmp-индекс интерфейса внешнего канала N.
Таблица профилей активности
Для активных хостов строится таблица профилей. В эту таблицу заносится информация о активных сетевых устройствах, обнаруженных в каждом периоде наблюдения. Каждая строка таблицы профилей имеет следующий вид:
channel i |date|time|src_addr|p1 |h1|...|pn|hn|dest_num (ip)
Содержимое полей профиля активности определено в табл. 3.
Формат записи файла с исходными данными
Таблица 2
Название поля Определение поля Пример
start Время (в мс от начала суток) получения первого пакета, вошедшего в эту запись 43030925
end Время (в мс от начала суток) получения последнего пакета, вошедшего в эту запись 43030925
src_addr Ip-адрес источника 64.76.23.46
src_org_num * Номер организации, которой принадлежит src addr (0 - не наша) 68
dst_addr IP-адрес получателя 213.180.204.36
dst_org_num * Номер организации получателя, которой принадлежит dst addr (0 - не наша) 0
input_int Snmp-индекс интерфейса, с которого был принят трафик 17
output_int Snmp-индекс интерфейса, на который был отправлен трафик 2
src port Номер порта источника 59910
dst port Номер порта получателя 80
service * Используемый сервис tcp-www
packets Количество пакетов, содержащихся в данной записи 6
octets Количество октетов, содержащихся в данной записи 866
Эти поля добавляются роботом при обработке файлов, сформированных коллектором.
Профиль хоста с IP-адресом src_addr
Таблица 3
Название поля Определение поля Пример
channel i Имя канала nsc-1
date Дата: год-месяц-число 2007-02-01
time Время: час: минута: секунда 16:30:00
src_addr ip-адрес хоста-источника 212.192.184.242
p1 Номер порта получателя 445
h1 Число хостов, получивших данные от хоста с адресом src addr на порт с номером p1 4786
... и так далее
pn Номер порта получателя 1755
hn Число хостов, получивших данные от хоста с адресом src addr на порт с номером pn 43
dest_num (ip) Суммарное число ip-адресов, по которым за период наблюдения обращался хост-источник 5072
В этой таблице строки с номерами портов - получателей данных упорядочены по неубыванию значений hL
Заключение
В статье сообщается о разработке двух новых компонент дляоп-line системы анализа сетевого трафика региональной СПД СО РАН. Они предназначены для наблюдения динамики использования протоколов и выявления активных сетевых устройств. Обе компоненты включены в состав инструментария робота АСП и расширяют его возможности в области качественного анализа сетевого трафика. Например, с помощью визуализатора можно обнаружить аномалии в графике распределения протоколов, которые зачастую указывают на несанкционированную деятельность. Дальнейшее исследование может быть осуществлено с помощью модуля АСП TopEntrs, который фиксирует «самые разговорчивые» пары клиентов. Анализ активности хостов позволяет выявить угрозы, идентифицирующиеся по номерам TCP/UDP-портов.
Пример обнаружения «больных» хостов. Образуем множество М2, содержащее следующие протоколы:
М2 = {loc-srv (135), netbios-ns (137), netbios-ssn (139), mrosoft-ds (445), ms-sql-s (1443),
ms-sql-m (1444)}.
Из таблицы профилей активных устройств выбираем те профили, значение поля pi которых совпадает с одним из номеров портов множества М2. Определим два условия: либо i = 1, либо hi / h2 > 100. Все выбранные профили проверяем на выполнение этих условий. Хост, чей профиль удовлетворяет этому из этих условий, будем считать «больным» (или «зомбированным»). Информацию о таких хостах почтовый автомат посылает системному администратору СПД.
Список литературы
Бредихин С. В., Ляпунов В. М., Щербакова Н. Г. Анализатор «сетевой погоды» // Вестн. Новосиб. гос. ун-та. Серия: Информационные технологии. 2005. Т. 2, вып. 1. С. 62-67.
СПД СО РАН. Сеть передачи данных Сибирского отделения РАН. Сеть Интернет Сибирского отделения РАН // Информационные материалы научно-координационного совета целевой программы «Информационно-телекоммуникационные ресурсы СО РАН» / Ин-т вычислительных технологий СО РАН. Новосибирск, 2005. 79 с.
Материал поступил в редколлегию 22.03.2008
S. V. Bredikhin, N. G. Scherbakova
Two Components for Network Traffic Analysis
This paper presents the information on development of two new components for high-performance system used for network traffic analysis of Internet SO RAN. They are designed for protocol dynamics observing and «active» network devices detecting. Both components are addded to the set of instruments used in «Network Weather Analyzer» and expand its capabilities in deep network traffic analysis.
Keywords: on-line network traffic analysis, protocols using visualization, anomalies detection, Round Robin Database, packet Fusion Charts.