Просмотров: 6724

Слабые пароли или сильные хакеры?


Не так давно на известном западном сайте arstechnica появилась статья Дэна Гудина на тему информационной безопасности, которая может послужить нелишним предостережением не только для чайников. В двух словах, о чем в ней идет речь?

В 2010 году группа хакеров смогла проникнуть на серверы холдинга Gawker Media и получить доступ к более чем полутора миллионов пользовательских аккаунтов. Данные были зашифрованы алгоритмом хеширования DES, который оказался слишком легким для взлома. Часть данных позднее появилась в свободном доступе в интернете, что только усугубило ситуацию. Это привело к тому, что многие компании, такие как Twitter, Google и Yahoo, попросили своих пользователей изменить существующие пароли к аккаунтам.

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

правила безопасных паролей подбор паролей bruteforce брутфорс тренды passwords pass статистика исследование парольная защиты

Типичные и нетипичные проблемы

Ситуация с украденными паролями раскрыла две очень большие проблемы. Во-первых, многие пользователи пользовались одним и тем же паролем для входа на несколько сайтов. По данным исследования компании «Майкрософт» за 2007 год пользователь использует в среднем 6,5 паролей для своих 25 аккаунтов.

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

Значительная их часть оказалась самыми обычными словами, которые можно найти в словаре или в списке адресов, либо группами цифр!

В наши дни можно применять до нескольких миллиардов различных комбинаций в секунду и производить взлом тысяч паролей в день. А чтобы еще более ускорить процесс расшифровки паролей, к мощному аппаратному обеспечению (быстрому процессору и хорошей графической карте) можно добавить современные и доступные каждому бесплатные программы для взлома паролей. Для еще большей эффективности можно взламывать пароли сообща, группой хакеров, используя для координации действий онлайн-форумы или социальные сети. Вот уже который год в хакерском конкурсе Crack Me If You Can участвуют и побеждают именно группы хакеров.

Для самих хакеров все эти утечки информации о паролях и логинах пользователей, а также все увеличивающийся список «собранных» реальных паролей означает возможность еще более тщательно изучить привычки пользователей — например, в далеком 2009 году благодаря взлому сервиса онлайн-игр RockYou.com удалось получить доступ к 32 миллионам паролей.

Такой список используемых паролей позволяет, к примеру, написать алгоритм, который учитывает наиболее часто встречающиеся правила по созданию пароля (например, комбинация имени и года рождения либо замена в словах буквы «E» на цифру «3», а буквы «Ч» на «4»), что сделает процесс взлома еще более быстрым.

Безусловно, пароли не хранятся на серверах в открытом доступе. Каждый отдельный пароль шифруется с использованием особого алгоритма и сохраняется в уже измененном виде как хеш-значение (например «aad3b435b51404eeaad3b435b51404ee»). Что важно — даже небольшое изменение в пароле, например добавление цифры либо изменение одной строчной буквы на заглавную, полностью изменяет хеш-значение. Способа вернуть хеш в его первоначальное, привычное для пользовательского глаза значение, не существует.

перебор паролей правила безопасных паролей подбор паролей brute force брутфорс тренды passwords pass статистика исследование парольная защиты

Как же хакерам удается узнать пароль, если нет возможности «расшифровать» уже один раз зашифрованный пароль? Очень просто. Вместо того чтобы возвращать хеш-значению его первоначальный вид, можно наоборот, зашифровать предполагаемый пароль и сравнить полученный хеш с имеющимся в наличии. Поскольку алгоритмы шифрования известны — это не представляет никакой трудности.

Таким образом, еще одна причина уязвимости паролей, в том числе и в интернете — использование слишком простых (сиречь «хорошо известных»)алгоритмов шифрования

Большинство сайтов, даже весьма известных и часто посещаемых, используют очень легкие для последующей расшифровки алгоритмы. Специалист по безопасности Джереми Госни (Jeremi Gosney) говорит, что для взлома 90% из 6,5 миллиона паролей с известного сайта LinkedIn (для шифрования данных пользователей там используется алгоритм SHA1) ему понадобилось шесть дней, оставшиеся 10% удалось практически в полном объеме взломать за следующие сутки. При этом существуют и достаточно эффективные способы шифрования данных. Использование, например, алгоритма SHA-2 уже значительно усложнило бы хакерам получение паролей.

Новые горизонты взлома

Взлом в 2010 году серверов Gawker Media стал моментом истины для пользователей, поскольку открыл им глаза на проблему простоты паролей и их многократного повторного использования на других сайтах. А вот взлом в 2009 году сайта RockYou был переломным моментом для хакеров. Получив доступ к огромному количеству паролей, хакеры смогли изучить «логику» пользователей и способы создания паролей. Благодаря этому появилась возможность перейти от весьма продолжительной атаки простым перебором к более сложным, но зато качественно иным методикам.

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

Некоторые пользователи в конце пароля, после имени или слова, добавляют несколько цифр — допустим, katia1977. Другие начинают слово (первое или каждое, если пароль составной) с большой буквы — например, «NewPass». Специальные знаки и цифры чаще всего используются как замена букв — например буква E заменяется цифрой 3, а буква S — символом $. Иногда слово «зеркалится» — passworddrowssap.

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

Примером подобного рода атаки является метод гибридной атаки по словарю.

Атом, участник команды Hashcat, которая выиграла в этом году хакерский конкурс «Crack Me If You Can», утверждает, что этот способ является его любимым типом атаки. Он говорит:

Она наиболее эффективна. Если я получаю новый хеш-список, например на 500 000 хеш-строк, то я могу взломать 50 процентов, просто используя «гибрид». Этот тип атаки позволяет создавать свои способы вариации слов и проверять пароль, полученный по заданным правилам на соответствие.

правила безопасных паролей подбор паролей brute force брутфорс тренды passwords pass статистика исследование парольная защиты

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

Чем лучше хакер знает привычки пользователей, тем быстрее подберется пароль. А знание привычек неизменно приходит с новым опытом и новыми списками взломанных паролей

Иным «улучшенным» способом взлома пароля является использование радужных (предвычисленных) таблиц. Концепция достаточно просто и понятна: вместо того чтобы перебирать все возможные сочетания букв и цифр, создавать на их основе хеш-код и сравнивать его с определяемым «паролем», предлагается создавать цепочки возможных паролей.

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

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

3 простых правила

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

Так какой же может быть выход? Как можно защитить свои аккаунты от взлома хакерами?

  • Первое простое правило: не следует использовать один пароль для всех своих аккаунтов. Если для каждого отдельного логина у вас свой отдельный пароль, то даже в случае взлома одного аккаунта остальные останутся в безопасности.
  • Второе крайне важное условие: следует позаботиться о сложности используемого пароля. Он должен быть по возможности как можно более сложным и нестандартным, сочетать в себе буквы, цифры, специальные знаки и быть длиннее восьми знаков. Поскольку запоминать большое количество паролей для всех своих аккаунтов на почтовых серверах или в социальных сетях крайне сложно, для создания и хранения паролей лучше всего использовать специальные программы, такие, как 1Password или PasswordSafe. При помощи этих программ можно не только создать произвольный сложный пароль, но и хранить его затем в зашифрованном виде в защищенном файле на своем компьютере. Программа также позволит регулярно менять используемые пароли, что тоже важно.
  • И третье, самое важное и, наверное, самое неутешительное. При нынешнем развитии информационных технологий любой, даже самый сложный и длинный, содержащий в произвольном порядке цифры и специальные знаки, пароль может быть при желании взломан за очень короткий промежуток времени. В «домашних условиях» можно использовать более сложные алгоритмы, добавляющие при шифровании дополнительное значение — «соль». При использовании такой «соли» хеш, получаемый при обработке пароля алгоритмом шифрования, изменяется до неузнаваемости (дополнительно изменяется его длина). При добавлении к стандартному алгоритму дополнительного значения, «соли», восстановить пароль, не зная это добавочное значение и не имея информации хотя бы о его длине, при наличии одного лишь конечного хеш-значения, будет крайне сложно. И еще одна выгода: даже если у двух пользователей будет один и тот же пароль, итоговый хеш их паролей будет отличаться.

правила безопасных паролей подбор паролей brute force брутфорс тренды passwords pass статистика исследование парольная защиты

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

Внешняя практическая ссылка по теме: The Only Secure Password Is the One You Can’t Remember.

dev.by, 2012

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , , ,
Эта запись опубликована: Понедельник, 27 августа 2012 в рубрике Мнения.

5 комментариев

Следите за комментариями по RSS
  1. Спасибо за интересную статью.

    Хочу добавить, что некоторые сайты, как Google и ВКонтакте могут использовать номер мобильного телефона как дополнительную меру безопасности.

    Также хочу упомянуть о программе KeePass, которой лично я пользуюсь около двух лет на разных платформах (Win, Linux, Android) и в связке с сервисом Dropbox всегда на всех машинах могу получить доступ к своим паролям, запоминая лишь один мастер-пароль.

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

  2. >> Данные были зашифрованы алгоритмом хеширования DES

    Если у тебя DES это алгоритм хеширования, тогда колеса у тебя квадратные

  3. Да, товарищь, пишите лучше про ноотропы а не про энтропию пароля и взлом хеш-функции

  4. Над чем вы ржоте, недоумки?

    В далеком 2010м году в промышленном Солярис 10 была возможность врубить хэш SHA-256 и SHA-512 для шифрования паролей в /etc/shadow. Но по умолчанию там стоял - правильно, UNIX crypt! Соль там от природы присутствовала, но - прочувствуйте разницу! - UNIX crypt vs SHA-512!

    Так вот. Возвращаясь к нашим барашкам. Оставьте аффтара в покое, недоумки.

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

    Смекаете?

  5. PS. UNIX crypt - это DES, недоумки.

Оставьте комментарий!

Не регистрировать/аноним

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

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз