Инциденты и уязвимости
Capital One, Equifax, Log4Shell, Heartbleed, XZ — публичные утечки и уязвимости, разобранные по причинам, последствиям, первой реакции и мерам защиты — ради уроков, которые актуальны до сих пор.
Мошенничество с 7pay (2019) — как платёжное приложение без 2FA было захвачено
Захваты аккаунтов начались на следующий день после запуска; ~808 пользователей потеряли ~¥38,6 млн. Ключевой провал — в дизайне аутентификации: (1) не было двухфакторной аутентификации, поэтому для входа хватало ID + пароля, и (2) сброс пароля мог отправить новый пароль на адрес, отличный от зарегистрированного — так что фрагментов личных данных хватало для захвата аккаунта. Защита: требуйте 2FA на чувствительных действиях, ограничивайте сброс пароля зарегистрированными каналами, обнаруживайте и блокируйте подстановку учётных данных и давайте проверять поток аутентификации второй паре глаз перед запуском.
Утечка данных Benesse (2014) — почему инсайдера не остановили, и защита через наименьшие привилегии
Командированный системный инженер в дочерней компании-подрядчике использовал законно выданный доступ к базе, чтобы массово скопировать данные клиентов, передать их на личный смартфон и продать брокерам данных. Программа мониторинга блокировала запись на USB-накопители, но не блокировала передачу на смартфон (MTP). Утекло до ~35 млн записей. Защищайтесь минимизацией привилегий (наименьшие привилегии / need-to-know), закрытием каждого канала утечки через DLP, обнаружением массового доступа и распространением надзора вплоть до подрядчиков и субподрядчиков.
Программа-вымогатель у Capcom (2020) — почему входом стало старое VPN-устройство и как защититься от двойного вымогательства
Входом стало старое резервное VPN-устройство, оставленное работать в североамериканском филиале после того, как его заменили новые модели. Оттуда взломали сеть, украли данные, а затем программа-вымогатель зашифровала системы (двойное вымогательство). Под угрозой утечки оказались данные ~390 000 человек (без данных платёжных карт). Capcom отказалась платить, восстановилась из бэкапа и открыто раскрыла факты. Защита: выводить из эксплуатации неиспользуемое оборудование, патчить пограничные устройства и закрывать и кражу, и шифрование (сегментация, обнаружение, бэкапы).
Кража NEM с Coincheck (2018) — как украли около $530 млн и защита через управление ключами
По сообщениям, точкой входа стали целевой фишинг / вредоносное ПО, нацеленные на сотрудников; они позволили украсть приватный ключ подключённого к интернету горячего кошелька, после чего около 523 млн XEM (~$530 млн на тот момент) были выведены одним махом. Ключевой провал — хранение огромного, мгновенно доступного остатка в «горячем» состоянии и без мультиподписи: единственный украденный ключ увёл почти всё. Защищайтесь, храня важные ключи в холоде / в выделенном хранилище, минимизируя горячий остаток, устраняя единые точки отказа (одобрение несколькими сторонами) и обнаруживая и останавливая аномальные массовые операции.
Программа-вымогатель KADOKAWA / Niconico (2024) — почему поражение охватило всю компанию, сегментация сети и BCP
Входом, как описывается, стал фишинг, укравший учётные данные сотрудника; оттуда взломали внутреннюю сеть и запустили программу-вымогатель, обрушив многие сервисы группы (включая Niconico) на месяцы и слив данные ~250 000 человек. Распространение по всей компании сообщения и анализ связывают с тем, что системы очень разной критичности делили одну сеть — по сообщениям, с недостаточной сегментацией. Защита: сегментировать сеть по критичности, использовать устойчивую к фишингу аутентификацию и готовить непрерывность бизнеса (BCP) и восстановление.
Утечка данных Takufile-bin (2019) — почему хранение паролей в открытом виде фатально и защита через хеширование
Через уязвимость сервера получили несанкционированный доступ, и утекло ~4,8 млн записей — имена, почта, пароли входа, даты рождения, включая ушедших клиентов. Решающей ошибкой было то, что пароли входа хранились в открытом виде: утекнув, они сразу годились к использованию и питали захват аккаунтов на других сайтах через повторное использование паролей. Защита — хранить пароли как односторонний хеш с солью, не держать лишних данных, закрывать уязвимости и готовиться к повторному использованию (2FA).
Массовая утечка MOVEit (2023) — как zero-day SQL-инъекция достигла 2700+ организаций и как защититься
Входом стала zero-day SQL-инъекция (CVE-2023-34362) в выходящем в интернет MOVEit Transfer. Был установлен веб-шелл (LEMURLOOT), и данные массово украдены из базовой БД, затронув 2700+ организаций и ~93,3 млн человек. Большинство жертв задеты косвенно, потому что MOVEit использовал поставщик. В вашей среде: быстрый патчинг KEV, минимизация открытости, минимальные привилегии и сегментация web↔БД, инвентаризация поставщиков и минимизация данных.
Утечка Capital One (2019) — как один SSRF привёл к компрометации 100M+ записей и как защититься
Один SSRF достиг endpoint метаданных → переизбыточные временные учётные данные IAM → массовое копирование S3, утечка ~106 млн записей. Каждый шаг можно было остановить. В вашей среде: IMDSv2, минимальные привилегии IAM и список разрешённых адресов для исходящих запросов.
Утечка Codecov (2021) — когда «доверенный инструмент» в CI был взломан и утекли секреты
Доверенный инструмент CI (Bash Uploader на curl|bash) был изменён на стороне поставщика. Поскольку ваш собственный код не трогали, это оставалось незамеченным ~2 месяца, пока утекали секреты CI; поймала это проверка контрольной суммы. В вашем CI: проверяйте загружаемые артефакты, минимальные привилегии секретов, ротация, мониторинг исходящего трафика.
Утечка Equifax (2017) — как неустановленное исправление Apache Struts привело к утечке данных 147M человек
Причиной стал известный, уже исправленный CVE (CVSS 10.0), оставленный без установки в публичной системе. Истёкший сертификат мониторинга скрывал эксфильтрацию 76 дней. В вашей среде: инвентаризация активов, SLA на патчинг, машинный мониторинг и работоспособное обнаружение.
Heartbleed (CVE-2014-0160) — когда из фундамента шифрованного трафика утекала память
Чтение памяти за границей в OpenSSL могло раскрыть приватные ключи и сессии. Причина: сервер доверял заявленной длине и читал соседнюю память. Урок: действуйте так, будто утекло всё — перевыпускайте сертификаты, ротируйте все секреты — плюс вес фундаментального ПО и безопасности работы с памятью.
Log4Shell (CVE-2021-44228) — ночь, когда мир боялся бага, наличие которого не мог даже подтвердить
Баг CVSS 10.0 в Log4j. Настоящий страх — транзитивная зависимость: быть затронутым через библиотеку, об использовании которой вы не знали. Пассивный путь логирования стал вектором атаки. SBOM, машинный мониторинг, быстрый патчинг и отслеживание последующих CVE — вот уроки.
Бэкдор XZ Utils (CVE-2024-3094) — когда целью было само доверие
Доверенный мейнтейнер внедрил бэкдор в xz — атака на цепочку поставок. «Это работает медленно» одного инженера поймало это прямо перед стабильным релизом. Целью был не код, а люди и доверие. Минимизируйте зависимости, закрепляйте версии, собирайте воспроизводимо, преследуйте аномалии и поддерживайте мейнтейнеров.