Извештај о компромитовању гит спремишта и корисничке базе ПХП пројекта

Објављени су први резултати анализе инцидента који се односи на идентификацију два злонамерна урезивања у Гит репозиторијуму ПХП пројекта са активираним бацкдоор-ом приликом слања захтева са посебно дизајнираним заглављем Усер Агент-а. У току проучавања трагова активности нападача, закључено је да сам сервер гит.пхп.нет, на коме се налази гит спремиште, није хакован, већ је компромитована база података са налозима програмера пројекта. .

Могуће је да су нападачи успели да преузму корисничку базу података сачувану у ДБМС на серверу мастер.пхп.нет. Садржај мастер.пхп.нет је већ мигриран на нови маин.пхп.нет сервер инсталиран од нуле. Све лозинке програмера које се користе за приступ пхп.нет инфраструктури су ресетоване и процес њихове промене је покренут путем посебног обрасца за опоравак лозинке. Спремишта гит.пхп.нет и свн.пхп.нет остају само за читање (развој је премештен на ГитХуб).

Након открића првог злонамерног урезивања направљеног преко налога Расмуса Лердорфа, оснивача ПХП-а, претпоставило се да је његов налог хакован и Никита Попов, један од кључних ПХП програмера, вратио је промене и блокирао права на урезивање за проблематични рачун. После неког времена дошло је до сазнања да блокирање нема смисла, јер без верификације урезивања коришћењем дигиталног потписа, сваки учесник са приступом пхп-срц спремишту може да изврши промену заменом измишљеног имена аутора.

Затим су нападачи послали злонамерно урезивање у име самог Никите. Анализом логова сервиса гитолите, који се користе за организовање приступа репозиторијумима, покушано је да се утврди ко је учесник заиста извршио измене. Упркос укључивању обрачуна свих урезивања, није било уноса у евиденцији за две злонамерне промене. Постало је јасно да је дошло до компромиса инфраструктуре, пошто су урезивања додата директно, заобилазећи везу преко гитолита.

Сервер гит.пхп.нет је одмах онемогућен, а примарно спремиште је пребачено на ГитХуб. У журби је заборављено да је за приступ спремишту, поред ССХ користећи гитолите, постојао још један улаз који вам је омогућавао да шаљете урезивање преко ХТТПС-а. У овом случају, гит-хттп-бацкенд је коришћен за интеракцију са Гитом, а аутентификација је извршена помоћу Апацхе2 ХТТП сервера, који је верификовао акредитиве приступом бази података хостованој у ДБМС-у на серверу мастер.пхп.нет. Пријава је била дозвољена не само са кључевима, већ и са обичном лозинком. Анализа евиденције хттп сервера потврдила је да су злонамерне промене додане преко ХТТПС-а.

Приликом проучавања логова, откривено је да се нападачи нису први пут повезали, већ су у почетку покушали да пронађу име налога, али након што су га идентификовали, пријавили су се у првом покушају, тј. унапред су знали Расмусове и Никитине лозинке, али нису знали њихове логине. Ако су нападачи успели да добију приступ ДБМС-у, нејасно је зашто нису одмах користили исправну пријаву која је тамо наведена. Ово неслагање још није добило поуздано објашњење. Хак на мастер.пхп.нет се сматра највероватнијим сценаријем, пошто је овај сервер користио веома стари код и застарели ОС, који није био ажуриран дуго времена и имао је незакрпљене рањивости.

Предузете радње укључују поновну инсталацију серверског окружења мастер.пхп.нет и пренос скрипти на нову верзију ПХП-а 8. Код за рад са ДБМС-ом је модификован тако да користи параметризоване упите који компликују замену СКЛ кода. Алгоритам бцрипт се користи за складиштење хешева лозинки у бази података (раније су лозинке чуване коришћењем непоузданог МД5 хеша). Постојеће лозинке се ресетују и од вас се тражи да поставите нову лозинку путем обрасца за опоравак лозинке. Пошто је приступ гит.пхп.нет и свн.пхп.нет репозиторијумима преко ХТТПС-а био везан за МД5 хешове, одлучено је да се гит.пхп.нет и свн.пхп.нет оставе у режиму само за читање, а такође се премести све преостале им ПЕЦЛ спремишта проширења на ГитХуб-у, слично главном ПХП спремишту.

Извор: опеннет.ру

Додај коментар