Ограничение частоты запросов и блокировка учётных записей
Изучите серверные и протокольные средства защиты, делающие атаки перебором практически неосуществимыми
«Ограничение частоты запросов и блокировка учётных записей» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.
Перебор в сети и автономный перебор
Атаки полного перебора в сети выполняют аутентификацию в работающих системах через сеть. Каждая попытка занимает как минимум один обмен туда и обратно, обычно 50–500 мс, поэтому злоумышленник в лучшем случае ограничен несколькими тысячами попыток в минуту. Это намного медленнее, чем взлом хешей в автономном режиме. Ограничение частоты и блокировка учетных записей используют это ограничение, делая перебор в сети практически невозможным за любой реалистичный период времени.
Блокировка учетной записи после N неудачных попыток
Простейшая защита от перебора в сети — блокировать учетную запись после заданного числа последовательных неудачных попыток входа, обычно от 5 до 10. Учетную запись можно заблокировать на определенный срок, например на 15 минут, или до тех пор, пока администратор не разблокирует ее вручную. Блокировка превращает атаку полного перебора из попытки подобрать пароль в атаку на доступность учетной записи.
Риск отказа в обслуживании из-за блокировки
Блокировка учетных записей создает уязвимость к отказу в обслуживании: злоумышленник, знающий действительные имена пользователей, может заблокировать все учетные записи, отправив по 5 неудачных попыток для каждой. Это неизбежный компромисс политики блокировки. Некоторые системы используют временную блокировку на 5 минут вместо постоянной, чтобы уменьшить последствия отказа в обслуживании. Другие вообще не блокируют учетные записи, а используют экспоненциальную задержку, замедляя злоумышленников без создания возможности отказа в обслуживании.
CAPTCHA как средство сдерживания ботов
CAPTCHA (полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) требует решить визуальную или звуковую задачу, легкую для человека, но сложную для автоматизированных ботов. Google reCAPTCHA v3 использует анализ поведения вместо явных заданий, присваивая оценку риска на основе движений мыши, времени выполнения действий и истории просмотра. CAPTCHA значительно замедляет автоматизированный перебор, не блокируя учетные записи.
Экспоненциальная задержка после неудачных попыток
Экспоненциальная задержка увеличивает время ожидания между разрешенными попытками входа после каждой неудачи: 1 секунда после первой, 2 секунды после второй, 4 секунды после третьей и так далее. После 10 неудач ожидание превышает 17 минут. Это делает полный перебор чрезвычайно медленным без полной блокировки учетной записи, устраняя риск отказа в обслуживании и одновременно сдерживая автоматизированные атаки.
Ограничение частоты по IP
Ограничение частоты по IP блокирует попытки входа или требует дополнительной проверки от IP-адресов, превысивших порог числа неудач за единицу времени. Если с одного IP за минуту отправлено 50 неудачных запросов входа, последующие попытки с этого адреса блокируются на час. Распределенные атаки с ботнетами, использующими тысячи разных IP-адресов, могут обходить простые ограничения для каждого IP, поэтому требуется более сложное выявление интенсивности атаки по нескольким сигналам.
TOTP как средство против перебора
Одноразовые пароли на основе времени (TOTP, используемые в Google Authenticator и аналогичных приложениях) создают 6-значный код, действительный в течение 30 секунд. Даже если злоумышленник подберет правильный пароль полным перебором, ему также потребуется текущий код TOTP. При наличии всего 1 миллиона возможных 6-значных кодов и окна длительностью 30 секунд практическое окно для перебора TOTP-кода ничтожно мало. MFA фактически устраняет перебор паролей как жизнеспособный вектор атаки.
Параметр трудоёмкости bcrypt замедляет вычисление хешей
bcrypt — это функция хеширования паролей с настраиваемым параметром трудоёмкости. При значении параметра 10 bcrypt тратит около 100 мс на хеширование одного пароля. При значении 12 это занимает около 400 мс. Поэтому злоумышленник, взламывающий хеши bcrypt в автономном режиме, может проверять на GPU не более нескольких сотен паролей в секунду, тогда как для MD5 этот показатель составляет миллиарды в секунду. Параметр трудоёмкости можно увеличивать по мере совершенствования аппаратного обеспечения, сохраняя постоянную сложность взлома.
Требовательность Argon2 к памяти
Argon2 победил в конкурсе хеширования паролей в 2015 году и в настоящее время рекомендуется для новых систем. Его ключевое свойство — требовательность к памяти: для вычисления требуется настраиваемый объем RAM, обычно от 64 МБ до 1 ГБ. Это препятствует ускорению с помощью GPU и ASIC, поскольку у этих устройств ограничена пропускная способность памяти. Злоумышленник с GPU, способным выполнять тысячи параллельных вычислений bcrypt, из-за ограничений памяти может выполнять лишь несколько вычислений Argon2.
Правила WAF для подстановки учетных данных
Межсетевые экраны веб-приложений (WAF) могут обнаруживать атаки с подстановкой учетных данных, выявляя закономерности в потоке неудачных попыток входа: большие объемы запросов с отдельных IP, попытки с использованием распространенных списков имен пользователей, аномальное географическое распределение попыток входа и временные шаблоны, характерные для автоматизированных средств. Правила WAF могут блокировать подозрительный трафик, требовать дополнительную проверку или замедлять его до того, как он достигнет приложения. Современные WAF интегрируют потоки данных о киберугрозах, содержащие сведения об известных диапазонах IP ботнетов.
Интерфейс HIBP для паролей, ставших известными из утечек
Интеграция программного интерфейса HIBP в процессы смены пароля не позволяет пользователям устанавливать пароли, присутствующие в базах данных об известных утечках. Интерфейс использует k-анонимность: передаются только первые 5 шестнадцатеричных символов хеша SHA-1, что защищает конфиденциальность пользователей и при этом позволяет сопоставлять данные с 850 миллионами паролей, известных из утечек. Блокировка скомпрометированных паролей при регистрации существенно снижает уязвимость к атакам с подстановкой учетных данных.
Блокировка учетной записи
Какой основной риск для безопасности создают строгие политики блокировки учетных записей, при которых учетные записи блокируются навсегда?
Ограничение частоты и блокировка учетных записей: основные выводы
Перебор в сети ограничен задержкой сети; ограничение частоты и блокировка используют это ограничение. Блокировка учетных записей останавливает перебор, но позволяет проводить атаки отказа в обслуживании. Экспоненциальная задержка и CAPTCHA снижают оба риска. Ограничение частоты по IP выявляет атаки из одного источника. Многофакторная аутентификация с TOTP эффективно предотвращает перебор паролей. bcrypt и Argon2 замедляют автономный взлом хешей. Интерфейс HIBP блокирует известные скомпрометированные пароли при регистрации.
Часто задаваемые вопросы
Урок «Ограничение частоты запросов и блокировка учётных записей» бесплатный?
Да — полный текст урока «Ограничение частоты запросов и блокировка учётных записей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.
Чему я научусь в уроке «Ограничение частоты запросов и блокировка учётных записей»?
Изучите серверные и протокольные средства защиты, делающие атаки перебором практически неосуществимыми Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cryptology Academy?
Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Ограничение частоты запросов и блокировка учётных записей»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cryptology Academy?
Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Как работают атаки перебором
- Атаки по словарю и радужные таблицы
- Почему важна длина криптографического ключа
- Ограничение частоты запросов и блокировка учётных записей