Компания GitHub публикува резултатите от разследването на атака, при която на 12 април злонамерени лица получиха достъп до облачните среди в услугата Amazon AWS, използвани в инфраструктурата на проекта NPM. Анализът на инцидента показа, че нападателите са получили достъп до резервните копия на хоста skimdb.npmjs.com, включително резервната копия на базата данни с данни за около 100 хиляди потребители на NPM от 2015 година, включваща хешове на пароли, имена и имейл адреси.
Хешовете на паролите са създадени с използване на алгоритмите PBKDF2 или SHA1 със сол, които през 2017 година бяха заменени с по-устойчивия на подбиране bcrypt. След установяване на инцидента паролите, засегнати от теча, бяха нулирани, а на потребителите беше изпратено уведомление за необходимостта от задаване на нова парола. Поради факта, че от 1 март в NPM е активирана задължителна двуфакторна автентикация с потвърждение по имейл, опасността от компрометиране на потребителите се оценява като незначителна.
Освен това, в ръцете на нападателите попаднаха всички манифест файлове и метаданни на частни пакети към април 2021 година, CSV файлове с актуален списък на всички имена и версии на частни пакети, както и съдържанието на всички частни пакети на двама клиенти на GitHub (имената не се разкриват). Що се отнася до самия репозиторий, анализът на следите и верификацията на хешовете на пакетите не установиха, че нападателите са направили промени в NPM пакетите или са публикували фалшиви нови версии на пакети.
Атаката беше извършена на 12 април с използване на откраднати OAuth токени, генерирани за двама външни интегратори на GitHub — Heroku и Travis-CI. Възползвайки се от токените, нападателите успяха да извлекат от частните репозитории на GitHub ключ за достъп до API Amazon Web Services, използван в инфраструктурата на проекта NPM. Полученият ключ предостави достъп до данните, съхранявани в услугата AWS S3.
Допълнително бяха разкрити сведения за преди идентифицирани сериозни проблеми с конфиденциалността при обработката на данни на потребителите на сървъри NPM — в вътрешните логове на системата са били записани пароли на някои потребители на NPM, както и токени за достъп до NPM. По време на интеграцията на NPM с системата за логиране на GitHub, разработчиците не са осигурили премахването на конфиденциална информация от логовете на заявките към услугите на NPM. Уверява се, че проблемът е бил отстранен, а логовете са били почистени още преди атаката срещу NPM. Достъп до логовете, съдържащи отворени пароли, са имали само отделни служители на GitHub.
Източник: opennet.ru
