На многих форумах и блогах издавна идут жаркие дискуссии о важности защиты пароля от перебора и насколько он сложен должен быть. Не утихают споры, сколько минимум символов необходимо использовать и должны быть то цифры, буквы разных регистров или обязательно спецсимволы. Попробуем рассмотреть все аспекты правильного выбора пароля и ответить на вопросы о целесообразности этих решений.
В запросах поисковых систем можно встретить множество запросов на тему хороший пароль для вк, надежный пароль для одноклассников, сложные пароли примеры. Главная проблема этих статей и предлагаемых паролей в том, что они скомпрометированы, так как выставлены на всеобщее обозрение. Хакеры в большинстве случаев используют словари для брутофорса, а следовательно смогут быстро подобрать ключ к вашему аккаунту. Совсем другое дело, если пароль уникален и нигде не засветился - тогда только прямой перебор паролей сможет найти заветную лазейку, но здесь нас спасёт сложность пароля (об этом чуть позже).
Из выше сказанного следует вывод: пароль должен быть придуман лично и не стоит искать его на просторах интернета. Исключением является генератор рандомных паролей - задав необходимые параметры можно получить надёжный и взломоустойчивый пароль. Минусом такого варианта есть почти невозможность запоминания на память, и поэтому придется хранить в сохранном от посторонних глаз месте. А если в нужный момент под рукой не окажется заветной бумажки, программы, письма с паролем, то подумается, почему я не придумал свой пароль, который было б легко запомнить. Обязательно перед выбором пароля подумайте, понадобится он в экстренном случае в другом месте, или Вы логинитесь на данный ресурс только с одного места.
Какой длины должен быть пароль?
На этот вопрос нельзя ответить однозначно. С одной стороны, чем длиннее, тем лучше. Однако опять возникает вопрос сложности запоминания (хотя для некоторых это оказывается хорошей тренировкой памяти), так и усердствовать не стоит - поля для сохранения паролей (обычно в базе данных) имеют определенную длину и больше символов, чем задано в ограничении в них не поместится. Хорошо, если на сайте продуман этот момент и Вам выдаст ошибку, что пароль слишком длинный. В худшем случае регистрация не удастся или пароль обрежется, а Вы не будете знать об этом. Для более просто запоминания в качестве кодовой фразы советуется использовать несколько произвольных слов, согласитесь - это намного проще запомнить, чем рандомный набор символов.
На многих вебсайтах есть правила минимально допустимой длины пароля. На менее популярных и значимых это 5, 6 или 8 символов, банковские системы и сервисы с использованием платежей могут усложнять до 10-12 символов. Зачем вообще такие прихоти, попробуем разобраться. Как известно, существуют программы по перебору паролей, в них задается или маска перебора (все комбинации символов) или bruteforce по словарю. Так как цифр всего 10, в отличие от букв алфавита, то подобрать цифровой пароль проще подобрать. Именно поэтому не рекомендуют использовать даты рождений, номера телефонов и другие комбинации чисел - такие пароли не только намного быстрее подбираются, но используя методы социальной инженерии можно узнать в ненавязчивом разговоре необходимые цифры и вручную определить потенциальный пароль. Эти правила распространяются не только на пароли в аккаунты, но и на пин-коды, кодовые фразы для восстановления утерянного доступа и т.п.
Использование букв разного регистра усложняет кодовое слово до 62 знаков (10 цифр, 26 строчных символов и 26 заглавных). К примеру, раньше на такой пароль длиной 6 символов могло понадобиться как минимум несколько дней, сейчас вычислительные мощности растут в экспоненциальной прогрессии и на это уйдет лишь пару секунд! Если подключить к перебору GPU (видеокарты), то 12-символьный пароль можно узнать за пару месяцев. Исходя из этого, оптимальная длина пароля должна составлять минимум 10 символов, при этом желательно использовать нестандартные символы и знаки препинания.
С другой стороны, на всех достаточно защищенных ресурсах используется своя защита от перебора паролей. К примеру, после 10 неудачных попыток блокируется возможность ввода пароля с данного айпи. Злоумышленники используют в таких случаях прокси сервера, SOCKS и vpn - однако это всё равно не даст сильно разогнаться, чтобы перебирать хотя бы по миллиону паролей в секунду. Возникает вполне логичный вопрос, а как тогда взламываются учётные записи? Как известно, программный код не идеален и в нём зачастую закрадываются всевозможные уязвимости. После удачной атаки киберпреступники получают доступ к хранилищу конфиденциальных данных пользователей - базе данных. Даже крупные компании бывало хранили пароли посетителей без применения шифрования, то есть можно сказать в открытом виде - бери и пользуйся. Именно таким образом и становится известной статистика самых популярных паролей, а для хакеров появляется возможность пополнить словари комбинациями для перебора.
Минимальным параметром безопасности для защита пароля в базе данных является его шифрование. Многие CMS сейчас используют хеширование MD5 с применением соли (специального ключа для усложнения шифрования). Для пущей криптостойкости применяются дополнительные обработки функциями и увеличение битности шифрования. Пару слов, что такое хеш и md5 и зачем они нужны. По определенной математической последовательности для каждого пароля вычисляется своя хеш-сумма мд5. Полезность функции состоит в том, что обратно этот хеш нельзя преобразовать в пароль, только методом сравнения проверяется совпадение кодовых фраз. Для дешифровки сейчас используются так называемые радужные таблицы - огромный набор готовых пар хешей. Поэтому если через какую уязвимость к хакерам попадает дамп базы данных - то извлечь пароли становится лишь делом времени, и здесь выживут лишь самые криптозащищенные пароли.
Статистика взломов паролей за последние 10 лет
Не стоит использовать одинаковые пароли на разных ресурсах! Да, само собой, так проще запомнить, однако утечка данных из одного источника подвергает опасности и атаке другие аккаунты. И если Вы думаете, что крупные соцсети не ломают, то приведу небольшую статистику, сколько данных было скомпрометировано.
- В 2016 году нашелся покупатель на 165 млн. аккаунтов LinkedIn. Пароли были угнаны ещё в 2012 году и были закодированы обычным SHA1 без соли - расшифровка не вызвала трудностей.
- В том же 2012 году пострадали и пользователи популярной на территории СНГ соцсети Вконтакте (VK) - опять же в 2016 году были куплены данные номера телефонов, почтовые ящики, логины и пароли к ним около 93 338 602 человек.
- Кто любит пофлиртовать, посидеть на сайтах знакомств и поискать острых ощущений, тоже не остались без внимания киберпреступников. В июне 2016 года были раскрыты данные порядка 112 миллионов анкет: даты рождений, имена и само собой пароли.
- В 2008 году у компании MySpace были угнаны данные на 360 млн. посетителей. Для полной расшифровки понадобилось целых 8 лет - однако данные были извлечены.
- К этому списку можно добавить софтварного гиганта Adobe - в октябре 2013 года оказались в опасности 153 миллионов учёток - несмотря на то, что пароли были зашифрованы, подсказки к паролю (hint) хранились обычным текстом, зачастую содержа в себе информативную часть для быстрого подбора пароля.
- Не лучшим вариантом хранить свои файлы оказалось для 69 млн. владельцев учетных записей на DropBox - почты и расшифрованные пароли были перепроданы онлайн.
- Если перейти ближе к русскому сегменту, то здесь тоже хватает плачевных ситуаций. В 2016 году были выставлены на продажу 91 миллион уникальных аккаунтов. Более 26 млн. пользователей сайта QIP пострадали от действий злоумышленников.
- Не обошли стороной и известный почтовый сервис MailRU - в сентябре 2014 года был выложен дамп базы данных, включающий около 5 миллионов аккаунтов, на русском форуме безопасности. К моему великому сожалению, автор данной статьи нашел свой почтовый ящик на mail.ru в этом списке.
- В феврале 2016 года был атакован мультипортал km.ru - как вы догадались, и здесь были взломаны полтора миллиона паролей. В сентябре 2014 в сеть утекла база на более 1 млн. владельцев почтовых аккаунтов Яндекс - точной информации о взломе не было предоставлено, скорее всего данные были получены посредством фишинга и вирусов.
Этот список можно продолжать бесконечно - если просуммировать все известные случаи выкладывания данных в открытый доступ, то получим в итоге около 4 миллиардов комбинаций аккаунтов (немного не хватает до численности жителей земного шара). Поэтому важно сохранять конфиденциальность своих данных и не дать скомпрометировать их злоумышленникам.
Как видим, пароль должен быть уникальным, не повторяться на разных сайтах, иметь как можно больше символов - и это даст уверенность, что к вашим аккаунтам не будет подобран эквивалент из символов для входа. Храните пароли в надёжном месте, не пренебрегайте правилами информационной безопасности и ваши данные будут в целостности и сохранности.