Как ломаются пароли

230

Голливудские блокбастеры в чем-то правы — умелый хакер, вооруженный знаниями и необходимым ПО в состоянии подобрать «стандартный» пароль.

Примером взломщика паролей является программа SAMInside (http://www.insidepro.com) Примером взломщика паролей является программа SAMInside (http://www.insidepro.com) Варианты и время взлома пароля Варианты и время взлома пароля В этой статье

  • Принципы работы парольных взломщиков
  • Проверка уровня защиты операционных систем Windows 2000/XP/2003
  • Проведение попыток взлома паролей
  • Расчет вероятности успешного взлома системы парольной защиты при условии соблюдения требований Microsoft по безопасности Windows XP.

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

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

Наиболее эффективным является метод взлома парольной защиты операционной системы при котором атаке подвергается системный файл, содержащий информацию о легальных пользователях и их паролях. Однако любая современная ОС надежно защищает пользовательские пароли, которые хранятся в этом файле, при помощи шифрования.

Кроме того, доступ к таким файлам, как правило, по умолчанию запрещен даже для системных администраторов, не говоря уже о рядовых пользователях операционной системы. Тем не менее, в ряде случаев злоумышленнику удается путем различных ухищрений получить в свое распоряжение файл с именами пользователей и их зашифрованными паролями. И тогда ему на помощь приходят так называемые парольные взломщики — специализированные программы, которые служат для взлома паролей ОС.

АЛГОРИТМ ВЗЛОМА: Как работает парольный взломщик

Криптографические алгоритмы, применяемые для шифрования паролей пользователей в современных ОС, используют необратимое шифрование, что делает невозможным более эффективный алгоритм взлома, чем тривиальный перебор возможных вариантов. Поэтому парольные взломщики иногда просто шифруют все пароли с использованием того же самого криптографического алгоритма, который применяется для их засекречивания в атакуемой ОС. Затем они сравнивают результаты шифрования с тем, что записано в системном файле, где находятся шифрованные пароли пользователей этой системы.

При этом в качестве вариантов паролей используют символьные последовательности, автоматически генерируемые из некоторого набора символов. Данный способ позволяет взломать все пароли, если известно их представление в зашифрованном виде, и они содержат только символы из данного набора.

За счет очень большого числа перебираемых комбинаций, которое растет | экспоненциально с увеличением числа символов в исходном наборе, такие атаки парольной защиты ОС могут отнимать слишком много времени. Однако хорошо известно, что большинство пользователей операционных систем особо не затрудняют себя выбором стойких паролей, то есть таких, которые трудно взломать. Поэтому для более эффективного подбора паролей взломщики обычно используют специальные словари, которые представляют собой заранее сформированный список слов, наиболее часто используемых на практике в качестве паролей. К каждому слову из словаря парольный взломщик применяет одно или несколько правил, в соответствии с которыми оно видоизменяется и порождает дополнительное множество опробуемых паролей:

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

В результате, например, из слова password получается pa55w0rd).

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

Учитывая, что обычные словари естественных человеческих языков состоят всего из нескольких сотен тысяч слов, а скорость шифрования паролей достаточно высока, парольные взломщики, осуществляющие поиск по словарю, работают достаточно быстро (до одной минуты).

ОТ ТЕОРИИ К ПРАКТИКЕ: Взлом операционных систем (на примере Windows 2000/ XP /2003)

Одним из основных компонентов системы безопасности Windows 2000/ХР/2003 является диспетчер учетных записей пользователей. Он обеспечивает взаимодействие других компонентов системы безопасности, приложений и служб Windows 2000/XP/2003 с базой данных учетных записей пользователей (Security Account Management Database, сокращенно SAM). Эта база обязательно имеется на каждом компьютере с Windows 2000/XP/2003.

В ней хранится вся информация, используемая для аутентификации пользователей Windows 2000/ХР/2003 при интерактивном входе в систему и при удаленном доступе к ней по компьютерной сети. Как и в любой другой современной многопользовательской ОС, эта информация хранится в зашифрованном виде. В базе данных SAM каждый пароль пользователя обычно бывает представлен в виде двух 16-байтовых последовательностей, полученных разными методами. Обычно основной задачей взломщика является получение административных полномочий. Их можно получить, узнав в хешированном или символьном виде пароль администратора системы, который хранится в базе данных SAM. Поэтому именно на базу данных SAM бывает направлен главный удар взломщика парольной защиты Windows 2000/ХР/2003. Доступ к файлу winnt_rootSystem32ConfigSAM, в котором хранится эта база, в Windows 2000/XP/2003 заблокирован для всех без исключения ее пользователей. Тем не менее, с помощью программы NTBACKUP любой обладатель права на резервное копирование файлов и каталогов Windows 2000/ХР/2003 может перенести этот файл с жесткого диска на другой носитель. Резервную копию реестра можно также создать утилитой REGBAK из состава Windows Resource Kit. Кроме того, несомненный интерес для любого взломщика представляют резервная копия файла SAM (SAM.SAV) в каталоге winnt_rootSystem32Config и сжатая архивная копия SAM (файл SAM._) в каталоге winnt_rootRepair.

Также указанный файл можно получить, загрузившись с дискеты или CD-ROM и воспользовавшись программой NTFSDOS или аналогичной. В случае наличия загрузки двух операционных систем (например, Windows 98 и Windows 2000) процесс копирования файла SAM сильно упрощается. Если злоумышленник получает копию файла, следующим его шагом является применение парольного взломщика, который собственно и пытается определить пароль в исходном виде. И вот именно в этот момент качество используемого пароля может сыграть ключевую роль.

Хранение паролей пользователей

В Windows 2000/XP/2003 пароль хешируется с помощью функции MD4. В алгоритме хеширования MD4 исходная битовая последовательность дополняется так, чтобы ее длина в битах плюс 64 нацело делилась на 512. Затем к ней приписывается 64-битовое значение ее первоначальной длины. Полученная таким образом новая последовательность обрабатывается блоками по 512 бит с помощью специальной итерационной процедуры.

В результате на выходе MD4 получается так называемая «выжимка» исходной последовательности, имеющая длину 128 бит.

В итоге из пароля получается 16-байтовая последовательность — хешированный пароль Windows 2000/XP/2003. Эта последовательность затем шифруется по DES-алгоритму, и результат шифрования сохраняется в базе данных SAM. При этом в качестве ключа используется относительный идентификатор пользователя (Relative Identifier, RID), который представляет собой автоматически увеличивающийся порядковый номер учетной записи данного пользователя в базе данных SAM. Для совместимости с другим программным обеспечением корпорации Microsoft в базе данных SAM хранится также информация о пароле пользователя в стандарте LanManager. Для его формирования все буквенные символы исходной строки пользовательского пароля приводятся к верхнему регистру, и если пароль содержит меньше 14 символов, то он дополняется нулями. Из каждой 7-байтовой половины пароля пользователя отдельно формируется ключ для шифрования некоторой фиксированной 8-байтовой последовательности по DES-алгоритму.

ВЕРОЯТНОСТИ ВЗЛОМА ПАРОЛЯ Windows в течение срока жизни пароля

Каким же должен быть пароль, чтобы он мог устоять перед взломщиком? Для ответа на этот вопрос можно обратиться к официальным документам. Согласно рекомендаций по безопасности Windows ХР (Державна експертиза з технічного захисту інформації операційної системи Windows XP Professional SP2 (шифр — «Експертиза WXPSP2»)) время жизни пароля (параметр политики паролей «Требовать неповторяемость паролей», Enforce password history) должен составлять 42 дня.

Согласно тому же документу параметр «Минимальная длина пароля» (Minimum password lengths) должен составлять для АС (автоматизированной системы):

  • класс 1 (одиночного компьютера без локальной сети) — 7 символов;
  • класс 2 (локальная сеть без выхода в Интернет) — 8 символов;
  • класс 3 (сеть с выходом в Интернет) — пароль не менее 12 символов.

Следует обратить внимание, что длинные пароли, состоящие из 8 и более символов, как правило, более надежны, однако их применение приводит к увеличению числа ошибок при вводе паролей и, как следствие, увеличению числа заблокированных учетных записей, что затрудняет работу службы поддержки сети. Использование длинных паролей фактически приводит к тому, что пользователи начнут записывать их, а следовательно, уровень безопасности будет снижен.

Здесь мы попробуем рассчитать вероятность взлома пароля при условии применения данных параметров для АС классов 1 и 2. Для этого мы сначала определили скорость подбора паролей. В качестве программы-взломщика мы использовали Saminside 2.5.5.1.

Во время тестирования данная система продемонстрировала скорость перебора 14524829 паролей в секунду.

Определяем, с каким количеством вариантов паролей придется работать взломщику. При этом мы рассмотрели варианты разных паролей. От самых простых, состоящих только из цифр, до самых сложных, включающих все клавиатурные символы. Число вариантов для перебора приведено в таблице 1.

Если перебор паролей осуществляется с указанной выше средней скоростью (паролей в секунду), то соответственно максимальное время, необходимое для взлома соответствующего пароля (в сутках), указано в Табл.2.

Однако это самая пессимистическая для взломщика оценка. На практике пароль будет находиться в среднем за половину этого времени. Таким образом, вероятность взлома самого качественного пароля, состоящего из 8-ми символов, составит 14,6%. а если этот пароль будет состоять только из чисел и маленьких и больших букв, то вероятность его взлома за рекомендуемые 42 дня его жизни, составит 48,28% (42/173,98/2*100%).

Можно сделать вывод, что с учетом существующих вычислительных мощностей, параметры длины пароля, приведенные в рекомендациях Microsoft и документе «Державна експертиза з технічного захисту інформації операційної системи Windows XP Professional SP2» (шифр — «Експертиза WXPSP2»), утвержденном в 2005 году институтом программных систем Национальной Академии наук Украины, и ДСТСЗИ СБ Украины, на сегодня являются недостаточными.

Для проведения устойчивой парольной защиты нужна большая длина пароля, что, в свою очередь, будет требовать введения систем многофакторной аутентификации типа смарт-карта+PIN-код или аналогичных.

ПОДЕЛИТЬСЯ


Предыдущая статьяMicrosoft Security Essentials — бесплатно с сегодняшнего дня
Следующая статьяС Днем Рождения, Марио: ретро-выпуск для консоли Wii

КОММЕНТАРИИ




    Загрузка...