Ключ к базе клиентов подбирался за выходные

Пришёл делать обычный аудит сайта — а нашёл дыру, через которую можно было вытащить платёжные данные всех клиентов компании. Дыре было 12 лет.

Заказчик — сервис, который принимает и хранит платёжные реквизиты клиентов малого бизнеса. Данные перед сохранением шифровались, разработчики были уверены: всё надёжно, взломать нереально.

При проверке кода выяснилось: для генерации ключей шифрования использовалась старая открытая библиотека, скачанная когда-то из интернета и с тех пор ни разу не обновлённая. Формально ключ должен был иметь астрономическое число вариантов. На деле — из-за ошибки в генераторе случайных значений — реальных вариантов было в триллионы раз меньше.

Ключ подбирался перебором на обычном ноутбуке за пару дней. Не в теории — я проверил это сам на тестовом стенде.

Если бы дыру нашли раньше злоумышленники, компанию ждали: утечка платёжных данных нескольких тысяч клиентов, штрафы по закону о персональных данных, репутационный удар и, скорее всего, потеря половины клиентской базы. Это счёт на миллионы рублей — против стоимости работы, которая была несопоставима с этими рисками.

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

Вывод: старый, но «работающий» код — не значит безопасный код. Если библиотеку никто не проверял годами, там может быть заложена мина замедленного действия.

Полный разбор с деталями кейса →

Бесплатный аудит безопасности

Сколько стоит взлом

Канал в Telegram

Канал в MAX

Ключ к базе клиентов подбирался за выходные | Сетка — социальная сеть от hh.ru