|
Авторы: Марк Джозеф Эдвардс, Дэвид Лебланк Наверняка
вы знаете о том, что пароли служат ключами к большинству <дверей> в сети. А известно ли вам, где Windows NT 4.0 хранит эти пароли? Их можно обнаружить во многих интересных местах. И для того, чтобы
обеспечить надежную защиту системы, необходимо располагать полной информацией о них. Для хранения и обработки таких атрибутов пользователя, как пароли в ОС NT, используется SAM (Security Accounts
Manager - администратор учетных данных в системе защиты). SAM размещает всю информацию в базе данных SAM, поэтому можно сказать, что NT защищена от взлома настолько же, насколько защищены данные SAM. Взломать
систему безопасности SAM непросто, только если не знать обо всех местах, где можно найти базу данных SAM. Эта статья поможет вам защитить некоторые важные области данных системы NT и отыскать участки системы,
которые требуют дальнейшего конфигурирования для обеспечения более высокого уровня безопасности. Ключи реестра 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 (http://support.microsoft.com/support/kb/articles/q143/4/75.asp). Хотя системный ключ и помогает защитить
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 не выдаст на экран обычного диалогового окна с приглашением для регистрации.
При таком поведении системы даже самый несообразительный администратор должен задуматься и немедленно приступить к исследованию проблемы. Аудит SAM При любых обстоятельствах предусмотрительный
администратор должен активизировать аудит базы данных SAM, чтобы своевременно обнаруживать какие-либо подозрительные действия. Разумеется, аудит предполагает, что вы будете регулярно и тщательно просматривать
журнал событий. Процедура установки аудита SAM описана по шагам в колонке <Установка аудита системы безопасности>. Также эта процедура описывается в статье Microsoft Enable Auditing of Microsoft Windows
NT Server Password Registry (http://support.microsoft.com/support/kb/articles/q186/ 3/74.asp). Вы можете активизировать аудит базы
данных SAM, однако он не будет выполняться, если кто-то загрузит систему с другой копии ОС. Предположим, вы сделали все, что нужно для установки аудита всей текущей базы данных SAM. Теперь журнал
событий будет включать в себя информацию обо всех успешных и неудачных попытках доступа к ключам SAM. Однако эта информация окажется бесполезной, если вы не будете внимательно анализировать журнал. Активизация
такого уровня аудита может привести к накоплению очень большого количества записей в журнале событий. Дело в том, что в процессе нормальной работы OC регулярно происходят обращения системы к ключам SAM.
Поэтому следует установить параметры настройки журнала событий так, чтобы он мог вмещать достаточное количество записей. Также следует настроить программы мониторинга журнала событий, которые вы будете
использовать. Утилиты, выполняющиеся с правами привилегированных пользователей, таких как Administrator или SYSTEM, могут свободно манипулировать журналом событий и записями в нем. Сообразительные
взломщики могут легко удалить все следы своей деятельности. SAM на различных носителях информации NT может помещать базу данных SAM на различные носители информации, включая дискеты, магнитные
ленты и жесткие диски. Копирование базы на дискету или ленту требует определенных действий со стороны пользователя, такая операция не является частью обычной работы NT. В процессе ежедневного функционирования
NT может размещать базу данных SAM в двух каталогах на жестком диске: %systemroot%\repair и %systemroot%\system32\config. Хотя каталог \config и содержит рабочую копию базы данных SAM, используемую <живой>
системой, к этой базе нельзя получить доступ (например, для копирования) из таких программ, как Windows Explorer (Проводник), пока работает ОС. Это связано с тем, что системный процесс Local Security Authority
(LSA) (lsass.exe) захватывает файл базы данных SAM для монопольного использования. Тем не менее кто-нибудь все же может, используя загрузочный диск NT, скопировать данный файл. То есть взломщик имеет
возможность перезагрузить систему со своего диска и скопировать либо переместить базу данных SAM. Еще раз заметим, что технология системного ключа может защитить SAM от подобной атаки с использованием загрузочного
диска, так как база данных будет зашифрована. Это справедливо и для архивов на магнитных лентах, поскольку взятая оттуда копия базы данных SAM, зашифрованная с помощью системного ключа, окажется совершенно
бесполезной для взломщика. Однако архивы на лентах все равно следует хранить под замком для защиты от потери, искажения и кражи информации. Каталог \repair содержит ту же информацию, что и дискета
ERD, создаваемая утилитой rdisk.exe и используемая для восстановления системы. И каталог \repair, и дискета ERD содержат копии базы данных SAM, поэтому они должны быть надежно защищены. Дискета ERD должна
храниться в столь же безопасном месте, что и ленты с архивами данных. Для защиты каталога \repair назначайте права таким образом, чтобы злоумышленники не могли получить доступ к данному каталогу и
содержащимся в нем файлам, в особенности к файлу sam._, в котором находится база данных SAM. Чтобы защитить файлы в каталоге \repair, используйте утилиту calcs.exe, входящую в состав Microsoft Windows NT
Server 4.0 Resource Kit или другую аналогичную программу. Выполните следующие действия. В окне Command Prompt перейдите в каталог %systemroot% (обычно это C:\winnt) и выполните команду: cacls
repair /g administrators:F system:F /t Либо вы можете, используя программу Windows Explorer, сделать следующее. 1. Откройте Windows Explorer. 2. Перейдите в каталог repair (обычно
это C:\winnt\repair), нажмите правую клавишу мыши и выберите в открывшемся меню Properties. 3. Выберите закладку Security. 4. Выберите Permissions. 5. Отметьте Replace Permissions
on Subdirectories и Replace Permissions on Existing Files. 6. Удалите из списка всех пользователей, кроме Administrators и SYSTEM. 7. Убедитесь, что и Administrators, и SYSTEM имеют права
Full Control. 8. Нажмите OK. Теперь вы назначили пользователям Administrators и SYSTEM права Full Control на данный каталог и все файлы, которые в нем содержатся. Поскольку режим редактирования
ACL выбран не был, права всех остальных пользователей удалены системой. В зависимости от конфигурации системы помимо каталогов \repair и \config NT может записывать информацию, имеющую отношение к
SAM, в следующие файлы: pagefile.sys, memory.dmp или user.dmp. NT использует файл pagefile.sys как дополнительное пространство для организации виртуальной памяти, которое добавляется к физической памяти,
установленной в компьютере. Файл memory.dmp создается при аварийном завершении работы операционной системы, если в конфигурации NT выбран режим записи образа памяти на диск. Файл user.dmp создается при
аварийном завершении работы какой-либо прикладной программы, если в конфигурации программы Dr. Watson выбран режим записи образа памяти в файл. При работе с этими файлами NT переписывает определенную
порцию данных из памяти на диск. В некоторых случаях эти данные могут содержать пароли, хранящиеся резидентно в памяти. Соответственно, получив доступ к этим файлам, взломщик может без особого труда завладеть
важной информацией, позволяющей пробить брешь в системе безопасности. Чтобы уменьшить опасность, связанную с использованием файлов user.dmp и memory.dmp, вам необходимо предпринять одно из следующих
действий: - написать командный файл, который будет удалять указанные файлы при входе в систему.
- установить права для этих файлов так, что только администраторы смогут иметь доступ
к ним.
- установить в реестре ключ, указывающий на необходимость удаления системного файла pagefile при завершении работы операционной системы.
- в конфигурации программы Dr. Watson отключить
режим создания файлов.
Лучше всего настроить параметры системы так, чтобы указанные два файла не создавались. Однако при этом может возникнуть ситуация, когда программисты, которые должны исследовать
проблему аварийного завершения работы системы, не будут иметь необходимых им данных. Чтобы отключить создание файлов user.dmp программой Dr. Watson запустите утилиту drwtsn32.exe, отключите параметр
Create Crash Dump File и закройте программу. Чтобы отключить в параметрах настройки NT создание файла memory.dmp, запустите в Панели Управления (Control Panel) программу System и выберите закладку
Startup/Shutdown. Затем отключите параметр Write debugging information to. Если вам все же необходимо иметь образы памяти на момент аварийного завершения работы NT, постарайтесь настроить параметры
ОС и программы Dr. Watson таким образом, чтобы файлы, содержащие образ памяти, помещались в защищенный каталог, доступный только администраторам. Что касается файла pagefile.sys, то его открывает
и защищает от попыток непосредственного доступа со стороны взломщиков только операционная система. Однако следует упомянуть прошлогодний инцидент, когда клиентская служба NetWare для Windows NT помещала
в память пароли пользователей NetWare в открытом виде. Эти пароли могли быть записаны в файл pagefile.sys при переписывании соответствующей страницы памяти на диск. Любой человек, имеющий копию файла pagefile.sys
и текстовый редактор, мог без труда получить пароли. Разработчики Novell решили эту проблему. Теперь, прежде чем поместить пароли в pagefile, они шифруются с использованием недокументированного API-интерфейса.
Однако взломщики могут пробить эту защиту. Так, изобретательные российские программисты нашли способ расшифровки информации, получаемой из файла pagefile.sys. Чтобы защититься от подобных атак, настраивайте
NT таким образом, чтобы файл pagefile.sys удалялся при завершении работы системы. (Как это сделать, мы расскажем далее.) И не забывайте о необходимости физической защиты компьютера с целью предотвращения
нежелательного доступа к файлу pagefile.sys. Да, вы можете сконфигурировать NT так, чтобы pagefile удалялся при нормальном завершении работы системы. Но таким способом вы обеспечите защиту только
от тех взломщиков, которые копируют или изменяют файл, загрузившись с другой копии ОС (т. е. используя загрузочный диск или загрузив NT из другого системного каталога). Большинство взломщиков понимают,
что в таком случае у них есть возможность получения доступа к системе путем перемещения базы данных SAM, следовательно, взлом файла pagefile.sys становится бессмысленным Несмотря на это, в ситуациях,
когда условия эксплуатации системы требуют установки и использования нескольких копий ОС, удаление файла pagefile при нормальном завершении работы можно считать достаточной мерой безопасности. Следует иметь
в виду, что если NT сконфигурирована так, чтобы удалять pagefile во время завершения работы системы, то неизбежна некоторая задержка в процессе начальной загрузки и останова ОС. Однако эта задержка несущественна,
если принять во внимание уровень безопасности, которого мы в результате достигаем. Для того чтобы включить режим удаления файла pagefile.sys во время нормального завершения работы ОС, следует модифицировать
(или создать) в системном реестре параметр ClearPageFileAtShutdown (типа REG_SZ) в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management, присвоив ему значение 1. Хэш-коды
паролей в памяти По умолчанию, NT кэширует необходимые для регистрации атрибуты для 10 последних пользователей, входивших в систему интерактивно. Это делается для того, чтобы пользователь смог зарегистрироваться,
даже если вы отключите компьютер от сети, или контроллер домена окажется недоступным. NT обеспечивает определенную защиту кэшируемой информации. Однако если ваши задачи требуют более высокого уровня безопасности,
вы можете полностью отключить кэширование, чтобы исключить попытки атак на данные в кэш-памяти. Нужно учитывать, что кэшируемые данные содержат хэш-коды других хэш-кодов паролей. Поэтому их очень сложно
взломать и использовать для несанкционированного входа в систему. Мы не можем вспомнить ни одного случая использования хакерами таких данных из кэш-памяти. Чтобы отключить кэширование, установите в 0 значение
параметра реестра CachedLogonsCount (типа REG_DWORD) в ключе HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ Winlogon. SAM в сети ОС Windows NT использует протокол SMB (Server
Message Block - блок серверных сообщений), разработанный совместно фирмами Microsoft, IBM и Intel. Данный протокол определяет алгоритмы функционирования файловой службы в сетевой среде. Нетрудно предположить,
что во время сеанса SMB по сети должны передаваться пакеты, содержащие информацию конфиденциального характера. Среди прочего эти пакеты обычно включают в себя зашифрованные данные протокола NTLM, передаваемые
NT во время фазы аутентификации. Взломщики, используя существующие сетевые анализаторы, могут легко перехватывать данные, передаваемые по сети. Задача перехвата нужных пакетов и получения из них
информации о паролях всегда считалась нелегкой. Но ситуация в корне изменилась с появлением продукта SMB Packet Capture, выпущенного компанией L0pht Heavy Industries. Это сетевой анализатор, который тесно
интегрирован с программой L0phtCrack. Имея в своем распоряжении L0phtCrack, можно легко <выхватывать> из сети хэш-коды паролей, передаваемые в соответствии с протоколом SMB. Встроенный в L0phtCrack
сетевой анализатор незаметно перехватывает хэш-коды паролей и запоминает их с целью расшифровки. После расшифровки паролей злоумышленнику ничего не стоит добраться до любого сетевого ресурса, к которому
имел доступ соответствующий пользователь. Вот так! Риск здесь очевидный, но и методы защиты просты. Для защиты от подобных атак нужно использовать протокол NTLMv2, поставляемый в составе пакетов обновления
SP4 и SP5, либо применять механизм создания виртуальных частных сетей (VPN - Virtual Private Network) типа Microsoft PPTP. Протокол NTLMv2 позволяет защитить данные, передаваемые по внутренней локальной
сети, а PPTP обеспечивает защиту информации, передаваемой через такие <небезопасные> сети, как, например, Internet. Если вы реализуете PPTP, то обязательно установите последние сервисные пакеты, включая
дополнения и исправления к ним (hotfix). Мы предупреждаем вас об этом, потому что в свое время PPTP-соединение считалось очень ненадежным. Microsoft внесла необходимые корректировки, устраняющие недостатки
PPTP. Но эти корректировки будут вам недоступны, если вы не установите hotfix к пакету SP3 или более позднему пакету. Следует иметь в виду, что при отсутствии в вашей системе механизма VPN и технологии
подписей SMB взломщик может использовать сеанс SMB для получения несанкционированного доступа в систему. Microsoft реализовала технологию подписей SMB в пакете обновления SP3 и также включила ее во все
последующие пакеты обновления. При использовании подписей пакетов SMB операционная система проверяет подлинность каждого пакета, прежде чем принять его к исполнению. Однако реализация подписей SMB не всегда
безопасна. Для получения более подробной информации обязательно прочитайте статью Microsoft How to Enable SMB Signing in Windows NT (http://support.microsoft.com/support/kb/articles/q161/3/72.asp). Для борьбы со средствами взлома
типа L0phtCrack можно запретить NT посылать в сеть хэш-коды паролей, формируемые по протоколу LAN Manager (LM). Хэш-коды LM являются более простыми, чем коды NTLM, так как NTLM позволяет задействовать пароли,
учитывающие регистр. Также NTLM допускает возможность применения дополнительных символов клавиатуры. Это расширяет диапазон символов ключа шифрования на 26. Заметим, что сложные пароли труднее поддаются
расшифровке даже при наличии таких инструментов, как L0phtCrack. Целесообразно включать в пароль символ <возврат каретки>, так как L0phtCrack не умеет нормально обрабатывать этот символ. Чтобы
вставить <возврат каретки>, нажмите клавиши Alt+0+1+3 на цифровой панели клавиатуры. Для решения описываемой проблемы Microsoft реализовала в составе дополнений и исправлений к сервисному пакету
SP3 новый ключ реестра. Он был включен во все сервисные пакеты, вышедшие после SP3. Новый параметр реестра, LMCompatibilityLevel, имеет тип REG_DWORD и размещается в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa. При
использовании NTLMv2 можно установить значение этого параметра равным 0, 1, 2, 3, 4 и 5. Если это значение равно 0, то NT при аутентификации сетевого соединения передает по сети пароли как в формате NTLM,
так и в формате LM (этот метод аутентификации обеспечивает совместимость с другими системами и используется в NT по умолчанию). Если значение равно 1, то NT передает оба типа хэш-кодов только тогда, когда
этого требует сервер. Если значение равно 2, то хэш-коды паролей в формате LM не используются ни при каких обстоятельствах. Если значение равно 3, применяется только аутентификация по протоколу NTLMv2.
Значение параметра, равное 4, запрещает контроллеру домена использовать аутентификацию LM, а значение 5 указывает на необходимость применять при аутентификации только протокол NTLMv2. Наиболее безопасной
является установка значения этого параметра равным 2. Но следует иметь в виду, что системы, поддерживающие только протокол LM (т. е. Windows 95 и Windows for Workgroups), не смогут установить соединение
с данной системой NT. Полный перечень особенностей конфигурации описан в статье Microsoft How to Disable LM Authentication on Windows NT (http://support.microsoft.com/support/kb/articles/q147/7/06.asp). Заметим, что при установке пакета обновления
SP4 данный ключ реестра способен принимать шесть различных значений. Еще один способ взлома системы может иметь место, если взломщик располагает возможностью физического доступа к компьютеру. Используя
такие средства, как NT Locksmith или ERD Commander (оба можно найти на http://www.wininternals. com), ничего не стоит получить доступ в систему с правами любого пользователя. Для защиты от этого метода взлома
следует принять меры, препятствующие физическому доступу к компьютеру. Можно немного расслабиться В этой статье мы представили основные идеи и особенности конфигурации, которые следует учитывать
при установке и сопровождении ОС Windows NT и ее системы безопасности. Также мы упомянули несколько вопросов, связанных с приложениями NT (см. колонки <Безопасность приложений BackOffice> и <Безопасность
прикладных программ>), которые проливают свет на потенциальные проблемы и могут способствовать поиску путей защиты паролей от несанкционированного доступа. Эта статья должна помочь вам несколько
разгрузить свой мозг. Но не слишком расслабляйтесь. Вам по-прежнему необходимо держать систему под контролем. Продолжайте следить за журналами событий! Обсудить в форуме...>>>>
| |