Выбираем хорошие пароли

  Автор: © Jose Nazario
Перевод: © Александр Михайлов.


 

Сейчас я запускаю Crack (программа для проверки качества пароля) для некоторых людей, и много думаю о паролях и о том как генерировать хорошие пароли. Конкретнее о том, что я могу сделать, чтобы получить пароли лучшего качества. На днях мой друг спросил меня, есть ли у меня какие-либо идеи насчет паролей и не хочу ли я поделиться ими на нашем местном событии "LinuxDay". Я выделю немного времени, чтобы обсудить пароли с вами сейчас. Пароли представляют собой самую важную защиту против несанкционированного использования наших систем, так что пусть они будут хорошими, даже если есть crypto, firewall и бешеные собаки :)

ОК, вот как я сам генерирую свои пароли: я протягиваю руку, беру ближайший выпуск Nature, открываю первую попавшуюся статью о генетике и тыкаю пальцем в наименование какой нибудь конструкции генов и использую её. Без вранья. Вот как я выбираю хорошие пароли. Случайные, сложные, легко генерируются. Разумеется, множество словарей теперь включают названия генов, но это названия конструкций, которые отличаются от названий генов. Так, вместо чего-то вроде "Brc1" это больше похоже на "pRSET5a::20STa::6xHis". Вы можете проверить последний в любой программе взлома, и я могу практически гарантировать это, он не будет взломан быстро.

Весь фокус в том, что пользователи не любят сложные пароли. Их трудно запомнить, говорят они. И они правы. Чтобы справиться с этим, они или пишут его на бумажке, прилепленной к монитору, либо меняют его на что-то глупое вроде "LucyDoll" ("КуклаЛюси").

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

Немного отклонимся от темы и обратимся к документации Crack 5.0a. (этот фрагмент взят из приложения). Приложение к документации посвящено безопасности паролей и безопасности вообще, а также содержит ряд мудрых мыслей:

По сути, пароль "fred" настолько же безопасен (случаен) как и пароль "blurflpox"; единственная проблема заключается в том, что "fred" легче подбирается, так как расположен в более легко доступной части "пространства паролей". В то же время оба этих пароля находятся легче, чем "Dxk&2+15^N". Теперь вы должны спросить себя, способны ли вы справиться с запоминанием "Dxk&2+15^N".

ОК, отлично, мы выбрали хороший пароль ... настоящую чепуху. У нас есть около десяти учетных записей, некоторые на BBS, некоторые на системах, в которые мы можем войти по ssh, и некоторые - это пароли root для систем, которые мы администрируем для более важных дел. Или мы должны их часто сменять. Как нам справиться с ними всеми?

Я делаю для этого две вещи: я держу уровни паролей. У меня есть пригоршня паролей для находящихся в моем распоряжении вещей. Да, если кто-то крадет мой пароль, который я использую на BBS, и размещает от моего имени флейм, мне, конечно, достанется как следует. Но, если быть честным, я сомневаюсь, что кто то сделает это, ведь это системы о которых я забочусь и администрирую, которые я действительно защищаю. Следовательно, я периодически меняю пароли здесь, используя очень сильные пароли, которые никогда не попадают в канал данных без сильного шифрования (т.е. secure shell). Новый пароль выбирается (случайно), и старые сдвигаются вниз по цепи на менее важные позиции, системы и счета. Я использую уловки, описанные выше, и за это приходиться платить. Иногда я забываю их, и это всегда страшный момент, но обычно это длиться не больше минуты или двух.

Отслеживать множество паролей легче используя Password Safe ("Сейф для паролей") от Counterpane systems, но это работает только на Windows-системах. Я как-то начал писать вариант для Линукс, но учитывая мои скромные умения в программировании и загруженность другими вещами, я сомневаюсь, что она когда-то увидит свет (сейчас она лежит без дела, если кому то это интересно). Хотя я часто рекомендую эту программу людям, у которых множество паролей. Другое похожее приложение существует для Palm Pilot и других PDA, которое защищает банк паролей при помощи одного пароля. Т.к. большинство Линукс-гуру, которых я знаю, также имеют PDA, это будет подходящим решением.

Чтобы по-настоящему повеселиться, посмотрите FIPS 181 (1), схема которую правительство использует чтобы генерировать пароли, основанные на произносимых звуках. Она достаточно интересна, и я начал "играть" с ней (при помощи Gpw, специально предназначенного для этого инструмента (2)). И проверьте, как работает Crack (3), это вообще беcпредел. Для сравнения, посмотрите как работает LOphtCrack (4), и вы будете смеяться над безопасностью NT. Если вы чувствуете в себе смелость, и у вас есть компьютерные мощности для экспериментов, попробуйте "силовой" взлом пароля (6), который представляет из себя интересную проблему в области генерации словаря и оптимизации процедур.

Примечания и Ссылки:

1. FIPS 181 - это государственный стандарт обработки информации #181. Документ можно найти (с исходным кодом для DOS) на http://www.itl.nist.gov/fipspubs/fip181.htm. Сопроводительный документ FIPS , FIPS 112, обсуждает использование и выбор паролей.

2. Gpw - это UNIX утилита написанная на C/C++ (и на Java, тоже) для генерации произносимых паролей. Полезная и забавная. http://www.multicians.org/thvv/gpw.html . Дополнительная информация может быть найдена на http://freshmeat.net/projects/apgd/.

3. Исходный код Crack 5.0a можно найти на http://www.users.dircon.co.uk/~crypto/. А также на http://packetstorm.securify.com/Crackers/crack/

4. L0phtcrack... о как я тебя люблю :). http://www.l0pht.com/l0phtcrack/ . Mudge рассказывает нам, как L0phtcrack работает в этой realaudio презентации из Hope, 1997, NYC (1 час) http://www.2600.com/offthehook/rafiles/l0pht.ram ( Заметьте, что с тех пор как был записан этот фрагмент, вышел LOpthcrack версии 3. Некоторые люди заметили существенное падение в эффективности взлома паролей, т.к. новые инструменты для извлечения были добавлены в код. Многие мои знакомые, используют LOpthcrack версии 2.52 для взлома, после извлечения при помощи версии 3.)

5. John the Ripper это другая полезная утилита для взлома паролей. Несколько модулей для взлома S/Key и MD5 паролей были представлены позднее. http://www.openwall.com/john/.

6. Это прекрасное описание "силового" взлома паролей и нескольких используемых техник ... Нужно будет попробовать его! The ambitious amateur vs. crypt(3) (Амбициозный дилетант против crypt(3))

Jose Nazario

Jose - докторант факультета биохимии в Case Western Reserve University, в Cleveland, OH. Он использует UNIX уже примерно десять лет, и Линукс начиная с версий ядра 1.2

 


Copyright © 2001, Jose Nazario.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 68 of Linux Gazette, July 2001

Вернуться на главную страницу