Такой термин как «пароли» обычно использовался как способ защиты перед чем-то, к примеру, ранее – для прохода в населенный пункт и свободного перемещения по его территории.
На сегодняшний день пароли используются для надежной защиты физической информации, а также цифровых данных, которые могут храниться на жестких дисках, мобильных устройствах, ну и, конечно же, на веб-сайтах.
Пароль (с английского – password) – условное буквенное/числовое обозначение, использующееся для верификации личности и/или ее полномочий. Их применяют для процесса защиты персональной информации от несанкционированного доступа.
Сегодня в сфере веб-технологий еще нет ни одного единоверного формата для создания паролей, а значит, каждый веб-сайт, система которого требует пользовательской верификации, сам определяет, какого формата и типа должен быть пароль.
Есть медиа ресурсы, которые вообще не требуют ничего сверхъестественного, принимая минимальный набор символов и знаков, а некоторые требуют слишком многого.
Порой на просторах Интернет-паутины можно встретить условия по созданию пароля – от восьми символов, в конце которого нужен специальный символ, а также парочка цифр, и несколько букв в верхнем регистре.
Конечно же, для системы это очень хорошее и даже правильное требование, но подобная защита может стать неразрешимой загадкой и для самого пользователя. Создав пароль под подобные запросы, он рискует забыть его уже через пару часов.
Идеальное поле для ввода пароля не должно содержать ограничение на ввод определенного количества символов, но оно должно содержать грамотно сформированную подсказку, чтобы сообщать пользователю насколько сложный и запутанный пароль у него получилось придумать. Если убрать ограничение на ввод букв в верхнем и нижнем регистре, а также специальных символов, то можно обезопасить клиента от злоумышленников, которым будет весьма трудно подобрать необходимую комбинацию значений.
Но на практике часто бывает так, что не все пользователи «правильно» распоряжаются порывами своего воображения, зачастую выдумывая неразрешенные задачи для самих себя.
Список самых популярных паролей, которые НЕ РЕКОМЕНДУЕТСЯ использовать
Аналитики Интернет-сообществ, составили перечень из 10-ти наиболее популярных паролей, которые не стоит использовать для защиты персональных данных в глобальной сети.
К сожалению, постоянно фиксируются случаи использования нескольких комбинаций из следующего перечня:
- 123456
- Password
- 12345678
- Qwerty
- 123456789
- Letmein
- 1234567
- Football
- Iloveyou
- Admin
Если проанализировать этот перечень то можно убедится в том, что наиболее плохими вариантами являются пароли, состоящие из банального набора цифр или коротких фраз. По сравнению с ними, даже простая комбинация из 12345678qwerty – будет казаться более-менее надежной защитой перед киберпреступниками.
А значит, крайне важно создавать сложные пароли, содержащие несколько типов символов, и желательно без использования целостных фраз.
Если есть определенные сложности при создании подобного пароля, в сети существует множество онлайн генераторов. К примеру, веб-браузер Google Chrome предлагает сразу несколько вариаций надежных паролей на странице регистрации в своем веб-сервисе.
Имея общее представление о том, что же собой представляет пароль и какую функцию он выполняет, можно перейти непосредственно к вопросу тестирования поля для ввода пароля.
Кроме шаблонных проверок, вроде процедуры выравнивания полей, высоты и ширины поля, необходимо отметить следующие рекомендации по тестированию паролей и остальных форм для заполнения.
Шаги тестирования паролей
Проверка валидации
Вначале процесса тестирования паролей нужно узнать, какие именно специфические правила валидации были внедрены разработчиками на проекте. Выше уже отмечалось, что некоторая категория сайтов имеет свое «персонализированное» представление касательно правильного пароля, а значит, строчить сообщение в баг-репорт касательно того, что вводимый пароль из 6 цифр не принимается, не стоит, если это прямо не предусмотрено принятой на проекте спецификации.
Обязательность заполнения поля
Всегда стоит проводить проверку работы полей «Пароль» и «Повторите пароль» на обязательность к заполнению. Также стоит обращать внимание, что эти поля должны принимать одно и то же значение. Зачастую можно встретить сайты, на которых поле «Повторите пароль» работает неверно и отличается неверной валидацией.
Скрытие вводимых символов
Информация в поле «Пароль» должна отображаться на экране дисплея кружочками, точечками или звёздами. Также в правой части поля для ввода «Пароля» должна отображаться специальная иконка, отвечающая за включение/выключение функции отображения пароля, работу которой также стоит проверить на валидность.
Кроссбраузерная проверка
Развивая тему с иконками дальше – необходимо проверить работу по вводу пароля в различных браузерах, так как в том же браузере Safari есть специальная иконка для подстановки пароля. Если программисты не учли этого момента, то данная иконка запросто может накладываться на соседнюю иконку, отвечающую за показ/скрытие пароля.
Старые пароли
Поле для ввода пароля может присутствовать на сайте не только на странице регистрации, но и на веб-странице редактирования пользовательских данных. Хорошей практикой считается логика сохранения старых паролей клиентов в БД, а сама система сайта не позволяла редактировать пароль на тот, который уже был ранее использован. Для поддержания высокого уровня безопасности важно и то, чтобы каждый новый пароль клиента отличался от предыдущего и был оригинальным в рамках одного аккаунта.
Демонстрация правил по вводу
Если система сайта «выставляет» свои правила для ввода пароля, для их удобного восприятия со стороны клиента, их нужно размещать в непосредственной близости от поля для ввода пароля. Считается не очень удобно, когда клиент узнает об ошибке ввода значения еще до того, как эти же условия были отображены.
Валидация до и после отправки заполненной формы
Перед тем как начинать проводить тестирование, стоит узнать, на каком именно этапе проводится процесс валидации. Еще остались сайты, формы ввода пароля на которых демонстрируют всплывающие подсказки с определенными ошибками, которые совершил клиент.
Уровень сложности
Иногда можно встретить формы, в структуру которых добавлен специальный индикатор сложности, стимулирующий клиента на создание очень сложного пароля для лучшей защиты персонального веб-аккаунта. При проверке уровня сложности необходимо протестировать, что конкретно учитывается для верификации сложности – исключительно количество символов или также их разнообразие и типы.
Обзор программы Proactive Password Auditor
Больше половины пользователей Интернета любит оперировать короткими, быстро запоминающимися паролями, и отучить их от подобной практики пока что не особо получается.
Всем администраторам локальных сетей только то и остается, что выполнять проверку устойчивости таких паролей и самостоятельно редактировать на более стойкие к взлому. Продукт Proactive Password Auditor (далее PPA) был специально создан для выполнения тестирования уровня парольной защиты внутри среды Windows. Она быстро находит созданные учетные записи с нестойкими к процессу переборам паролями и запрограммирована на восстановление паролей, которые клиенты позабывали.
Данный продукт отличается некоторыми особенностями, которых нет у смежных или похожих веб-предложений. К примеру, при одновременном тестировании большого количества учетных записей клиентов (исключительно на NTLM-хешах) скорость функционирования PPA на 2-4 порядка выше, чем у похожих конкурентов, и этот факт не раз официально подтверждался независимой комиссией веб-программистов.
В отличие от некоторого ПО, которое дампить хеши вообще не умеют, PPA поддерживает все известные на сегодня виды получения хешей паролей (для последующих атак):
- Из реестра локального ПК;
- Из памяти локального ПК или удаленного клиента;
- Из файла Security Account Manager либо же его резервной копии;
- Из созданных дамп-файлов, которые были полученные приложениями pwdump2 и pwdump3.
Отдельно отметим, что данная программа может «вытаскивать» все хеши паролей напрямую из системных файлов Windows. При чем, некоторая часть системных файлов автоматически расшифровывается тут же – это оригинальная особенность этого ПО.
Моментально после получения хешей для каждого аккаунта РРА анализирует состав пароля (LM+NTLM), а потом системный администратор или клиент может выбрать для себя подходящий метод восстановления пароля – LAN Manager или NTLM (NTLM attack).
Стоит отметить, что лучше проводить тесты и проверку на стойкость сразу по нескольким активным аккаунтам, используя один и тот же хеш – на 1 цикл функционирования по заданому алгоритму данное ПО тратит одинаковый временной отрезок – что на проверку одного, что на тестирование сотни разнообразных аккаунтов.
Для обнаружения паролей можно использовать один из 4 предложенных типа атак:
- Brut-force – атака методом полного перебора;
- Mask – атака по маске, если известна часть пароля;
- Dictionary — атака по рандомному подключённому словарю;
- Rainbow — Атака на основе предварительно рассчитанным табличным значениям.
Любой вид атаки, указанный выше, запросто можно ускорить, если выстроить его оптимальным образом.
В конфигурациях можно указать максимально граничное значение пароля, а также установить один из нескольких наборов символов для перебора + задать кастомный набор.
В режиме Mask можно установить стартовый пароль. Что хорошо, значение этого изначально введенного пароля в процессе функционирования ПО будет постоянно изменяться и после перерыва, работа продолжиться с последней позиции (если конечно не забыть про сохранение проекта – в мануальном или автоматическом режиме).
Начинать проверку слабости паролей необходимо по словарю – в данном случае пароли вида user 12 или home найдутся за пару мгновений. Стоит отметить, что словарь может использоваться на любом языке, в том числе и на русском.
Изначально в программе содержится только английский словарь на 243 тысячи слов + можно загрузить другие языки из Интернета.
Затем можно перейти к атаке в лоб и выстроить работу по взлому таким образом:
- Протестировать исключительно цифры на глубину от 7 до 9 значений;
- Протестировать глубину на 5-7 символов латиницы, кириллицы, специальные символы и цифры;
- Протестировать все печатаемые символы на глубину от 3 до 4 символов.
На практике подобная методика укладывается в 30 минут для одного ПК и позволяет найти самые уязвимые аккаунты. Естественно, длительность тестов может быть очень длинной, если перед проверяемым поставлена задача протестировать около сотни локальных ПК.
Весьма существенно ускорить процесс аудит паролей может атака по предварительно подготовленным таблицам Rainbow. Создание таких таблиц занимает много времени и отличается весьма большими размерами, но затраченные усилия того однозначно стоят. Минус этого метода – процесс атаки может осуществляться исключительно по LM-хешам.
Итоги PPA
Резюмируя возможности Proactive Password Auditor можно отметить, что это прекрасное средство для аудита БД или процессов восстановления утраченных паролей. Большой набор оптимизированных параметров и конфигураций продукта, позволяет считать его бесспорным лидером на рынке аудита паролей.
Общие выводы
Проводить проверки паролей крайне необходимо, ведь в подобной форме отправки личной информации клиента постоянно спрятано масса ошибок и багов, которые в будущем будут мешать юзеру спокойно и комфортно пользоваться веб-продуктом.
Если знакомство с сайтом по причине, не протестированной логики ввода пароля, у клиента не задастся, можно сразу попрощаться с потенциальным пользователем сервиса.
Всегда стоит помнить о том, что юзер – наиболее важный критик и его удобство в мире веба должно быть превыше всего!
Оставить комментарий