Конфигурируемая модульная система мониторинга поведения транспортного протокола на уровне ядра операционной системы В. А. Пономарев О. Ю. Богоявленская.

Презентация:



Advertisements
Похожие презентации
Планирование мощности и мониторинг TCP соединений Ю. А. Богоявленский О. Ю. Богоявленская В. А. Пономарев ybgv, olbgvl, Петрозаводский.
Advertisements

Имитационные модели корпоративных сетей передачи данных Анатолий Чернов группа С
Сложностные характеристики статистических скрытых каналов Автор: Свинцицкий Антон Игоревич Факультет вычислительной математики и кибернетики Московского.
Криптографический шлюз К -. Основные возможности АПК Континент-К Шифрование и имитозащита данных, передаваемых по открытым каналам связи; Защита внутренних.
Архитектура операционных систем. Архитектура ОС Состав модулей (компонент) ОС Структура связей между отдельными модулями ОС Принципы взаимодействия модулей.
Архитектура операционных систем Семестр 2, Лекция 1.
Стеки протоколов Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
Сети и системы телекоммуникаций Управление потоком и перегрузкой в TCP ИМКН УрФУ.
Процессы и протоколы в сети. Модель сетевых коммуникаций OSI Прикладной Представления Сеансовый Транспортный Сетевой Канальный Физический 7 уровней.
Многоуровневое мандатное управление доступом в многооконной графической среде ОС класса Linux Авторы: к.т.н., доцент Д. В. Ефанов * аспирант кафедры 36.
Протокол UDP Сети и системы телекоммуникаций Созыкин А.В.
Программное обеспечение как услуга (SaaS) Подготовлено для сайта SaaSCatalog.ru.
Администрирование информационных систем Активное сетевое оборудование.
1 Диаграммы реализации (implementation diagrams).
Докладчики: Кирилл Кулаков, Михаил Крышень, Андрей Ананьин Организация: Петрозаводский государственный университет, каф. Информатики и математического.
Обзор операционных систем ВОУНБ им. М. Горького «Операционная система - это совокупность программ, обеспечивающих управление процессом обработки информации.
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
Криптографический шлюз К -. Типовая корпоративная сеть Проблемы: Возможность вторжения из открытой сети Возможность вторжения из открытой сети Возможность.
Дисциплина: Операционные системы § 7. Организация памяти компьютера План: 1.Физическая память компьютера. 2.Логическая память компьютера. 3.Функции системы.
Нагрузочное тестирование информационных систем с использованием облачных вычислений Исполнитель: Макрушин Д.Н. Руководитель: д.т.н., проф. Запечников С.В.
Транксрипт:

Конфигурируемая модульная система мониторинга поведения транспортного протокола на уровне ядра операционной системы В. А. Пономарев О. Ю. Богоявленская Ю. А. Богоявленский Петрозаводский Государственный Университет

2 Введение Перехват сетевого трафика используется при организации мониторинга сети, учета трафика, выяснении способов несанкционированного воздействия, решении исследовательских задач Существует большое количество утилит для перехвата сетевого трафика: tcpdump, wireshark (бывший Ethereal), netfilter ULOG + fprobe-ulog и т.д.

3 Введение Для решения некоторых исследовательских задач, а также при несанкционированных воздействиях, подобных описанным в Alexandar Kuzmanovic, Edward W. Knightly, Low-Rate TCP-Targeted Denial of Service Attacks (The Shrew vs. The Mice and Elephants), ACM SIGCOMM 2003, требуется доступ к внутренним переменным ядра ОС Традиционные утилиты перехвата трафика не предоставляют такую возможность

4 Введение SystemTap (Red Hat, IBM, Intel, Hitachi, Oracle): предоставляет возможность доступа к внутренним данным ядра, слишком громоздкая, высокие накладные расходы, нет возможности интеграции с существующими утилитами перехвата трафика

5 Первая версия GetTCP На МаБИТ 2006 авторами была представлена первая версия системы перехвата GetTCP GetTCP позволяет получать локализованные в ядре ОС Linux данные о состоянии внутренних переменных, отражающих поведение соединений TCP Приняты меры для уменьшения накладных расходов

6 Реализация TCP/IP ОС Linux Первая версия GetTCP пользовательское пространство GetTCP (польз.) Приложение ядро TCP IP канальный уровень GetTCP (ядро) GetTCP

7 Первая версия GetTCP Система успешно применялась для сбора данных, необходимых для проверки адекватности модели TCP (труды международного семинара DCCN 2007) Вместе с тем, первоначальный вариант системы GetTCP обладал рядом недостатков Отсутствие полноценной библиотеки пользовательского уровня, обеспечивающей доступ к возможностям системы Необходимость перекомпиляции ядра

8 Получение управления Для получения внутренних данных ядра ОС часть системы должна действовать в адресном пространстве ядра и получать управление при отправлении каждого сегмента TCP, дейтаграммы IP и т.п. В первой версии в исходный код ядра ОС Linux, осуществляющий передачу сегмента TCP, была добавлена передача управления системе GetTCP

9 Получение управления В современном ядре ОС Linux существует возможность динамической установки «контрольных точек» Kprobes Была исследована одна из разновидностей: Jprobes Выяснилось, что получение управления с использованием Jprobes на тестовой ЭВМ требует минимум 3185 тактов процессора, что составляет около 1мкс

10 Получение управления В первой версии системы GetTCP накладные расходы в 94.02% случаев не превышали 0.3 мкс (на той же самой тестовой ЭВМ). Было принято решение отказаться от использования Kprobes Kernel markers: включен в «официальное» ядро ОС Linux начиная с версии Для получения управления с помощью kernel markers требуется 138 тактов процессора (около 0.05 мкс)

11 Получение управления Было принято решение об использовании механизма kernel markers Необходимость внесения изменений в исходный код ядра и последующей перекомпиляции ядра были признаны неизбежными т.к. доступные механизмы, не требующие перекомпиляции (Kprobes) приводят к недопустимому увеличению накладных расходов

12 Архитектура Состояния системы и переходы между ними, обработка команд Перехват данных Передача данных на пользовательский уровень Профилирование Модули, реализующие функциональные возможности Модуль управления Ядро ОС Пользовательское адресное пространство Библиотека libgettcp Программный интерфейс

13 Состояния Конфигурация Канал передачи данных на пользовательский уровень Профилирование IPTCP IPTCP

14 Реактивность Передавался максимально возможный объем данных за фиксированный интервал времени (120 секунд) при фиксированном размере сегмента (50 байт) Для 94% сегментов задержка не превышает 1 мкс

15 Реактивность

16 Результаты и текущее состояние По сравнению со старой версией улучшена архитектура и реализация части системы, действующей в адресном пространстве ядра Реализована библиотека libgettcp, предоставляющая доступ к возможностям системы Выполнена модификация утилиты fprobe- ulog для работы с использованием библиотеки libgettcp

17 Результаты и текущее состояние Уточняются накладные расходы, возникающие при работе системы, для различного оборудования и условий работы Идет тестирование и отладка Возможно применение в качестве инструментального средства для решения задач безопасности