Ключи реестра SAM
NT хранит постоянно используемую копию базы данных SAM на жестком диске. Вы можете получить доступ к этой базе данных через реестр системы (HKEY_LOCAL_MACHINE, ключ SAM), написав программу или используя редактор реестра (например, regedt32.exe). В принципе, пользователи не имеют доступа к ключу реестра SAM непосредственно из редактора реестра, так как NT предоставляет права доступа к данному ключу только системной учетной записи SYSTEM. Однако пользователи, имеющие административные привилегии, могут воспользоваться трюком NT и обеспечить доступ из пользовательской среды с правами SYSTEM.
Блокировка службы Планировщика NT (NT Scheduler). Упомянутый выше трюк состоит в использовании службы Планировщика NT для запуска редактора реестра на системной консоли в некоторое заранее определенное время. По умолчанию, Планировщик NT при выполнении заданий использует права учетной записи SYSTEM. Поэтому любая программа, запущенная Планировщиком, имеет полный набор системных привилегий, включая доступ к базе данных SAM. Чтобы защититься от данной опасности, приходится действовать жесткими методами, так как для этого необходимо заблокировать службу Планировщика NT. Блокировка данной службы не всегда возможна в связи с тем, что она может потребоваться для запуска обычных заданий. Если вы не в состоянии заблокировать службу Планировщика, постарайтесь сконфигурировать ее таким образом, чтобы она работала от имени учетной записи пользователя (права пользователя - это необходимый минимум для выполнения запланированных заданий).
Использование технологии системного ключа (system key). Для обеспечения защиты SAM вы также можете применить предлагаемую Microsoft технологию системного ключа. Данная технология впервые появилась в составе дополнений (hotfix) к пакету обновления NT Service Pack 2 (SP2), но широкую известность она получила, когда вошла в состав SP3. (О сервисном пакете SP3 читайте статью Service Pack 3 Is Really Security Pack 3 в журнале Windows NT Magazine, август 1997.) Технология системного ключа применяется для защиты NT и ее паролей посредством шифрования базы данных SAM и требует использования ключа шифра при загрузке операционной системы.
Можно использовать один из трех вариантов системных ключей.
- Ключ формируется системой произвольным образом и хранится на системном диске с использованием специального алгоритма защиты от прочтения.
- Ключ формируется системой произвольным образом и хранится на дискете.
- Для формирования ключа применяется пароль, выбираемый администратором.
Более подробно о каждом из этих вариантов можно прочитать в статье Microsoft: Windows NT System Key Permits Strong Encryption of the SAM ().
Хотя системный ключ и помогает защитить SAM, прежде чем броситься в бой и начать его устанавливать, следует осознать несколько важных моментов. Нужно иметь в виду, что после установки syskey.exe на компьютере не существует возможности его удаления. Следовательно, необходимо очень внимательно отнестись к вопросу выбора оптимального для вашей системы метода хранения ключа. Непосредственно после установки syskey.exe нужно сформировать новую дискету ERD (Emergency Repair Disk). В противном случае вы не сможете полностью восстановить систему, если это потребуется.
Одно из реальных преимуществ использования системного ключа состоит в том, что если взломщикам удастся получить копию вашей базы данных SAM, они не смогут вытащить оттуда действующие хэш-коды паролей. У них не будет возможности применить для расшифровки паролей такие утилиты как L0phtCrack от L0pht Heavy Industries. Но следует заметить, что системный ключ не сможет остановить тех пользователей, которые имеют административные привилегии. Эти пользователи могут выгрузить базу данных SAM в формате, пригодном для взлома такими инструментами, как L0phtCrack; поэтому нужно очень аккуратно назначать административные права. Например, утилита Pwdump2 успешно получает хэш-коды паролей из базы данных SAM, даже если используется технология системного ключа. Следует учитывать потенциальную опасность, которую представляют подобные инструменты.
Другим преимуществом технологии системного ключа является возможность обнаруживать попытки такого малоизвестного способа взлома, при котором для получения доступа к системе применяются загрузочные диски.
Конечно, такой метод взлома возможен только в том случае, если вы можете загрузиться с системного диска NT. Однако если это удается сделать, то взломщик может перенести базу данных SAM в другое место и затем перезагрузить компьютер. В процессе перезагрузки NT обнаруживает отсутствие базы данных SAM и создает новую базу, которая содержит только двух пользователей: Administrator и Guest, причем оба имеют пустые пароли. Очевидно, что теперь взломщик может зарегистрироваться в системе как Administrator, введя пустой пароль, сделать все, что ему нужно, затем перезагрузиться со своего системного диска и вернуть оригинальную копию базы данных SAM на прежнее место.
При использовании системного ключа такую попытку взлома легко обнаружить. Если на компьютере установлен системный ключ, то во время загрузки NT не выдаст на экран обычного диалогового окна с приглашением для регистрации. При таком поведении системы даже самый несообразительный администратор должен задуматься и немедленно приступить к исследованию проблемы.