Утечки баз данных случаются регулярно: сервисы теряют хеши паролей, токены сессий, персональные данные. Если ваш email или пароль засветились в одном из таких инцидентов, злоумышленники могут использовать эти данные для credential stuffing — автоматизированного перебора учётных данных на других площадках. Have I Been Pwned (HIBP) — наиболее известный бесплатный сервис, который агрегирует информацию о публично известных утечках и позволяет проверить, затронуты ли ваши данные.
HIBP — проект Троя Ханта, который собирает данные из публично раскрытых утечек, даркнет-дампов и комбинированных списков. Сервис индексирует email-адреса, номера телефонов и хеши паролей, привязывая их к конкретным инцидентам.
Ключевые принципы:
Основной интерфейс — страница haveibeenpwned.com. Введите email и нажмите pwned?.
Результат содержит:
Если результат зелёный («Good news — no pwnage found»), это означает, что адрес не найден в известных HIBP утечках. Это не гарантия безопасности: утечка могла ещё не попасть в базу, или сервис не раскрывал инцидент публично.
Раздел haveibeenpwned.com/Passwords позволяет проверить конкретный пароль без привязки к email.
Механика k-анонимности:
Если пароль найден, рядом отображается число — сколько раз он встречался в утечках. Чем выше число, тем активнее он эксплуатируется в credential stuffing.
Для автоматизации доступен API. Запрос к Pwned Passwords:
bash
curl -s "https://api.pwnedpasswords.com/range/5BAA6" | head -20
Здесь
Для проверки email через API требуется ключ (бесплатный для некоммерческого использования):
bash
curl -s -H "hibp-api-key: YOUR_KEY"
"https://haveibeenpwned.com/api/v3/breachedaccount/[email protected]"
Ответ — JSON-массив объектов с полями
Если вы администрируете домен, HIBP позволяет проверить все адреса на этом домене. Для этого нужно подтвердить владение через DNS-запись или email на домене. После верификации сервис покажет все утечки, затрагивающие любой адрес вида
Это полезно для корпоративных доменов: можно обнаружить, что сотрудники использовали рабочий email на сторонних сервисах, которые впоследствии были скомпрометированы.
HIBP — не единственный инструмент. Несколько сервисов дополняют его покрытие:
Важно понимать: ни один сервис не покрывает 100% утечек. Если HIBP показывает «чисто», это не означает, что данные нигде не засветились. Комбинация из двух-трёх источников даёт более полную картину.
Обнаружение в HIBP — это сигнал к действию, а не приговор. Порядок зависит от типа скомпрометированных данных.
Проверка только одного адреса. У большинства людей несколько email: личный, рабочий, для регистраций. Проверяйте все.
Игнорирование старых утечек. Утечка пятилетней давности всё ещё опасна, если пароль не менялся или переиспользуется.
Доверие к «чистому» результату. Отсутствие в HIBP не означает отсутствие утечки. Сервис добавляет данные по мере их появления в публичном доступе.
Проверка пароля на непроверенных сайтах. Вводите пароли только на haveibeenpwned.com/Passwords или используйте локальные инструменты. Сторонние «проверялки паролей» могут сами собирать данные.
Если вы не хотите отправлять даже префикс хеша на внешний сервер, можно скачать базу хешей HIBP и проверять локально. Базы доступны в формате NTLM и SHA-1 на странице haveibeenpwned.com/Passwords в разделе Download.
Размер полной базы SHA-1 — десятки гигабайт в распакованном виде. Для разовой проверки достаточно скачать файл, отсортировать его и выполнить бинарный поиск по хешу вашего пароля.
bash
echo -n "MySecretPassword" | sha1sum
Затем сравнить полученный хеш с записями в скачанном файле. Формат файла:
На странице HIBP можно подписаться на уведомления: если ваш email появится в новой утечке, сервис пришлёт письмо. Это пассивный мониторинг, который не требует ручных проверок.
Как работает Have I Been Pwned
HIBP — проект Троя Ханта, который собирает данные из публично раскрытых утечек, даркнет-дампов и комбинированных списков. Сервис индексирует email-адреса, номера телефонов и хеши паролей, привязывая их к конкретным инцидентам.
Ключевые принципы:
- Только публичные данные. В базу попадают утечки, которые уже стали достоянием общественности или были переданы исследователями.
- Хеширование на стороне клиента. При проверке пароля через Pwned Passwords сервис использует k-анонимность: ваш пароль хешируется локально (SHA-1), и на сервер отправляются только первые 5 символов хеша. Полный пароль никогда не покидает браузер.
- Привязка к инцидентам. Результат показывает не просто факт утечки, а конкретный сервис и тип скомпрометированных данных.
Проверка email-адреса
Основной интерфейс — страница haveibeenpwned.com. Введите email и нажмите pwned?.
Результат содержит:
- Список утечек, в которых засветился адрес.
- Для каждой утечки: название сервиса, дату инцидента, количество затронутых записей и категории данных (пароли, email, IP-адреса, физические адреса и т. д.).
- Отдельный блок Paste breaches — упоминания в публичных вставках на Pastebin и аналогичных площадках.
Если результат зелёный («Good news — no pwnage found»), это означает, что адрес не найден в известных HIBP утечках. Это не гарантия безопасности: утечка могла ещё не попасть в базу, или сервис не раскрывал инцидент публично.
Проверка паролей через Pwned Passwords
Раздел haveibeenpwned.com/Passwords позволяет проверить конкретный пароль без привязки к email.
Механика k-анонимности:
- Браузер вычисляет SHA-1 хеш введённого пароля.
- Первые 5 символов хеша отправляются на сервер HIBP.
- Сервер возвращает список всех хешей, начинающихся с этого префикса, и количество их встреч в утечках.
- Браузер локально сверяет полный хеш с полученным списком.
Если пароль найден, рядом отображается число — сколько раз он встречался в утечках. Чем выше число, тем активнее он эксплуатируется в credential stuffing.
Проверка через API
Для автоматизации доступен API. Запрос к Pwned Passwords:
bash
curl -s "https://api.pwnedpasswords.com/range/5BAA6" | head -20
Здесь
5BAA6 — первые 5 символов SHA-1 хеша пароля password. Ответ содержит строки вида хеш:количество. Это безопасно: сервер не знает, какой именно пароль вы проверяете.Для проверки email через API требуется ключ (бесплатный для некоммерческого использования):
bash
curl -s -H "hibp-api-key: YOUR_KEY"
"https://haveibeenpwned.com/api/v3/breachedaccount/[email protected]"
Ответ — JSON-массив объектов с полями
Name, BreachDate, DataClasses и другими.Доменный поиск (Domain Search)
Если вы администрируете домен, HIBP позволяет проверить все адреса на этом домене. Для этого нужно подтвердить владение через DNS-запись или email на домене. После верификации сервис покажет все утечки, затрагивающие любой адрес вида
*@вашдомен.com.Это полезно для корпоративных доменов: можно обнаружить, что сотрудники использовали рабочий email на сторонних сервисах, которые впоследствии были скомпрометированы.
Мониторы утечек помимо HIBP
HIBP — не единственный инструмент. Несколько сервисов дополняют его покрытие:
| Сервис | Особенности | Ограничения |
|---|---|---|
| DeHashed | Поиск по email, username, IP, хешам; платный доступ | Часть данных может быть из непроверенных источников |
| LeakCheck | Поиск по email, username, доменам; есть бесплатный лимит | База обновляется с задержкой |
| Intelligence X | Архив утечек, даркнет-контент, paste-сайты | Полные результаты требуют подписку |
| BreachDirectory | Бесплатный поиск по email и username | Меньший охват, чем у HIBP |
Важно понимать: ни один сервис не покрывает 100% утечек. Если HIBP показывает «чисто», это не означает, что данные нигде не засветились. Комбинация из двух-трёх источников даёт более полную картину.
Что делать после обнаружения утечки
Обнаружение в HIBP — это сигнал к действию, а не приговор. Порядок зависит от типа скомпрометированных данных.
Если утекли пароли
- Смените пароль на затронутом сервисе — немедленно, если аккаунт ещё активен.
- Проверьте повторное использование. Если тот же пароль применялся на других площадках, смените его везде. Credential stuffing работает именно на переиспользовании.
- Включите двухфакторную аутентификацию (2FA) на всех критичных сервисах: почта, банкинг, облачные хранилища.
- Проверьте сессии. Многие сервисы позволяют завершить активные сессии на всех устройствах.
Если утекли персональные данные (адрес, телефон, документы)
- Пароль здесь не поможет. Оцените, какие данные раскрыты.
- Если утекли паспортные данные или номера карт — обратитесь в соответствующие организации для мониторинга мошеннических действий.
- Настройте алерты в банковских приложениях на подозрительные операции.
Если утечка затронула корпоративный домен
- Проведите аудит: какие сотрудники затронуты, какие сервисы они использовали.
- Принудительно сбросьте пароли для затронутых аккаунтов.
- Проверьте, не использовались ли корпоративные учётные данные на сторонних площадках.
- Рассмотрите внедрение SSO с обязательной 2FA, чтобы снизить риск переиспользования паролей.
Типичные ошибки при проверке
Проверка только одного адреса. У большинства людей несколько email: личный, рабочий, для регистраций. Проверяйте все.
Игнорирование старых утечек. Утечка пятилетней давности всё ещё опасна, если пароль не менялся или переиспользуется.
Доверие к «чистому» результату. Отсутствие в HIBP не означает отсутствие утечки. Сервис добавляет данные по мере их появления в публичном доступе.
Проверка пароля на непроверенных сайтах. Вводите пароли только на haveibeenpwned.com/Passwords или используйте локальные инструменты. Сторонние «проверялки паролей» могут сами собирать данные.
Локальная проверка без отправки данных в интернет
Если вы не хотите отправлять даже префикс хеша на внешний сервер, можно скачать базу хешей HIBP и проверять локально. Базы доступны в формате NTLM и SHA-1 на странице haveibeenpwned.com/Passwords в разделе Download.
Размер полной базы SHA-1 — десятки гигабайт в распакованном виде. Для разовой проверки достаточно скачать файл, отсортировать его и выполнить бинарный поиск по хешу вашего пароля.
bash
Вычислить SHA-1 хеш пароля (без перевода строки)
echo -n "MySecretPassword" | sha1sum
Затем сравнить полученный хеш с записями в скачанном файле. Формат файла:
хеш:количество, по одному на строку, отсортировано по хешу.Подписка на уведомления
На странице HIBP можно подписаться на уведомления: если ваш email появится в новой утечке, сервис пришлёт письмо. Это пассивный мониторинг, который не требует ручных проверок.
Ограничения и что HIBP не покрывает
- Неиндексированные утечки. Если данные продаются в закрытых даркнет-каналах и не попали в публичный доступ, HIBP о них не узнает.
- Утечки без email. Некоторые базы содержат только username + пароль без привязки к email. Проверка по email их не найдёт.
- Задержка индексации. Между моментом утечки и появлением в HIBP могут пройти недели или месяцы.
- Хеширование паролей. Если сервис хранил пароли с сильным хешированием (bcrypt, Argon2) и соль была уникальной, расшифровка хешей может быть нецелесообразной. В таком случае HIBP может не содержать сами пароли, а только факт утечки email.
Чек-лист после проверки
- Проверить все email-адреса (личные, рабочие, для регистраций).
- Проверить текущие пароли через Pwned Passwords.
- Для каждого затронутого сервиса: сменить пароль, включить 2FA, завершить чужие сессии.
- Убедиться, что один и тот же пароль не используется на нескольких площадках.
- Подписаться на алерты HIBP.
- Для корпоративных доменов: настроить Domain Search и провести аудит затронутых сотрудников.
- Повторять проверку раз в несколько месяцев или после новостей о крупных утечках.
