Содержание к диссертации
Введение
Глава 1. Методы и средства обеспечения информационной безопасности сетей 8
1.1. Системы обнаружения вторжений 10
1.1.1. История исследований в области обнаружения вторжений 11
1.1.2. Классификация систем обнаружения вторжений 13
1.2. Организация сетевого мониторинга 16
1.2.1. Методы и средства мониторинга вычислительных сетей 20
1.2.2. Мониторинг на основе SNMP 28
1.3. Анализ современных подходов к обнаружению аномалий 30
1.3.1. Актуальные проблемы систем обнаружения вторжений 35
1.3.2. Обоснование подхода к обнаружению аномалий 36
Выводы к главе 1 39
Глава 2. Разработка метода обнаружения аномалий 40
2.1. Методы и модели анализа временных рядов 40
2.1.1. Модели авторегрессии - скользящего среднего 41
2.1.2. Адаптивные модели экспоненциального сглаживания 44
2.1.3. Регулирование скорости реакции модели 53
2.2. Разработка адаптивного метода обнаружения аномалий 56
2.2.1. Общая структура метода 56
2.2.2. Предварительная обработка данных 58
2.2.3. Формирование профиля нормального функционирования 61
2.2.4. Расчет доверительных границ 62
Выводы к главе 2 68
Глава 3. Исследование адаптивного метода обнаружения аномалий
3.1. Эмпирическая проверка метода 70
3.2. Натурное моделирование аномалий 74
3.3. Метод моделирования аномалий 77
3.4. Оценка эффективности метода обнаружения аномалий 80
Выводы к главе 3 83
Глава 4. Реализация метода обнаружения аномалий 84
4.1. Требования к прототипу системы обнаружения вторжений 84
4.2. Выбор показателей функционирования компонентов сети передачи данных 86
4.3. Архитектура прототипа системы обнаружения вторжений
4.3.1. Компоненты системы 88
4.3.2. Подсистема сбора и хранения данных 90
4.3.3. Подсистема анализа данных 94
4.3.4. Подсистема настройки и управления 95
4.3.5. Формат базы данных конфигурации 96
4.3.6. Подсистема логирования 98
4.3.7. Подсистема регистрации аномалий 98
Выводы к главе 4 99
Заключение 100
Список литературы
- Классификация систем обнаружения вторжений
- Формирование профиля нормального функционирования
- Метод моделирования аномалий
- Выбор показателей функционирования компонентов сети передачи данных
Введение к работе
з
Актуальность исследования. В настоящее время наблюдается рост количества информационных угроз и факторов, приводящих к нестабильному функционированию сетей передачи данных (СПД). Предпосылками этого роста являются массовость применения, усложнение иерархии вычислительных сетей и увеличение их структурной сложности, увеличение гетерогенности программных и аппаратных средств, усложнение функциональности сетевых сервисов, приводящее к появлению разнообразных уязвимостей. В таких условиях разработка и совершенствование способов обнаружения информационных угроз в СПД приобретают большую важность. Одним из компонентов обеспечения информационной защиты сетей являются программные комплексы, предназначенные для обнаружения вредоносной или подозрительной активности - системы обнаружения вторжений (СОВ). СОВ решают задачи обнаружения аномалий в работе ключевых узлов СПД: маршрутизаторов, коммутаторов, серверов, АТС и другого телекоммуникационного оборудования.
Аномалии определяются как изменения показателей функционирования компонентов СПД, свидетельствующие об отклонениях от нормального режима работы, в частности, о вторжениях в СПД. Примерами показателей функционирования могут быть количество пакетов или байтов, принятых или отправленных портом оборудования в единицу времени, количество отброшенных входящих или исходящих пакетов в единицу времени, загрузка процессора и т.д. Это могут быть также производные величины, например, дисперсия количества входящих пакетов в единицу времени или коэффициент корреляции количества многоадресных пакетов в единицу времени на разных портах оборудования.
Внимание к данной области исследований имеет значительную историю. Теоретические и практические наработки, реализованные в закрытых решениях ведущих производителей сетевого оборудования (Cisco, Juniper, Huawei)
4 ограниченно применимы из-за дороговизны и сложности интеграции, а открытые продукты обладают недостатками, не позволяющими решать задачи своевременного и достоверного обнаружения аномалий. На этом основании, а также учитывая растущую публикационную активность в данной области, развитие методов и средств обнаружения аномалий следует признать актуальной задачей как в научном, так и в практическом отношении.
Целью работы является повышение информационной безопасности СПД за счет увеличения достоверности обнаружения аномалий в работе ключевых узлов СПД и уменьшения количества ложных срабатываний при автоматизации обнаружения аномалий.
Задачи исследования. Поставленная цель достигается решением следующих задач:
-
Анализ методов мониторинга и обнаружения информационных угроз передачи данных в вычислительных сетях.
-
Разработка метода построения профиля нормального функционирования (ПНФ) компонентов СПД на основе адаптивной модели временного ряда.
-
Разработка метода обнаружения аномалий в работе компонентов СПД на основе динамической оценки отклонений фактических значений показателей функционирования от ПНФ.
-
Разработка метода моделирования аномалий в функционировании СПД для оценки чувствительности методов обнаружения аномалий без проведения натурных экспериментов.
-
Экспериментальная проверка и оценка эффективности разработанных методов.
-
Программная реализация разработанных методов в виде прототипа СОВ. Методы исследования включают методы теории вероятностей и
математической статистики, теории вычислительных систем и сетей, теории информационной безопасности и защиты информации.
Объектом исследования являются сети передачи данных в части информационной безопасности. Предметом исследования являются методы
5 обнаружения аномалий функционирования компонентов СПД и реализация этих методов в СОВ.
Научная новизна результатов, полученных в диссертационной работе, заключается в следующем:
-
Разработан метод построения ПНФ компонентов СПД на основе адаптивной модели временного ряда, в качестве которой использована трехпараметрическая модель Уинтерса, отличающаяся от аналогичных моделей, описанных в публикациях по данному вопросу, использованием динамических параметров адаптации, и предложены способы введения обратной связи для корректировки ПНФ.
-
Разработан метод обнаружения аномалий в работе компонентов СПД, основанный, в отличие от методов, описанных в публикациях по данному вопросу, на динамической оценке отклонений фактических значений показателей функционирования от ПНФ.
-
Разработан метод моделирования аномалий в функционировании СПД для оценки чувствительности методов обнаружения аномалий без проведения натурных экспериментов.
Положения, выносимые на защиту:
-
Метод построения ПНФ показателей компонентов СПД на основе адаптивной модели временного ряда.
-
Метод обнаружения аномалий в работе компонентов СПД на основе динамической оценки отклонений фактических значений показателей функционирования от ПНФ.
-
Метод моделирования аномалий в функционировании СПД для оценки чувствительности методов обнаружения аномалий без проведения натурных экспериментов.
Практическая значимость работы. Применение предложенных методов в разработанных на их основе программных модулях при создании СОВ позволяет решать задачи своевременного и достоверного обнаружения аномалий в работе компонентов СПД. Это автоматизирует обнаружение
6 информационных угроз и приводит к повышению информационной безопасности СПД и более эффективной работе системных администраторов и специалистов по сетевой безопасности.
Реализация и внедрение результатов работы. Результаты диссертационной работы применяются при эксплуатации компьютерной сети ФГУП «НІШ «Сигнал». Результаты исследований внедрены в систему мониторинга и обнаружения вторжений одного из интернет-провайдеров Санкт-Петербурга - телекоммуникационной компании «ЮНИС». Результаты диссертационной работы были использованы в рамках исследований по гранту Министерства обороны Российской Федерации на тему «Разработка методов обнаружения и противодействия вторжениям в вычислительных сетях военного назначения». Результаты исследований применялись при выполнении НИОКР Фонда содействия развитию малых форм предприятий в научно-технической сфере «Разработка способа и системы адаптивного управления передачей потоковых данных». В ходе проведения исследований подана заявка и получен патент на изобретение № 2380839 «Способ адаптивного управления передачей потоковых медиаданных» (выдан 27.01.2010). Также результаты диссертационной работы внедрены в учебные курсы кафедры Мониторинга и прогнозирования информационных угроз СПбНИУ ИТМО по специализации «Математическое моделирование и прогнозирование информационных угроз» (090103.65) и направлению подготовки бакалавров и магистров 090900.67 «Информационная безопасность».
Апробация работы. Результаты диссертационной работы докладывались и обсуждались на 7 всероссийских и международных конференциях и семинарах. Работа поддержана грантом Министерства обороны Российской Федерации в составе НИОКР по «Разработке методов обнаружения и противодействия вторжениям в вычислительных сетях военного назначения».
Публикации. По теме диссертационной работы опубликовано 10 печатных работ, в том числе 5 статей в научных журналах и сборниках, 2 из
7 которых входят в перечень ведущих периодических изданий, рекомендованных ВАК. Получен патент на изобретение № 2380839.
Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения и списка литературы, включающего 107 наименования. Основная часть работы изложена на 111 страницах машинописного текста. Работа содержит 27 рисунков и 11 таблиц.
Классификация систем обнаружения вторжений
Существенным аспектом функционирования СОВ является применяемая в ней технология мониторинга компонентов СПД. Организация мониторинга компонентов СПД - сложная задача, которая должна решаться комплексно. Общее направление развития сетевых технологий ставит серьезные вопросы относительно информационной безопасности и управляемости СПД. Возрастает необходимость во всестороннем наблюдении за сетью, в том числе за работой сетевого оборудования, активностью пользователей и приложений.
Можно выделить следующие основные тенденции в области сетей передачи данных:
1. Увеличение количества локальных сетей. Растет количество офисных сетей, домашних сетей, домовых сетей, сетей провайдеров, а также происходит их интеграция, что в некоторых случаях приводит к усложнению иерархии сетей, к появлению неоптимальных топологий и множеству «узких» мест. На поведение трафика влияет также сегментация физических сетей с помощью технологии виртуальных локальных сетей (VLAN). Усложняется структура сетей, в результате чего становится труднее идентифицировать угрозы безопасности и выявлять неоптимальности конфигурации [4].
2. Рост скоростей в сетях передачи данных. Рынок широкополосного доступа непрерывно растет, в первую очередь за счет применения схемы FTTB, использующей технологию Ethernet [52]. ADSL постепенно уступает рынок, так как скорость доступа в локальных сетях существенно выше. Высокая скорость необходима для качественного оказания услуг передачи потового аудио или видео. ADSL судя по всему будет менее популярным, чем сети на основе FTTB. Инициатива Gigabit to Desktop предполагает, что абоненты в ближайшем будущем будут подключаться к сети на скорости 1 Гбит/с вместо сегодняшних 100 Мбит/с. Исследование проблем мониторинга и прогнозирования поведения трафика в сетях на основе Ethernet более актуально и востребовано, особенно принимая во внимание тот факт, что на основе Ethernet строятся сети не только масштаба предприятия, но и городского масштаба (Metro Ethernet) [52]. Распространение получают также сети на основе высокочастотной радиосвязи, которые удается легко совмещать с Ethernet-сетями. 3. Увеличение доли мультимедийного трафика. Постепенно понятие «мультисервисная сеть» распространяется и на обычные сети, по которым передаются аудио и видео данные. Обеспечение надежной доставки мультимедийного трафика сейчас успешно решается в ядре сети с помощью применения таких технологий, как Cisco Video САС, Visual Quality Experience и других, реализованных в различных коммерческих продуктах, однако мониторинг и контроль качества на границе сети и на участке последней мили затруднен. Очевидно, что роль сдерживающего фактора играет дороговизна оборудования, поддерживающего сквозной контроль качества на всем протяжении маршрута передачи мультимедийной информации. Приложения, генерирующие мультимедийный трафик, такие, например, как IP-телефония, видеоконференцсвязь, видео мониторинг в системах безопасности или дистанционное медицинское обслуживание, чувствительны к перегрузкам в сети. В IP-сетях на основе Ethernet, в отличие от ATM или Frame Relay, доставка дейтаграмм осуществляется по принципу best effort, что может приводить к искажениям и задержкам звука и изображения. Тем не менее, производители оборудования и разработчики протоколов и кодеков прикладывают значительные усилия, для того, чтобы защититься от перегрузок [63]. Несмотря на значительно выросшие скорости и применение многоадресной адресации {multicast addressing) и других технологий, нагрузка на сеть, вызванная передачей мультимедийной информации, будет постоянно увеличиваться. Следовательно, будут увеличиваться количество угроз стабильности функционирования сети и сетевых сервисов. 4. Рост гетерогенности аппаратных и программных средств. На рынке представлено активное управляемое и неуправляемое сетевое оборудование для локальных сетей различных производителей аппаратных средств. Многие аспекты работы устройств не оговариваются открытыми стандартами и отданы на откуп производителю, что приводит к неустойчивому совместному функционированию устройств разных производителей и сложностям настройки, что в свою очередь создает угрозу безопасности [36].
СПД может обладать рядом структурных и функциональных особенностей в зависимости от области применения. Большая часть СПД, входящих в состав крупных сетей, представляет собой локальные вычислительные сети (ЛВС), построенные с помощью технологии Ethernet. В современной ЛВС масштаба предприятия или сети провайдера последней мили можно выделить три уровня: 1. Уровень доступа {access layer). 2. Уровень распределения (distribution layer). 3. Ядро сети (core). Коммутаторы уровня доступа предоставляют порты конечным пользователям (скорость от 10 Мбит/с до 1 Гбит/с), образуют виртуальные локальные сети. Соединения между уровнем доступа и уровнем распределения могут быть выполнены каналами Gigabit Ethernet или 10 Gigabit Ethernet. Коммутаторы уровня распределения связывают блоки второго уровня (кварталы, районы) по высокоскоростным каналам с ядром, охватывающим всю сеть L3 коммутацией. На уровне ядра выполняются маршрутизация внешнего трафика, шейпирование, трансляция сетевых адресов, фильтрация и учет трафика. Возможно совмещение нескольких логических уровней, например Access/Distribution или Distribution/Core в одном физическом устройстве.
Формирование профиля нормального функционирования
Сформулируем метод обнаружения аномалий в работе компонентов СПД в виде этапов, которые выполняются системой анализа. Под системой анализа будем понимать в данном случае модель соответствующего программного компонента, предназначенного для работы с одним временным рядом. Система анализа может находиться в состояниях, отражающих текущее состояние показателя функционирования компонента СГТД: «нормальный участок ряда», «возможное начало аномалии», «аномальный участок ряда», «возможное завершение аномалии». Теперь рассмотрим этапы метода обнаружения аномалий: 1. Инициализация системы анализа, формирование набора критериев проверки на аномальность, задание предельного количества отсчетов с недопустимыми значениями Nw, предельного количества аномальных отсчетов NA, предельного количества «нормальных» (типичных) отсчетов после аномального участка NG и других переменных. Система анализа переводится в состояние «нормальный участок». 2. Предварительная обработка данных. Система может быть настроена на буферизацию некоторого количества отсчетов для устранения эффекта неравномерности поступающих данных. Выполняется интерполяция отсчетов для получения ряда равноотстоящих значений. Некоторые отсчеты могут отсутствовать (оборудование не ответило на запрос). Либо вследствие каких-либо ошибок могут быть получены заведомо недопустимые отсчеты. Если это первый отсчет такого рода, система переводится в состояние «участок возможного начала аномалии».
Инициируются соответствующие действия. Если их больше yv„, подряд, то система переводится в состояние «аномальный участок» и формируется соответствующее предупреждение. Если следующий отсчет получен и является допустимым, то система переводится в состояние «нормальный участок». 3. Проверка отсчета на принадлежность интервалу, исключенному из анализа. Такие интервалы могут быть заданы вручную, например, на этапе подготовки данных для обучения системы анализа. 4. Консолидация данных. В случае, если требуется уменьшить количество отсчетов в ПНФ (например, при высокой частоте опроса), выполняется консолидация к последних отсчетов путем вычисления взвешенного среднего „г,Л(0 = 2аЛ где aj весовые коэффициенты. 5. Классификация периода, которому принадлежит отсчет, для включения отсчета в соответствующий ПНФ. Система анализа может включать несколько ПНФ для периодов разного типа, например, формировать разные ПНФ для рабочих и выходных дней. 6. Проверка отсчета на выход за доверительные границы. Если по совокупности критериев, связанных с ПНФ, отсчет выходит за доверительные границы, то система переводится в состояние «участок возможного начала аномалии». Инициируются соответствующие действия. Если подряд получено NA аномальных отсчетов или количество полученных подряд аномальных и недопустимых (возможно, вперемешку) отсчетов превышает max{NA,Nw}, система переводится в состояние «аномальный участок» и формируется соответствующее предупреждение. Если система находилась в состоянии «аномальный участок» и очередной отсчет не является аномальным по совокупности критериев, связанных с ПНФ, то выполняется переход в состояние «участок возможного завершения аномалии», после чего при получении подряд NG нормальных отсчетов система переводится в состояние «нормальный участок». 7. Обновление базы шаблонов аномалий. Отсчеты, отнесенные к аномальным участкам ряда, вместе с отсчетами, отнесенными к участкам возможного начала аномалии и участкам возможного окончания, сохраняются в специальном хранилище для последующего анализа и параметрической идентификации. 8. Обновление ПНФ. Если отсчет не выходит за доверительные границы, то он обрабатывается методом формирования ПНФ по правилам, описанным ранее.
Теперь рассмотрим некоторые из этих этапов подробнее. При работе с временными рядами необходимо, чтобы значения ряда отстояли друг от друга на одинаковые промежутки времени (имели выровненные временные интервалы). При опросе устройств возможны задержки по различным причинам, поэтому исходный ряд должен быть интерполирован в новый, с равноотстоящими значениями.
В зависимости от потребностей анализа для ряда может понадобиться вычислить точечные оценки и характеристики динамики. Они позволяют получить представление об особенностях исследуемого показателя и перспективности использования более глубоких методов анализа. К наиболее часто используемым точечным характеристикам относятся: средний уровень ряда; среднее арифметическое по ограниченному числу наблюдений; размах вариации; среднее линейное отклонение; дисперсия и несмещенная дисперсии; СКО и несмещенное СКО; ошибка репрезентативности; коэффициент осцилляции; относительное линейное отклонение; коэффициент вариации; начальные, центральные и условные моменты первого и более высоких порядков; показатель асимметрии распределения; показатель эксцесса и его несмещенная оценка и СКО.
Характеристики динамики ряда бывают индивидуальные (частные) и сводные (обобщающие). Первые три из указанных ниже характеристик можно рассчитать двумя способами в зависимости от применяемой базы сравнения. База сравнения может быть постоянной или переменной. Соответственно, можно рассчитать базисные или цепные характеристики динамического ряда. К наиболее часто используемым индивидуальным показателям интенсивности изменения явления относятся:
Метод моделирования аномалий
После завершения цикла опроса устройств с одним и тем же периодом опроса idspolld отправляет сообщение подсистеме анализа данных, после чего новые данные могут использоваться модулями анализа данных.
БД первичной статистики в прототипе СОВ организована следующим образом: каждому ряду данных присваивается уникальный идентификатор (Universally Unique IDentifier, UUID) - 128 битное число вида 0XE87F9CF6E1C811DF820DF7CB1F3B9590. Ряд данных представляет собой последовательность данных, связанную с определенным показателем (например, SNMP-счетчиком), полученную с конкретного порта или сетевого интерфейса конкретного сетевого устройства. Каждый ряд данных хранится в отдельном файле, информация о связи ряда данных с UUID OM хранится в БД конфигурации. Поддерживаются несколько форматов файлов данных -sqlite, plain text и binary. В каждом случае сохраняются временная метка и значение показателя. Формат хранилища данных оказывает влияние на быстродействие системы, поэтому при переходе от макета СОВ к полноценной системе, рассчитанной на высокие нагрузки, формат хранилища будет изменен. Поскольку методы доступа к хранилищу локализованы в отдельном модуле IDS::DataAccess, смена формата не окажет влияния на остальные части системы.
Компоненты СОВ и сторонние программы могут получить доступ к БД первичной статистики либо с помощью модуля IDS::DataAccess, либо с помощью программы stool, предназначенной для манипуляций с рядами данных, хранящимися в БД первичной статистики. Программа stool, используя средства модуля IDS ::TimeSeriesAnalysis, позволяет прочитать, записать и преобразовать данные рядов, выполнив трансформацию и/или интерполяцию значений ряда, вычислить функции (характеристики) ряда: точечные сводные оценки, индивидуальные и сводных характеристики динамики рядов.
Данные счетчиков, которые подсистема сбора данных получает от устройств, могут значительно различаться в зависимости от типа устройств и типа счетчиков. В случае SNMP-счетчиков данные представляют собой целые беззнаковые числа разрядностью 32 и 64 бита. Значения некоторых показателей можно использовать непосредственно, значения некоторых нуждаются в предварительной обработке. Так, например, скорость потока данных в байтах в секунду на определенном порту не может быть получена от устройства в явном виде, вместо этого можно получить значения SNMP-счетчика .1.3.6.1.2.1.2.2.1.16.x (количество переданных байт, где х - номер порта) v,,v2,...,v„ в моменты времени tl,t2,...,tn. В случае, когда приходится иметь дело со счетчиками такого типа, есть два решения: 1. Сохранять в базе данных исходные значения, а при считывании преобразовывать их в нужную функцию (например, скорость). 2. Сохранять в базе данных не исходные, а вычисленные значения (например, значения скорости в каждый момент времени). У каждого из подходов есть свои достоинства и недостатки. Достоинством первого является быстрая запись в хранилище (в случае использования формата plain text - просто дозапись в файл), недостатком - необходимость при каждом считывании выполнять преобразование данных. Достоинством второго является отсутствие необходимости преобразования данных при считывании, однако больше времени тратится при записи. Еще одним недостатком является то, что при втором подходе исходные данные не сохраняются (хотя их и можно восстановить по преобразованному ряду).
В подсистеме хранения данных прототипа СОВ реализованы оба подхода к хранению данных. В отдельных случаях первый подход предпочтительнее. Это объясняется, во-первых, необходимостью обеспечить минимальное время записи полученных в результате опроса данных (для того, чтобы можно было использовать как можно более короткий период опроса), во-вторых, тем фактом, что количество SNMP-счетчиков, требующих преобразования, невелико по сравнению с общим количеством счетчиков.
В случае первого подхода при сохранении данных ряда в БД первичной статистики не производится никакой обработки, полученные значения в формате «временная_метка:значение» записываются в файл, идентифицируемый UUID OM ряда. При последующем извлечении при необходимости выполняется преобразование ряда. Во втором случае преобразование осуществляется сразу. Например, в случае, когда нужно получить скорость, выполняется преобразование
При работе с временными рядами необходимо, чтобы значения ряда отстояли друг от друга на одинаковые промежутки времени. При опросе устройств возможны задержки по различным причинам, поэтому исходный ряд должен быть интерполирован в новый, с равноотстоящими значениями. Выполняется линейная интерполяция:
Выбор показателей функционирования компонентов сети передачи данных
Для того, чтобы иметь возможность анализа данных, необходимо организовать мониторинг источников данных и сохранение полученной статистики в хранилище. Подсистема сбора и хранения данных решает следующие задачи:
Опрос источников данных заданным способом с заданным периодом. Множество источников разбивается на группы по длительности периода опроса.
Сохранение полученных данных в заданном формате в заданном хранилище и удаление устаревших данных из хранилища заданным методом.
Основной частью подсистемы сбора и хранения данных (рис. 4.2) является сервисное приложение (демон) idspolld. При запуске idspolld считывает настройки из БД конфигурации, после чего для каждого узла сети определяет, какие счетчики нужно опрашивать. При этом учитываются тип устройства, его модель, связанные с устройством, моделью и типом шаблоны счетчиков.
В настоящее время реализован опрос устройств по протоколу SNMP v2 с помощью модуля Net::SNMP. В настройках пользователь системы должен указать community string для каждого опрашиваемого устройства.
После завершения цикла опроса устройств с одним и тем же периодом опроса idspolld отправляет сообщение подсистеме анализа данных, после чего новые данные могут использоваться модулями анализа данных.
БД первичной статистики в прототипе СОВ организована следующим образом: каждому ряду данных присваивается уникальный идентификатор (Universally Unique IDentifier, UUID) - 128 битное число вида 0XE87F9CF6E1C811DF820DF7CB1F3B9590. Ряд данных представляет собой последовательность данных, связанную с определенным показателем (например, SNMP-счетчиком), полученную с конкретного порта или сетевого интерфейса конкретного сетевого устройства. Каждый ряд данных хранится в отдельном файле, информация о связи ряда данных с UUID OM хранится в БД конфигурации. Поддерживаются несколько форматов файлов данных -sqlite, plain text и binary. В каждом случае сохраняются временная метка и значение показателя. Формат хранилища данных оказывает влияние на быстродействие системы, поэтому при переходе от макета СОВ к полноценной системе, рассчитанной на высокие нагрузки, формат хранилища будет изменен. Поскольку методы доступа к хранилищу локализованы в отдельном модуле IDS::DataAccess, смена формата не окажет влияния на остальные части системы.
Компоненты СОВ и сторонние программы могут получить доступ к БД первичной статистики либо с помощью модуля IDS::DataAccess, либо с помощью программы stool, предназначенной для манипуляций с рядами данных, хранящимися в БД первичной статистики. Программа stool, используя средства модуля IDS ::TimeSeriesAnalysis, позволяет прочитать, записать и преобразовать данные рядов, выполнив трансформацию и/или интерполяцию значений ряда, вычислить функции (характеристики) ряда: точечные сводные оценки, индивидуальные и сводных характеристики динамики рядов.
Данные счетчиков, которые подсистема сбора данных получает от устройств, могут значительно различаться в зависимости от типа устройств и типа счетчиков. В случае SNMP-счетчиков данные представляют собой целые беззнаковые числа разрядностью 32 и 64 бита. Значения некоторых показателей можно использовать непосредственно, значения некоторых нуждаются в предварительной обработке. Так, например, скорость потока данных в байтах в секунду на определенном порту не может быть получена от устройства в явном виде, вместо этого можно получить значения SNMP-счетчика .1.3.6.1.2.1.2.2.1.16.x (количество переданных байт, где х - номер порта) v,,v2,...,v„ в моменты времени tl,t2,...,tn. В случае, когда приходится иметь дело со счетчиками такого типа, есть два решения: 1. Сохранять в базе данных исходные значения, а при считывании преобразовывать их в нужную функцию (например, скорость).
2. Сохранять в базе данных не исходные, а вычисленные значения (например, значения скорости в каждый момент времени).
У каждого из подходов есть свои достоинства и недостатки. Достоинством первого является быстрая запись в хранилище (в случае использования формата plain text - просто дозапись в файл), недостатком - необходимость при каждом считывании выполнять преобразование данных. Достоинством второго является отсутствие необходимости преобразования данных при считывании, однако больше времени тратится при записи. Еще одним недостатком является то, что при втором подходе исходные данные не сохраняются (хотя их и можно восстановить по преобразованному ряду).
В подсистеме хранения данных прототипа СОВ реализованы оба подхода к хранению данных. В отдельных случаях первый подход предпочтительнее. Это объясняется, во-первых, необходимостью обеспечить минимальное время записи полученных в результате опроса данных (для того, чтобы можно было использовать как можно более короткий период опроса), во-вторых, тем фактом, что количество SNMP-счетчиков, требующих преобразования, невелико по сравнению с общим количеством счетчиков.
В случае первого подхода при сохранении данных ряда в БД первичной статистики не производится никакой обработки, полученные значения в формате «временная_метка:значение» записываются в файл, идентифицируемый UUID OM ряда. При последующем извлечении при необходимости выполняется преобразование ряда. Во втором случае преобразование осуществляется сразу. Например, в случае, когда нужно получить скорость, выполняется преобразование
При работе с временными рядами необходимо, чтобы значения ряда отстояли друг от друга на одинаковые промежутки времени. При опросе устройств возможны задержки по различным причинам, поэтому исходный ряд должен быть интерполирован в новый, с равноотстоящими значениями. Выполняется линейная интерполяция: