Безопасность операционной системы Windows
Операционная система Windows, включая самые последние на сегодняшний день версии Windows XP/2003, содержит ряд уязвимостей, немедленно замечаемых заинтересованными лицами. В Интернете встречается программка PassView (http://www.nht-team.org/) — она позволяет узнавать пароли от многих программ, установленных на вашем компьютере, среди которых Internet Explorer, Outlook Express, ICQ. Программа в заархивированном виде занимает около 60 Кб и не требует установки, кроме всего прочего, она позволяет увидеть пароли от диалапа – для этого достаточно получить доступ с правами администратора системы на считанные секунды и запустить PassView (рис. 10.1).
Рис. 10.1. Вкладка Ras программы PassView, на которую выводятся данные всех соединений данного пользователя
Получение пароля администратора в Windows 2000/XP/2003 тоже не слишком сложная задача. Рассмотрим один из способов — восстановление пароля из SAM-базы. Все логины и пароли учетных записей хранятся в зашифрованном виде в файле SAM, расположенном в каталоге C:\WINDOWS\System32\Config. При попытке открыть этот файл непосредственно, из операционной системы появляется сообщение системы о нарушении доступа к файлу. Дело в том, что все файлы, находящиеся в этой папке, представляют собой фрагменты реестра, постоянно используемые системой, поэтому доступ к ним возможен не из самой ОС. Для этого применяем любой файловый менеджер (обычно на мультизагрузочных компакт-дисках можно найти их, причем как для файловой системы FAT32, так и для NTFS) для просмотра содержимого жесткого диска в режиме DOS и копируем на любой съемный носитель два файла — SAM и SYSTEM, содержащей системный ключ Syskey. Теперь на другом компьютере нам осталось только расшифровать содержимое скопированных файлов. Запускаем программу SamInside (в заархивированном виде около 800 Кб, http://www.insidepro.com/) и импортируем сначала файл SAM, а затем SYSTEM. Программа SamInside поддерживает перебор паролей по двум алгоритмам — LM и NT, кроме того, предоставляет возможность для определения диапазона предполагаемого пароля, включая перебор по словарям (рис. 10.2).
увеличить изображение
Рис. 10.2. Настройки подбора пароля
В качестве пароля на свою учетную запись я установил password12345, и на компьютере P IV 2.4 ГГц, 512 Мб RAM получил часть пароля по алгоритму LM всего за 15 минут. Даже подбор по алгоритму NT, с учетом параметров, указанных на рис. 10.2, занимает всего 2 часа (рис. 10.3).
увеличить изображение
Рис. 10.3. Окно программы в режиме определения подбора пароля по алгоритму NT
Конечно, подбор сложного пароля, содержащего в случайном порядке буквы, числа и символы, займет гораздо больше времени, но привлечение больших вычислительных мощностей позволит справиться и с этой задачей. Мы не будем рассматривать здесь применение криптографических алгоритмов, теорию цифровых подписей или социальную инженерию — для этого бы потребовалось отдельная книга. Пример с учетными записями Windows должен просто навести вас на мысль, что любой инструмент безопасности требует критического и внимательного отношения к себе. Не следует всецело полагаться на ответственность разработчиков .NET Framework — всякий раз, когда в своих приложениях вы будете использовать один из принципов, речь о которых пойдет ниже, старайтесь оценивать все возможные контрмеры, способствующие исключению несанкционированного доступа.