При распределенных скоординированных атаках задействуются сотни или тысячи
компьютеров, управляемых программистом-злоумышленником таким образом, что все
они действуют как один. Благодаря большому числу используемых компьютеров, атака
выглядит как серия независимых попыток соединения, поэтому программы защиты
сервера не в состоянии установить ее источник и заблокировать. Ведь обычно
защита блокирует сетевой адрес, из которого производится атака, а распределение
атаки по большому числу адресов значительно затрудняет дело.
Получить доступ к необходимому для атаки числу серверов не так трудно, как это
кажется. Дело в том, что число незащищенных компьютеров, присутствующих в
Internet, неуклонно растет, а средний домашний пользователь знает о защите очень
мало. Так что со временем проблема будет усугубляться.
Проблему безопасности компьютерных сетей надуманной не назовешь. Практика
показывает: чем масштабнее сеть и чем более ценная информация доверяется
подключенным к ней компьютерам, тем больше находится желающих нарушить ее
нормальное функционирование ради материальной выгоды или просто из праздного
любопытства. В самой крупной компьютерной сети в мире, Internet, атаки на
компьютерные системы возникают подобно волнам цунами, сметая все защитные
барьеры и оставляя после себя впавшие в паралич компьютеры и опустошенные
винчестеры. Эти атаки не знают ни государственных границ, ни расовых, социальных
или иных различий. Идет постоянная виртуальная война, в ходе которой
организованности системных администраторов противостоит изобретательность
компьютерных взломщиков.
Основным защитным рубежом против злонамеренных атак в компьютерной сети является
система парольной защиты, которая имеется во всех современных ОС. В соответствии
с установившейся практикой, перед началом сеанса работы с операционной системой
пользователь обязан зарегистрироваться, сообщив ей свое имя и пароль. Имя
требуется для идентификации пользователя, а пароль служит подтверждением
правильности произведенной идентификации. Информация, введенная пользователем в
диалоговом режиме, сравнивается с той, что имеется в распоряжении ОС. Если
проверка дает положительный результат, то пользователю становятся доступны все
ресурсы операционной системы, связанные с его именем.
Что такое парольный взломщик?
Трудно представить, что сегодня какому-нибудь злоумышленнику может прийти в
голову шальная мысль о том, чтобы попытаться подобрать имя и пароль для входа в
ОС, по очереди перебирая в уме все возможные варианты и вводя их с компьютерной
клавиатуры. Скорость и надежность такого подбора будет чрезвычайно низкой, тем
более что в операционных системах с хорошо продуманной парольной защитой
количество подряд идущих повторных вводов конкретного пользовательского имени и
соответствующего ему пароля всегда можно ограничить двумя-тремя и сделать так,
что если это число будет превышено, то вход в систему с использованием данного
имени блокируется в течение фиксированного отрезка времени или до прихода
системного администратора.
Гораздо более эффективным является другой метод взлома парольной защиты ОС, при
котором атаке подвергается системный файл, содержащий информацию о ее легальных
пользователях и их паролях. Однако любая современная ОС надежно защищает
пользовательские пароли, которые хранятся в этом файле, при помощи шифрования.
Кроме того, доступ к таким файлам, как правило, по умолчанию запрещен даже для
системных администраторов, не говоря уже о рядовых пользователях операционной
системы. Тем не менее в ряде случаев злоумышленнику удается путем различных
ухищрений получить в свое распоряжение файл с именами пользователей и их
зашифрованными паролями. И тогда ему на помощь приходят так называемые парольные
взломщики - специализированные программы, которые служат для взлома паролей
операционных систем.
Как работает парольный взломщик?
Криптографические алгоритмы, применяемые для шифрования паролей пользователей в
современных ОС, являются слишком стойкими, чтобы можно было надеяться отыскать
методы их дешифрования, которые окажутся более эффективными, чем тривиальный
перебор возможных вариантов. Поэтому парольные взломщики иногда просто шифруют
все пароли с использованием того же самого криптографического алгоритма, который
применяется для их засекречивания в атакуемой ОС, и сравнивают результаты
шифрования с тем, что записано в системном файле, где находятся шифрованные
пароли пользователей этой системы. При этом в качестве вариантов паролей
парольные взломщики используют символьные последовательности, автоматически
генерируемые из некоторого набора символов. Данный способ позволяет взломать все
пароли, если известно их представление в зашифрованном виде и они содержат
только символы из данного набора. Максимальное время, которое потребуется для
взлома пароля, можно вычислить в соответствии со следующей формулой:
где N - число символов в наборе, L - предельная длина пароля, S - количество
проверок в секунду (зависит от операционной системы и быстродействия компьютера,
на котором производится взлом ее парольной защиты).
Из приведенной формулы видно, что за счет очень большого числа перебираемых
комбинаций, которое растет экспоненциально с увеличением числа символов в
исходном наборе, такие атаки парольной защиты ОС могут отнимать слишком много
времени. Однако хорошо известно, что большинство пользователей операционных
систем особо не затрудняют себя выбором стойких паролей (то есть таких, которые
трудно взломать). Поэтому для более эффективного подбора паролей взломщики
обычно используют специальные словари, которые представляют собой заранее
сформированный список слов, наиболее часто используемых на практике в качестве
паролей.
В Internet существует несколько депозитариев словарей для парольных взломщиков.
Один из наиболее популярных таких депозитариев можно найти по этому адресу, а
самый авторитетный и полный - здесь.
К каждому слову из словаря парольный взломщик применяет одно или несколько
правил, в соответствии с которыми оно видоизменяется и порождает дополнительное
множество опробуемых паролей. Производится попеременное изменение буквенного
регистра, в котором набрано слово; порядок следования букв в слове меняется на
обратный; в начало и в конец каждого слова приписывается цифра 1; некоторые
буквы заменяются на близкие по начертанию цифры (в результате, например, из
слова password получается pa55w0rd). Это повышает вероятность нахождения пароля,
поскольку в современных ОС, как правило, различаются пароли, набранные
заглавными и строчными буквами, а пользователям этих систем настоятельно
рекомендуется выбирать такие, в которых буквы чередуются с цифрами.
Одни парольные взломщики поочередно проверяют каждое слово из специального
словаря, применяя к нему определенный набор правил для генерации дополнительного
множества опробуемых паролей. Другие предварительно обрабатывают весь словарь
при помощи этих же правил, получая новый словарь большего размера, из которого
затем черпают проверяемые пароли. Учитывая, что обычные словари естественных
человеческих языков состоят всего из нескольких сотен тысяч слов, а скорость
шифрования паролей достаточно высока, парольные взломщики, осуществляющие поиск
по словарю, работают достаточно быстро.
Пользовательский интерфейс подавляющего большинства парольных взломщиков трудно
назвать дружественным. После их запуска на экране дисплея, как правило,
появляется лаконичный запрос File?, означающий, что необходимо ввести имя файла,
в котором хранится словарь. Да и документацию к парольным взломщикам обильной не
назовешь. Правда, для этого есть свои объективные причины.
Во-первых, парольные взломщики предназначены исключительно для подбора паролей
операционных систем. Такая узкая специализация не способствует разнообразию их
интерфейса и обилию сопроводительной документации.
Во-вторых, авторами большей части парольных взломщиков являются люди
компьютерного подполья, которые создают их "на лету" для удовлетворения
собственных сиюминутных потребностей, и поэтому редко снабжают их подробной
документацией и встроенными справочными системами. Приятное исключение из этого
правила составляют только парольные взломщики, созданные специалистами по
компьютерной безопасности для выявления слабостей в парольной защите
операционных систем. В этом случае дистрибутив парольного взломщика, помимо
самой программы, обязательно включает разнообразные дополнительные сведения,
касающиеся технических сторон ее эксплуатации, а также небольшой словарь.
Крэк как разновидность парольного взломщика
Своеобразной разновидностью парольных взломщиков являются программы подбора
регистрационных номеров программного обеспечения. Эти программы вместе с
генерируемыми ими регистрационными номерами называются крэками (от англ. crack -
взлом). Типичным примером крэка, распространяемого на компакт-дисках, является
программа вычисления регистрационных номеров для программного обеспечения
корпорации Microsoft.
Дело в том, что для борьбы с пиратским копированием своих программ корпорация
Microsoft разработала схему аутентификации легальных пользователей. При
установке такой программы с компакт-диска от пользователя требуется ввести
регистрационный номер. Если номер указан правильно, то инсталляция программы
будет продолжена. В противном случае процесс установки прерывается и выдается
сообщение об ошибке.
Проведенный анализ схемы аутентификации легальных пользователей программного
обеспечения корпорации Microsoft показал, что в ее основе лежит подсчет суммы
цифр, входящих в регистрационный номер (если эта сумма делится нацело на 7, то
номер признается введенным правильно). В результате для генерации
регистрационных номеров для компакт-дисков с продукцией корпорации Microsoft был
создан специальный крэк. Его исходный текст на языке программирования в течение
некоторого времени можно было найти в Internet, однако потом он бесследно исчез.
Думается, что дело тут не только в том, что некоторые темные личности могли
легко воспользоваться этим крэком, чтобы наладить пиратское тиражирование и
подпольную продажу программного обеспечения корпорации Microsoft. Пираты и так
торгуют им в Москве почти на каждом углу. Просто уж очень примитивной оказалась
защита, которой Microsoft снабдила свои программы, а подобного рода промахи уже
чреваты серьезным подрывом авторитета крупной корпорации и потерей к ней доверия
со стороны многочисленных компьютерных пользователей.
Взлом парольной защиты операционной системы Windows NT. База данных учетных
записей пользователей
Одним из основных компонентов системы безопасности Windows NT является диспетчер
учетных записей пользователей. Он обеспечивает взаимодействие других компонентов
системы безопасности, приложений и служб Windows NT с базой данных учетных
записей пользователей (Security Account Management Database, сокращенно SAM).
Эта база обязательно имеется на каждом компьютере с Windows NT. В ней хранится
вся информация, используемая для аутентификации пользователей Windows NT при
интерактивном входе в систему и при удаленном доступе к ней по компьютерной
сети.
База данных SAM представляет собой один из кустов (hive) системного реестра
(registry) Windows NT. Этот куст принадлежит ветви (subtree) HKEY_LOCAL_MACHINE
и называется SAM. Он располагается в каталоге \winnt_root\System32\Config
(winnt_root - условное обозначение каталога с системными файлами Windows NT) в
отдельном файле, который тоже называется SAM.
Основная часть информации в базе данных SAM хранится в двоичном виде. Доступ к
ней обычно осуществляется через диспетчер учетных записей. Изменять записи,
хранящиеся в базе данных SAM, при помощи программ, которые напрямую редактируют
реестр Windows NT (REGEDT или REGEDT32), не рекомендуется. По умолчанию этого и
нельзя делать, т. к. доступ к базе данных SAM запрещен для всех без исключения
категорий пользователей Windows NT.
Хранение паролей пользователей
Именно в учетных записях базы данных SAM находится информация о пользовательских
именах и паролях, которая необходима для идентификации и аутентификации
пользователей при их интерактивном входе в систему. Как и в любой другой
современной многопользовательской ОС, эта информация хранится в зашифрованном
виде. В базе данных SAM каждый пароль пользователя обычно бывает представлен в
виде двух 16-байтовых последовательностей, полученных разными методами.
В методе Windows NT строка символов пользовательского пароля хешируется с
помощью функции MD4. В итоге из введенного символьного пароля пользователем5
получается 16-байтовая последовательность - хешированный пароль Windows NT. Эта
последовательность затем шифруется по DES-алгоритму6, и результат шифрования
сохраняется в базе данных SAM. При этом в качестве ключа используется так
называемый относительный идентификатор пользователя (Relative Identifier,
сокращенно RID), который представляет собой автоматически увеличивающийся
порядковый номер учетной записи данного пользователя в базе данных SAM.
В алгоритме хеширования MD4 исходная битовая последовательность дополняется так,
чтобы ее длина в битах плюс 64 нацело делилась на 512. Затем к ней приписывается
64-битовое значение ее первоначальной длины. Полученная таким образом новая
последовательность обрабатывается блоками по 512 бит с помощью специальной
итерационной процедуры. В результате на выходе MD4 получается так называемая
“выжимка” исходной последовательности, имеющая длину 128 бит. Алгоритм MD4
оптимизирован для 32-разрядных аппаратных платформ и работает довольно быстро.
Для совместимости с другим программным обеспечением корпорации Microsoft
(Windows for Workgroups, Windows 95/98 и Lan Manager) в базе данных SAM хранится
также информация о пароле пользователя в стандарте Lan Manager. Для его
формирования все буквенные символы исходной строки пользовательского пароля
приводятся к верхнему регистру, и если пароль содержит меньше 14 символов, то он
дополняется нулями. Из каждой 7-байтовой половины преобразованного таким образом
пароля пользователя (длина пароля в Windows NT ограничена 14 символами.
Ограничение накладывается диспетчером учетных записей), отдельно формируется
ключ для шифрования некоторой фиксированной 8-байтовой последовательности по
DES-алгоритму. Полученные в результате две 8-байтовые половины хешированного
пароля Lan Manager еще раз шифруются по DES-алгоритму (DES-алгоритм является
одним из самых распространенных алгоритмов шифрования данных. В США он имеет
статус федерального стандарта. Это блочный алгоритм шифрования с симметричным
ключом длиной 64 бита, из которых только 56 непосредственно используются при
шифровании, а остальные 8 предназначены для контроля четности байтов ключа.)
(при этом в качестве ключа используется RID пользователя) и помещаются в базу
данных SAM.
Использование пароля
Информация о паролях, занесенная в базу данных SAM, служит для аутентификации
пользователей Windows NT. При интерактивном или сетевом входе в систему
введенный пароль сначала хешируется и шифруется, а затем сравнивается с
16-байтовой последовательностью, записанной в базе данных SAM. Если эти величины
совпадают, пользователю разрешается вход в систему.
Обычно в базе данных SAM хранятся в зашифрованном виде оба хешированных пароля.
Однако в некоторых случаях ОС вычисляет только один из них. Например, если
пользователь домена Windows NT изменит свой пароль, работая на компьютере с
Windows for Workgroups, то в его учетной записи останется только пароль Lan
Manager. А если пользовательский пароль содержит более 14 символов или они не
входят в так называемый набор поставщика оборудования (original equipment
manufacturer, сокращенно OEM), то в базу данных SAM будет занесен только пароль
Windows NT.
Виды атак и способы защиты
Не записывайте свои пароли и имена на бумаге, не оставляйте их в укромных
уголках, не доверяйте звонкам из службы технической поддержки и просьбам лучших
друзей попользоваться вашим акаунтом всего на пару минут. Специалисты
компьютерной безопасности любят утвержать, что девяносто процентов взлома
происходит путем считывания памяток с приклеенных к нижней стороне столешницы
бумажных листочков, и они совершенно правы. Помимо приведенного метода,
взломщики применяют следующее:
Обработка файлов, содержащих информацию о ваших паролях (*.pwl).
Человек, подсевший за вашу машину, может за пару минут выяснить все ваши пароли
путем вскрытия файлов, созданных для того, чтобы вас же защищать. Файлы *.pvl
хранятся в вашей системе, и все, что вы можете сделать - просто закрыть к ним
доступ с помощью пароля в BIOS, или программ, блокирующих доступ к жесткому
диску. Для домашнего пользователя такие методы защиты неактуальны, просто не
забывайте присматривать, во что играют ваши гости, пока вы варите им кофе.
Вирусная атака.
Заражение вашего компьютера вирусом может быть в себе как диверсионным
действием, так и разведывательным. Подумайте, откуда поступил к вам вирус,
узнайте, что он из себя представляет и действуйте адекватно. Естественно,
отлавливать вирусы нужно на этапе попытки внедрения, иначе последствия могут
быть самыми необратимыми.
Методы защиты.
Установите антивирусный пакет и не забывайте обновлять его базы. Никогда не
пользуйтесь сомнительными источниками информации. Это как раз тот случай, когда
лучше заплатить за программу, нежели потом бороться с результатами своей
бережливости.
Троянская атака.
Пожалуй, это самый распространенный на сегодня метод незаконного проникновения в
вашу систему с целью последующего удаленного управления и/или мониторинга ваших
действий. Троянцы прописываются в системный реестр и очень трудны для
обнаружения неопытным пользователем.
Методы защиты.
Те же, что и при вероятности вирусной атаки. И никогда не открывайте программ,
поступивших от неизвестных вам доброжелатей под видом апдейтов и "полезных
примочек". В случае реальной опасности установите на машину
программу-брандмауэр, которая сообщит вам о несанкционированных попытках
приема/передачи информации (например, @guard).
Nuke.
Нюки программы, позволяющие провести удаленную атаку на порты вашего компьютера.
Как правило, используются для того, чтобы "подвесить" вашу систему. Это метод
вандализма.
Методы защиты.
Для обороны ваших портов достаточно программы-брандмауэра. В особо запущенных
случаях установите программу antinuke.
Почтовые бомбы.
Это тоже метод вандализма. Обычно, бомба - самораспаковывающийся на вашем
почтовом сервере файл, копирующий блок информации заданное (по определению очень
большое) количество раз. В результате ваше письмо разбухает и вы просто не в
состоянии принять электронную почту.
Метод защиты.
Установите программу, позволяющую администрировать входящую почту прямо на
почтовом сервере. Если обнаружите что-то подозрительное, сразу удаляйте.
Чем меньше народу о вас знает, тем безопаснее жить - это тоже из разряда аксиом,
но полностью автономное существование противоречит самой идее использования
компьютерных сетей. Если вы работаете на компьютере время от времени,
пользуетесь удаленным доступом в компьютерную сеть только с целью получения
необходимой информации, не связанной с секретностью и финансами, вам достаточно
самых минимальных методов защиты, предоставляемых стандартными средствами вашей
системы.
Просто настройте ваш броузер в соответствии со здравым уровнем безопасности и
работайте спокойно.
Проблемы начинаются, когда в ваших каталогах появляется приватная информация.
Если вы не хотите, чтобы о ней прознали те, кому не следует, постарайтесь
принять дополнительные меры. К сожалению, метод, описаный Эдгаром А. По в
"Похищенном письме", срабатывает плохо, и приватную информацию приходится порой
прятать самыми экзотическими способами.
Согласно закону Российской Федерации мы не можем обмениваться информацией,
защищенной криптографическими методами, но ничто не мешает вам установить
подобную программу для хранения вашего privacy.
Лучшей программой на сегодняшний день является PGP, которая так и
расшифровываетсяpretty good privacy, о ней подробно рассказано на страницах
этого номера.
Следует выполнять также несколько несложных правил. Никогда не пользуйтесь
своими секретами во время нахождения в сети. Не посылайте их по электронной
почте или в других коммуникационных пакетах никому. Как бы вы не были уверены в
вашем корреспонденте, он не станет хранить вашу информацию с таким же тщанием,
как вы, к тому же "дырки" в почтовых системах давно уже стали притчей во языцех.
Установите на ваш компьютер мощную коммерческую антивирусную программу,
оснащенную системой мониторинга входящей информации. Я постоянно пользуюсь
пакетом AVP лаборатории Касперского и еще ни разу не разочаровывался в нем.
Конечно, я описал далеко не все способы взлома и атаки, их не счесть, но
основные правила защиты универсальны и работают вполне удовлетворительно. Ваша
безопасность зависит от вас.
Если же вы работаете в серьезной корпоративной сети и храните на своей машине
очень важную информацию, для вашей защиты обычно существует специальный штат
системных администраторов и службы безопасности. Соблюдайте основные правила
защиты, описанные ранее, не допускайте ошибок, а все остальное не должно быть
вашей головной болью.
В заключение необходимо отметить, что хотя в умелых руках злоумышленника
программы взлома паролей операционных систем представляют огромную опасность для
их парольной защиты, сами программы-взломщики все же являются не менее ценным
инструментом для системных администраторов, которые заинтересованы в выявлении
слабых мест в парольной защите своих систем. Основная проблема состоит не в том,
что на свете существуют парольные взломщики, а в том, что ими недостаточно часто
пользуются системные администраторы. Надеюсь, что после выхода в свет этой
статьи, положение дел изменится к лучшему.
Hovakimyan Hovhannes.
Copyright © 2001-2007 Portal™. All rights reserved.
Design & Programming by Hovhannes Hovakimyan.