Објављени су први резултати анализе инцидента који се односи на идентификацију два злонамерна урезивања у Гит репозиторијуму ПХП пројекта са активираним бацкдоор-ом приликом слања захтева са посебно дизајнираним заглављем Усер Агент-а. У току проучавања трагова активности нападача, закључено је да сам сервер гит.пхп.нет, на коме се налази гит спремиште, није хакован, већ је компромитована база података са налозима програмера пројекта. .
Могуће је да су нападачи успели да преузму корисничку базу података сачувану у ДБМС на серверу мастер.пхп.нет. Садржај мастер.пхп.нет је већ мигриран на нови маин.пхп.нет сервер инсталиран од нуле. Све лозинке програмера које се користе за приступ пхп.нет инфраструктури су ресетоване и процес њихове промене је покренут путем посебног обрасца за опоравак лозинке. Спремишта гит.пхп.нет и свн.пхп.нет остају само за читање (развој је премештен на ГитХуб).
Након открића првог злонамерног урезивања направљеног преко налога Расмуса Лердорфа, оснивача ПХП-а, претпоставило се да је његов налог хакован и Никита Попов, један од кључних ПХП програмера, вратио је промене и блокирао права на урезивање за проблематични рачун. После неког времена дошло је до сазнања да блокирање нема смисла, јер без верификације урезивања коришћењем дигиталног потписа, сваки учесник са приступом пхп-срц спремишту може да изврши промену заменом измишљеног имена аутора.
Затим су нападачи послали злонамерно урезивање у име самог Никите. Анализом логова сервиса гитолите, који се користе за организовање приступа репозиторијумима, покушано је да се утврди ко је учесник заиста извршио измене. Упркос укључивању обрачуна свих урезивања, није било уноса у евиденцији за две злонамерне промене. Постало је јасно да је дошло до компромиса инфраструктуре, пошто су урезивања додата директно, заобилазећи везу преко гитолита.
Сервер git.php.net је брзо угашен, а примарни репозиторијум је премештен на GitHub. У журби је превиђено да је, поред SSH приступа помоћу gitolite-а, постојао и други приступ репозиторијуму, што је омогућавало слање commit-ова преко HTTPS-а. У овом случају, git-http-backend је коришћен за интеракцију са Git-ом, а аутентификација је вршена помоћу Apache2 HTTP сервера, који је верификовао дозволе приступом бази података хостованој на сервер master.php.net. Пријава је била дозвољена не само помоћу кључева већ и помоћу обичне лозинке. Анализа логова HTTP сервера потврдила је да су злонамерне измене додате путем HTTPS-а.
Преглед логова је показао да се нападачи нису повезали из првог покушаја, већ су прво покушали да погоде име налога. Након што су га идентификовали, пријавили су се из првог покушаја. То значи да су унапред знали лозинке Расмуса и Никите, али не и њихова корисничка имена. Ако су нападачи успели да приступе систему за управљање базама података, није јасно зашто нису одмах користили исправно корисничко име које је тамо наведено. Ова неслагања још увек није поуздано објашњена. Хаковање master.php.net-а се сматра највероватнијим сценаријем, јер је у овом тренутку... сервер Коришћен је веома стари код и застарели ОС, који дуго није ажуриран и имао је неотклоњене рањивости.
Предузете радње укључују поновну инсталацију серверског окружења мастер.пхп.нет и пренос скрипти на нову верзију ПХП-а 8. Код за рад са ДБМС-ом је модификован тако да користи параметризоване упите који компликују замену СКЛ кода. Алгоритам бцрипт се користи за складиштење хешева лозинки у бази података (раније су лозинке чуване коришћењем непоузданог МД5 хеша). Постојеће лозинке се ресетују и од вас се тражи да поставите нову лозинку путем обрасца за опоравак лозинке. Пошто је приступ гит.пхп.нет и свн.пхп.нет репозиторијумима преко ХТТПС-а био везан за МД5 хешове, одлучено је да се гит.пхп.нет и свн.пхп.нет оставе у режиму само за читање, а такође се премести све преостале им ПЕЦЛ спремишта проширења на ГитХуб-у, слично главном ПХП спремишту.
Извор: опеннет.ру
