Анонимность и безопасность в Интернете. От «чайника» к пользователю — страница 9 из 12

9.1. Выбор хорошего пароля

Многие пользователи используют пароли вроде 1, 1234, qwerty, а потом удивляются, почему их почтовый ящик или страничка в социальной сети взломана. Ответ прост – к ней подобрали пароль. Причем злоумышленнику было это сделать очень просто (точнее программе, которую запустил хакер, не пришлось долго работать) – такие пароли подбираются очень быстро.

Некоторые сервисы не позволяют вводить слишком простые пароли – например, ограничивают их по минимальной длине и требуют наличия в пароле как букв, так и цифр. Но пользователи и тут выкрутились. Например, если требуется длина 8 символов, то вводят пароль 12345678, а если требуется наличие как букв, так и цифр, – qwerty11. Но все это неправильные пароли.

Существует два основных способа подбора пароля: по словарю и методом грубой силы (от англ. brute force). Первый способ заключается в использовании словаря наиболее популярных слов – программа последовательно перебирает весь свой словарь. Если пароля нет в словаре, то и его подбор невозможен. Второй способ заключается в подборе перестановок букв в слове. Эффективность этого метода зависит от длины пароля – чем меньше длина, тем выше эффективность. Теоретически методом грубой силы можно подобрать любой пароль. Но если пароль длинный (как минимум – 8 символов), на его подбор будет потрачено очень много времени. А за это время может произойти что угодно: или администратор сервера определит, что идет атака brute force, или вы поменяете пароль (и сделаете его еще сильнее), или информация потеряет актуальность… Мы разберемся, как создать хороший пароль, устойчивый к обоим видам атак.

Вот несколько советов, которые помогут вам создать "хороший" пароль.

✓ Минимальная длина пароля – 8 символов. Чем больше – тем лучше. От количества символов (длины пароля) зависит количество перестановок букв в слове. Чем больше перестановок, тем сложнее программе подобрать пароль. Наверняка такой подбор будет замечен сервером и попытка взлома вашего почтового ящика окажется неудачной. Если длина пароля 8 символов, то перестановок может быть 8! (8 факториал, если кто забыл математику), то есть программе нужно будет сделать 8! попыток, чтобы подобрать пароль. Но попыток будет еще больше, поскольку программа заведомо не знает, сколько символов в пароле. Следовательно, ей придется проделать гораздо больше попыток, чем 8! (хотя и первая может быть удачной – все зависит от сложности пароля). Многие серверы блокируют на несколько часов доступ к аккаунту после 3–5 неудачных попыток ввода пароля. Следовательно, программе нужно будет трудиться очень долго. Если вы можете запомнить пароль из 10 символов, это еще лучше. Если же с памятью совсем плохо, то далее будут рассмотрены программы для автоматического ввода паролей.

✓ В пароле должны быть как буквы, так и цифры, причем регистр букв должен меняться. Желательно, чтобы цифры не повторялись. Вот пример пароля с изменяющимся регистром символов и цифрами: BroaD17.

✓ Используйте не только алфавитно-цифровые символы. Самый обычный знак подчеркивания существенно усложняет пароль и увеличивает количество перестановок. Вот пример усложненного пароля: B_roaD17.

✓ С одной стороны, хорошо, когда пароль хорошо запоминается. Так меньше вероятность, что вы его забудете. С другой стороны, старайтесь, чтобы последовательность символов в пароле не являлась значащим словом – такие пароли быстро подбираются с помощью словаря. Наши пароли BroaD17 и B_roaD17 не идеальны с точки зрения словарной атаки. Ведь оба пароля содержат значащие (словарные) слова: broad и road. Идеальная защита от словарной атаки – пароль, сгенерированный из случайных символов, например: sRkTnbs19.

Однако такой пароль ничего не означает и не вызывает у человека никаких ассоциаций, поэтому сложен для запоминания. Чтобы защитить пароль и от словарной атаки, и от brute force, комбинируйте в пароле как словарные слова, так и случайные символы. Например: road_sjt_91. Такой пароль сложен для двух способов подбора. Для brute force он довольно длинный (11 символов) и к тому же содержит знак подчеркивания. А для словарной атаки тоже не по зубам – в словаре будет слово road, но в нем вряд ли будет последовательность sjt.

✓ Некоторые пользователи вводят русские слова при включенной английской раскладке. Например, последовательность символов ljhjuf означает всего лишь слово "дорога". Но такие "перевернутые" словари уже давно есть у хакеров, так что этот метод уже не действует, и хотя сам пароль выглядит грозно, однако толку от него – 0.

✓ Не используйте в пароле ваши личные данные (номер паспорта, номер телефона, дату рождения), имена близких и родственников, домашних питомцев и т. п. Все это – общедоступная информация, следовательно, если злоумышленник – кто-то из близкого вам окружения, он сможет подобрать пароль.

✓ Некоторые сервисы, например, Mail.Ru, для восстановления пароля требуют ввести ответ на контрольный вопрос. Контрольные вопросы очень просты: номер паспорта, имя любимого питомца и т. п. Этим могут воспользоваться злоумышленники – ведь узнать номер вашего паспорта или имя питомца, думаю, можно, особенно, если пароль пытаются подобрать люди, с которыми вы знакомы. Поэтому выберите любой контрольный вопрос, но в качестве ответа введите заранее подготовленный второй пароль.

✓ Опять-таки для восстановления пароля может быть использован второй ваш e-mail. Но если к нему получит доступ злоумышленник (по причине простого пароля), он сможет легко взломать ваш основной почтовый ящик – почтовый сервер сам отправит новый пароль по указанному в настройках адресу…

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

Помните, что пароль должен периодически меняться. Конечно, каждый день его менять не стоит, иначе сами запутаетесь. Меняйте пароль, например, раз в три месяца. Но смените пароль сразу же, если была замечена попытка входа с другого IP-адреса. Некоторые сервисы, например тот же Mail.Ru, сообщают, с какого адреса был выполнен последний заход и когда именно. Если вы видите, что IP-адрес не ваш, этот почтовый ящик уже кто-то взломал. А то, что вы еще можете войти в него под своим паролем, означает, что злоумышленник не хочет, чтобы вы знали о том, что ящик взломан, – он просто хочет читать вашу почту и надеется, что вы не заметите попытки взлома. Сложнее, если вы и злоумышленник находитесь в сети одного провайдера – тогда адреса, скорее всего, будут одинаковыми – вы подумаете, что в прошлый раз вам просто был назначен другой адрес… Вот для этого и нужно периодически менять пароли – даже если вы не заметите, что ящик кто-то взломал, вы рано или поздно все равно поменяете пароль, и злоумышленнику придется начать его подбор сначала.

9.2. Генераторы паролей

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

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

Типичный пример онлайн-генератора паролей – сайт http://genpas.narod.ru/. Вам даже не придется устанавливать какую-либо программу – пароль там можно сгенерировать в любое время, лишь бы был доступ к Интернету.

Зайдите на этот сайт (рис. 9.1) и установите флажки: Заглавные буквы, Маленькие буквы, Цифры, Знаки. Введите длину пароля (20 символов) и количество паролей, которые требуется сгенерировать. Так можно за один раз сгенерировать пароли для каждого используемого вами сервиса. Использовать один универсальный пароль крайне не рекомендуется – если его подберут, получат доступ ко всем вашим аккаунтам.

Рис. 9.1. Генератор паролей


Генератор сгенерировал следующие пароли:

Z№ 3w(iarjzt}\}C5BoQy

Qzq;q;(m7ZkD{nF.hS}+

vl

UP3uD{fYqw~{}=T*zVrp

9_H"90x)ZS?kKK0q>JDR

pGRBE№XQIRo+LKyjsG4g

h8CKnxz4s7KY9"*q=<7\

r6K.iPASzvH=xVrPHgMn

attGYge{(]_!z?.>J;o6

0zu-pz666EwE

Эти пароли идеальные – их сложно подобрать (в словаре их точно не будет), а подбор методом грубой силы займет значительное время. Но всегда есть обратная сторона медали – такие пароли невозможно запомнить. Методы помощи вашей памяти будут рассмотрены в разд. 9.3.

9.3. Хранение и запоминание паролей

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

Где же хранить пароль (точнее пароли – ведь их у вас будет много)? Предлагаю несколько вариантов:

✓ на желтой липкой бумажке, приклеенной к монитору, – самое глупое решение (надеюсь, все понимают почему);

✓ в обычном текстовом файле – довольно удобно, поскольку все пароли сразу под рукой. Но у этого способа один недостаток – файл виден невооруженным взглядом. Его может прочитать любой желающий – шпионская программа (если каким-то образом узнает, что у вас там пароли), ваши знакомые, коллеги и т. д.;

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

✓ использование средств браузера – с одной стороны, довольно удобный способ. Но шпионские программы уже давно научились воровать сохраненные в браузере пароли, да и в случае вынужденного сброса браузера вы их тоже потеряете. Поэтому я бы не рекомендовал прибегать к этому способу. Все-таки вероятность вынужденного сброса браузера выше, чем вероятность выхода из строя зашифрованного носителя;

✓ использование специальных программ – существуют программы, предназначенные для хранения и автоматического ввода сложных паролей. Этот способ хорош тем, что обеспечивает не только надежное хранение паролей, но и их автоматический ввод. Вам уже не придется вручную выделять строку символов (а ведь легко при этом не захватить один из символов, и пароль окажется неверным).

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

Существует много программ для хранения и автоматического ввода паролей. Раньше я пользовался программой Password Commander – довольно удобным менеджером паролей, но, к сожалению, его разработка прекращена. Сейчас в Интернете можно найти старые версии этой программы, но применить их получится разве что пользователям Windows 2000/Windows XP.

Пользователям более новых операционных систем (Vista, Windows 7) рекомендую попробовать программу KeePass Password Safe – бесплатную утилиту, имеющую к тому же portable-версию, что позволяет запускать ее с флешки. Скачать программу можно по адресу: http://keepass.info/download.html.

Принцип работы этой программы (рис. 9.2) очень прост. Сначала нужно создать базу паролей с помощью команды File | New. При этом вас попросят ввести главный пароль для этой базы – он будет использоваться по умолчанию для всех остальных парольных записей, но при необходимости вы можете указать отдельный пароль для каждой записи.

Рис. 9.2. Основное окно программы KeePass


После создания базы данных паролей нужно добавить в нее несколько записей. Каждая запись – это пароль для доступа к чему-то. Выполните команду Edit | Add entry. В открывшемся окне (рис. 9.3) введите описание пароля, имя пользователя (если нужно) и сам пароль. Созданный пароль появится в выбранной группе паролей (задается параметром Group). Для копирования пароля щелкните по записи и нажмите комбинацию клавиш +. Для копирования имени пользователя используется комбинация +. Затем перейдите в форму для ввода паролей и вставьте имя пользователя и пароль.

Рис. 9.3. Добавления пароля


Как видите, использование подобных программ не вызывает каких-либо затруднений. На практике они очень облегчают жизнь, особенно, если у вас отдельный пароль к каждому ресурсу. Помнить 20–30 разных и сложных паролей просто невозможно.

Кроме программы KeePass могу порекомендовать программу Secure Data Manager (http://sdm.sourceforge.net/). Вот только для работы этой программы нужна виртуальная машина Java 1.4.1 JRE (J2SETM v 1.4.1) или более новая. Если таковая не установлена в вашей системе, ее придется установить. Программа сама по себе довольно удобная, архив с программой занимает всего 2 Мбайт, а вот JRE… Нет смысла устанавливать JRE в свою систему, особенно, если в данный момент она вам не нужна, да и устанавливать JRE ради программы в 2 Мбайт – это как из пушки по воробьям…

А так – обе программы (KeePass и Secure Data Manager) являются программами с открытым кодом и распространяются по лицензии GPL, а это автоматически означает отсутствие "черных ходов" – можете быть уверены, эти программы не "сливают" на сторону ваши пароли. Исходный код этих программ доступен любому желающему, поэтому, если бы программы передавали пароли третьим лицам, это было бы сразу ясно.

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

Какой способ использую я? Раньше – менеджер паролей, сейчас вернулся к более консервативному способу – зашифрованному текстовому файлу, хотя признаю, что использование менеджеров паролей – более удобный способ.

А о шифровании данных мы поговорим в главе 10.

Глава 10. Ваш личный сейф. Шифрование информации и пароли