Společnost GitHub zveřejnila výsledky vyšetřování útoku, při kterém útočníci získali 12. dubna přístup k cloudovým prostředím v službě Amazon AWS, používaným v infrastruktuře projektu NPM. Analýza incidentu ukázala, že útočníci získali přístup k záložním kopiím hostitele skimdb.npmjs.com a také k záloze databáze s údaji přibližně 100 tisíc uživatelů NPM k roku 2015, která zahrnovala hashované hesla, jména a emaily.
Hashy hesel byly vytvořeny pomocí algoritmů PBKDF2 nebo SHA1 se solí, které v roce 2017 byly nahrazeny odolnějším bcrypt. Po odhalení incidentu byly postižené hesla resetovány a uživatelé byli informováni o nutnosti nastavení nového hesla. Vzhledem k tomu, že od 1. března je v NPM zavedena povinná dvoufázová autentizace s potvrzením prostřednictvím emailu, je nebezpečí kompromitace uživatelů hodnoceno jako nízké.
Kromě toho se do rukou útočníků dostaly všechny manifestové soubory a metadata privátních balíčků k dubnu 2021, CSV soubory se seznamem všech názvů a verzí privátních balíčků, stejně jako obsah všech privátních balíčků dvou klientů GitHub (jména nejsou zveřejněna). Co se týče samotného repozitáře, analýza stop a ověření hashů balíčků neprokázaly žádné změny v NPM balíčkách provedené útočníky ani publikaci falešných nových verzí balíčků.
Útok byl proveden 12. dubna pomocí ukradených tokenů OAuth, vygenerovaných pro dva externí integrátory GitHub - Heroku a Travis-CI. Využitím tokenů byli útočníci schopni extrahovat z privátních repozitářů GitHub klíč pro přístup k API Amazon Web Services, který se používá v infrastruktuře projektu NPM. Získaný klíč umožnil přístup k údajům uloženým ve službě AWS S3.
Dodatečně byly odhaleny informace o dříve identifikovaných závažných problémech s ochranou soukromí při zpracování údajů uživatelů na serverech NPM – v interních logách byly v otevřeném formátu uchovávány hesla některých uživatelů NPM a také přístupové tokeny k NPM. Během integrace NPM se systémem sledování logů GitHub vývojáři nezajistili odstranění důvěrných informací z logovaných požadavků na služby NPM. Tvrdí se, že nedostatky byly odstraněny a logy vyčištěny ještě před útokem na NPM. Přístup k logům, které obsahovaly otevřená hesla, měli pouze jednotliví zaměstnanci GitHub.
Zdroj: opennet.ru
