Семинар «Виртуальные научные сообщества и технологии нечётких распределённых вычислений (Cloud Computing)» Разграничение доступа в IP-сетях на основе моделей состояния виртуальных соединений Александр Силиненко Санкт-Петербургский государственный политехнический университет Кафедра «Телематика» avs@rusnet.ru Таруса 04.02.2010 Содержание Актуальные аспекты задачи разграничения доступа в IP-сетях Терминология Постановка задачи Модели и подходы к решению задачи Программная реализация системы разграничения доступа в IP-сетях 2 Задача разграничения доступа к сетевым ресурсам Актуальность Широкое распространение сетей на основе стека протоколов TCP/IP Защита ресурсов IP-сетей от несанкционированного доступа и удалённых деструктивных воздействий Ограничение обращений пользователей к нежелательным сетевым ресурсам Существующие методы решения Логическое и физическое сегментирование IP-сети Логическое разграничение доступа, идентификация, аутентификация, авторизация Межсетевое экранирование и фильтрация: пакетные фильтры, инспекторы состояний, серверы-посредники Проблемные вопросы Тематическое разграничение доступа Атаки на сетевые сервисы, разрешённые политикой доступа 3 Виртуальные соединения в сетях передачи данных ГОСТ 26556-85 (X.25): виртуальное соединение – «одна из служб передачи данных с коммутацией пакетов, в которой процедура установления соединения и процедура завершения соединения определяют интервал времени для связи между двумя устройствами оконечного оборудования данных, во время которой в сеть передаются абонентские данные и доставляются из сети в том же порядке, в котором они были получены сетью» РД 45.195-2001 (ATM): виртуальное соединение – «логическая ассоциация объектов, работающих между конечными точками виртуального канала или тракта» В задаче разграничения доступа в IP-сети: виртуальное соединение (ВС) – информационное взаимодействие сетевых приложений, выполняющихся на различных узлах сети, посредством формирования одного- или двунаправленного потока IP-пакетов, а также логическая организация сетевых ресурсов, необходимых для обеспечения такого взаимодействия. 4 Виртуальные соединения и задача разграничения доступа в IP-сетях IP-сеть Узел X приложение i Узел Z Узел Y приложение j IP-пакеты Политика разграничения доступа для виртуальных соединений Виртуальное соединение Монитор безопасности Проактивный анализ Объекты Субъекты Выявление аномалий в виртуальных соединениях Реактивный анализ 5 6 Общая постановка задачи Для любого виртуального соединения (ВС) v, принадлежащего множеству ВС V, определить принадлежность v подмножеству Vо опасных ВС или подмножеству Vб безопасных ВС, где V=VоVб: Задача классификации: Опасные ВС Vо v1 v1 v2 v3 v4 1, если v Vо ; F (v ) 0, если v Vо . v3 v2 v5 … vi Множество ВС V Безопасные ВС Vб vi v4 v5 Цель Разработка подхода к решению задачи разграничения доступа в IP-сетях на основе скрытной фильтрации трафика с использованием формального описания виртуальных соединений и их анализа с целью определения соответствия политике доступа и выявления аномалий 7 Задачи Формализовать описание виртуального соединения для решения задачи разграничения доступа в IP-сетях. Предложить формальное описание политики доступа к сетевым ресурсам на основе множества правил фильтрации. Разработать модели состояния виртуальных соединений, учитывающие особенности транспортных протоколов в различных фазах межсетевого взаимодействия. Сформировать методику выявления атак типа «затопление» основе анализа статистических характеристик виртуальных соединений. Разработать архитектуру системы разграничения доступа в IP-сетях, которая обеспечивает скрытную фильтрацию трафика на основе предложенных моделей 8 Теоретико-множественная модель виртуального соединения Т – множество временных отсчётов P - множество IP-пакетов, P ={pi, i=1…|P|}, (дискретное время), Т ={ti, i=1..}, счётно конечно P p1 t1 t2 t1 p2 t2 p3 t3 9 p4 t4 p5 t5 t3 … pn … tn … Виртуальное соединение: v { pti }, i 1, N , N [1, ), vi P T : pti , pt j (i, j [1, N ]) { Asi , Adi } { Asj , Adj },{Bsi , Bdi } {Bsj , Bdj }, Ci C j , | ti t j | To где A – IP-адрес, B – номер порта, С – номер протокола, s – источник, d – приёмник tn … Вектор состояния виртуального соединения 10 v { pti }, i 1, N , N [1, ) v' Y { yk }, k 1, K , K Параметр yk Значение Параметр yk Значение Интерфейс клиента Eth0 Прикладной протокол HTTP Интерфейс сервера Eth1 Имя сайта www.mail.ru IP-адрес клиента 194.85.98.33 Байт от клиента 14005 IP-адрес сервера 217.69.128.42 Байт от сервера 28904 Транспортный протокол TCP Пакетов от клиента 159 Порт клиента 12890 Пакетов от сервера 211 Порт сервера 8080 Таймаут неактивности 86400 с Состояние транспортного протокола ESTABLISHED Имя запрошенного файла /htdocs/pics/Logo .png Номер последовательности TCP для клиента 4893726109 Номер последовательности TCP для клиента 4893726109 Номер подтверждения TCP для клиента 2389348534 Номер подтверждения TCP для клиента 2389348534 Время начала ВС 14.01.10 12:12:48.01 Метод GET Время последней активности 14.01.10 12:12:50.55 Мгновенная скорость 23 п/с Декомпозиция задачи классификации виртуальных соединений 11 Vо – множество опасных виртуальных соединений Vо=VозVоп Vоа, где: Vоз – виртуальные соединения, запрещённых политикой разграничения доступа R Vоп – виртуальные соединения, не соответствующие спецификациям G используемых протоколов; Vоа – виртуальные соединения, реализующие удалённые атаки 1, если vi Vоз ; F1 (Yi , R) 0, если vi Vоз . 1, если vi Vо ; F (vi ) 0, если vi Vо F1 (Yi , R); F (Yi , R, G ) F2 (Yi , G ); F (Y ). 3 i 1, если v Vоп ; F2 (Yi , G) 0, если v Vоп . 1, если v Vоа ; F3 (Yi ) 0, если v Vоа . Политика разграничения доступа к сетевым ресурсам на основе алгебры правил 12 R = <R, >: алгебра правил фильтрации Несущее множество R: R – множество правил фильтрации, R = {rj, j=1..|R|} rj = <Xj, Aj> – правило фильтрации, где Xj – вектор параметров правила Aj – вектор атрибутов правила Сигнатура алгебры : – множество операций = {φ1, φ2}, где φ1 – операция сложения φ2 – операция умножения Определение операций алгебры правил фильтрации 13 Сложение φ1 r3 r1 r2 { X 11, X 12 ,... X 1N , a11, A12 ,..., A1M } { X 21, X 22 ,... X 2 N , a21, A22 ,..., A2 M } { X 11 X 21,... X 1N X 2 N , a11 a21, A12 A22 ,..., A1M A2 M }, где A11 A21; r3 { X 11X 21,... X 1N X 2 N , a11 a21, A12A22 ,..., A1M A2 M }, где A11 A21, где Aj1 – атрибут действия правила фильтрации, Aj1 = 1 – разрешение доступа; Aj1 = 0 – запрет доступа Умножение φ2 r3 r1 * r2 { X 11, X 12 ,... X 1N , A11, A12 ,..., A1M }*{ X 21, X 22 ,... X 2 M , A21, A22 ,..., A2 M } r3 { X 11 X 21, X 12 X 22 ,... X 1N X 2 N , A11 A21, A12 A22 ,..., A1M A2 M } Обоснование корректности задания алгебры правил фильтрации Выполнение аксиом коммутативного кольца: Сложение Коммутативность: Ассоциативность: Существование нуля: Существование противоположного: r 1 + r 2 = r 2 + r1 r1 + (r2 + r3)= (r1 + r2) + r3 r 1 + 0 r = r1 , 0r {, ,..., A1 , ,..., }, где A1 0 r { X 1 , X 2 ,..., X N , A1 , A2 ,..., AM }, где A1 логическое отрицание A1 Умножение Коммутативность: Ассоциативность: Существование единицы: Сложение и умножение Дистрибутивность: r1 r2 = r2 r1 r1(r2r3)= (r1r2)r3 r11r= r1 1r {DX 1 , DX 2 ,..., DX N , A1 , DA2 ,..., DAM }, где A1 1 r1(r2 + r3)= r1r2 + r1r3 14 Соответствие виртуального соединения политике разграничения доступа, заданной в виде алгебры 15 Правило rj = <Xj, Aj>, где Xj={Xjn, n=1..N}, соответствует ВС Yi={yk,k=1..K}i, если ykYiXj и XnYiXj выполняется условие yi1Xj1, yi2Xj2, …, yilXjl, l=1..|YiXj| Правило rj в большей степени соответствует ВС Y, чем ri, если оба правила соответствуют ВС и выполняется одно из условий 1) Xi1 Xj1; 2) Xi1Xj1 Xi2 Xj2; 3) Xi1Xj1 Xi2Xj2 Xi3Xj3; … ; n) Xi1Xj1 Xi2Xj2 Xi3Xj3 … XiNXjN Правило rk* в наибольшей степени соответствует ВС, если его вектор параметров Xk удовлетворяет условию Xk1Xj1 Xk2Xj2 Xk3Xj3 … XkNXjN, j=1..k-1,k+1,…|R|. Функция соответствия виртуального соединения политике разграничения доступа 1 для rk (k {1.. | R |}), если Ak1 0, то есть vi Vоз (не соответствует) F1 (Yi , R) 0 для rk (k {1.. | R |}), если Ak1 1, то есть vi Vоз (соответствует) Модель состояния виртуального соединения по протоколу TCP в системе разграничения доступа 16 GTCP = (Q, B, , , qs) QTCP – множество состояний; ВTCP – входной алфавит (IP-пакеты и события таймеров); TCP (qi, pj) = qk – функция переходов; TCP (q,p,Y) – функция контроля соответствия пакета состоянию ВС qs – начальное состояние Модель состояния виртуального соединения UDP, ICMP в системе разграничения доступа G0 = (Q, B, , , qs) Q0 – множество состояний; В0 – входной алфавит (IP-пакеты и события таймеров); 0(qi, pj) = qk – функция переходов; 0(q,p,Y) – функция контроля соответствия пакета состоянию ВС qs – начальное состояние Функция соответствия виртуального соединения спецификации используемого протокола: 1, если (q, p, Yi ) 0 ( IP - пакет p vi не соответствует состоянию q, vi Vоп ), F2 (Yi , G) 0 если (q, p, Yi ) 1 ( IP - пакет p vi соответствует состоянию q, vi Vоп ). 17 Статистическое описание виртуальных соединений для задачи разграничения доступа Flood-атака Безопасные ВС - вероятность ошибки 1-го рода - вероятность ошибки 2-го рода < : уменьшаем вероятность пропуска атаки 18 Методика выявления flood-атак на основе оценки статистических параметров методом последовательного анализа 19 Распределение мгновенных интервалов для ВС апроксимируется ограниченным нормальным законом N(a,2) Гипотеза H0 – выборочное среднее соответствует распределению безопасного ВС Гипотеза H1 –выборочное среднее соответствует распределению для flood-атаки L0 ( yi1 , yi 2 ,..., yin ) 0 ( yi1 ) 0 ( yi 2 )... 0 ( yin ) L0, L1 - функция правдоподобия при условии L1 ( yi1 , yi 2 ,..., yin ) 1 ( yi1 )1 ( yi 2 )...1 ( yin ) справедливости гипотезы H0 и H1: L1 ( yi1 , yi 2 ,..., yin ) , Методика: L0 ( yi1 , yi 2 ,..., yin ) - вычислить очередное значение yij мгновенной интенсивности ВС vi; - вычислить отношение правдоподобия ; - вычислить функция F3(Yi) в соответствии с критерием Вальда. 1 , если (принимается гипотеза H 0 , vi Vоа ); 1 1 F3 (Yi ) 0, если (продолжение измерений); 1 1 1 если ( принимается гипотеза H1 , vi Vоа ). Архитектура системы разграничения доступа в IP-сетях Таблица векторов состояния текущих ВС 20 Параметры ВС Добавление ВС, параметры ВС Параметры ВС Преобразованный IP-пакет IP-пакет Диспетчер пакетов Правила фильтрации текущих ВС Выявление аномалий в протоколах Добавление правила при выявлении атаки Выявление flood-атак Правила фильтрации новых ВС Формирование Анализ прикладных протоколов Трансляция адресов IP-пакет без изменений Администратор безопасности Политика доступа Безопасность системы разграничения доступа обеспечивается за счёт выполнения условий скрытного функционирования: прозрачности и сохранения целостности обрабатываемых IPпакетов (если не выполняется трансляция адресов ) Программная реализация системы разграничения доступа Программно-аппаратный межсетевой экран ССПТ-2 Сертификаты соответствия требованиям ФСТЭК и ФСБ по 3-му классу защищённости Типовая схема включения ССПТ-2 21 Ключевые функциональные особенности межсетевого экрана ССПТ-2 Скрытный режим работы в сети («стелс») Максимальное число интерфейсов: 5 Управление: Ethernet, консоль, COM, WEB,командная строка Уровни фильтрации: канальный, сетевой, транспортный, прикладной Система визуализации регистрационной информации Режим высокой готовности Анализ параметров виртуальных соединений Трансляция сетевых адресов (NAT) Фильтрация по номеру VLAN Синхронизация времени по NTP Механизм блокировки flood-атак Аутентификация администратора по RADIUS Аутентификация сетевых пользователей Зеркалирование трафика 22 Пример таблицы векторов состояния виртуальных соединений номер правила фильтрации; таймаут неактивности интерфейс, IP-адрес, порт клиента интерфейс, IP-адрес, порт сервера транспортный протокол прикладной протокол состояние виртуального соединения статистика пакетов и байт 23 Сравнительная характеристика ССПТ-2 и межсетевых экранов Cisco Функции 24 Cisco ASA 5505 Cisco ASA 5510 Cisco ASA 5520 Cisco ASA 5540 НПО РТК, ССПТ-2 10, 50 или не ограничено Не ограничено Не ограничено Не ограничено Не ограничено Пропускная способность До 150 Мбит/с До 300 Мбит/с До 450 Мбит/с До 650 Мбит/с До 800 Мбит/с Количество соединений 10 000, 25 000* 50 000, 130 000* 280 000 400 000 50 000 4 000 9 000 12 000 25 000 7 000 8 портов 10/100 Мбит/с (включая 2 порта POE) 5 портов 10/100 Мбит/с, 2 порта 1000 Мбит/с + 3 порта 10/100 Мбит/с* 1 порт 10/100 Мбит/с + 4 порта 1000 Мбит/с 1 порт 10/100 Мбит/с + 4 порта 1000 Мбит/с 2 - 5 портов 10/100Мбит/с или 2 порта 10/100/1000 Мбит/с 3 без поддержки транков / 50/100* 150 200 Не применимо безадресный режим работы Количество пользователей/узлов виртуальных Количество новых соединений в секунду Количество фильтрующих интерфейсов Виртуальые (VLANs) интерфейсы Контексты безопасности (виртуальные МЭ), включено/максимум Отказоустойчивая конфигурация 0 2/5 2/20 2/50 Индивидуальная политика безопасности для каждого VLAN без ограничения количества активный/резерв ный без сохранения состояния и резервирование Не поддерживается; активный/активный и активный/резервны й* активный/активны йи активный/резервн ый активный/активн ый и активный/резерв ный активный/активный и активный/резервный Направления разработок Организация параллельной обработки виртуальных соединений Реализация новых алгоритмов обнаружения аномалий Внедрение механизмов формального описания протоколов для контроля корректности их использования 25