PyPI укрепляет защиту от атак на цепочку поставок через компрометацию истекших доменов

CyberSecureFox 🦊

Администрация Python Package Index (PyPI) объявила о внедрении инновационной системы защиты от атак типа «domain takeover», которые позволяют киберпреступникам захватывать учетные записи разработчиков через компрометацию истекших доменных имен. Данная инициатива направлена на укрепление безопасности крупнейшего репозитория Python-пакетов, которым ежедневно пользуются миллионы разработчиков по всему миру.

Механизм атаки через истекшие домены

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

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

Реальные случаи компрометации

Наиболее резонансным примером такой атаки стала компрометация пакетов ctx и phppass в 2022 году. Исследователь информационной безопасности умышленно модифицировал эти библиотеки, внедрив функционал для кражи переменных окружения и учетных данных Amazon AWS. Инцидент вызвал острые дискуссии в сообществе о границах этичного хакинга и продемонстрировал реальные риски подобных векторов атак.

Техническое решение от команды PyPI

Новая система защиты базируется на автоматическом мониторинге статуса доменов, привязанных к верифицированным email-адресам пользователей. PyPI интегрировала Status API от сервиса Domainr для отслеживания жизненного цикла доменов, включая следующие статусы:

• Активный домен
• Льготный период продления
• Период выкупа
• Ожидание удаления

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

Результаты внедрения и статистика

Разработка защитных механизмов началась в апреле 2024 года с пилотного сканирования доменов. К июню система перешла в режим ежедневного мониторинга. За период работы было выявлено более 1800 потенциально скомпрометированных email-адресов, которые были своевременно деактивированы для предотвращения возможных атак.

Рекомендации по усилению безопасности

Команда PyPI настоятельно рекомендует разработчикам принять дополнительные меры защиты:

• Добавить резервный email-адрес на домене крупного провайдера (Gmail, Outlook, Yahoo) в качестве альтернативного способа восстановления доступа

• Активировать двухфакторную аутентификацию (2FA) для всех аккаунтов, связанных с публикацией пакетов

• Регулярно проверять срок действия собственных доменов и своевременно продлевать регистрацию

Внедренные меры защиты не являются панацеей от всех возможных векторов атак, однако значительно повышают барьер для злоумышленников и демонстрируют проактивный подход PyPI к обеспечению безопасности экосистемы Python. Данная инициатива может стать образцом для других репозиториев открытого исходного кода в их стремлении защитить разработчиков от современных киберугроз.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.