THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама
Каждому пользователю интернета приходилось регистрироваться на каких-нибудь сайтах или сервисах, и одна из обязательных составляющих любой регистрации - придумывание пароля. Есть даже официальные рекомендации по составлению паролей , не говоря уже о многочисленных статьях на эту тему. Многие сервисы при регистрации пользователя проверяют наличие определенных групп символов в пароле, в результате складывается ситуация, как в верхней половине приведенного здесь комикса. А вот как определить, действительно ли тот или иной пароль является сложным?

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

Осталось оформить это в виде функции. Начну с версии на PHP, чтобы выполнять проверку стойкости пароля, например, при регистрации пользователей на сайте:

  1. function check_password_strength ($password ) {
  2. $h = 0 ;
  3. foreach (count_chars ($password , 1 ) as $v ) {
  4. $p = $v / strlen ($password );
  5. $h -= $p * log ($p )/ log (2 );
  6. $strength = intval (($h / 4 )* 100 );
  7. return $strength > 100 ? 100 : $strength ;

Чем ближе будет возвращаемое значение к 100, тем выше стойкость пароля. Вот результаты тестирования паролей из комикса и еще одного часто используемого простого пароля.Этот же алгоритм можно использовать не только на серверной стороне, но и на клиентской, еще на стадии ввода пароля пользователем. Вот функция на JavaScript, выполняющая проверку стойкости пароля:

  1. function check_password_strength (password ) {
  2. var h = 0 , p , chars =new Array;
  3. for (var i = 0 ; i < password . length ; i ++) {
  4. if (chars [ password . charAt (i )]== undefined ) {
  5. chars [ password . charAt (i )]= 0 ;
  6. chars [ password . charAt (i )]++;
  7. for (var v in chars ) {
  8. p = chars [ v ]/ password . length ;
  9. h -=(p * Math . log (p )/ Math . log (2 ));
  10. var strength = Math . round ((h / 4 )* 100 );
  11. return strength > 100 ? 100 : strength ;

Результаты тестирования совпадают с результатами PHP-функции:Эту функцию можно вызывать в обработчике onchange на поле ввода пароля и оповещать пользователя, например, изменением цвета фона текстового поля, сообщением или еще как-нибудь.

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

Эксперты по компьютерной безопасности из Кембриджского университета проанализировали структуру более 70 млн. паролей. И выяснили то, что самые сложные пароли в мире составляют пользователи из Германии и Кореи. Причём делают они это непринуждённо и естественно, без специальной подготовки. А секрет устойчивости комбинаций кроется в специфике их языка. Они применяют те же латинские символы, те же цифры, но берут за основу свои родные «трудные» слова - имена, топонимы, термины и т.д. Например, Annaberg-Buchholz#122. Придумать, запомнить эти варианты легко, а вот подобрать на порядок сложней по сравнению со словарными словами других языков.

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

Определение сложности

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

На сложность пароля влияют следующие факторы:

  • Количество символов в ключе. Чем больше знаков в последовательности, тем лучше. У комбинации из 5 знаков есть большая вероятность быстрого взлома. А вот на подбор последовательности из 20 знаков могут уйти годы, десятилетия и даже века.
  • Чередование прописных и строчных литер. Примеры: ключ dfS123UYt с использованием регистра заглавных букв на порядок сложней этой же комбинации, но только с маленькими литерами - dfs123uyt.
  • Символьные наборы. Разнообразие типов символов усиливает устойчивость. Если сделать ключ из маленьких и больших букв, цифр и спецсимволов длиной в 15-20 знаков, шансов его подобрать практически нет.

Как составлять устойчивые комбинации?

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

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

Внимание! Избегайте простых «конструкций» - линии, квадраты или диагонали. Их легко предугадать.

2. Составьте сложное предложение, не поддающееся логике. Другими словами, какой-нибудь каламбур:

Например: Кот Васька на Юпитере уловил щуку.

Затем возьмите первые 2-3 буквы каждого слова из придуманного предложения:
Кот + Ва + На + Юп + ул + щук

Наберите слоги латинскими буквами:
Rjn + Df + Yf + >g + ek + oer

После транслитерации вставьте между слогами какие-нибудь хорошо знакомые вам числа: дату рождения, рост, вес, возраст, последние или первые цифры телефонного номера.
Rjn066Df 45Yf 178>g 115ek1202oer

Вот и всё! Как видите, получилась довольно «крепкая» комбинация. Чтобы вспомнить её быстро, вам нужен только ключ (предложение-каламбур) и используемые цифры.

3. Возьмите за основу 2 памятные даты. К примеру, два дня рождения (ваше и вашего любимого человека).
12.08.1983 05.01.1977

Разделите число, месяц и год какими-нибудь спецсимволами:
12|08/1983|05\01|1977

Теперь нули в датах замените маленькой буквой «o».
12|o8/1983|o5\o1|1977

Получается довольно замысловатый ключ.

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

Для генерации ключа возьмите несколько простых слов, записанных английскими буквами, например, my password very strong

Возьмите первую пару букв. В нашем случае это «my». В вертикальном списке найдите «m», в горизонтальном «y». На пересечении линий вы получите первый символ пароля.

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

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

Как проверить устойчивость пароля?

Устойчивость символьной комбинации к подбору можно узнать на специальных веб-сервисах. Рассмотрим наиболее популярные:

Онлайн-служба от антивирусной лаборатории Касперского. Определяет по символьному набору и длине ключа, сколько понадобится времени на его взлом на различных компьютерах. После анализа последовательности в статистике отображается время для поиска на ZX-Spectrum (легендарной 8-ми битной машине 80-х), Mac Book Pro (модели 2012 года), суперкомпьютере Tianhe-2 и в сети ботнетов Conficker.

Онлайн-утилита на огромном сервисном портале 2IP.ru. После отправки ключа на сервер, выдаёт его статус (надёжный, ненадёжный) и время, затрачиваемое на его взлом.

Приветствую на блоге сайт! Давно уже хотела написать статью о том, каким должен быть пароль для аккаунта, чтобы его взломать было очень сложно. Из этой статьи вы узнаете, как создать сложный пароль. Будут рассмотрены приемы, которые помогут не только сделать пароль безопасным, но и не сложным для вашего запоминания.

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

Несколько методов усложнения пароля

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

  • буквенный;
  • символьный;
  • цифровой;
  • комбинированный (комбинация предыдущих вариантов);
  • использование регистра.

Первые три вида не внушают доверия. Это слишком простые способы создания пароля. По неопытности мы совершаем ошибки и ставим их. Ладно, это будет «пасворд» для аккаунта на форуме или другом подобном месте. А, если это вход в кабинет банка, все пропадут ваши денежки. Единственное, что спасает – служба безопасности подобных сайтов разработала систему отвержения легких паролей.

Буквы, цифры и символы

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

Опытные «юзеры» советуют новичкам использовать именно эту комбинацию. Также не стоит делать его слишком коротким. Длинная комбинация позволит сохранить свои данные и переписки в безопасности от третьих лиц.

Главное не используйте банальные фразы ниже:

  • «123»;
  • «123456»;
  • «321»;
  • «qwerty»;
  • «asdfg».

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

Как же подобрать пароль для почты или другого вида авторизации? Этим вопросом стоит заняться самостоятельно. В помощь придут еще несколько вариантов усложнения пароля.

Регистр

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

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

Самое обидное, если вы сами забудете порядок. По рекомендации опытных пользователей стоит первый символ сделать прописным, второй – строчным, и далее чередовать по одному. Данный совет лучше взять на заметку, чтобы потом не ломать себе голову.

Без внедрения особенностей регистра в «пассворд» можно обойтись, но это все-таки это еще один метод повысить сложность пароля.

Перевертыши

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

Способ основан на написании символов в обратном порядке. Выбираете любую дату, например, когда вы родились и набираете текст наоборот. Если у вас задумана фраза «081978», то переворачивая, получаем «879180». Довольно просто запомнить, как пишется такой пароль.

Рассмотрим и другие более сложные задумки. Предположим, основа пароля – ваши имя и фамилия. Набираем, уже зная технику с применением регистра – «PeTrPeTrOv». Теперь применим тактику «перевертышей». Применяем дату, например, когда родился пользователь – 21 февраля 1982 года. Плюс ко всему прибавим символов. В конце получаем следующий пример пароля – «PeTrPeTrOv!28912012». Итог получился ошеломляющим, ведь для «юзера» он прост и легок, но никак не для злоумышленников.

Проверьте надежность и безопасность пароля с помощью онлайн сервисов:

  • https://password.kaspersky.com/ru/
  • https://howsecureismypassword.net/

Шифрование

Какой же все-таки должен быть пароль? Узнаем еще один отличный способ. Будем рассматривать принцип шифрования. По сути все рассмотренные ранее методы перекликаются с этим. Здесь мы покажем, какие бывают пароли путем шифрования фраз.

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

Затем применим к нашей фразе шифр. Рассмотрим несколько верных способов:

  • переписывание русскоязычного слова на английской раскладке;
  • «перевертыш»;
  • замена букв на символы внешне схожие (например, «о» – «()», «i» - «!», «а» - «@»);
  • удаление парных или непарных символов;
  • выбрасывание согласных или гласных букв;
  • дополнение спецсимволами и цифрами.

Итак, задумаем несколько слов со смыслом – «космические тараканы». Берем по 4 буквы от каждого, получаем «космтара». Переключаемся на английский язык и перепечатываем – «rjcvnfhf». Усложняем, начиная шифр с заглавной буквы и добавляя символы.

Вот каким должен быть пароль на примере первоначально задуманной фразы – «Rjcvnfhf@955».

Придумана надежная комбинация с большим количеством символов. Проверяется надежность пароля с помощью специальных сервисов, например, passwodmetr.com. Комбинацию, как у нас получилась не просто угадать мошенникам, так личные данные пользователя не вовлечены. А вот для «юзера» такой «пассворд» находка, так как запомнить такой надежный пароль не составит труда.

Генератор

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

Что такое генератор и как им пользоваться? Это умная программа, которая выводит рандом паролей – совершено случайно выпавшие комбинации. Он использует многие рассмотренные методы, но «перевертоши» не берет во внимание.

Генератор сложных паролей скачивается из сети. Например, возьмем «keepass». Как и любой другой генератор работает не сложно. Запускается приложение и сама генерация путем нажатия специальной кнопки. После проделанной операции ПК выдает вариант пароля. Остается дело за малым – вписать получившуюся комбинацию в неизменной форме или с дополнениями.

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

Есть один выход с хранением – напечатать их в файле компьютера. Это один из надежнейших случаев. Стоит лишь помнить, что система ПК не вечна и тоже приходит в негодность.

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

Предлагаю вниманию несколько нужных советов по созданию паролей:

  • не упоминать личную информацию о пользователе (ФИО родственников, клички домашних животных, номера телефонов, адреса, даты рождения и другое);
  • в пароле нельзя использовать кириллицу;
  • не употреблять фразы, которые легко вычисляются с помощью словаря популярных паролей (ястерва, love, alfa, samsung, cat, mercedes и прочие подобные, а также другие их производные и сочетания);
  • учитывать длину символов – желательно не менее 10;
  • усложнять пароль комбинацией всевозможных методов – прописные и строчные буквы, цифры, символы;
  • не употреблять самые частые пароли – шаблоны, думать оригинально (робот, вычисляющий ваш пароль, не сможет быть столь умным, как человек).

Приветствую!
Несмотря на стремительное развитие технологий и появление альтернативных способов распознавания владельца, парольная защита не сдаёт своих позиций и остаётся весьма популярной и по сей день.

Пароль превратился в обыденность и используется для доступа к устройствам и интернет сервисам. И со временем их становится только больше. Сложившаяся ситуация, в конечном итоге, приводит к тому, что пользователи начинают использовать один и тот же пароль на используемых устройствах и сервисах.
Данный подход очень опасен и грозит серьёзными последствиями. Несомненно, скомпрометированный пароль от социальной сети не несёт таких последствий, как пароль от платёжной системы. Но если они будут идентичны, то вероятность того, что доступ будет получен и к остальным используемым сервисам очень высок.
Чтобы этого не произошло, пароли должны быть сложными (стойкими к перебору) и разными.

Принципы, используемые при создании пароля

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

  • Логин и пароль не должен быть идентичным
  • Пароль не должен состоять из личной информации (дата рождения, телефон и т.д.)
  • Пароль не должен состоять исключительно из слов

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

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

  • Дата рождения 12071996 – 0,003 секунды
  • Имя с заглавной буквы Maksim и строчной maksim – не больше полусекунды
  • Сочетание, состоящее из букв и цифр 7s3a8f1m2a – около суток
  • На перебор следующего сочетания vSA-DFRLLz – 1 год
  • Сочетание iu2374NDHSA)DD – 204 миллиона лет

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

Правильно генерируем пароль

С теоретической частью мы разобрались, теперь перейдём непосредственно к генерации стойкого и надёжного пароля.
При создании сложного и стойкого пароля существенную роль играет человеческий фактор. Трудности возникают на самом начальном этапе – придумывании сложного пароля, а после – его запоминания. Ведь комбинация разрозненных символов едва ли предрасполагает к скорому запоминанию.
С проблемой генерации стойкого пароля нам помогут он-лайн сервисы. Их довольно много, из популярных русскоязычных сервисов можно отметить:
Passwordist.com
Online-Generators.ru
PassGen.ru
Работают представленные сервисы по одному принципу, от вас лишь требуется указать какие символы необходимо использовать и выбрать длину генерируемого пароля.
Отдельной особенностью сервиса Passwordist.com можно отметить возможность задать количество создаваемых паролей и генерировать варианты с лучшей читабельностью за счёт исключения похожих символов, к примеру, B и 8.

Хранение паролей

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

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

Проверка стойкости паролей

Если вы желаете проверить уже имеющиеся или вновь сгенерированные пароли на стойкость к взлому, то для этого существуют несколько он-лайн сервисов:

1) How Secure Is My Password? После того, как вы введёте пароль в соответствую форму на сайте, вы увидите сколько времени понадобится на взлом методом перебора. Срок в несколько миллионов лет можно считать превосходным.

2) Kaspersky Lab: Secure Password Check Данный сервис создан отечественным разработчиком популярного антивирусного решения. Он также демонстрирует примерное время, которое необходимо на взлом пароля методом перебора.

3) 2IP: Стойкость пароля Сервис категорично выносит вердикт для проверяемого пароля – он может быть либо надёжным, либо нет.

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

Краткий итог

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

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

"password" => [ "required", "confirmed", "min:8", "regex:/^(?=\S*)(?=\S*)(?=\S*[\d])\S*$/", ];
К сожалению, такие простые правила означают, что пароль Abcd1234 будет признан хорошим и качественным, так же как и Password1 . С другой стороны, пароль mu-icac-of-jaz-doad не пройдёт валидацию.

Вот первые два пароля.

А вот два пароля, которые не пройдут проверку на надёжность.

Что же делать? Может, не стоит принуждать к использованию спецсимволов и внедрять всё новые правила, вроде запрета на повтор нескольких символов подряд, использование не одного, а двух-трёх спецсимволов и цифр, увеличение минимальной длины пароля и т д.

Вместо всего этого достаточно сделать простую вещь - просто установить ограничение на минимальную энтропию пароля, и всё! Можно использовать для этого готовый оценщик zxcvbn .

Есть и другие решения, кроме zxcvbn. Буквально на прошлой неделе на конференции по безопасности ACM Computer and Communications Security была представлена научная работа (pdf) специалистов по безопасности из научно-исследовательского подразделения Symantec Research и французского исследовательского института Eurecom. Они разработали новую программу для проверки надёжности паролей, которая оценивает примерное количество необходимых попыток брутфорса, используя метод Монте-Карло . Предлагаемый способ отличается тем, что требует минимальное количество вычислительных ресурсов на сервере, подходит для большого количества вероятностных моделей и в то же время довольно точный. Метод проверили на паролях из базы 10 млн паролей Xato, которые лежат в открытом доступе (копия на Archive.org) - он показал хороший результат. Правда, это исследование Symantec Research и Eurecom носит скорее теоретический характер, по крайней мере, свою программу они не выложили в открытый доступ в каком-либо приемлемом виде. Тем не менее, смысл работы понятен: вместо эвристических правил проверки паролей веб-сайтам желательно внедрить проверку на энтропию.

THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама