На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Аутентификация и авторизация

Теперь, когда вы знаете, какие элементы присутствуют в системе защиты, давайте рас­смотрим "сердце" модели безопасности системы Windows Server 2003: аутентификацию и контроль доступа (авторизацию). Каким образом операционная система решает, может ли данный элемент получить доступ к защищенному ресурсу?
Для начала система Windows Server 2003 должна определить, что она работает с действи­тельным элементом системы безопасности. Это делается посредством аутентификации. Про­стейший пример — вход пользователя в систему Windows Server 2003 с консоли. Пользователь нажимает клавиши <CTRL+ALT+DEL>, чтобы вызвать программу защиты входа в систему Windows, после чего вводит свои имя пользователя и пароль. Программа защиты входа в сис­тему обрабатывает введенные данные с помощью компонентов, работающих в пользователь­ском режиме, как показано на 1 (программы Winlogon и LSASS). Если аутентификация проходит успешно, программа Winlogon создает маркер доступа (набор атрибутов пользовате­ля или процесса), который присваивается сеансу работы пользователя и используется при любой последующей попытке доступа к ресурсам.
Пользователи с правами, эквивалентными правам администратора, могут подменить программу защиты входа 'троянской" копией, как описано в гла­ве 8, "Расширение сферы влияния".
В системах Windows ХР и Windows Server 2003, вместо нажатия комбинации клавиш клавиши <CTRl+AI_T+DEL>, можно одновременно использовать кла­виши Windows и <L> для блокирования своего рабочего стола, а затем на­жать клавишу <Enter>.
Маркер доступа
Маркер доступа содержит список всех идентификаторов SID, связанных с учетной запи­сью пользователя, включая идентификатор SID самой учетной записи, идентификаторы S1D всех групп, в которые добавлена эта учетная запись, и идентификаторы специальных групп, к которым относится данный пользователь (например, Domain Admins или INTERACTIVE). Чтобы узнать, какие идентификаторы SID связаны.с сеансом работы, можно воспользоваться программой who ami, которая входит в пакет Windows Server 2003 (1).
Листинг 2.1. Определение набора идентифйкатороЩ^для сеанса рабо
•■'л'"-'-^V.' пользователя    мШ ■li
C:\>whoajni /тдввг /groups
USER INFORMATION
User Name SID
vegas2\jsmith S-1-5-21-152749S281-1310999511-3141325392-500 GROUP INFORMATION
Group Name Type SID Attributes
Everyone Well-known group S-l-1-0
Mandatory group. Enabled by default. Enabled group BUILTINNAdministrators Alias S-l-5-32-544
Mandatory group, Enabled by default. Enabled group. Group owner BUILTimusers Alias S-l-5-32-545
Mandatory group. Enabled by default. Enabled group BOILTINXPre-Windows 2000 Compatible Access Alias S-l-5-32-554
Mandatory group.  Enabled by default. Enabled group
NT AUTHORITY\INTERACTIVE Well-known group S-l-5-4
Mandatory group. Enabled by default.  Enabled group
NT AUTHORITY\Authenticated Users Well-known group S-l-5-11
Mandatory group,  Enabled by default.  Enabled group
NT AUTHORIТУЛThis Organization Well-known group S-l-5-15
Mandatory group. Enabled by default.  Enabled group
LOCAL Well-known group S-l-2-0
Mandatory group. Enabled by default, Enabled group VEGAS2\Group Policy Creator Owners Group S-l-5-21-[cut]-520 Mandatory group, Enabled by default. Enabled group VEGAS2\Domain Admins Group S-l-5-21-[cut]-512 Mandatory group. Enabled by default. Enabled group VEGAS2\Schema Admins Group S-l-5-21-[cut]-51B Mandatory group.  Enabled by default,  Enabled group VEGAS2\Enterprise Admins Group S-l-5-21-[cut]-519 Mandatory group.   Enabled by default.  Enabled group
Из примера видно, что текущий процесс выполняется в контексте учетной записи jsmith, ко­торая входит в группы Adrninistrators и Authenticated Users, а также в специальные группы Every­one, LOCAL и INTERACTIVE. Также видно, какие привилегии имеет пользователь jsmith.
Когда пользователь jsmith пытается получить доступ к некоторому ресурсу, например к файлу, программа Security Reference Monitor (SRM) сравнивает его маркер доступа со спи­ском разграничительного контроля доступа (DACL, Discretionary Access Control List) объекта. Список DACL содержит идентификаторы SID, для которых разрешен доступ к объекту, и разрешенный тип доступа (чтение, запись, выполнение и т.п.). Если один из идентифика­торов SID учетной записи jsmith совпадает с идентификатором SID из списка DACL, то поль­зователь jsmith получаст доступ в соответствии с условиями, указанными в DACL. Схема этого процесса показана на 4.
Аутентификация с помощью пароля и имени пользователя
Пользователь jsmith
Успех]


Maoteo

Пользователь

= jsmith S-1-5-21-etc -1000

Группа 1

= Everyone S-1-1-0

Группа 2

-Administrators S-1-5-32-544

Группа 4

= INTERACTTVES-1-5-4

Разрешить!
File.txt

 

СпигажПАП лпя *айла File txt

READ

^ jsmith S-1-5-21 -etc.-1000

WRITE

= Administrators S-1-S-32-544

-

Еще одно хорошее средство для исследования маркеров доступа — утилита DumpTokenlnfo Дэвида Лебланка (David Leblanc). Ссылка на нее есть в разде­ле "Дополнительная литература и ссылки".
Заимствование прав
Чтобы уменьшить затраты на обслуживание сети, в семействе систем Windows NT реали­зована возможность заимствования прав учетной записи пользователя при работе с ресурсами на удаленном сервере. При заимствовании прав сервер сообщает службе SRM, что он вре­менно принимает маркер доступа клиента, который обращается к ресурсу. Тогда сервер мо­жет работать с ресурсом от имени клиента, а программа SRM подтверждает действительность обращений. Классический пример заимствования прав — анонимные запросы Web-страниц посредством службы IIS. При обработке этих запросов сервер I IS заимствует права учетной записи\\]^К_имямашины.
Маркер с ограничениями
В системе Windows 2000 появился новый тип маркера доступа, маркер с ограничениями (restricted token). Маркер с ограничениями во всем аналогичен обычному маркеру доступа, но некоторые привилегии у него могут быть сняты, а идентификаторы SID такого маркера могут быть помечены как только отказ (deny-only) или ограниченный (restricted). Маркеры с ограни­чениями используются, когда Windows Server 2003 заимствует права учетной записи пользова­теля, для которого не предоставлены некоторые привилегии. Например, приложение может наследовать маркер с ограничениями от первичного или заимствованного маркера для того, чтобы выполнить модуль непроверенного кода, что при обычном уровне привилегий маркера могло бы привести к выполнению нежелательных действий.
Делегирование
Делегирование стало новой возможностью в Windows 2000, которая позволяет службе за­имствовать права учетной записи пользователя или учетной записи компьютера в целях пре­доставления службе доступа к ресурсам домена. В Windows 2000 существует два ограничения относительно этой возможности.
Т Для делегирования не устанавливается никаких ограничений, то есть при делегирова­нии прав учетной записи ее владелец получает доступ ко всем ресурсам домена. * При делегировании используется аутентификация по технологии Kerberos.
Оба эти недостатка были устранены в Windows Seryer 2003. Теперь делегирование может быть ограничено для отдельных служб и больше нет необходимости в аутентификации с по­мощью Kerberos.
При делегировании прав учетным записям на компьютере, с которым уста­новлены доверительные отношения, по по-прежнему следует соблюдать ос­торожность, поскольку это позволяет владельцу учетной записи LocalSystem на этом компьютере получить доступ к службам домена.
Аутентификация по сети
Локальная аутентификация в Windows Server 2003 с помощью отправки сигнала <CTRL+ALT+DEL> осуществляется весьма просто, ее мы уже описали. Но при входе в сис­тему Windows Server 2003 через сеть, что является первоочередной целью хакера, используется
аутентификация по сети. Чтобы подготовиться к описанию в дальнейших главах некоторых уязвимых мест, связанных с недостатками протоколов для сетевой аутентификации в Win­dows Server 2003, кратко опишем этот процесс.
В системах семейства Windows NT в основном используют аутентификацию с запросом и подтверждением, при которой сервер передает клиенту случайное число (запрос), клиент за­тем обрабатывает полученное число с помощью функции хеширования, используя хеширо-ванный пароль пользователя, и возвращает новое хешированное значение (ответ) серверу. После этого сервер берет свою копию хешированного пароля пользователя из локальной базы данных SAM или Active Directory, хеширует отправленный им запрос и сравнивает получен­ное значение с ответом клиента. Таким образом, при аутентификации в системах семейства Windows NT пароли не передаются по сети даже в зашифрованном виде. Механизм запрос/ответ изображен на 5 и подробно описан в статье О102716базы знаний Microsoft.
Пользователь вводит пароль
WinLogon
Хеширование пароля
Общий секрет: хеш и ро ванный пароль пользователя (никогда не передается по линии связи)
На представленной схеме особое значение имеет этап 3. Для шифрования 8-байтового за­проса в системах семейства Windows NT используется один из трех различных алгоритмов хеширования:
▼ LANMan(LM); ■ NTLM;
* NTLM версии 2 (NTLMv2).
В главе 5, "Атака на службы Windows", будет рассмотрен недостаток алгоритма LM, кото­рый позволяет злоумышленнику перехватить сообщения, передаваемые по сети, сравнительно легко подобрать хешированный пароль, чтобы затем, отключившись, попьггаться подобрать сам пароль. И это при том, что по сети никогда не передается даже хешированный пароль!
Чтобы защититься от этого, компания Microsoft разработала улучшенный алгоритм хеши­рования NTLM для Windows NT, который был добавлен в пакет NT4 Service Pack 3 и следую­щую более защищенную версию алгоритма NTLMv2 для операционной системы Win­dows NT 4 SP4. Клиенты Windows 95/98 не реализуют алгоритмы NTLM, поэтому защита, ко­торую обеспечивает использование алгоритмов NTLM и NTLMv2, не распространялась на смешанные сети (на компакт-диске Windows 2000 поставляется утилита DSCIient, которая от­вечает за обновление клиентов систем Windows 9х и таким образом обеспечивает возмож­ность использования алгоритмов хеширования NTLM и NTLMv2).
В гомогенном окружении Windows 2000 и следующих версиях можно использовать встро­енный протокол Kerberos v5, который появился только в Windows 2000. Тем не менее, система Windows Server 2003 сохранила полную обратную совместимость с алгоритмами хеширования LM, NTLM и NTLMv2, и при невозможности установить взаимодействие по протоколу Ker­beros она будет использовать один из старых алгоритмов. Протокол Kerberos используется только при его одновременной поддержке и клиентом, и сервером. При этом для указания обеих машин используются их доменные имена (а не IP-адрес), и они должны находиться в одном лесу (если только не используется реализация протокола Kerberos от независимого производителя).
ВНИКАНИЕ
Как мы рассмотрим далее а главе 5, "Атака на службы Windows", протокол Kerberos также уязвим относительно перехвата данных.
В табл. 2.8 перечислены механизмы аутентификации по сети в системах семейства Win­dows NT.
1ица 2.8. Механизмы сетевой аутентификации в Windows%CTeMax
Тип аутентификации    Поддерживаемые клиенты Комментарии
LAM Man
NTLMv2

Kerberos
Все
NT4 SP3, Windows 2000 и последующие версии
Версии Windows NT4 старше SP4, Windows 2000 и последующие версии
Windows 2000 и последующие версии
Требуется в системах WFW и Windows Эх, но существует возможность перехвата данных: в Win­dows Эх программа DSCIient позволяет использовать протокол NTLM
Защита намного надежнее, чей при использовании LANMan
Улучшенная го сравнению с NTLM защита, рекомендуется для гетерогенного окружения Win­dows NT4/2000
Используется только для систем Windows 2000 и последующих версий и в пределах одного леса
Для простоты изложения мы намеренно не рассматривали протокол MS-CHAP (Microsoft's Challenge Handshake Authentication Protocol — протокол аутентификации с предварительным согласованием вызова), который используется для удаленного доступа, протоколы Web-аутентефикации, наподобие HTTP Basic и Digest, RADIUS (Remote Authentication Dial-In User Service — служба удаленной аутентификации пользователей по коммутируемым линиям) идругие протоколы, используемые системой Windows в различных ситуациях. Хотя эти прото­колы несколько отличаются от описанных, они зависят от четырех базовых протоколов, собран­ных в табл. 2.6, которые используются в той или иной форме для идентификации при любом ви­де доступа через сеть.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика