Компьютерная безопасность. Криптографические методы защиты - Петров А.А.
ISBN 5-89818-064-8
Скачать (прямая ссылка):
При работе с контекстом безопасности прикладному ПО доступны следующие функциональные возможности: создание контекста, удаление контекста, имитация клиента сервером (изменение привилегий и прав доступа сервера на те, что есть у клиента), подавление имитации клиента сервером, инициализация контекста в начале соединения, создание дополнительного защитного сообщения, освобождение занимаемой контекстом памяти и получение информации о контексте;
• целостность передаваемых сообщений. Для обеспечения целостности передаваемых пакетов данных предусмотрены функции, перечисленные в табл. 3.3;
• управление пакетами.
Таблица 3.3. Функции, обеспечивающие целостность пакета данных
Функция Назначение
MakeSignature Создание подписи
VerifySignature Проверка подписи
В заключение хотелось бы отметить, что развитая сетевая поддержка в ОС Windows NT существенно затрудняет обеспечение безопасности ЛВС на основе ОС Windows NT. Следовательно, при эксплуатации этой операционной системы целесообразно всемерно упрощать способы и протоколы взаимодействия компьютеров и прикладных систем мелсду собой.
Защита в локальных сетях
247
Аутентификация в CIFS
В ОС Windows NT для удобства доступа к файлам и сервису печати создан протокол CIFS (Common Internet File System), базирующийся на SMB-протоколе (Server Message Block). CIFS построен по архитектуре «клиент-сервер» и позволяет получать доступ к информационным ресурсам посредством механизмов, подобных заложенным в WWW.
Безопасность в CIFS строится на аутентификации сторон информационного обмена. При этом, исходя из идеологии создания CIFS, защиту трафика должны осуществлять механизмы безопасности в SMB-протоколе. (Базовая версия SMB-протокола не содержит криптографических механизмов, которые позволяют защищать передаваемый трафик, но существует модификация данного протокола - SMB-signing, позволяющая обеспечивать целостность передаваемых данных по SMB-протоколу.)
Установка соединения с использованием протокола SMB происходит следующим образом:
• клиент устанавливает сессию по протоколу NetBIOS, в которой сообщает серверу NETBIOS имя клиентского компьютера;
• клиент посылает серверу сообщение, называемое SMB__COM_NEGO-TIATE, где перечисляет диалекты SMB, которые он «понимает». В этой фазе клиент и сервер «договариваются» о том, какой диалект протокола будет использоваться в дальнейшем. В частности, от этого зависит, в какой форме будут передаваться пароли;
• сервер отвечает сообщением, в котором указывает номер диалекта из тех, что перечислил клиент. Этот номер будет использоваться в дальнейшем. Сервер выбирает наиболее современный протокол из тех, которые поддерживаются и клиентом, и сервером. Если применяется диалект выше PC NETWORK PROGRAM 1.0, сервер устанавливает в ответном сообщении бит, предлагающий клиенту шифровать пароль, и передает в этом сообщении значение, называемое challenge, которое будет использовано клиентом для шифрования своего пароля;
• клиент посылает сообщение SMB_SESSION_SETUP_ANDX, в котором сообщает пользовательские имя и пароль, открытым текстом или в зашифрованном виде, в зависимости от используемого диалекта. При этом клиент передает серверу несколько чисел (UID - user ID, PID -process ID, MID - multiplexer ID), необходимых в дальнейшем для идентификации сессии;
• сервер отвечает на запрос об аутентификации, и при положительном ответе соединение считается установленным. Клиент может обращаться к файлам, каталогам и принтерам сервера в соответствии с правами доступа, установленными для объектов на сервере.
248 Компьютерная безопасность и практическое применение криптографии
В случае использования алгоритма challenge-response происходит следующее:
• сервер посылает 8-байтный challenge;
• клиент добавляет пять нулевых байт к значению Lan Manager compatible password hash и пять нулевых байт к значению Windows NT password hash, шифрует оба полученных значения на ключе, переданном сервером (challenge), и отсылает их обратно;
• сервер производит ту же самую операцию со значениями, хранящимися в базе данных SAM, и сравнивает их с полученным от клиента показателем. Если они совпадают, то соединение считается установленным.
В описанной схеме существует несколько уязвимых мест, которые могут быть использованы для нарушения конфиденциальности:
• некоторые действия не требуют аутентификации, то есть могут проводиться анонимно (нуль-сессии). К ним относятся, в частности, получение у сервера списка разделяемых по сети ресурсов и даже редактирование системного реестра. Если к разделяемому ресурсу разрешен доступ группе Everyone, то к нему можно обратиться с пустым именем и паролем;
• при установлении соединения по протоколу NetBIOS сервер неспособен никоим образом проверить имя, переданное ему клиентом, и не запротоколирует соединение до тех пор, пока не произойдет установление SMB-сессии. В любом случае сервер протоколирует только имя, сообщенное ему клиентом, а не IP-адрес. Это может быть использовано, например, для обхода установленного ограничения на станциях, с которых может обращаться к серверу данный пользователь. Кроме того, это позволяет эффективно «заметать следы» несанкционированного доступа;