Заполнение учетных данных - это атака методом перебора учетных записей пользователей служб. Не один конкретный аккаунт, а много. Обычно с использованием учетных данных, которые были обнаружены при других взломах. Как пользователь, вы можете видеть на сайте haveibeenpawned.com, была ли взломана одна из ваших учетных записей. Скорее всего, так и было. Давайте узнаем, на что вы способны!
Почему тебе следует заботиться
- Заполнение учетных данных является частью Сломанной аутентификации и, следовательно, №2 в OWASP Top 10 (источник)
- 2020: 3,5 миллиона долларов США в виде мошеннического снятия чеков с добавлением учетных данных (подробнее)
- 2020: Около 500 000 учетных данных пользователей Zoom были обнаружены с добавлением учетных данных (источник)
- 2020: По данным Akamai,« отрасли розничной торговли, путешествий и гостеприимства привлекли поразительные 63% атак с использованием учетных данных .
- 2021: AVM (FritzBox) регистрирует множество атак с заполнением учетных данных (источник)
Как работает атака с заполнением учетных данных?
- Злоумышленник получает список действительных учетных данных, например (логин, пароль) для миллионов людей. Есть много утечек.
- Злоумышленник пробует их на крупных сервисах (Gmail, Facebook, Twitter, Banks, Reddit и т. Д.)
Вот и все. Это действительно тривиально. Заполнение учетных данных нацелено не на вас лично, а на множество людей одновременно. Но это же не поможет, когда ваш банковский счет пуст в конце дня, не так ли?
Как я могу защититься от атаки с заполнением учетных данных?
У пользователя есть две идеальные меры защиты:
- Надежные пароли. Хорошие пароли могут выглядеть иначе, чем вы думаете. Но легко создавать запоминающиеся надежные пароли.
- Уникальные пароли. Не передавайте пароли другим службам. Никогда.
Чтобы выполнить обе задачи удобным образом, вам следует использовать менеджер паролей. Третий момент, который помогает, - это использование многофакторной аутентификации (MFA). Наличие хотя бы второго фактора (2FA) имеет большое значение. Однако злоумышленник, скорее всего, узнает, какие пароли верны, и сможет взломать второй фактор, например заменой SIM-карты.
Как поставщик услуг, защита не идеальна и сложна:
- Ограничение скорости: если один IP-адрес делает слишком много попыток ввода неверного пароля, замедлите этот IP-адрес. Например, попросите их сначала решить CAPTCHA. Или скажите им, что им не разрешено входить в систему в течение следующих 30 секунд. Просто имейте в виду, что это также может заблокировать действительных пользователей, например в школах или других более крупных открытых сетях.
- Брандмауэры веб-приложений (WAF): здесь полный отказ от ответственности: у меня нет практического опыта здесь. Я слышал о «Проактивной защите от ботов», которая может быть интересна и для других сценариев атак. Тем не менее, у него, безусловно, есть проблемы с обнаружением всех атак (ложно-отрицательные) и блокировкой только атак (ложно-положительные).
- Двухфакторная аутентификация (2FA): принуждение пользователя к использованию второго фактора снижает вероятность того, что заполнение учетных данных работает, даже если пользователь поделился паролями с уязвимой службой и даже если пароль слабый.
- Единый вход (SSO): предоставление возможности другой службе заниматься аутентификацией позволяет избежать всех этих проблем. Один из широко известных вариантов - это «социальный вход». Это просто SSO для крупных социальных сетей, таких как Facebook, Twitter, Github или LinkedIn.
- Проверять пароли пользователей на предмет взлома: haveibeenpawned позволяет проверить, не взломаны ли комбинации учетных данных.
Есть также некоторые особенности, которые усложняют жизнь разработчикам-ботам, например: требовать JavaScript, блокировать безголовые браузеры или блокировать трафик от AWS. Джаррод Оверсон написал об этом очень хорошую статью:
Что дальше?
В этой серии статей о безопасности приложений (AppSec) мы уже объяснили некоторые приемы злоумышленников 😈, а также приемы защитников 😇:
- Часть 1: SQL-инъекции 😈🐝
- Часть 2: Не сливай секреты 😇
- Часть 3: Межсайтовый скриптинг (XSS) 😈🐝
- Часть 4: Хеширование пароля 😇
- Часть 5: ZIP Bombs 😈
- Часть 6: CAPTCHA 😇
- Часть 7: Спуфинг электронной почты 😈
- Часть 8: Анализ состава программного обеспечения (SCA) 😇
- Часть 9: XXE атаки 😈🐝
- Часть 10: Эффективный контроль доступа 😇
- Часть 11: DOS через миллиард смехов 😈
- Часть 12: Полное шифрование диска 😇
- Часть 13: Небезопасная десериализация 😈
- Часть 14: Docker Security 😇
- Часть 15: Вводные данные 😈🐝
И вот-вот это:
- CSRF 😈
- DOS 😈
- ReDoS 😈
- Криптоджекинг 😈
- Единый вход 😇
- Двухфакторная аутентификация 😇
- Резервные копии 😇
Дайте мне знать, если вас интересуют другие статьи о AppSec / InfoSec!