суббота, 25 августа 2007 г.

Удобные пароли

Удобные пароли

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





Как взламывают пароли

Взломать пароль очень просто. Есть пять проверенных способов сделать это:

  • Просьба. Удивительно, как часто для того, чтобы узнать пароль, достаточно спросить об этом у его владельца. Люди часто рассказывают свои пароли коллегам, друзьям или членам семьи. И никакая политика сложных паролей здесь не поможет.
  • Догадка. Это второй по популярности способ получения доступа к личным данным. Пользователи, выбирая пароли, которые легко запомнить, часть используют данные из своей личной жизни. Например, свою фамилию, имя жены, кличку кошки, дату рождения, любимый цвет и т. д.
  • Лобовая атака. Очень легко осуществляется. Хакеры просто пытаются авторизоваться, последовательно перебирая пароли — «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 символов

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

Означает ли это, что рекомендации компаний, занимающихся безопасностью, правильные? Нет, это скорее означает, что пароли из 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 лет.

Боремся со взломом паролей

Перевод статьи Томаса Бакдела. Перевёл Антон Вакуненко.

Интересное...




Другие посты по этой теме:



Комментариев нет: