поиска на warning.dp.ua
  

 

 Безопасность компьютерных
систем на базе Windows NT

Андрей Стуленков

Windows NT предоставляет богатые возможности конфигурирования операционной среды, однако такая гибкость системы таит в себе много потенциальных опасностей, в частности, для защиты.

Windows NT получает все большее распространение и как операционная система для рабочих станций, и как серверная ОС. Многие сетевые администраторы уже успели оценить легкость управления этой системой и эффективность средств ее безопасности. Однако популярность NT заставила хакеров всего мира обратить на нее пристальное внимание, и, конечно, они нашли немало слабых мест.

В этой статье мы попытаемся дать общий обзор проблем безопасности информационных систем на базе Windows NT 4.0. При этом основное внимание будет уделено тем методам взлома компьютерных сетей, применение которых не требует от злоумышленника высокой квалификации и может быть осуществлено с помощью программных средств, свободно доступных в Internet. Как показывает практика, такие атаки наиболее распространены, и именно от них следует защитить свою систему в первую очередь. К сожалению, абсолютное большинство системных администраторов плохо осведомлены о возможных угрозах, поэтому для них подобная информация будет особенно полезна.

Система безопасности компьютерной сети должна предусматривать меры защиты по трем направлениям:

  • защита на уровне физического доступа к компьютеру;
  • организация безопасной работы в локальной сети;
  • защита при подключении к глобальным сетям.

Как мы надеемся, приводимые в этой статье рекомендации помогут администратору системы безопасности правильно оценить возможный риск по всем трем направлениям и сформировать необходимый в его конкретном случае "защитный комплекс".

ЛОКАЛЬНЫЙ ДОСТУП К КОМПЬЮТЕРУ

Windows NT позволяет контролировать локальный доступ к хранящейся на диске информации в соответствии с разрешениями файловой системы. Как известно, NT поддерживает две файловые системы: FAT и NTFS. FAT не имеет средств защиты на уровне локального пользователя, поэтому она используется, только если компьютер имеет альтернативную операционную систему MS-DOS или Windows 95. NTFS - новая файловая система, поддерживаемая только ОС Windows NT. Основным ее отличием от FAT является способность обеспечивать защиту файлов и каталогов в соответствии с правами пользователей.

NTFS необходимо использовать всегда, когда требуется обеспечить защиту информации. Однако не забывайте, что разрешения NTFS на доступ к данным не действуют в другой операционной системе, отличной от Windows NT. Так, например, при наличии возможности загрузить MS-DOS с дискеты любая информация из разделов NTFS может быть считана с помощью драйвера NTFSDOS.EXE (автор - Mark Russinovich) в обход системы безопасности Windows NT. Аналогичный драйвер существует и для ОС Linux.

Только шифрование способно надежно защитить информацию от подобных методов прямого доступа к диску. К сожалению, в Windows NT 4.0 не предусмотрена возможность шифрования на уровне операционной системы (файловая система с этой функцией должна появиться в следующей версии NT). На сегодняшний день для шифрования данных вы можете использовать несколько соответствующих программных продуктов независимых производителей:

В соответствии с российским законодательством, все государственные организации, а также предприятия, на которых размещаются государственные заказы, должны применять шифровальные средства, имеющие сертификат Федерального агентства правительственной связи и информации при Президенте РФ. В этом случае для шифрования данных в среде NT вы можете использовать сертифицированное средство криптографической защиты информации "ВЕРБА-OW", разработанное Пензенским научно-исследовательским электротехническим институтом (http://www.security.ru).

Наивысшую же степень защиты информации обеспечивают специализированные контроллеры дисков, способные шифровать на лету любые данные, записываемые на жесткий диск. На отечественном рынке наибольшее распространение получили шифрующие контроллеры дисков серии КРИПТОН (http://www.microdin.ru/~ancud/crypton4.htm), имеющие сертификат ФАПСИ.

Кроме доступа к хранящейся на компьютере информации злоумышленник, как правило, стремится получить права администратора системы или пароли пользователей. В этом случае наибольший интерес для него представляет файл SAM из каталога WINNT\System32\Config. SAM - это файл, где хранятся учетные записи пользователей и их пароли. Во время работы Windows NT доступ к SAM имеет только администратор. Тем не менее злоумышленник может получить копию этого файла, загрузив с дискеты MS-DOS и свободно скопировав SAM.

Для извлечения и вскрытия текстовых паролей из SAM взломщик может использовать одну из доступных в Internet программ, например L0phtCrack. С целью защиты от просмотра пароли в SAM подвергаются специальной криптографической процедуре - хэшированию. Хэш дополнительно шифруется с помощью алгоритма DES, однако эта операция является обратимой, так что значение хэшированного пароля может быть восстановлено в любой момент. В отличие от шифрования, хэширование - необратимая процедура, поэтому восстановить из хэша текстовый пароль можно только путем перебора всех возможных комбинаций. Таким образом, время, необходимое для вскрытия пароля, увеличивается пропорционально длине пароля и количеству используемых символов.

Windows NT поддерживает пароли длиной до 128 символов, но на практике стандартные программы работы с учетными записями пользователей ограничивают длину пароля 14 символами. Может показаться, что простой перебор всех возможных комбинаций 14-символьного пароля требует применения сверхмощной вычислительной техники, однако это не совсем так. Дело в том, что в действительности файл SAM содержит два хэшированных представления одного и того же пользовательского пароля, полученных с помощью разных алгоритмов. Один хэш - в стандарте Windows NT, другой - в стандарте LAN Manager (этот стандарт используется в целях совместимости с другими сетевыми клиентами, такими, как Windows for Workgroups и Windows 95). Хэшированный пароль стандарта LAN Manager слабо устойчив к взлому, так как каждая из двух половин 14-байтового символьного пароля хэшируется независимо, а результаты затем соединяются. Таким образом, вычисление 14-байтового пароля эквивалентно взлому двух 7-байтовых паролей, что значительно сокращает число возможных комбинаций для перебора. По этой причине все программы вскрытия текстовых паролей пытаются в первую очередь подобрать хэшированный пароль по стандарту LAN Manager. Тесты показывают, что программа L0phtCrack, работающая на Pentium Pro 200, может взломать пароль любой длины, состоящий из букв и цифр, примерно за одну неделю. Для защиты базы данных SAM от взлома можно использовать утилиту SYSKEY, входящую в состав Service Pack 3. SYSKEY позволяет дополнительно зашифровать данные в SAM, после чего программы извлечения и восстановления паролей не смогут корректно обрабатывать информацию из этого файла.

Если у злоумышленника имеется физический доступ к вашему компьютеру и возможность загрузки с дискеты, то он может использовать еще один быстрый способ получения прав администратора системы. Имеющийся в Internet файл bootdisk.bin (автор - Petter Nordahl-Hagen) представляет собой образ загрузочной дискеты с ОС Linux. Загрузка с такой дискеты приводит к запуску программы, предлагающей сменить пароль любого пользователя операционной системы Windows NT (включая администратора). Эта программа способна модифицировать пароли в файле SAM как в разделе NTFS, так и в FAT. Перед сменой пароля она предлагает сохранить старую копию SAM, которую злоумышленник может использовать впоследствии для восстановления первоначального пароля администратора, чтобы нарушение системы безопасности осталось незамеченным. Данная атака может быть предотвращена за счет дополнительного шифрования информации в SAM с помощью утилиты SYSKEY.

Непривилегированный пользователь может получить права администратора непосредственно во время сеанса работы в Windows NT, используя имеющиеся полномочия на каталоги диска и ключи реестра. К примеру, каталог WINNT\REPAIR, где хранится резервная копия системного реестра, доступен по умолчанию для всех пользователей. Используя файл SAM из этого каталога, взломщик способен выяснить пароли других пользователей.

Для обеспечения высокого уровня защиты администратору следует вручную задать более жесткие права на объекты файловой системы и ключи реестра. Рекомендации по созданию безопасной конфигурации можно найти на страничке http://www.microsoft.com/ntserver/security/exec/overview/Secure_NTInstall.asp.

К сожалению, правильное администрирование не всегда гарантирует надежную защиту. Серьезную угрозу безопасности NT могут представлять ошибки в самой операционной системе. Так, например, широко известная программа GetAdmin.exe (автор - Константин Соболев) использует одну из внутренних системных "дыр" для повышения уровня привилегий локального пользователя и включения его в группу администраторов. Как правило, компания Microsoft оперативно реагирует на сообщения об ошибках в коде ОС Windows NT и выпускает соответствующие "заплаты" (Hot Fix), которые позднее включаются в новые версии сервисных пакетов (Service Pack). В настоящее время на Web-сервере Microsoft имеется Service Pack 4, куда были включены все последние исправления и "заплаты" (в том числе и для противодействия GetAdmin).

Организация локальной системы безопасности требует от администратора комплексного подхода, включающего предотвращение физического доступа, ограничение прав пользователей и задание надлежащих полномочий на папки диска и ключи реестра. Вот несколько основных рекомендаций по защите системы на базе NT от атак, связанных с локальным доступом:

  • Windows NT должна быть единственной операционной системой на вашем компьютере;
  • у пользователя не должно быть возможности загрузиться с дискеты;
  • системный блок должен находиться в недоступном для пользователей месте;
  • в качестве файловой системы следует использовать только NTFS;
  • число пользователей с правом локальной регистрации должно быть максимально ограничено (для этого в программе UserManager в меню Policies выберите пункт UsersRights, в списке Rights укажите log on locally и отредактируйте список разрешенных пользователей);
  • при появлении новых версий сервисных пакетов и "заплат" на сервере http://www.microsoft.com их по возможности следует тут же устанавливать.

БЕЗОПАСНАЯ РАБОТА В ЛОКАЛЬНОЙ СЕТИ

Одной из наиболее важных функций локальных сетей является совместное использование файлов и печати. Windows NT обеспечивает разделение файлов и печати с помощью двух сетевых сервисов: Workstation и Server. Служба Workstation позволяет компьютерам обращаться к ресурсам в сети. Служба Server предназначена для управления созданием и защитой каталогов и принтеров, а также позволяет компьютеру выполнять роль сервера, предоставляющего свои собственные сетевые ресурсы для общего доступа. Дистанционный доступ к сетевым ресурсам в ОС Windows NT осуществляется по протоколу SMB (Server Message Block); этот протокол применяется также для удаленного управления системой. Ниже мы рассмотрим вопросы защиты сервера SMB на базе Windows NT.

Наибольший интерес с точки зрения безопасности представляет процесс регистрации пользователей в сети Windows NT по протоколу SMB. C каждым сетевым ресурсом сервера связан список контроля доступа, поэтому любой сеанс связи начинается с процесса регистрации сетевого клиента и проверки его прав на доступ к запрашиваемому сетевому ресурсу. При открытии сеанса связи сервер генерирует случайный 8-байтовый "вызов" (challenge) и посылает его клиенту. Клиент шифрует по алгоритму DES полученный от сервера "вызов", используя в качестве ключа шифрования 16-байтовый хэшированный пароль из своего файла SAM. Результатом является 24-байтовый "ответ" (response) клиента, который и передается серверу. Как уже упоминалось, в SAM хранятся два хэшированных пароля: хэш Windows NT и хэш LAN Manager. Поэтому клиент формирует два "ответа" общей длиной 48 байт. Сервер в свою очередь проводит аналогичные вычисления, используя собственный "вызов" и хэшированный пароль пользователя из своей базы данных SAM. Полученное в результате значени