Операционные системы - статьи

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.


  9. Теперь вы назначили пользователям 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.


      Содержание раздела