Удобные пароли
The Usability of Passwords
Автор: Thomas Baekdal
Источник: baekdal.com
Компании, занимающиеся безопасностью, постоянно говорят нам, что мы должны использовать сложные пароли. Это плохой совет, потому что на самом деле простые и легко запоминающиеся пароли могут быть очень надежными.
Как взламывают пароли
Взломать пароль очень просто. Есть пять проверенных способов сделать это:
- Просьба. Удивительно, как часто для того, чтобы узнать пароль, достаточно спросить об этом у его владельца. Люди часто рассказывают свои пароли коллегам, друзьям или членам семьи. И никакая политика сложных паролей здесь не поможет.
- Догадка. Это второй по популярности способ получения доступа к личным данным. Пользователи, выбирая пароли, которые легко запомнить, часть используют данные из своей личной жизни. Например, свою фамилию, имя жены, кличку кошки, дату рождения, любимый цвет и т.д.
- Лобовая атака. Очень легко осуществляется. Хакеры просто пытаются авторизоваться, последовательно перебирая пароли – «aaa», «aab», «aac» и т.д. Единственное, что может помочь от подбора – это использование все более и более сложных паролей.
- Атака по списку наиболее используемых слов. Один из вариантов лобовой атаки, в котором вместо последовательностей символов используется список наиболее употребительных слов.
- Атака по словарю. Еще один вариант лобовой атаки, в котором используется полный словарь (для английского языка – 500000 слов).
Когда пароль безопасен?
Вы не можете защититься от просьбы или догадки, но зато можете защитить себя от других форм нападения. Хакеры, как правило, используют специальные скрипты или программы, которые подбирают пароли.
Мерой безопасности пароля может быть «количество паролей, которое может проверить программа в секунду». Фактическое значение может варьироваться, но большинство web-приложений просто не будут обрабатывать больше 100 запросов в секунду.
Например, пароль из трех символов (sun) можно будет взломать
- Лобовой атакой – за 3 минуты;
- Атакой по списку наиболее используемых слов – за 3 минуты;
- Атакой по словарю – за 1 час 20 минут;
Это, конечно, небезопасно. Но сколько времени должно потребоваться для взлома пароля, чтобы считать его безопасным?
- Пароль, который может быть взломан за 1 минуту, слишком рискованный.
- 10 минут – слишком рискованно.
- 1 час – уже лучше, но не еще не достаточно хорошо.
- 1 день – вероятность, что кто-то будет пытаться взломать ваш пароль в течение целого дня, мала. Но все же она есть.
- 1 месяц – только если мы чем-то очень сильно насолим злоумышленнику.
- 1 год – здесь мы переходим из практики в теорию. Для НАСА или ЦРУ этого может быть недостаточно. У большинства же из нас нет таких врагов, которые будут подбирать пароль с течение года.
- 10 лет – уже чистая теория.
- 100 лет – кто будет заботиться о том, чтобы пароль не смогли взломать даже после смерти владельца? Тем не менее, приятно знать, что на используемый пароль имеется пожизненная гарантия.
Давайте взглянем на пароль с гарантией в 100 лет. Да, с таким паролем можно было бы чувствовать себя в безопасности, если бы не одно обстоятельство. Хакеру может просто повезти. Он может подобрать правильный пароль уже через 15 лет, вместо 100.
Создание удобных и безопасных паролей
Теперь, когда мы узнали теорию, давайте посмотрим на реальные примеры.
Во всех примерах используется машина, перебирающая пароли со скоростью 100 паролей в секунду тремя способами (лобовой атакой, атакой по списку наиболее используемых слов и атакой по словарю).
Во-первых, давайте посмотрим на пароль из 6 символов:

В данном примере более сложные пароли явно выигрывают. Пароль, в котором используются символы в разных регистрах, цифры и спецсимволы гораздо более безопасен, чем остальные. Использовать простые слова в качестве пароля бесполезно.
Означает ли это, что рекомендации компаний, занимающихся безопасностью, правильные? Нет, это скорее означает, что пароли из 6 символов не работают. Вряд ли кто-то сможет запомнить пароль «J4fS<2», а это значит, что, скорее всего, пароль будет записан на листке где-то рядом с компьютером.
Чтобы эффективно использовать пароли нужно взглянуть на них по-другому.
Прежде всего, будем использовать слова, которые можно легко запомнить и быстро ввести.
Например, такие:

Использование более одного слова в качестве пароля существенно повышает его надежность (с 3 минут до 2 месяцев). А простой комбинацией из трех слов, мы неожиданно получили весьма надежный пароль.
Чтобы его взломать, потребуется
- 1 163 859 лет, при использовании лобовой атаки;
- 2537 лет, при использовании атаки по списку наиболее используемых слов;
- 39 637 240 лет, при использовании атаки по словарю;
Пароль «this is fun» в 10 раз надежнее пароля «J4fS<2».

Удобный и безопасный пароль может не быть сложным – несколько простых слов, которые вы сможете легко запомнить.
Но в действительности, дело не только в паролях.
Одно дело – выбрать удобный и безопасный пароль. И совсем другое – предотвратить попытки взлома. Все, что вам нужно сделать – это не дать программам автоматического подбора работать эффективно.
- Добавьте временную задержку между попытками ввода пароля. 5 секунд. Пользователи ее даже не заметят (больше времени уйдет на то, чтобы понять, что пароль введен не верно и ввести правильный). А хакеру придется проверять 1 пароль в 5 секунд, вместо 100 в секунду.
- Добавьте штрафное время. Если пароль введен неправильно 10 раз, запретить дальнейшие попытки ввода на час. Это создаст серьезные проблемы программам, подбирающим пароли.
Хакер может взломать пароль «alpine fun» за 2 месяца, если ему будет позволено проверять 100 паролей в секунду. Задержка в 5 секунд увеличит это время до 63 лет, а штрафное время – до 1889 лет.


Комментарии
Пошел менять пароли…
А прогу можно такую как ан скринах? =)
А прогу можно такую как ан скринах? =)
MS Exel называется
Почему, интересно, не сказано о паролях написанных транслитом, или даже транс-кейбордом. Например пароль cby[hjafpjnhjy
Хотя понял, это специфика языка, а статья переводная
“alpine fun” - это 10 символов без регистра и пробел (итого 27 символов) - взламывается не через 2 месяца, а через 15 минут простым брутфорсом - атаковать словарём тут смысла нет.
“this is fun” - это всего 11 тех же символов - взламывается не через две тыщи с лишним лет, а через 30 минут.
отсюда следует, что заявление “Пароль «this is fun» в 10 раз надежнее пароля «J4fS
2stager: я с вами не согласен. Давайте подсчитаем на примере “alpine fun”:
брутфорсом получается 27 в 10 степени вариантов,
а если взять словарь (ну для удобства сравнения скажем на 100000 слов), то получится всего то 2 в 10 степени.
Итого подбор по словарю получается быстрее примерно в 13 в 10 степени раз.
Хм, интересны цифры подбора пароля: 1,889 лет. Откуда такие цифры? Что учитывается? Какие мощности компа-переборщика? Локальный перебор, по инету? Цифры достаточно спорные, и точно их так писать имхо нельзя. Все заивисит от коннекта, от таймаута после трех, например, неправильных попыток. Таймаута после сотни неправильных попыток и т.д.
Кстати, тоже статью писал по теме:
http://akeepaki.livejournal.com/164736.html
Помоему ещё интересен вариант записи например русскоязычного пароля в английской раскладке.
Что думаете относительно пароля
qfgfhjkmrj
весьма неплохой пасс, добавим в него немного рЕгиСТра
QFgfhjkmRJ
уже лучше, теперь заменим букву О на нуль,
QFgfh0kmR0
стало ещё лучше.
Хм. У меня сейчас используется три типа паролей. Один для веб-сервисов, которые попробовать. Второй — там, где часто бываю. Третий — для жизненнонеобходимого. Разумеется, они разны для разных сервисов.
Отлично помню пароли (правда, помнят пальцы, а не голова). 8—12 знаков каждый. Окружающие охуевают, а вот я быстро забываю всякие “зыс из фо фан” против простого 12-тизначного с цифрами, буквами, знаками.
Сумасшедший.
троян зашлют и все пароли…
Оставьте комментарий
You must be logged in to post a comment. Log in