Bad.Build: Najnovejša napaka v storitvi Google Cloud

Bad.Build: Najnovejša napaka v storitvi Google Cloud, ki ogroža dobavno verigo programske opreme

Uvod

Orca Security je nedavno odkril napako v zasnovi storitve Google Cloud Build z imenom »Bad.Build«. Ta napaka predstavlja resno varnostno tveganje, saj napadalcem omogoča izvajanje stopnjevanja privilegijev, kar jim omogoča nepooblaščen dostop do repozitorijev kode Googlovega registra artefaktov.

Posledice te ranljivosti segajo v dobavno verigo programske opreme, saj jo lahko napadalci izkoristijo za zlonamerno manipulacijo slik aplikacij. Posledično lahko nič hudega sluteči uporabniki in stranke, ki namestijo spremenjene aplikacije, postanejo žrtve okužb.

Ta situacija nas spominja na znaten vpliv, ki smo mu bili priča v preteklih napadih na dobavno verigo, kot je bil SolarWinds, 3CXin Premakni, pri čemer poudarja daljnosežne posledice takšnih varnostnih pomanjkljivosti.

Kako deluje?

google Cloud Build pomeni neprekinjeno integracijo/neprekinjeno dobavo (CI/CD) storitev, ki se ponuja znotraj ekosistema Google Cloud. Igra ključno vlogo v aplikacijah v oblaku, saj brezhibno komunicira z drugimi bistvenimi storitvami, kot sta register artefaktov in App Engine.

Obravnavana napaka izhaja iz težave s prekomernimi privilegiji. Natančneje, "logging.privateLogEntries.list»dejanje nenamerno dovoli seznam dnevnikov nadzora nenamerni vlogi, in sicer »vloge/cloudbuild.builds.builder«.

Žal je ta privzeta vloga dodeljena računu storitve gradnje v oblaku. Ta situacija predstavlja resno tveganje, saj dnevniki nadzora vsebujejo občutljive podatke, ki razkrivajo vsa dovoljenja, povezana s projektom. Ta nenameren dostop napadalcem omogoča, da se izdajajo za račun gradnje v oblaku in s tem pridobijo znanje o tem, katera dejanja lahko izvajajo različni Google Računi. Posledično to odpira vrata lateralnemu premikanju in stopnjevanju privilegijev, kar predstavlja izjemno nevarno varnostno ranljivost.

Za poosebljanje računa storitve gradnje je potrebno le cloudbuild.gradi.ustvari dovoljenje, ki ga imajo številne vnaprej določene vloge in ki so razvijalcem podeljena v katerem koli razumnem CI/CD okolje z uporabo Cloud Build. Če imate torej dostop do enega takega računa razvijalca, bo ustvarjanje prilagojene konfiguracijske datoteke za gradnjo dejansko zagnalo ukaz za branje beleženja gcloud, ki bo navedel dovoljenja.

Vendar se problem tu ne konča: Račun storitve Google Cloud Build ima visoke privilegije, s številnimi dejanji za interakcijo z registrom artefaktov Goggle.

 Slika: Razlaga delovanja Bad.Build

Zlonamerni akterji z izkoriščanjem ranljivosti, ki omogoča lažno predstavitev privzetega računa storitve Cloud Build, pridobijo možnost spreminjanja slik, shranjenih v Googlovem registru artefaktov, z vbrizgavanjem zlonamerne kode. Posledično postanejo vse aplikacije, zgrajene iz teh ogroženih slik, dovzetne za morebitne posledice, vključno z napadi zavrnitve storitve (DoS), krajo podatkov in širjenjem zlonamerne programske opreme.

Resnost situacije se stopnjuje, ko so te spremenjene aplikacije namenjene uvajanju v okoljih strank, ne glede na to, ali on-premise ali delno SaaS. To tveganje razširi preko infrastrukture dobaviteljske organizacije, kar vodi do napada na dobavno verigo, ki infiltrira in ogrozi okolja strank. Takšni napadi so podobni prejšnjim incidentom, ki so se zgodili pri kršitvah dobavne verige programske opreme, kot je bila kršitev SolarWinds. Posledice takšnega napada so lahko hude, saj povzročijo obsežno škodo in prizadenejo več organizacij znotraj dobavne verige.

Podobno PoC za eskalacijo privilegijev je izvedla Varnostni laboratoriji Rhino, ki je na drugačen način izkoriščal pretirane privilegije privzetega računa Cloud Build. 

Zakaj je nevarno?

Resnost te ranljivosti je v njeni možnosti, da napadalci izkoristijo register artefaktov in v artefakte vnesejo zlonamerno kodo. Posledično postanejo vse aplikacije, zgrajene iz teh ogroženih slik, dovzetne za različne neželene učinke.

Ti učinki vključujejo možnost napadov zavrnitve storitve, krajo podatkov in širjenje zlonamerne programske opreme. Poleg tega, če se te ogrožene aplikacije pozneje namestijo on-premise ali v okolju semi-SaaS tveganje presega organizacijo žrtve in vpliva tudi na njene stranke. Ta scenarij je podoben napadu v dobavni verigi, ki smo mu bili priča v incidentu SolarWinds, in poudarja morebitne posledice tako za organizacijo kot za njeno bazo strank.

  •  Priporočilo Xygeni

     

    Uporabite načelo najmanjših privilegijev

     

  • Senzor Xygeni spremlja uporabniška dejanja v sistemih, kjer je nameščen, in jih deli z našo osrednjo platformo, ki prepozna nenavadno vedenje ali odstopanja od običajnih vzorcev, kot so nenavadna login časi ali lokacije, veliki prenosi podatkov ali spremembe pravic dostopa uporabnikov, ki so zunaj obsega modeliranega »običajnega« vedenja uporabnikov.

    Xygenijeve politike in revizije uveljavljajo najboljše prakse pri nadzoru dostopa, zahtevah za večfaktorsko preverjanje pristnosti in aplikacijah za dovoljenja na podlagi vlog, da bi omejili dostop uporabnikov do kritičnih sistemov in podatkov.

    Ta orodja spremljajo uporabniška dejanja, kot so spremembe kode, dostop do sistema ali prenosi podatkov, in jih primerjajo z vnaprej določenimi pravilniki in vedenjskimi vzorci. Prav tako označijo sumljive dejavnosti, kot so nepooblaščen dostop, pretirane pravice ali nenavadni vzorci prenosa podatkov..

Kako je bila ranljivost odpravljena

Ko so o ranljivosti obvestili Googlovo varnostno ekipo, so ukrepali tako, da so privzetemu računu storitve Cloud Build preklicali dovoljenje logging.privateLogEntries.list. Priznali so, da so dnevniki revizije setIamPolicy sicer pomembni za namene revizije, vendar odobritev dostopa do teh dnevnikov z vidika računa storitve Cloud Build ni potrebna.

Vendar je ključnega pomena razumeti, da ta odziv ni neposredno obravnaval korenske ranljivosti znotraj registra artefaktov. Posledično vektor eskalacije privilegijev in potencialno tveganje napada v dobavni verigi nista bila prizadeta. Googlova rešitev je v bistvu omejila težavo, vendar je ni povsem odpravila, zaradi česar so bile organizacije še vedno izpostavljene znatnim tveganjem v dobavni verigi programske opreme.

Google je v odgovor na nastalo situacijo svojim strankam svetoval, naj spremenijo dovoljenja privzetega računa storitve Cloud Build tako, da odstranijo vse poverilnice, ki odstopajo od načela najmanjših privilegijev (PoLP). Namen tega ukrepa je povečati varnost z zagotavljanjem, da imajo računi le minimalne potrebne privilegije za izvajanje predvidenih nalog.

Za obrambo pred tem napadom stopnjevanja privilegijev je treba omejiti dovoljenja, dodeljena računu storitve gradnje v oblaku, in biti previden pri dodeljevanju cloudbuild.gradi.ustvari dovoljenje vsem uporabnikom v vaši organizaciji. Najpomembneje pa je, da morate vedeti, da vsak uporabnik, ki mu je odobreno cloudbuild.gradi.ustvari, so posredno dodeljena tudi vsa dovoljenja, dodeljena računu storitve gradnje v oblaku. Če se s tem strinjate, vam morda ni treba skrbeti za ta vektor napada, vendar je še vedno zelo priporočljivo, da spremenite privzeta dovoljenja, dodeljena računu storitve gradnje v oblaku.

google to jedrnato priporoča, vendar ne navaja dodatnih podrobnosti:

»Če ne nameravate izvesti dejanja kot del postopka gradnje, priporočamo, da prekličete ustrezno dovoljenje za račun storitve Cloud Build, da zagotovite skladnost z varnostnim načelom najmanjših privilegijev.«

Timeline

april - 2020

Rhino Security Labs je objavil o težavi z naraščanjem privilegijev in zanjo ustvaril skript PoC v Pythonu *.

junij - 2023

Orca Security je svoje ugotovitve poročala Googlovi varnostni ekipi.

08. junij 2023

Google je izvedel preiskavo in kot odgovor uvedel delno rešitev.

Vendar je pomembno omeniti, da Googlova rešitev ni povsem odpravila odkritega vektorja eskalacije privilegijev (PE). Namesto tega je omejila njegov vpliv in ga dejansko spremenila v napako v zasnovi, ki organizacije še vedno izpostavlja širšemu tveganju napada na dobavno verigo. Zato so potrebni dodatni ukrepi, da se varnostne ekipe zaščitijo pred tem dolgotrajnim tveganjem.

zaključek

Prekomerne pravice, dodeljene privzetemu računu Google Cloud Build, bi lahko napadalci izkoristili za izvedbo napada z uporabo računa razvijalca, ki omogoča ustvarjanje gradnje v oblaku. Napadalci lahko ukradejo sliko vsebnika, jo zlonamerno spremenijo in jo nato potisnejo v register artefaktov, kar je napad na dobavno verigo programske opreme, ki ima lahko uničujoče posledice.

Googlov odgovor prepušča delo z ublažitvijo tveganjem organizacijam, ki uporabljajo storitev Cloud Build, ki morajo preklicati privilegije za nadzor tveganja. Google bi lahko v prihodnje zaprosili za dodatno pomoč pri reševanju varnostnih težav z njihovimi CI/CD sistem.

Več o platformi Xygeni, prenesite podatkovni list platforme Xygeni

orodja-za-analizo-sestave-programske-programske-orodja-sca
Določite prednostne naloge, odpravite in zavarujte tveganja programske opreme
Pridobite svoj brezplačni račun.
Ni potrebna kreditna kartica.

Zagotovite si razvoj in dostavo programske opreme

z Xygeni Product Suite