Злоумышленник захватил контроль над 4 проектами в репозитории PyPI

Администраторы репозитория Python-пакетов PyPI (Python Package Index) сообщили об инциденте, в результате которого злоумышленник смог захватить контроль над проектами arrapi, tmdbapis, nagerapi и pmmutils, насчитывающими около 4.5 тысяч загрузок в месяц. Все проекты сопровождались одним автором (meisnate12, Nathan Taggart) и были захвачены в результате компрометации его учётной записи. Злоумышленник, получивший контроль над проектами, был оперативно заблокирован и не успел внести изменения и сформировать модифицированные выпуски.

Захват произведён через замену владельца проектов. Атакующий создал учётную запись «dvolk», затем от имени основного сопровождающего «meisnate12» сформировано приглашение для включения пользователя «dvolk» в число сопровождающих, после принятия которого и получения управляющего доступа к проекту удалил из проекта изначального автора и остался одним сопровождающим. После выполнения подобных манипуляций для всех проектов был инициирован процесс удаления учётной записи «meisnate12».

Спустя 5 часов после захвата проектов администраторы PyPI получили сообщение от изначального автора о случившимся, заблокировали учётную запись злоумышленника и восстановили права на владение проектами. В качестве причины инцидента названа ненадлежащая защита учётной записи и отсутствие применения двухфакторной аутентификации, что позволило атакующему определить параметры входа под пользователем «meisnate12» и выполнить действия от его имени.

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

В качестве предпочтительных методов двухфакторной аутентификации рекомендуется использовать протокол WebAuthn с FIDO U2F токенами или приложения для аутентификации на базе одноразовых паролей, поддерживающих протокол TOTP, например, Authy, Google Authenticator и FreeOTP. При загрузке пакетов разработчикам дополнительно рекомендовано перейти на использование метода аутентификации ‘Trusted Publishers‘ на базе стандарта OpenID Connect (OIDC) или применять API-токены.

Источник: http://www.opennet.ru/opennews/art.shtml?num=60235