Содержание к диссертации
Введение
ГЛАВА 1. Анализ методов и алгоритмов обнаружения сетевых атак . 11
1.1. Анализ сетевых атак 12
1.2. Основные методические подходы и системы обнаружения сетевых вторжений 25
1.3. Постановка научной задачи и частные задачи исследования . 44
1.4. Выводы по главе 46
ГЛАВА 2. Разработка комплексной методики обнаружения сетевых вторжений 48
2.1. Структура и составные части комплексной методики 48
2.2. Выбор показателя оценки обнаружения сетевых вторжений . 54
2.3. Методика сегментации термов прикладного протокола 56
2.3.1. Анализ методов сегментации 56
2.3.2. Выбор и обоснование методики сегментации 61
2.3.3. Разработка алгоритма сегментации 61
2.4. Методика восстановления стохастической грамматики прикладного протокола 70
2.4.1. Анализ методов восстановления грамматики 70
2.4.2. Выбор и обоснование методики восстановления грамматики . 71
2.4.3. Разработка алгоритма восстановления грамматики 71
2.5. Выбор методов обнаружения аномалий протоколов 73
2.5.1. Анализ методов поиска исключений 74
2.5.2. Выбор и применение метода поиска исключения 78
2.5.3. Оценка аномальности работы пользователя или программы . 81
2.6. Выводы по главе 88
ГЛАВА 3. Эксперементальное обоснование научных результатов исследования 90
3.1. Технология проведения эксперементов 90
3.2. Исследование условий обнаружения аномальности протокола 99
3.3. Программная реализация комплексной методики обнаружения сетевых вторжений 103
3.3.1. Архитектура и функциональность экспериментальной системы обнаружения атак 109
3.4. Верификация результатов исследования 112
3.5. Разработка рекомендаций использования комплексной методики обнаружения сетевых вторжений 113
3.6. Выводы по главе 115
Заключение 117
Литература 121
- Постановка научной задачи и частные задачи исследования
- Анализ методов сегментации
- Выбор и применение метода поиска исключения
- Программная реализация комплексной методики обнаружения сетевых вторжений
Введение к работе
Актуальность темы. Современный этап развития общества характеризуется возрастающей ролью информационной сферы, представляющей совокупность информационной инфраструктуры и субъектов, осуществляющих сбор, формирование и распространение информации.
Интенсивное развитие и широкое применение информационных технологий во всех сферах человеческой деятельности является объективным фактором, определяющим проблему информационной безопасности актуальной, как в настоящее время, так и в перспективе.
В связи с широким распространением глобальной информационной сети Интернет и развитием компьютерных сетей, возникла реальная потребность в их защите от внешних воздействий со стороны злоумышленников. Например, осуществление атак через сеть Интернет становится способом проведения информационных операций, а также совершения преступлений в финансовой и других сферах, в том числе членами террористических организаций.
Компьютерные сети на протяжении всей своей истории развития содержали потенциальную опасность нарушения конфиденциальности обрабатываемой или передаваемой информации. В последнее время, когда большинство государственных и коммерческих организаций имеют собственные сети, а также выход в глобальную сеть, вероятность несанкционированного доступа к закрытым для посторонних лиц сведениям значительно возрастает и обуславливает необходимость своевременного принятия специальных мер защиты, в частности, использования систем обнаружения вторжений. Вместе с тем, в условиях изменчивости качественных и количественных характеристик сетевых атак, возникает потребность в совершенствовании существующих систем и алгоритмов обнаружения вторжений, что представляет собой актуальную научную задачу.
Состояние научной задачи. К настоящему времени в области обнару-
жения сетевых вторжений преобладает подход обнаружения злоупотреблений, который основан на построении модели сетевой атаки. Однако, данный подход имеет очевидные ограничения, связанные, прежде всего, с невозможностью обнаружения новых, отличающихся от предыдущих, атак. С целью устранения таких ограничений был предложен и в течение последнего десятилетия получил развитие подход обнаружения аномалий, основанный на построении моделей поведения пользователей или программ. Исследованиям в этой области посвящены работы Петровского М.И. "Исследование и разработка алгоритмов поиска исключений в системах интеллектуального анализа данных", Хафизова А.Ф. "Нейросетевая модель обнаружения атак на WWW-сервер", Дружинина Е.Л. "Разработка методов и программных средств выявления аномальных состояний компьютерной сети", Сердюка В.А. "Разработка и исследование математических моделей защиты автоматизированных систем от информационных атак", Слюсаренко И.М. "Методика обнаружения и оценивания аномалий информационных систем на основе системных вызовов" и
ДР-
За рубежом данные вопросы освещаются в работах Mahoney М. V. "А Machine Learning Approach to Detecting Attacks by Identifying Anomalies in Network Traffic", Lazarevic A. "A Comparative Study of Anomaly Detection Schemes in Network Intrusion Detection", Ke Wang, Salvatore J. Stolfo "Anomalous Payload-based Network Intrusion Detection" и др. В целом в данных работах достаточно подробно рассматриваются вопросы обнаружения аномалий. Однако, предложенные в них методы обнаружения аномалий, оценивающие прикладную часть протокола, имеют недостаточную эффективность и не удовлетворяют предъявляемым современным требованиям.
Объект исследования. Интеллектуальные системы анализа данных с целью обнаружения вторжений в телекоммуникационных сетях.
Предмет исследования. Методы, алгоритмы и аппаратно - программные средства обнаружения несанкционированного доступа к информационным
ресурсам.
Цель исследования. Целью данной работы является повышение эффективности обнаружения сетевых вторжений в компьютерных сетях.
Рамки исследования. В процессе исследования рассматриваются возможности обнаружения аномалий прикладной части протокола с неизвестной структурой.
Научная задача. Научная задача состоит в разработке методов и алгоритмов обнаружения несанкционированного доступа к информационным ресурсам. В соответствии с поставленными целями решаются следующие научные задачи:
Анализ существующих сетевых атак, систем и методов обнаружения сетевых вторжений;
Выбор критериев оценки методов обнаружения аномалий протокола;
Разработка методики сегментации;
Разработка методики восстановления грамматики;
Формирование и обоснование методики поиска исключений;
Формирование и обоснование критериев оценки протокола;
Разработка методики проведения экспериментов.
Актуальность научной задачи. Актуальность научной задачи обусловлена необходимостью совершенствования методического аппарата обнаружения сетевых вторжений в условиях динамики и неопределенности используемых в компьютерных сетях прикладных протоколов.
Методы исследования. В работе использовались методы системного анализа и теории принятия решений. При разработке методики сегментации и поиска исключений применялись методы теории распознавания образов, а также теории математической статистики. Методика восстановления грамматики базируется на структурных методах распознавания образов. Широко использовалось моделирование на персональных ЭВМ, в том числе с ис-
пользованием самостоятельно разработанного автором программного обеспечения.
Краткая аннотация частей. В первой главе изложен анализ сетевых атак. Проведена их классификация и рассмотрены основные типы атак. Рассмотрены основные методические подходы и системы обнаружения сетевых вторжений. На основании результатов проведенного анализа сформулированы постановка задачи и частные задачи исследования.
Вторая глава посвящена разработке комплексной методики обнаружения сетевых вторжений, которая включает методику сегментации признаков, методику восстановления грамматики и методику обнаружения аномалий прикладного протокола с неизвестной структурой. Приведены структура и согласованные по входным и выходным параметрам составные части предлагаемой методики. На основе анализа основных методических подходов, используемых в исследуемой области, проведен выбор показателя эффективности обнаружения сетевых вторжений. В процессе проведенного исследования разработана методика сегментации, осуществляющая формирование словаря исследуемого прикладного протокола и определение случайных данных. Основной отличительной особенностью поставленной в диссертационной работе научной задачи является то, что она направлена на повышение эффективности ее решения в условиях отсутствия априорной информации о прикладном протоколе. С целью повышения эффективности обнаружения аномальности работы прикладного протокола разработана методика восстановления грамматики, позволяющая описывать исследуемый прикладной протокол. Произведен выбор метода поиска исключений и разработаны требования по применению его для оценки аномалий работы исследуемого прикладного протокола. Выбранный для диссертационного исследования метод базируется на применении локального фактора исключительности (LOF - local outlier factor), обеспечивающего поиск исключений. Кроме того, для оценки корректности работы прикладного протокола сформированы дополнительные
критерии оценки. С целью оценки характера передаваемых в компьютерных сетях данных с использованием анализируемого протокола и последующим их сравнением предложено усовершенствовать методику обнаружения аномалий распределения данных в прикладной части пакета, которая была разработана в Колумбийском университете (США) в рамках проекта PAYL.
В третьей главе проведено экспериментальное обоснование эффективности методического аппарата и разработаны практические рекомендации по применению разработанной методики. В частности, осуществлена программная реализация комплексной методики обнаружения сетевых вторжений. В процессе проведения исследования получены результаты экспериментов оценки сегментации термов и поиска исключений, а также проведен их сравнительный анализ с существующими методами оценки аномалий прикладного протокола с неизвестной структурой.
При проведении исследования предложено использовать новый для данной области научный подход, основанный на восстановлении грамматики прикладного протокола с неизвестной структурой. На основе полученных результатов исследования сформированы предложения по использованию методов обнаружения аномальности прикладных протоколов.
Реализация и внедрение. Результаты диссертационного исследования реализованы в виде: модуля обнаружения сетевых вторжений на основе методов поиска исключений; межсетевого экрана с возможностью анализа сетевой активности; сетевого фильтра, осуществляющего анализ сетевого трафика с целью выявления злонамеренных действий и данных, способных оказать деструктивное влияние на работу компьютера; предложений по использованию локальных метрических алгоритмов в задачах обнаружения аномалий поведения пользователя или программ. Они использованы при разработке компонент обнаружения вторжений в комплексном решении обеспечения безопасности корпоративной сети компании ООО "Стокона" (г. Москва), в научно-исследовательской работе и учебном процессе Московского института элек-
троники и математики (технический университет).
Апробация работы, публикации по теме диссертации. Основные научные результаты диссертационного исследования опубликованы в 9 печатных работах. Отдельные результаты работы докладывались на научных семинарах в Московском государственном институте электроники и математики, а также на следующих конференциях и семинарах:
ежегодные научно-технические конференции студентов, аспирантов и молодых специалистов МИЭМ (Москва, 2003-2006 гг.);
XIV международная студенческая школа-семинар "НОВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ" (Судак, 2005 г.);
международный семинар, проводимый ведущей в области информационной безопасности финской компанией Е-8есиге(Хельсинки, 2006 г.).
Постановка научной задачи и частные задачи исследования
На современном этапе, как показал проведенный в подразделе 1.2 анализ, основным недостатком систем обнаружения вторжений является их невысокая эффективность при обнаружении аномалий прикладного протокола с неизвестной структурой. Это обусловлено с одной стороны сложностью восстановления структуры и несовершенством методов обнаружения аномалий прикладного протокола с другой стороны. Основными особенностями, которые значительно усложняют процесс обнаружения аномалий протокола с неизвестной структурой являются:
- объективно существующее большое количество разнообразных типов протоколов. Часто компании, разрабатывающие клиент-серверные приложения, создают и свой прикладной протокол взаимодействия;
- контекстно-зависимая структура протокола. То есть в зависимости от контекста, передаваться могут как данные, так и команды, что не позволяет эффективно анализировать протокол в общем виде.
Учитывая выше сказанное, целью данной работы является повышение эффективности методического аппарата обнаружения аномалий прикладного протокола с неизвестной структурой. Таким образом, для решения этой задачи требуется решить следующие три подзадачи: сегментации признаков, восстановления грамматики и обнаружения аномалий. В целом формализованная постановка задачи исследования включает формализацию этих подзадач.
1. Сегментация признаков.
Пусть задан вектор признаков X Є Ига. Среди них необходимо выделить наиболее информативные, т.е. получить новый вектор признаков Y еШт.
2. Восстановление грамматики.
Построение процедур восстановления синтаксических правил неизвестной грамматики по конечному множеству цепочек Si языка L(G), порождаемого грамматикой G.
3. Обнаружение аномалий.
Дано некоторое множество X = xi,...,xn, далее называемое исходным множеством или множеством анализируемых объектов. Требуется построить функцию F0f : X — У, называемую решающей функцией, такую, что каждому значению х из множества X ставится в соответствие значение фактора исключительности (Outlier factor) у из множества У, которое зависит от того, насколько х "похож" на остальные элементы множества X.
В качестве ограничений принято, что в диссертационной работе рассматриваются только сетевые методы обнаружения вторжений и оценивается только прикладная часть протокола.
Данная глава посвящена анализу сетевых атак, а также систем и методов их обнаружения. Исследования в области современных информационных систем показывают, что принципиальным условием для обеспечения их нормального функционирования является наличие в них компоненты защиты от несанкционированного воздействия.
Проведенный анализ существующих типов сетевых атак показал, что наиболее сложным является решение задачи обнаружения двух типов атак:
1. Несанкционированный удаленный доступ (тип R2L).
2. Несанкционированное получение привилегированных прав доступа (тип U2R).
С целью решения задачи выявления таких атак проведен анализ опубликованных сведений о системах и методах обнаружения сетевых вторжений, в том числе результатов их практического использования. Установлено, что применение классических методов поиска аномалий в условиях существующего признакового пространства не дает значимых результатов. В настоящее время наиболее целесообразным является использование комбинации тех или иных алгоритмов для выявления определенных категорий сетевых атак. Кроме того, проведенный анализ показал, что алгоритмы обнаружения аномалий, хотя и способны обнаруживать неизвестные атаки, но используемое ими признаковое пространство не позволяет эффективно обнаруживать атаки на прикладном уровне протокола.
Исходя из этого, перспективным направлением при создании новых систем обнаружения вторжений является развитие методического аппарата для анализа прикладных протоколов.
На основании проведенного анализа сформулирована постановка задачи исследования.
Анализ методов сегментации
В рамках проводимого диссертационного исследования, а также принятых при этом допущений и ограничений требуется рассмотреть методы и алгоритмы сегментации слов в условиях неконтролируемого обучения (обучение без учителя). Интерес представляют методы сегментации слов, используемые при проведении обработки естественного языка. Например, в распознавании речи, где требуется сегментировать непрерывно произносимую речь в отдельные модули с целью их дальнейшей обработки. Проведенный анализ показал, что наиболее сложно решать подобную проблему сегментации при обработке слов японского, китайского и тайского языков. Это объясняется тем, что отсутствует явная информация об их границе. В общем случае слово представляет собой модуль выражения, который обеспечивает его универсальное распознавание носителями языка. Лингвистически, слово можно рассматривать как наиболее устойчивый элемент, который содержит определенную информацию. В вычислительном процессе, также достаточно трудно принять решение, где отделить строку от слова. В настоящее время лексикографы могут использовать большие массивы данных и имеют возможность проводить множество экспериментов. В связи с тем, что слова не различимы по признаку незаполненного пространства или каким-либо другим признакам, то осуществить его сегментацию достаточно сложно. Вместе с тем, существующие методические подходы, в которых используются словари и некоторые эвристические методы, показывают на современном этапе достаточно хорошие результаты [10G]. Кроме того, выделение слов из основной символьной последовательности является важной составляющей при решении таких задач, как информационный поиск и машинный перевод [102, 101, 31, 93].
В течение последних лет много исследований проводится также в области биоинформатики, где требуется выделять последовательности цепочек. Таким образом, существует большое количество различных методов неконтролируемого обучения для того, чтобы сегментировать неизвестные символьные последовательности без граничной информации в слова [37, 36, 51, 43, 44, 51, 65, 64, 57]. Достаточно подробно использование таких алгоритмов описано в работе профессора Брента [36].
В целом основная идея большинства методик в области сегментации при знаков состоит в том, что должен присутствовать словарь, который содержит набор возможных слов. Затем производится сегментация связанных цепочек символов. На основе полученных результатов осуществляется оптимизация эвристических показателей, таких как максимальная длина соответствия (maximum length match), взаимная информация (mutual information) или максимум правдоподобия (maximum likelihood) [29, 77, 100].
Методы, формирующие словарь, могут быть классифицированы, как контролируемые и неконтролируемые. Под контролируемым - понимается ручное выделение слов и формирование словаря из несегментированных данных. Такой подход имеет достаточно много недостатков. Во первых, словарь слов, сформированных подобным образом, не может быть законченным, потому как, например, в китайском языке существует более чем 20000 символов, из них около 6700 наиболее часто используемых. В этой связи формировать словарь вручную довольно сложно и это требует больших трудозатрат. Во вторых, контролируемый подход не адаптивен, потому что, в каждой новой области, необходимо формировать новый словарь. Рассмотрение таких методов в рамках данного диссертационного исследования не предусматривается в связи с принятыми условиями. К настоящему времени наибольшую популярность приобрели неконтролируемые методы сегментации последовательностей символов без граничной информации.
Методы сегментации с неконтролируемым обучением различают по использованию априорной информации о несегментированных данных, таких, например, как словарь или частичная информацию о структуре и методы, не использующие никакой априорной информации. Следует отметить, что методы сегментации с неконтролируемым обучением при наличие априорной информации для изучения вероятностной речевой или текстовой модели основаны на использовании отдельных видов алгоритмов максимизации ожидания (ЕМ - Expectation Maximization). Одной из основных причин использования ЕМ алгоритма при неконтролируемом обучении является то, что он сопоставим с вероятностной моделью, которая максимизирует локальную вероятность или апостериорную вероятность обучающих данных. При сегментации слов с целью получения набора цепочек (multi-gramm) из тренировочного набора, наиболее часто применяется алгоритм ЕМ [51]. Затем рассчитывается распределение вероятностей по полученному с помощью ЕМ алгоритма набору цепочек. После этого используют стандартные итерации, чтобы корректировать вероятность таких цепочек с целью увеличения апостериорной вероятности учебных данных. Существующая обработка использует вручную созданные словари, чтобы определить какие слова содержатся в анализируемых данных. Эти ручные и статические словари имеют много недостатков. Во первых, нельзя иметь дело со словами, которых нет в словарях. Во вторых, так как эти словари созданы вручную, они никогда не будут охватывать все слова, которые содержатся в реальных массивах.
Основным условием поставленной в диссертационном исследовании задачи является то, что априорная информация о протоколе отсутствует. Поэтому рассмотрим более подробно сегментацию без априорной информации. Сегментация без априорной информации используется при анализе тайского, японского, китайского, корейского и др. языков. Данные языки сложны из-за своей двусмысленности. Одной из проблем в анализе этих языков, как было сказано выше, является сложность в определении границы слова. Для этих целей применяют различные технологии, изложенные, в частности, в работах Танаки [117, 116, 106, 69]. В данных технологиях в качестве признака используется частота сортированных символов n-gramm данных, чтобы извлечь тайские конструкции. Этот алгоритм имеет точность приблизительно 90 процентов по извлечению тайских конструкций. Однако, такой алгоритм имеет ограничительный диапазон n-gram от 4-20 значений символов по причине сложности проведения вычислений. Это накладывает ограничение к размеру массива данных и эффективности обнаружения тайских конструкций.
Выбор и применение метода поиска исключения
На основании представленного краткого обзора методов поиска исключений можно отметить, что не существует единого определения исключения даже в рамках одного подхода. Поэтому применение строгого математического аппарата для решения данных задач, взятого из смежных областей, как правило, приводит к решению NP-полных задач. Применение такого математического аппарата в сложноструктурированных данных большой размерности не представляется возможным при проведении диссертационного исследования.
В связи с этим, в качестве базового метода целесообразно выбрать метрический метод на основе локальной меры исключительности. Данный метод показал лучшие результаты в проводимых экспериментах в американской ла-баротории им. Линкольна Массачусетсткого технологического института(]УШ Lincoln Lab) [72]. Результаты проведенных экспериментов представленны на рис. 2.8
Основная идея выбранного метода состоит в формировании для каждого объекта локальной меры исключительности (LOF - local outlier factor). Объекты с высоким значением меры LOF находятся в разреженном пространстве по отношению с соседними объектами, в то время как другие объекты принадлежащие плотным кластерам, обычно имеют низкое значение меры LOF. Основные понятия, используемые данным алгоритмом это fc-расстояние и к-окрестность [82, 83, 26, 110].
Определение 1 (k-растояние объекта р). Для любого целого числа к, к-расстояние объекта р, обозначаемое как k — distance(p), определяется как расстояние d(p, о) между р и объектом о Є D так что:
1) по крайней мере для к объектов о Є D\{p] верно,
2) для максимума к — 1 объектов о Є D {р} верно, что d(p,o ) d(p,o).
Определение 2 (k-окрестность объекта р). При условии k-расстояния р, к-окрестность р содероюит каждый объект, расстояние которого от р не больше k-расстояния, т.е. Nk-distance(p)(p) = {q D\{p}\d(p, q) k- distance{p)} (2.1)
Определение 3 (достижимое расстояние объекта р по отношению объекта о). Пусть & Є N. Достижимое расстояние объекта р относительно объекта о определенно как reach — distk{p, о) = тах{к — distance(o), d(p, о)} (2.2) Определение 4 (локальная достижимая плотность объекта р). Локальная достижимая плотность в точке р определяется как:
Алгоритм вычисления состоит из следующих шагов:
1. Для каждого объекта о вычисляется -расстояние и к - окрестность;
2. Вычисляется достижимое растояние объекта о Є D по отношению к к - окрестности объекта р;
3. Оценивается локальная достижимая плотность объектов о Є D, при фиксированном значении к = MinPts;
4. Вычисляется локальная мера исключительности как среднее отношение локальной достижимой плотности соседних объектов и локальной достижимой плотности самого объекта;
5. На основании локальной меры достижимости и выставленного пользователем критерия определяется аномальность данных.
При реализации режима адаптации требуется выполнить действия, которые заключаются в добавлении новых к — 1 „виртуальных объектов" с целью создания кластера, где к — MinPts. Добавляемые объекты располагаются вокруг адаптируемого объекта с шагом равным 1 как в меньшей, так и большей областях. Таким образом, это позволит идентифицировать новые анализируемые объекты, появляющиеся вблизи скорректированного предварительно объекта, как нормальные. Анализируемыми объектами для данной методики является количество правил относительно временного ряда. В процессе использования методики целесообразно ограничить количество анализируемых объектов.
Программная реализация комплексной методики обнаружения сетевых вторжений
Анализ методов и алгоритмов обнаружения сетевых атак, проведенный в процессе диссертационного исследования, показал, что в настоящее время отсутствуют удовлетворяющие предъявляемым требованиям подходы выявления сетевых атак на основе методов поиска исключений, которые позволяют обнаруживать новые виды атак. В данной работе используется подход обнаружения аномалий прикладного протокола с неопределенной структурой. При выполнении диссертационной работы был исследован процесс обнаружения аномалий прикладного протокола и разработаны составные части комплексной методики в виде модулей, в которых реализуются методы сегментации, восстановления грамматики и поиска исключений, описанные во второй главе. Программная реализация разработанного методического аппарата сделана в рамках платформы MS Windows. С целью удобства и простоты перехвата трафика был разработан TDI-фильтр (драйвер), позволяющий фильтровать запросы к транспортному драйверу. При принятии решений выбора уровня и способа реализации метода фильтрации трафика, рассматривалось несколько вариантов [114].
Фильтрация трафика в User-mode (пользовательский уровень):
1. Winsock Layered Service Provider (LSP);
2. Windows 2000 Packet Filtering Interface;
3. Замена Winsock DLL;
4. Global hook of all "dangerous" functions. Фильтрация трафика в Kernel-mode (уровень ядра):
1. Kernel-mode sockets filter;
2. TDI-filter driver;
3. NDIS Intermediate Driver;
4. Windows 2000 Filter-Hook Driver;
5. NDIS Hooking Filter Driver.
Процесс перехвата трафика на пользовательском уровне не рассматривается в связи с возможностью его обхода. В связи с тем, что программы могут напрямую обращаться к транспортному драйверу наиболее рациональным представляется реализация TDI-фильтра. Перехват на NDIS уровне обеспечит возможность портирования кода на перспективные операционные системы, но в тоже время крайне сложен в разработке, в связи с необходимостью поддержки стека TCP/IP. На рис. 3.1 представленна схема размещения разработанного TDI-фильтра в стеке TCP/IP [13].
В операционных системах Windows TDI транспортные драйвера реализуют все основные протоколы, сопоставленные с основным стеком протокола. Например, драйвер TCP/IP IPv4(\Windows\System32\Drivers\Tcpip.sys) реализует протоколы TCP, UDP, IP, ARP, ICMP и IGMP. Для представления конкретных протоколов транспорт TDI обычно создает объекты "устройство", что позволяет клиентам получать объект "файл", представляющий нужный протокол, и выдавать ему запросы на сетевой ввод-вывод с использованием IRP запросов. Драйвер TCP/IP создает несколько объектов "устройство" для представления различных протоколов, доступных клиентам TDI: \Device\Tcp, \Device\Udp и \Device\Ip, а также(В Windows ХР и Windows Server 2003) \Device\Rawip и \Device\Ipmulticast.
Фирма Microsoft определила стандарт TDI (Transport Driver Interface), чтобы драйверам сетевых АРІ не приходилось использовать отдельные интерфейсы для каждого необходимого им транспортного протокола. Как уже говорилось, интерфейс TDI фактически представляет собой правила форматирования сетевых запросов в IRP, а также выделения сетевых адресов и кому-никационных соединений. Транспортные протоколы, отвечающие стандарту TDI, экспортируют интерфейс TDI своим клиентам, в число которых входят драйверы сетевых API, например AFD и редиректор. Транспортный протокол, реализованный в виде драйвера устройства Windows, называется транспортом TDI. Поскольку транспорты TDI являются драйверами устройств, они преобразуют получаемые от клиентов запросы в формат IRP.
Интерфейс TDI включает:
1. Множество стандартных диспетчерских точек входа, обеспечиваемых транспортным драйвером, к которому TDI-клиент может обратиться с запросом ввода/вывода;
2. Множество процедур обратного вызова, экспортируемых любым TDI-клиентом и регистрируемых транспортным драйвером, для получения TDI-клиентом уведомления о произошедшем сетевом событии;
3. Параметры, структуры, lOCTLs и правила, ассоциированные с процедурами транспорта и его клиента;
4. Множество функций вида TdiXxx, которые транспорт и его клиент могут вызывать для взаимодействия друг с другом;
5. Множество макросов и функций вида TdiBuildXxx, которые TDI-клиент может использовать, чтобы обеспечить принятие запросов нижележащим транспортом.
Интерфейс TDI образуют функции поддержки из библиотеки \Windows 105 \System32\Drivers\Tdi.sys вместе с определениями, включаемыми разработчиками в свои драйверы. Модель программирования TDI очень напоминает таковую в Winsock. Устанавливая соединение с удаленным сервером, клиент TDI выполняет следующие действия:
1. С целью выделения адреса, создает и форматирует TDI IRP-пакет address open. Транспорт TDI возвращает объект "файл", который представляет адрес и называется объектом адреса (address object). Эта операция эквивалентна вылову Winsock-функции bind;
2. Создает и форматирует TDI IRP-пакет connection open, а транспорт TDI возвращает объект "файл", который представляет соединение и называется объектом соединения (connection object). Эта операция эквивалентна вызову Winsock-функция socket;
3. Сопоставляет объект соединения с объектом адреса с помощью TDI IRP-пакета associate address (для этой операции эквивалентных функций Winsock нет);
4. Клиент TDI, соглашающийся установить удаленное соединение, выдает TDI IRP-пакет listen, указывая для объекта соединения максимальное число подключений. После этого он выдает TDI IRP-пакет accept, обработка которого заканчивается либо установлением соединения с удаленной системой, либо ошибкой. Эти операции эквивалентны вызову Winsock-функций listen и accept;
5. Клиент TDI, которому нужно установить соединение с удаленным сервером, выдаст TDI IRP-пакет connect, указывая объект соединения, выполняемый транспортом TDI после установления соединения или выявления ошибки. Выдача TDI IRP-пакета connect эквивалентна вызову Winsock-функции connect.