JuurdepÀÀs andmetele kaug- ja erasektori GitHub'i hoidlatest, mis omavad forke

EttevĂ”te Truffle Security avaldas rĂŒnnakuskeemid, mis pĂ”hinevad mitmetel tĂŒĂŒpilistel GitHubi hoidlate kasutamise meetoditel, vĂ”imaldades andmeid vĂ€lja tĂ”mmata eemalsetest hoidlatest, millel on avalikud fork'id vĂ”i mis on loodud fork'idena.

Juhtme koodide juurdepÀÀs seotud hoidlate fork'ide kaudu tuleneb sellest, et GitHub optimeerimise ja duplikaatide vĂ€ltimise tĂ”ttu salvestab kĂ”ik objektid peamise hoidla ja fork'ide vahel koos ning eraldab ainult loogiliselt commit'ide kuuluvuse. Selline salvestamine vĂ”imaldab peamise hoidla kaudu vaadata igat commit'it igast fork'ist, kui selle hĂ€sht on URL-is selgelt nĂ€idatud. NĂ€iteks saab kasutaja luua fork'i hoidlast "/torvalds/linux" ja lisada sinna mis tahes koodi, pĂ€rast mida on see kood saadaval otse hĂ€sht-linkina hoidlas "/torvalds/linux". Kui hoidla kustutatakse ja vĂ€hemalt ĂŒks avalik fork on olemas, jÀÀvad kustutatud hoidlast andmed juurdepÀÀsetavaks commit'i hĂ€sht'i kaudu.

Pakutakse kolme stsenaariumi, mis esindavad turvaohu:

  • Esimene stsenaarium kĂ€sitleb olukordi, kus arendajad loovad avalike hoidlate fork'e, lisavad neisse muudatusi, katsetavad ja seejĂ€rel kustutavad. Peale koodi vĂ€ljapaneku, mis ei olnud mĂ”eldud avaldamiseks, kujutab ohtu olukord, kus katsetamise kĂ€igus lisatakse nĂ€idiskoodifailide koodidesse töötavad API juurdepÀÀsuvĂ”tmed. Sellisel juhul vĂ”ib rĂŒndaja saada juurdepÀÀsu muudatusele commit'i hĂ€sht'i kaudu, mis on suunatud pĂ€rast fork'i kustutamist peamise hoidla kaudu. NĂ€iteks suudavad teadlased pakutud viisi abil tuvastada 30 töötavat API juurdepÀÀsuvĂ”tit, uurides kolme masinĂ”ppega seotud hoidlat, millel on suur hulk fork'e.
  • Teine stsenaarium kĂ€sitleb juurdepÀÀsu saamist andmetele pĂ€rast pĂ”hivaru kustutamist, kui sellel varul on loodud forke. NĂ€iteks tuuakse vĂ€lja juhtum, kus ĂŒhe ettevĂ”tte avalikus varus avaldati kogemata töötaja eravedrut, mis vĂ”imaldas tĂ€ieliku juurdepÀÀsu sellele ettevĂ”ttele kuuluvatele kĂ”ikidele varudele GitHubis. EttevĂ”te kustutas lekkevaru, kuid vĂ”tmed jÀÀvad endiselt kĂ€ttesaadavaks commit-hash'i kaudu forkite varudes.
    JuurdepÀÀs andmetele kaug- ja erasektori GitHub'i hoidlatest, mis omavad forke
  • Kolmas stsenaarium on seotud projektide arendamise mudeliga, mis arendab pĂ”hiversiooni avalikus varus ja laiendatud eraversiooni privaatsetes. Kui ettevĂ”te algselt arendas projekti privaatsetes varudes ja seejĂ€rel pĂ€rast koodi avamist muutis selle avalikuks, jĂ€tkates samal ajal sise- vĂ”i laiendatud versiooni arendamist privaatsetes forkides, on vĂ”imalik juurdepÀÀs privaatsete forkide muudatustele commit-hashide kaudu avaliku vara kaudu. Siiski on juurdepÀÀs vĂ”imalik ainult nende muudatuste jaoks, mis on tehtud privaatsetes forkides enne, kui pĂ”hivaru muudeti avalikuks (era- ja avalike varude hoidmine on eraldatud, kuid kuna kaks varu olid privaatset, hoiti commit-e koos, mistĂ”ttu jÀÀvad need varusse pĂ€rast selle muutmist avalikuks).
    JuurdepÀÀs andmetele kaug- ja erasektori GitHub'i hoidlatest, mis omavad forke

Trikk, mis vĂ”imaldab juurdepÀÀsu forkide commit'idele pĂ”hivaru lingi kaudu, on juba aastaid tuntud ning seda kasutatakse perioodiliselt erinevate naljade ja arendajate eksitamiseks (nĂ€iteks loovad naljakad inimesed sellisel viisil aeg-ajalt vale mulje Linuxi tuumareposiitoriumisse tagasivaatamiseks). Vastusena sellistele naljadele on GitHub lisanud hoiatuse, et kĂŒsitud commit ei kuulu praegustele harudele ja vĂ”ib olla seotud forki. Samuti on juurdepÀÀs commit'idele hash'i kaudu igasugustes seotud forkides peetud ohutuks, kuna juurdepÀÀsudel andmetele kaug- ja privaatsetes forkides on vajalik commit-hashi teadmine.

Kohanda SHA-1 algoritmi pĂ”hjal genereeritud commit hash'i, millel on 32 sĂŒmbolit, ei ole reaalne, kuid selgus, et see ei olegi vajalik. GitHub toetab lĂŒhikest viitamist committidele, mis vĂ”imaldab adresseerida muudatusi mitme esimese hash'i sĂŒmboliga, eeldusel, et teisi commits ei esine. LĂŒhendatud hash'ide aadressimise minimaalne sĂŒmbolite arv on 4, mis vastab 65 tuhande kombinatsiooni proovimisele (16^4). Samas ei pruugi proovima hakata, kuna GitHubi API vĂ”imaldab ĂŒhendada kĂ€sitlejatega ĂŒrituste pĂŒĂŒdmise jaoks, mida kasutavad kolmandate osapoolte projektid, mis peavad arhiivi kĂ”igi toimingute tĂ€ieliku logiga, kus commit hash'ide teave jÀÀb alles isegi pĂ€rast reposte eemaldamist.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster