Иллюстрированный самоучитель по программированию систем защиты

Анализ сетевой архитектуры ОС Windows NT с точки зрения возможностей реализации средств защиты и анализа сетевого трафика

  • Используемые средства построения объединенных сетей и их влияние на уровень расположения средства защиты (согласно модели OSI)

    В этой главе будут проанализированы возможности реализации средств защиты сетевой информации на различных уровнях сетевой архитектуры Windows NT, начиная от уровня приложений и кончая уровнем драйверов устройств.
  • Объем информации, проходящей через средство защиты

    От расположения средства защиты относительно иерархии сетевых компонентов, зависит количество проходящих через это средство данных, и, следовательно, возможность контроля и защиты этих данных. Чем выше уровень реализации средства защиты, тем меньше объем данных, проходящих через него (смотри рис.
  • Возможности реализации средств защиты сетевой информации на пользовательском уровне. Реализация защиты на уровне приложений и собственных DLL.

    Рассмотрим особенности реализации средств защиты на различных уровнях сетевой архитектуры ОС Windows NT.
  • Реализация защиты на уровне системных DLL, предоставляющих приложениям различные сетевые интерфейсы

    К этим DLLs относятся, в первую очередь, следующие библиотеки DLLs сетевых интерфейсов: | Netapi32.dll (Net Win32 API DLL), предоставляющая интерфейс NetBIOS и Net-функции. | Ws2_32.dll (Windows Socket 2.0 32-Bit DLL), msafd.dll (Microsoft Windows Sockets 2.0 Service Provider), wsock32.dll (Windows Socket 32-Bit DLL), являющиеся DLLs интерфейса Windows Sockets.
  • Реализация защиты на уровне сетевых сервисов

    Почти все сетевые сервисы, такие как сервис рабочей станции (LanMan Workstation), сервис сервера (LanMan Server), сервис оповещений (alerter), сервис сообщений (messenger), обозреватель сети (Computer Browser), DHCP client содержатся в одном ЕХЕ-файле с именем services.
  • Реализация защиты на уровне "родного" API для ОС Windows NT

    Один из способов обеспечения прозрачной защиты связан с заменой механизма предоставления функций "родного" API. Как уже рассматривалось в главе "Общая архитектура Windows NT", системные сервисы могут быть предоставлены коду пользовательского режима посредством использования библиотеки ntdll.dll.
  • Возможности реализации средств защиты сетевой информации на уровне ядра. Драйверы – фильтры.

    С этого момента начинается анализ сетевых компонент, исполняющихся в привилегированном режиме – режиме ядра, и являющихся драйверами. Прежде чем переходить к дальнейшему рассмотрению того, как и куда сетевая архитектура Windows NT позволяет встраивать модули защиты на уровне ядра, необходимо вспомнить механизм драйверов-фильтров (см.
  • Реализация защиты на уровне драйвера MUP. Реализация защиты на уровне драйверов файловых систем.

    Как уже отмечалось ранее, драйвер mup.sys вовлекается при попытке достижения удаленных разделяемых ресурсов, используя UNC имена. Этот компонент во взаимодействии с сетевыми редиректорами отвечает за интеграцию пространства имен удаленных файловых систем в локальное пространство имен.
  • Реализация защиты на уровне транспортного драйвера

    Транспортные драйверы являются, фактически, стандартными драйверами промежуточного уровня и реализуют в своей верхней части стандартный интерфейс, соответствующий TDI спецификации. Этот интерфейс в основном базируется на получении и обработке пакетов IRP_MJ_INTERNAL_DEVICE_CONTROL, содержащих различные значения контрольных кодов TDI_XXX, определяемых TDI спецификаций.
  • Реализация защиты с помощью перехвата функций NDIS – библиотеки

    Этот метод является трудоемким, совершенно не документированным, но в то же время чрезвычайно эффективным. | Реализация этого метода позволяет создать как бы оболочку над самой библиотекой NDIS. Этот метод аналогичен методу перехвата системных сервисов.
  • Реализация защиты на уровне сетевого драйвера промежуточного уровня, поддерживающего интерфейс NDIS. Реализация защиты на уровне драйверов сетевых устройств.

    Разработка NDIS драйверов промежуточного уровня – это один из хорошо документированных механизмов расширения возможностей системы ввода/вывода ОС Windows NT. Библиотека NDIS является очень мощным средством, используемым для разработки драйверов сетевых карт глобальных и локальных сетей и промежуточных драйверов.
  • Сравнительный анализ способов реализации защиты

    В табл. 11 дается сравнительный анализ реализаций средств защиты относительно следующих факторов: | Объем контролируемых данных. | Этот фактор определяет, какие данные проходят через средство защиты, и, следовательно, могут им контролироваться и обрабатываться. | Сложность реализации.
  • Зависимость способа реализации средства защиты от предъявляемых к нему требований

    Выбор конкретного способа реализации системы защиты зависит от первоначально предъявляемых к этой системе требований. | В таблице 12 перечислены наиболее часто возникающие требования к средству защиты и рекомендуемый уровень его реализации в соответствии с таблицей 11.
  • Особенности реализации NDIS-драйвeров

    Среда NDIS и NDIS-драйверы ранее уже описывались в разделе "Среда NDIS и NDIS драйверы". Хотя по требованиям переносимости NDIS-драйвер должен пользоваться только функциями, экспортируемыми средой NDIS, в реальных приложениях ничто не запрещает использовать функции ядра той ОС, под которую реализуется этот драйвер. | Переносимость и поддержка многопроцессорности.
  • Синхронизация

    NDIS предоставляет механизм спин-блокировок, который может быть использован, чтобы синхронизировать доступ к общим ресурсам между потоками, имеющими одинаковый приоритет. Если два потока исполняются с различными приоритетами, то NDIS обеспечивает механизм временного повышения приоритета потока с более низким приоритетом.
  • Структура NDIS-пакетов

    Драйвер протокола выделяет ресурсы под NDIS-пакеты, заполняет их данными и посылает вниз следующему NDIS-драйверу. Драйверы сетевых карт выделяют ресурсы под NDIS-пакеты, чтобы поместить в них полученные из сети данные и передать наверх соответствующим драйверам.
  • Завершающие функции

    Множество функций интерфейса верхнего уровня драйвера сетевой карты и функций интерфейса нижнего уровня драйвера протокола разработаны для поддержки.асинхронных операций. Чтобы не тратить бесполезно такты процессора, ожидая в цикле завершения какой-нибудь длительной операции или сигнала от устройства, сетевые драйверы полагаются на возможность управления большинством операций асинхронно.
  • Точки входа промежуточного NDIS-драйвера

    Промежуточный NDIS-драйвер обычно экспортирует функции MiniportXxx на своем верхнем уровне и функции ProtocolXxx на своем нижнем уровне (см. рис. 29). | Реже промежуточный драйвер может экспортировать MiniportXxx функции на своем верхнем уровне, а в своей нижней части предоставлять частный закрытый интерфейс нижележащему драйверу, не являющемуся NDIS-драйвером.
  • Пример реализации драйвера шифрования сетевых пакетов

    В качестве основы драйвера, шифрующего сетевые пакеты, может быть использован пример промежуточного драйвера ImSamp с сервера Microsoft (для NT 4.0) или промежуточный драйвер Passthru из DDK (NtDDK\src\network\ ndis\passthru, для Win2000).
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.