SAM (англ. Security Account Manager) - диспетчер учётных записей безопасности — RPC-сервер Windows, оперирующий базой данных учетных записей.
SAM выполняет следующие задачи:
База данных 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 более защищенной, т.к. не позволяет хакеру извлечь хеши паролей, получив физический доступ к выключенному компьютеру.