понедельник, 1 июня 2009 г.

Брутфорс атака

Брутфорс атаки являются самым легким но эфективным способом взлома. Суть атаки состоит в подборе паролей пользователей.
Эффективность такой атаки напрямую зависит от ленивости администраторов и пользователей.
Для проверки на наличие уязвимости к брутфорс атакам мы не будем перебирать пароли :) Это дело скучное, занимает много времени да и пользы нам от этого не много. Ведь подобрав пароль какого-то юзера, мы всего лишь докажем что это сделать возможно. А никто и не говорил, что это не возможно. Имея достаточное количество времени и ресурсов, можно подобрать всякий пароль.

Задача хорошо продуманной компьютерной системы - не дать пользователям создать пароль, который легко ломается. Например, Петя, 1234, pass.

Поетому, при тестировании нужно обратить внеимание на следующие моменты:
  • не рекомендуется длина пароля меньше 8-ми символов;
  • пароль должен содержать комбинацию букв, цифр и символов;
  • должно быть ограничение на кол-во попыток аутентификации за промежуток времени (например, не более 4-х раз в течении 1 минуты);
  • пароли должны храниться обязательно в зашифрованном виде;
  • пароли не должны передаваться методом GET;
  • при работе с важной информацией должна использоваться защищенная передача данных (https протокол).
Последние три пункта, вообще-то, не имеют отношения к защите от именно брутфорс атаки, но они важны для того, чтобы уберечь пароли пользователей от похищения из места хранения или при передаче.


4 комментария:

  1. Я бы добавил наличие блокировки на количество попыток аутентификации аккаунта за промежуток времени.

    ОтветитьУдалить
  2. Спасибо за совет! Добавила.

    ОтветитьУдалить
  3. уффф.... а с паролями все гораздо сложнее и одностороннее SSL соединение - это тоже баг.
    я бы к этому списку добавил:
    - не должны храниться в открытом виде в cookie
    - при нескольких ошибках аутентификации, должен вылезать запрос captcha или должен запрашиваться сразу
    - должны быть механизмы на проверку "слабых паролей"
    - пароль не должен передаваться в открытом виде (например, с использованием HTTP метода Basic)

    ОтветитьУдалить
  4. > пароли должны храниться обязательно в зашифрованном виде
    именно в необратимых хешах (например в мд5), причем желательно с солью, это усложнит получение пароля при наличии доступа к бд

    ОтветитьУдалить