Как защитить пароли пользователей от перебора

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

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

Сегодняшний материал подготовлен специалистами центра компетенции по тестированию безопасности компании A1QA . Из него вы узнаете:
  • Какие пароли можно считать надежными;
  • Какие механизмы могут защитить пароли от перебора;
  • Чем поможет тестирование продукта на проникновение.
КАК ЗЛОУМЫШЛЕННИКИ УЗНАЮТ ПАРОЛИ?

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

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

Итак, каким образом злоумышленник может украсть пароль у пользователя?
  • Прямым перебором аутентификационных данных жертвы (guessing, cracking, brute force attack и т.д.). Это самый простой способ.
  • Методами социальной инженерии , которые позволяют узнать аутентификационные данные пользователя (например, позвонить и представиться администратором, рассылка писем от лица того же администратора и т.д.). Этот способ более изощренный и требует определенных усилий от атакующего (сбор информации о жертве и его окружении). Для этого злоумышленник должен владеть специальными навыками и инструментами и обладать определенными познаниями в психологии.
  • Подсмотреть пароль при прямом общении с жертвой или на его/ее рабочем месте (установить кейлогер в компьютер жертвы, найти стикер с паролем).
МЕХАНИЗМЫ ЗАЩИТЫ ПАРОЛЕЙ

Если успешность проведения двух последних пунктов зависит не от разработчика продукта, а от самого пользователя, то воспрепятствовать автоматическому перебору паролей можно на стадии разработки, внедрив следующие механизмы:
  • CAPTCHA (капча). При аутентификации пользователю необходимо дополнительно ввести символы с картинки.
  • Двухфакторная аутентификация с использованием различных средств. Например, отправка SMS с кодом на мобильное устройство пользователя для авторизации в приложении или использование генераторов одноразовых паролей.
  • Временная блокировка пользователя после определенного количества неудачных попыток аутентификации. Например, аккаунт пользователя блокируется на 30 минут после 5 неудачных попыток.
  • Определение требований к паролю. На этом моменте остановимся поподробнее.
НАДЕЖНЫЕ ПАРОЛИ: КАКИЕ ОНИ?
  • Оптимальное количество символов в пароле – 8-12.
  • В состав пароля входят цифры, латинские буквы и специальные символы («$», «?», «!», «<», «>». «”», «#», «%», «@» и другие).
  • Сочетание цифровых и буквенных символов (заглавных и строчных) – самое надежное.
НЕ рекомендуется использовать в качестве пароля:
  • Устойчивые словосочетания.
  • Наборы символов, представляющие собой комбинации клавиш, расположенных подряд на клавиатуре: qwerty, 123456789, qazxsw и т. д.
  • Персональные данные: имена и фамилии, даты рождения (свою и родственников), клички домашних животных, адреса, номера паспортов, страховых свидетельств и т. п., пароли, созданные для доступа к другим сервисам.
Важным моментом при составлении пароля является соблюдение баланса между его сложностью и запоминаемостью для пользователя. Дело в том, что при составлении очень длинных и трудно запоминаемых паролей, у пользователя может возникнуть соблазн записать его на бумажном носителе (например, на стикере, который наклеен на монитор или лежит под клавиатурой), что повышает вероятность кражи пароля у пользователя злоумышленником.

Также вы можете предусмотреть принудительную смену пароля с определенной периодичностью (например, раз в 90 дней). Если для подбора пароля требуется время превышающее данный период, то риск подбора пароля заметно сокращается.

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

Продолжение статьи читайте по ссылке - https://www.a1qa.ru/blog/kak-zashhitit-paroli-polzovatelej-ot-perebora/
безопасность взлом пароль уязвимость хакер
Alt text

a1qa

Все о тестировании и качестве ПО