Контролът на 4 проекта в PyPI беше компрометиран

PyPI

Доклад за инцидент: Превземане на потребителски акаунт

Без съмнение, един от големите проблеми, пред които е изправено хранилището на пакети на Python (PyPI) Проблемът е със сигурността. както при въвеждането на пакети, така и при сигурността на акаунтите на разработчици.

И най-често срещаното нещо, което можете да чуете за тези проблеми, е откриването на злонамерени пакети, което върви ръка за ръка с използването на пропуски в PyPI или също от разработчиците на приложения.

Поводът да се говори за това е, че напоследък Администраторите на PyPI обявиха чрез публикация в блог Подробности за това как нападател е успял да поеме контрола върху акаунта на потребител на PyPI и беше използвано за премахване на собствеността на потребителя от 4 проекта.

Струва си да се спомене, че що се отнася до този инцидент, сега той не се дължи на какъвто и да било проблем с PyPI (уязвимости), а по-скоро акаунтът на потребителя не беше достатъчно защитен срещу поглъщане на акаунт.

За инцидента, Споменава се, че нападателятe, който получи контрол над проектите, беше бързо блокиран и нямаше време да направи промени и да създаде модифицирани версии на хранилищата, върху които получи контрол.

По отношение на подробностите за това как нападателят е получил контрол над акаунта, се споменава, че Придобиването е извършено чрез смяна на собственика на проекта (нападателят се е добавил като участник в тези проекти и е премахнал първоначалния собственик).

Хронологичният ред на движенията какво е направил нападателят, Те описаха по-долу:

Дата: 2023

  • 08:42:33 създаден нов дволк потребителски акаунт
    Акаунтът 08:44:55 meisnate12 кани dvolk да бъде сътрудник в arrapi
  • 08:47:25 dvolk приема поканата
  • 08:47:35 dvolk премахва meisnate12 като сътрудник на arrapi (повтаря се за tmdbapis, nagerapi, pmmutils)
  • 08:50:27 акаунтът на meisnate12 беше изтрит 
    След тази точка не се наблюдават допълнителни действия от dvolk.
  • 14:33, admin@pypi.org получава имейл от адреса, свързан с акаунта на meinstate12:

Имайки предвид хронологичния ред, Беше само 5 часа след поемането на проектите така че администраторите на PyPI получиха съобщение от оригиналния автор за случилото се, те заключиха акаунта на нападателя и възстановиха собствеността върху проектите.

  • 14:46 Администратор на PyPI отговаря с:

    Благодаря ви за доклада. Замразихме въпросния акаунт, докато разследваме това.

  • 14:44 Администраторите на PyPI обсъждат опции в канала на Slack на администраторите на PyPI с двама други администратори на PyPI
  • 14:46 Администратор на PyPI деактивира dvolk сметка

Причината за инцидента е установена като охрана неадекватен достъп до акаунта и невъзможност за използване на двуфакторна автентификация, което позволи на атакуващия да определи параметрите за влизане на потребителя "meisnate12" и да предприеме действия от негово име.

Ние се интегрираме с HaveIBeenPwned, за да проверяваме паролата на потребителя спрямо вашата услуга при всяко влизане. За съжаление въпросната парола не се е появявала преди това. в нарушение, за което HaveIBeenPwned знае, така че това не предотврати атаката.

2fa
Свързана статия:
PyPI вече внедри 2FA поддръжка

Това се дължи на този тип инциденти КаквоАдминистраторите на PyPI до края на тази година възнамеряват да прехвърлят всички акаунти потребители, поддържащи поне един проект или членове на надзорни организации за задължително използване на двуфакторна автентификация. От миналата година, поради инцидент, беше взето това решение и оттогава разработчиците постепенно прилагат промените за внедряване на 2FA

Свързана статия:
В PyPI вече се подготвят за двуфакторна автентификация и първоначално вече е докладван инцидент

И с използването на двуфакторно удостоверяване, администраторите на PyPI споменават, че това ще засили защитата на процеса на разработка и ще защити проектите от злонамерени промени в резултат на изтекли идентификационни данни, използване на една и съща парола на компрометирани сайтове, хакване на локалния разработчик система или използване на методи за социално инженерство.

Накрая Ако се интересувате да научите повече за това, можете да проверите подробностите В следващия линк.