id: Гость   вход   регистрация
текущее время 13:12 29/03/2024
создать
просмотр
редакции
ссылки

Современная техника взлома паролей 1


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


Атака, которую я буду рассматривать, — это автономный подбор пароля. Эта атака основывается на том, что взломщик либо располагает зашифрованной копией вашего документа, либо имеет зашифрованный файл паролей сервера и может тестировать пароли так быстро, насколько это для него возможно. Бывают случаи, когда подобная атака бессмысленна. В частности, банковские карты достаточно защищены, даже несмотря на всего лишь четырехзначный PIN-код, поскольку вы не можете перебирать его автономно. А полиция с большей вероятностью получит ордер для доступа к вашему почтовому ящику на Hotmail, нежели будет морочиться со взломом пароля. Система депонирования ключа в вашей шифровальной программе наверняка более уязвима, чем ваш пароль, так же, как и любые "секретные вопросы", которые вы установили на случай, если забудете основной пароль.


Современные средства автономного перебора одновременно быстры и умны. AccessData продает Password Recovery Toolkit (Пакет восстановления паролей), или PRTK. В зависимости от взламываемой программы PRTK способна проверять до сотен тысяч паролей в секунду, при этом вначале она тестирует наиболее распространенные и уже затем переходит к более сложным.


Таким образом, стойкость вашего пароля опирается на две вещи: на механизмы программы, замедляющие подбор паролей, и на порядок, в котором средства вроде PRTK проверяют различные пароли.


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


Результаты налицо. Microsoft Office, к примеру, имеет простейшую схему преобразования пароля в ключ, так что PRTK может проверять по 350.000 паролей Microsoft Word в секунду, работая на 3 ГГц Pentium 4, являющимся на сегодня эталонным ПК. А WinZip и того хуже — свыше миллиона проверок в секунду для версии 7.0, правда с версии 9.0 криптографическая замедляющая функция стала значительно лучше: PRTK может пробовать лишь 900 паролей в секунду. PGP тоже сильно усложняет жизнь для программ вроде PRTK, так же допуская порядка 900 проверок в секунду.


При взломе программ с намеренно замедленными функциями важно, чтобы ни одна попытка не прошла даром. Простая атака полным перебором на шестизначный пароль из строчных букв, от "aaaaaa" до "zzzzzz", потребует более 308 миллионов комбинаций. Это совершенно нерационально, поскольку большую часть времени программа будет тестировать маловероятные пароли типа "pqzrwj".


По словам Эрика Томпсона из AccessData, обычный пароль состоит из корня и дополнения. Корень — не обязательно словарное слово, но все же нечто произносимое. Дополнение — это либо окончание (в 90% случаев), либо приставка (10% случаев).


Итак, первая атака, которую предпринимает PRTK, — это проверка словаря из примерно 1.000 распространенных паролей, чего-то вроде "letmein", "password", "123456" и т.п. Затем, она тестирует их же с сотней дополнительных часто встречающихся окончаний: "1", "4u", "69", "abc", "!" и пр. Хотите верьте, хотите нет, но одни эти 100.000 комбинаций восстанавливают порядка 24% паролей.


Затем PRTK применяет ряд более сложных словарей корней и дополнений. Эти словари включают:


  • Словарь общеупотребимых слов: 5.000 слов
  • Словарь имен собственных: 10.000 слов
  • Полный словарь: 100.000 слов
  • Словарь фонетических конструкций: 1/10.000 от числа комбинаций полного перебора

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


Кроме того, PRTK производит полный перебор всех четырехзначных строк; она прогоняет словари со всеми строчными буквами (что наиболее распространено), с первой заглавной (второй по распространенности случай), со всеми заглавными и с последней заглавной; она проверяет словари с распространенными подстановками: "$" вместо "s", "@" вместо "a", "1" вместо "l" и т.д., включая даже "l33t-speak" с цифрой "3" вместо "e".


Словари дополнений содержат такие компоненты:


  • Все двузначные цифровые комбинации
  • Все даты с 1900 по 2006
  • Все трехзначные цифровые комбинации
  • Все одиночные символы
  • Все комбинации из одной цифры плюс одиночного символа
  • Все двузначные комбинации символов

Фирменный соус AccessData — это последовательность, в которой программа проверяет различные комбинации словарей корней и дополнений. Исследования, проведенные компанией, показали, что лидером популярности паролей является семи-девятизначный корень плюс одно из распространенных дополнений, причем более вероятно, что человек выберет непредсказуемый корень, нежели необычное дополнение.


Как правило, PRTK работает на сети компьютеров. Взлом паролей — это элементарно распараллеливаемая задача, к тому же легко выполняемая в фоновом процессе. В крупной организации типа Секретной Службы сотни компьютеров могут пыхтеть над чьим-то паролем. Фирма под названием Tableau разрабатывает специализированную FPGA-микросхему, предназначенную для аппаратного ускорения работы PRTK с такими "медленными программами", как PGP и WinZip: по грубым оценкам, в 150-300 раз.


Насколько все это круто? По оценкам Эрика Томпсона, за время от пары недель до месяца его программа способна взломать от 55% до 65% всех паролей. (Разумеется, это очень существенно зависит от атакуемого приложения.) Это хорошие, но не сногсшибательные результаты.


Однако, лишь при отсутствии личных и биографических данных. При всякой возможности AccessData собирает любую доступную личную информацию по объекту атаки перед началом работы. Если она может просмотреть другие пароли, то может предположить, какие типы паролей предпочитает человек. Насколько крупный он использует корень? Какой вид корня? Куда он ставит дополнение, в начало или в конец? Использует ли символьные подстановки? Почтовые индексы являются распространенными дополнениями, так что они тоже идут в файл. Так же как и адреса, имена из адресной книги, другие пароли и все прочие приватные данные. Вся эта информация несколько повышает процент успеха PRTK, но, что более важно, сокращает время поиска с недель до дней и даже часов.


Теперь, если вы хотите, чтобы ваш пароль было трудно подобрать, следует выбирать нечто, чего нет ни в одном словаре корней и дополнений. Нужно смешивать заглавные и строчные буквы в середине корня. Нужно вставлять цифры и знаки в середину корня, причем не в качестве распространенных подстановок. Либо вы должны переместить дополнение в середину корня. Или использовать два корня с дополнением посередине.


Даже что-нибудь из менее приоритетных словарных вариантов PRTK — семизначная фонетическая конструкция совместно с необычным дополнением — едва ли будет угадана. Равно, как пароль, составленный из первых букв предложения, особенно если в такую мешанину добавить символы и цифры. Да, конечно, такие пароли трудно запомнить, поэтому для их хранения вам следует пользоваться такой программой, как бесплатный и открытый Password Safe. (Кстати, PRTK способна тестировать только 900 паролей Password Safe 3.0 в секунду.)


Но даже если так, это все равно может вам не помочь. AccessData продает еще одну программу, Forensic Toolkit (Экспертно-следственный пакет), которая, помимо всего прочего, сканирует жесткий диск на предмет любых строк печатного текста. Она просматривает документы, системный реестр, почтовый архив, своп-файлы, свободное пространство диска... абсолютно всё. А затем формирует из всего найденного словарь, который скармливает PRTK.


И PRTK взламывает более 50% паролей лишь по одному такому словарю.


Так происходит потому, что подсистема управления памятью ОС Windows в процессе обычной работы оставляет фрагменты данных повсюду. Вы вводите пароль в программу, и он размещается где-то в памяти. Windows выгружает страницу памяти на диск, и она сохраняется в хвосте какого-то файла. Она перемещается в дальний угол вашего жесткого диска и остается там навечно. Linux и MacOS в этом отношении едва-ли сколь-нибудь лучше.


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


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


© 2007 Брюс Шнайер
Перевод © 2007 SATtva


1 В оригинале статья называется "Choosing Secure Passwords", но переводчик счел нужным ее переименовать, поскольку, на его взгляд, приведенное в ней описание методик подбора паролей представляет больший интерес, чем рекомендации по созданию паролей, незначительно отличающиеся от всех остальных, — прим. пер.


 
На страницу: 1, 2, 3 След.
Комментарии [скрыть комментарии/форму]
— spinore (20/01/2007 17:03)   профиль/связь   <#>
комментариев: 1515   документов: 44   редакций: 5786


Ну это да.
Только нужно понимать, что за охраной действительно критичной информации может стоять не совсем идиот.
— SATtva (20/01/2007 17:45)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
За обозримое время можно сломать по меньшей мере половину паролей публичного сервиса и без ста тысяч машин. :-) Касаемо сервисов непубличных и не имеющих разделения привилегий (в некоторых случаях даже корпоративный VPN-шлюз), то взлом даже одного пароля будет победой нападающего.
— Гость (21/01/2007 03:24)   <#>
А вот и самая современная техника взлома паролей: http://termorect.narod.ru/tech.html

Основная теорема терморектального криптоанализа — время, необходимое для дешифрования сообщения не зависит от алгоритма шифрования и длины ключа.
— unknown (22/01/2007 09:00, исправлен 22/01/2007 09:00)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Как говориться, баян. Петросяну пошлите.
— Гость (23/01/2007 01:38)   <#>
Причем тут кластеры, сотни компов? Судя по откликам, никто не обратил внимание на ключевую фразу:
Так что – извините за выражение – не надо ля-ля о возможности взлома паролей на обычных десктопах, это – иллюзия!
— Гость9 (23/01/2007 19:06)   <#>
из личного опыта. Экспериментировал со вскрытием ZIPa, давно правда, ну лет 5 назад. Вскрывался очень быстро, буквально за минуты, пароль около 8 символов, несложный – цифры, буквы. Может конечно в те стародавние времена ZIP был совсем плох.... А где-то не так давно потребовалось пароль с Excelя снять, в офисе там некоторые товарищи решили что они умнее всех – пароль ужас какой длинющий что-то 13 или 15 букв, без слов, в перемежку (слава богу не хватило мозгов разбавить цифрами, регистрами и символами) Password Recovery Toolkit вышеупомянутый быстро вскрыл – минуты 3-4. Честно сказать версии Excelя не помню, но думаю что не сильно старая.....
— omni (24/01/2007 00:25)   профиль/связь   <#>
комментариев: 34   документов: 10   редакций: 1
При чем тут ZIP к Эксцелю? ZIP по стойкости еще что-то собой представляет, так, слегка, а ворды/эксцели имеют одну общую проблему – они взламываются настолько мгновенно, что авторы ломалок вынуждены искусттвенно удлинять время взлома, дабы показать пользователям, что их взломщики делают офигенную работу по влому :D
— sns (21/02/2007 19:08)   <#>
Для взлома паролей по хешу очень поможет The UDC: i-sic.com/udc/rus
— ХыХыХы (21/03/2007 14:45)   <#>
Это совершенно нерационально, поскольку большую часть времени программа будет тестировать маловероятные пароли типа “pqzrwj”

Откровенно насмешила эта фраза. НОРМАЛЬНЫЙ пароль, у нормального юзера, а не у домохозяйки-кнопкодавилкиной будет именно такого рода пароль. Да еще и цифирок несколько, и спецсимволов пароочка. Ну и ессно буквы не только строчные, но и заглавные. Короче мой пароль по описанной методике они хрен сломают.. Даже на своих кластерах..
— spinore (23/03/2007 05:27)   профиль/связь   <#>
комментариев: 1515   документов: 44   редакций: 5786


Разумеется. Они просто профессионально посадят жука в комнате или скрытую видеокамеру. Есть ещё вариант модифицировать софт в то время как компьютер был выключен.
— Беневолент (27/05/2007 02:54)   <#>
Никто не будет сажать тебе скрытую камеру в комнату. Есть масса способов (менее элегантных) узнать у тебя пароль.
— SATtva (28/05/2007 12:49)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Есть масса способов (менее элегантных) узнать у тебя пароль.

И менее юридически чистых. Определите, кто Ваш противник. Если это организованная преступность (или, в некоторых случаях, конкурентный бизнес, что иногда бывает одно и то же), то риск такого развития событий действительно велик. Если это правоохранительные органы, то они скорее всего так себя подставлять не станут.
— Гость (28/05/2007 15:27)   <#>
Никто не будет сажать тебе скрытую камеру

Будут сажать тебя в скрытую камеру. :-)
— Kent (07/08/2007 01:39, исправлен 07/08/2007 01:44)   профиль/связь   <#>
комментариев: 437   документов: 30   редакций: 15
Кажется, эта тема у нас не проходила. Возможно, стоило на форуме
писать.

Есть такая программа, "Elcomsoft Distributed Password Recovery"
http://www.passwords.ru/edpr.html

Там заявлены функции взлома:
Секретные ключи PGP (*.skr), PGP Disk (*.pgd), ZIP архивы PGP
(*.pgp), PGP whole disk encryption

Кто-нибудь что-нибудь знает по этому поводу?

SATtva, может быть, напишешь разработчикам, поспрашиваешь,
что и как они обещают взломать?
— spinore (07/08/2007 02:02)   профиль/связь   <#>
комментариев: 1515   документов: 44   редакций: 5786
что и как они обещают взломать?

Если они не эксплуатирую малоизвестные уязвимости в реализации указанных программных продуктов, ничего более интеллектуального, чем умный брутфорс они в принципе сделать не могут. Второй вопрос – сколько времени уходит на проверку каждого из вариантов – это отразится на скорости перебора.
На страницу: 1, 2, 3 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3