Security Account Manager

SAM (англ. Security Account Manager) - диспетчер учётных записей безопасности — RPC-сервер Windows, оперирующий базой данных учетных записей.

SAM выполняет следующие задачи:

  • Идентификация субъектов (трансляции имен в идентификаторы (SID'ы) и обратно);
  • Проверка пароля, авторизация (участвует в процессе входа пользователей в систему);
  • Хранит статистику (время последнего входа, количества входов, количества некорректных вводов пароля);
  • Хранит настройки политики учетных записей и приводит их в действие (политика паролей и политика блокировки учетной записи);
  • Хранит логическую структуру группировки учетных записей (по группам, доменам, алиасам);
  • Управляет доступом к базе учетных записей;
  • Предоставляет программный интерфейс для управления базой учетных записей.


База данных SAM хранится в реестре (в ключе HKEY_LOCAL_MACHINE\SAM\SAM), доступ к которому запрещен по умолчанию даже администраторам.

SAM-сервер реализован в виде DLL-библиотеки samsrv.dll, загружаемой lsass.exe. Программный интерфейс для доступа клиентов к серверу реализован в виде функций, содержащихся в DLL-библиотеке samlib.dll.

В системе Windows NT 4 не использовалось шифрование для хранящихся в SAM NTLM-хешей паролей. Также, для совместимости с предыдущими версиями Windows, была оставлена поддержка протокола LM. Шифрование, применявшееся тогда в базе SAM, было настолько слабо, что пароли извлекались из системы простейшими хакерскими утилитами.

Ситуация улучшилась с выходом Service Pack 3 для Windows NT 4. Начиная с этой версии, в базе SAM стало применяться стойкое 128-битное шифрование Syskey для защиты хешей паролей. Если в NT4 SP3 пользователю нужно было включать Syskey самостоятельно (командой syskey в консоли), то уже в Windows 2000/XP это шифрование включено по умолчанию.

Механизм Syskey затрудняет взлом базы SAM, содержащей LM-хеши и NTLM-хеши паролей пользователей, так как теперь они хранятся в зашифрованном виде. И без ключа шифрования взлом потребует больших затрат вычислительных ресурсов.

К сожалению, по умолчанию, ключ шифрования Syskey хранится в ветви реестра SYSTEM и предоставляется автоматически во время загрузки. Поэтому, для взлома хешей требуется не только файл SAM, а еще и файл SYSTEM, в котором хранится ключ шифрования.

Кроме этого, возможны и другие режимы работы механизма Syskey:

Режим 1. Ключ хранится в реестре и предоставляется автоматически во время загрузки.

Режим 2. Ключ хранится в реестре, но заблокирован паролем, который необходимо ввести во время загрузки.

Режим 3. Ключ хранится на съемном диске, который должен быть предоставлен во время загрузки.

Использование режимов 2 и 3 делает систему Windows более защищенной, т.к. не позволяет хакеру извлечь хеши паролей, получив физический доступ к выключенному компьютеру.

Литература

[править | править код]
  1. Alex Atsctoy. Самоучитель хакера: подробное иллюстрированное руководство. — M.: Лучшие книги, 2005. ISBN 5-93673-036-0