2015-10-12 4 views
0

Я в настоящее время ищут лучший способ предотвратить WebPortal своего программного обеспечения от BruteForce атак и придумал следующую мысль:как протоколировать неудачные попытки входа в систему (брутфорс предотвращения атак)

- 3 login attempts without any visual change 
- after 3 failed attempts show Google reCaptcha 
- allow another 3 attempts but now you have to click the captcha every time 
- if the last 3 attempts failed again lock the account 

Моя идея просто имеет основные недостатки, и я надеюсь, что вы могли бы дать несколько советов:

  • Что произойдет, если имя пользователя изменится при каждой попытке входа в систему? какую учетную запись я заблокирую после 6 попыток?
  • Как я могу зарегистрировать 3 неудачных попытки перед показом captcha?
    • IP? Но что, если партия людей из сети компаний использует программное обеспечение сразу?
    • Пользовательский агент браузера? Что делать, если кто-то, кто пытается атаковать с помощью bruteforce, просто меняет агент пользователя при каждой попытке входа?
    • Cookies?
+0

Пожалуйста, не перекрестите пост https://security.stackexchange.com/questions/102467/my-bruteforce-prevention-has-major-downsides-any-ideas –

ответ

2

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

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

Таким образом, начинается путь, прежде чем вы имеете дело с грубой силы приложить, такие как заставить пользователей реализовать higher standard passwords (например, фразы и 12+ пароли символов, и т.д. ...)

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

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

OWASP перечисляет ряд причин, чтобы не осуществить локаут решение:

  • Злоумышленник может вызвать отказ в обслуживании (DoS) путем блокировки большого количества счетов.
  • Поскольку вы не можете заблокировать учетную запись, которая не существует, только действительный счет
  • имена будут заблокированы. Злоумышленник может использовать этот факт для сбора пользовательских имен с сайта, в зависимости от ответов об ошибках.
  • Злоумышленник может вызвать утечку, блокируя множество учетных записей и , наводя службу поддержки с помощью вызовов поддержки.
  • Злоумышленник может непрерывно блокировать одну учетную запись, даже секунды после того, как администратор разблокирует ее, эффективно отключив учетную запись.
  • Блокировка учетных записей неэффективна против медленных атак, которые пробуют всего лишь несколько минут.
  • Блокировка учетной записи неэффективна против атак, которые пробуют один пароль против большого списка имен пользователей.
  • Блокировка учетной записи недействительна, если злоумышленник использует список комбинаций имени пользователя/пароляи правильно угадывает первые пару попыток.
  • Мощные учетные записи, такие как учетные записи администратора, часто обходят блокировку политики, но это самые желанные аккаунты для атаки. Некоторые системы блокируют учетные записи администратора только по сетевым входам.
  • Даже после блокировки учетной записи атака может продолжаться, потребляя ценные ресурсы человека и компьютера.

Однако, я думаю, что у вас есть какие-то разумные идеи, которые могут быть изложили на такие, как:

  1. Использование Google в ReCaptcha (как вы предложили).
  2. Навязывание механизма проволочек на каждой неудачную попытку (или на ранней стадии, например 2, 3 попытки ..)
  3. Рассмотрят некоторые идентификационный механизм наложить ReCaptcha, такие как браузер fingerprinting или IP-адрес для не тонких клиентов.
  4. Несмотря на то, что они используют другое имя пользователя/пароль, вы все равно можете отслеживать неудачные попытки, а при некотором количестве неудачных попыток (1, 2, 3 ... независимо) накладывать reCaptcha и задержку. Поэтому, если они повторят одно и то же имя пользователя перед успешным входом в систему, они будут сталкиваться с этими ограничениями.
  5. Возможная система обнаружения BFD (Brute Force Detection), которая может помочь определить, когда она на самом деле происходит.

Если вы должны были использовать IP-адреса в качестве удостоверения личности, законные пользователи той же сети (внешний IP-адрес), чтобы быть покорены в reCapchta и/или задержка будет затронута только если это было их имя пользователя, который пытался неудачно , Но если вы не блокируете учетные записи, то большинство из них влекут за собой исправление и/или короткую задержку.

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

Смежные вопросы