Министерство образования и науки Российской Федерации Санкт-Петербургский государственный университет информационных технологий, механики и оптики Факультет информационных технологий и программирования Кафедра компьютерных технологий Техническое задание на разработку методики оценки демаскирующей возможности трафика в задачах технической разведки Дисциплины: «Технологии телекоммуникаций», «Защита информации» Авторы: Дмитрий Паращенко, гр. 5538 Федор Царев, гр. 5538 Санкт-Петербург 2007 1. Введение В настоящем документе описываются требования к методике оценки демаскирующей возможности трафика в задачах технической разведки и используемые математические модели. Описываемый проект выполняется в рамках дисциплин «Технологии телекоммуникаций» и «Защита информации». Параметры трафика приложений характеризуются индивидуальными особенностями, позволяющими в той или иной степени делать предположения о функциональных задачах ЛС - объектов разведки. В задании требуется разработать: - модель ложного трафика в канале связи на основе адаптивного алгоритма с заданными ограничениями на пропускную способность технического канала - модель трафика приложений, оптимальную с точки зрения технической разведки (при заданных предположениях на допустимую загрузку каналов связи). - методику определения вероятности правильной идентификации приложения по наблюдаемым параметрам трафика на заданном временном интервале. - интерактивную программу, выполняющую необходимые расчеты. 1.1. В Модель взаимодействия компьютеров настоящей работе рассматривается клиент-серверное взаимодействие компьютеров. Этот выбор обусловлен тем, что системы «клиент-сервер» наиболее часто используется, что делает их наиболее частым объектом технической разведки. При этом предполагается, что трафик защищен шифратором. В наиболее простом случае 2 рассматривается сеть, состоящая из одного сервера и одного клиента (рис. 1). Сервер Технический канал Клиент Рис. 1. Взаимодействие клиент-сервер Таким образом, первой задачи работы является разработка указанной выше методики для случая одного клиента и одного сервера. В более сложном случае в сети присутствуют несколько клиентов. В этом случае предлагается анализировать трафик между сервером и каждым из клиентов отдельно, а затем комбинировать результаты. В этом случае необходимо применять методы теории вероятностей для оценки правдоподобности результатов. 1.2. Параметры трафика Перечислим параметры трафика, которые будут подвергаться анализу: длины пакетов; длительности межпакетных интервалов; код приоритета трафика (в IP протоколе он кодируется в поле ToS). В силу того, что трафик зашифрован, единственным методом его анализа является статистический анализ. Для этого предлагается применять методы распознавания образов и кластеризации [1, 2]. Для этого на некоторых временных отрезках записывается зависимость интенсивности и направления передачи трафика от времени. Эти функции 3 далее преобразуются к виду, удобному для применения указанных методов. Далее возможны два сценария их применения. В первом из них функции на разных временных отрезках сравниваются между собой и подвергаются кластеризации. Это позволяет выделить группы (кластеры) отрезков таким образом, что на протяжении всех отрезков из одной группы с большой вероятностью трафик порождало одно и то же приложение. Во втором из них функции зависимости трафика от времени сравниваются с некоторыми известными заранее образцами. Методы распознавания образов, как правило, позволяют получить оценку вероятности того, что функция соответствует образцу. Таким образом, имеется возможность оценить достоверность полученных данных. Некоторые 1.3. способы противодействия описанным методам Для защиты от статистического анализа трафика необходимо постоянно поддерживать параметры трафика (например, уровень загруженности канала) на одном и том же уровне. Один из способов реализовать эту идею – использовать специальную программу, которая будет в реальном времени анализировать трафик и при необходимости генерировать ложный трафик. При этом пакеты, относящиеся к ложному трафику не должны быть одинаковыми, так как большое количество одинаковых пакетов не является типичным. Главный недостаток этого метода состоит в том, что канал постоянно загружен, и большая часть его пропускной способности тратиться на не несущий полезной информации ложный трафик. 4 1.4. Структура разрабатываемой программы Разрабатываемая программа должна состоять из двух частей: модуля, имитирующего канал передачи данных с сервером и клиентом, и анализатора, реализующего алгоритм распознавания трафика. Во втором модуле должны быть реализован предлагаемый алгоритм (описан далее). Модуль, соответствующий каналу передачи данных, должен поддерживать несколько режимов генерации трафика, соответствующих моделированию работы различных приложений. 1.5. Предлагаемый метод Основной идеей предлагаемого метода является использование скрытых Марковских моделей [3, 4]. Как и любой метод, связанный с распознаванием образов, предлагаемый подход состоит из двух этапов: обучения модели и классификации трафика с использованием обученной модели. Скрытая Марковская модель – это статистическая модель, в которой предполагается, что система является Марковским процессом, параметры которого неизвестны. При этом измерению подвергаются так называемые наблюдаемые параметры (рис. 1). Рис. 2. Скрытая Марковская модель 5 На рис. 2 как X1, X2, X3 обозначены состояния Марковской цепи, как aij – вероятности переходов между состояниями, как y1, y2, y3, y4 – наблюдаемые параметры, как bij – вероятности наблюдения параметров в зависимости от состояния. В качестве наблюдаемых параметров будут выступать длины пакетов и длительности межпакетных интервалов. Выбор Марковской цепи как модели программы, осуществляющей прием и передачу пакетов, обоснован тем, что скрытые Марковские модели успешно применяются в задачах распознавания речи, а также тем, что Марковская цепь содержит состояния, а понятие состояния часто является удобным для описания взаимодействий по сети. Например, на основе состояний описывают поведение некоторых сетевых протоколов. Так длины пакетов и длительности межпакетных интервалов могут принимать практически произвольные числовые значения, то их использование напрямую в качестве наблюдаемых параметров скрытой Марковской модели затруднительно. Поэтому предлагается предварительно выполнять их кластеризацию. Поясним более формально. Пусть обучение модели производится с помощью последовательности пакетов, имеющих длины L1, L2, …, Ln, а длительности межпакетных интервалов между ними равны T1, T2, …, Tn-1. В начале производится кластеризация длин пакетов и длительностей межпакетных интервалов, то есть каждое из множеств L1, L2, …, Ln и T1, T2, …, Tn-1 разбивается на группы (кластеры), внутри которых числа достаточно близки друг к другу. Для этого используется любой алгоритм кластеризации [1, 2]. При использовании некоторых алгоритмов количество кластеров необходимо задавать заранее, другие же сами его определяют. Обозначим количество кластеров в множестве длин как пакетов k, а в множестве длительностей межпакетных интервалов – как m. Будем считать, что кластеры множества длин пакетов пронумерованы натуральными числами от 0 до k-1, а кластеры в множестве длительностей – числами от k до k+m-1. 6 После кластеризации вместо чередующейся последовательности L1, T1, L2, T2, …, Ln-1, Tn-1, Ln мы имеем чередующуюся последовательность номеров кластеров y1, y2, …, y2n-1, в которой элементы, стоящие на нечетных позициях соответствуют длинам пакетов, а на четных – длительностям межпакетных интервалов. Далее, с помощью последовательности алгоритма наблюдаемых Баума-Велча параметров [4] обучается по этой скрытая Марковская модель. Итого, модель трафика состоит из Марковской цепи, полученной с помощью алгоритма Баума-Велча, и набора кластеров для длин пакетов и длительностей межпакетных интервалов. Кластеры задаются по-разному в зависимости от используемого алгоритма кластеризации. На этапе классификации трафика у нас имеется несколько обученных моделей, соответствующих работе различных приложений. На вход поступает чередующаяся последовательность длин пакетов и длительностей межпакетных интервалов L1, T1, L2, T2, …, Ln-1, Tn-1, Ln. Для определения того, каким приложением (то есть, какой моделью) был сгенерирован трафик, для каждой модели вычисляется вероятность того, что она сгенерировала этот трафик. После этого выбирается модель, для которой эта вероятность наибольшая. Для вычисления последовательность интервалов длин сначала указанной вероятности чередующаяся пакетов и длительностей межпакетных преобразуется в последовательность номеров кластеров, входящих в рассматриваемую модель. Если на этом этапе выясняется, что длина пакета или длительность интервала не соответствует ни одному из кластеров, то указанная вероятность принимается равной нулю. В противном случае эта вероятность вычисляется с помощью алгоритма, основанного на динамическом программировании и описанном в [8]. 7 Источники 1. Николенко С. Слайды лекции «Clustering. Graph algorithms, hierarchical clustering, FOREL» http://logic.pdmi.ras.ru/~sergey/teaching/ml/11-cluster.pdf 2. Николенко С. Слайды лекции «Clustering II. EM for clustering, k-means, fuzzy c-means» http://logic.pdmi.ras.ru/~sergey/teaching/ml/12-cluster2.pdf 3. Wikipedia. Hidden Markov Models. http://en.wikipedia.org/wiki/Hidden_Markov_model 4. Николенко С. Слайды лекции «Скрытые Марковские модели» http://logic.pdmi.ras.ru/~sergey/teaching/mlbayes/06-hmm.pdf 8