Nečloveške identitete – ključi API-jev, žetoni, računi storitev, identitete delovnih obremenitev – so zdaj eden najlažjih načinov za vstop v sodobna oblačna okolja. Ne zato, ker bi napadalci nenadoma postali geniji, ampak zato, ker organizacije vse bolj delujejo na zaupanju med stroji, to zaupanje pa je pogosto preširoko, dolgotrajno in slabo nadzorovano.
Nova analiza, izpostavljena v poročilih, kaže na znan vzorec v velikem obsegu: na tisoče slik vsebnikov in repozitorijev po nesreči razkrije skrivnosti, ki neopazno omogočajo dostop do produkcijskih sistemov. Težava ni le v tem, da razvijalci včasih delajo napake. Težava je v tem, da privzeta orodja in spodbude to otežujejo.enostavnopošiljati skrivnosti intrdoda dokažeš, da nisi.
To je zgodba o »nevidni kršitvi«. Številne vdorne škode se ne začnejo z izkoriščanjem ali glasnim dogodkom zlonamerne programske opreme. Začnejo se z žetonom, ki se nemoteno overi – tako da je vse videti normalno – dokler ne ugotovite, da ga uporablja napačen principal.
Kaj so »nečloveške identitete« (preprosto povedano)
Nečloveška identiteta (NHI) je katera koli poverilnica, ki programski opremi omogoča overjanje kot zaupanja vrednega akterja:
- ključi za dostop do oblaka in žetoni seje
- računi storitev in identitete delovnih obremenitev
- Poverilnice CI/CD, ki jih uporabljajo cevovodi gradnje
- žetoni za orodja SaaS (GitHub, GitLab, Slack, platforme za spremljanje)
- Ključi API-jev za storitve tretjih oseb (ponudniki plačilnih storitev, ponudniki e-pošte, API-ji modelov umetne inteligence)
Pomembna razlika od človeških prijav je, da NHI običajno:
- teči neprekinjeno
- so vdelani v kodo ali konfiguracijo
- in pogosto ne uporabljajo MFA
To jih dela privlačne.
Če napadalec pridobi delujoč žeton, mu ni treba "vdreti". Omogoča avtentikacijo.
Zakaj se to zdaj slabša
Trije trendi spodbujajo razvoj NHI iz kategorije »pomembnih« v kategorijo »prevladujoče tveganje«:
1) Dobavne verige programske opreme so večje kot kdaj koli prej
Sodobne aplikacije so sestavljene iz:
- posode
- odvisnosti od odprte kode
- infrastruktura-kot-koda
- na desetine SaaS integracij
Vsaka integracija doda še eno poverilnico.
2) Avtomatizacija je povsod
Organizacije želijo:
- hitrejše uvajanje
- infrastruktura samopostrežbe
- minljiva okolja
Avtomatizacija je dobra – vendar jo poganjajo identitete s privilegiji.
3) Poverilnice trajajo dlje kot ljudje, ki so jih ustvarili
Ljudje zamenjajo vloge in odidejo.
Žeton v repozitoriju ali vsebniku pa lahko:
- vztrajajo mesece ali leta
- kopirati v nove gradnje
- in ostanejo veljavni še dolgo potem, ko se kdorkoli spomni njihovega obstoja
Torej površina napada raste tiho.
Kako skrivnosti uhajajo v resničnem življenju (ni vedno "nekdo je posredoval ključ")
Stereotip je razvijalec, ki se zavezujeAWS_SECRET_ACCESS_KEYna GitHub.
To se še vedno dogaja. Vendar je veliko puščanja manj očitno:
- žetoni, vpeti v plasti vsebnika
- konfiguracijske datoteke, kopirane v slike med gradnjo
- dnevniki odpravljanja napak, ki vsebujejo skrivnosti
- »začasni« ključi, deljeni v klepetu in kasneje prilepljeni v kodo
- Spremenljivke CI, ki jih natisnejo napačno konfigurirani cevovodi
In slike vsebnikov so še posebej nevarne, ker:
- zrcalijo se
- shranijo se v predpomnilnik
- kopirajo se med ekipami
Tudi če ključ izbrišete iz repozitorija, lahko ostane v starih slojih slike.
Zakaj so razkriti žetoni bolj nevarni kot številne zlorabe
Izkoriščanje je hrupno. Pogosto sproži opozorila.
Razkriti žetoni so tihi. Pogosto so videti kot običajna uporaba:
- uspešno preverjanje pristnosti
- pravilni klici API-ja
- legitimne končne točke
To spremeni problem branilca.
Namesto odkrivanja "napadalca" morate odkriti:
- nepričakovanoravnateljz uporabo veljavnih poverilnic
- z nenavadnih lokacij
- ob nenavadnih časih
- izvaja nenavadna dejanja
Zato so NHI za številne organizacije vrzel v odkrivanju.
Problem privilegijev: žetoni so pogosto premočni
Veliko skrivnosti je ustvarjenih kot bližnjice za »zagon«:
- široka dovoljenja za oblak
- dostop do API-ja na administratorski ravni
- dolgoživi ključi
In ko sistem enkrat deluje, se ga ljudje nočejo več dotikati.
To ustvarja nevarno asimetrijo:
- Človeški račun ima lahko večfaktorsko preverjanje in spremljanje
- identiteta stroja ima lahko širok dostop in malo nadzora
Ko identiteta stroja uide, je lahko polmer eksplozije večji.
Kako izgleda dobra strategija NHI (konkretne prakse)
To je rešljivo, vendar le, če z NHI ravnate kot s prvovrstnimi varnostnimi sredstvi.
1) Prednost imajo kratkotrajne poverilnice
Kjer je mogoče:
- uporabite začasne poverilnice seje
- pogosto menjajte žetone
- Izogibajte se ključem »never expires«
Kratkotrajni žetoni zmanjšujejo izplačilo puščanja informacij.
2) Kjer je mogoče, zamenjajte statične ključe z identiteto delovne obremenitve
V sodobnih nastavitvah v oblaku lahko delovne obremenitve pogosto overite prek:
- identiteta primerka
- Zveza OIDC
- upravljana identiteta
To zmanjša potrebo po shranjevanju statičnih ključev.
3) Strogo ločite okolja
Pogosta napaka je uporaba istega žetona v:
- razvijalec
- uprizoritev
- proizvodnja
Žetoni morajo biti omejeni na okolje.
Če razvojna slika pušča, ne bi smela odkleniti produkcijske različice.
4) Zaloge in lastništvo
Vsak smiseln žeton mora imeti:
- lastnik
- namen
- pričakovan vzorec uporabe
Če žeton nima lastnika, gre za tehnični dolg, ki čaka, da postane incident.
5) Spremljajte vedenje NHI, tako kot spremljate vedenje ljudi
Dobri signali vključujejo:
- nemogoča potovanja / nenavadne geografske lokacije
- nenavadna zaporedja klicev API-ja
- porast dostopa do podatkov
- nova dovoljenja odobrena
- ustvarjeni novi žetoni
Cilj ni popolno odkrivanje, temveč zgodnje odkrivanje.
6) Obravnavajte CI/CD kot tovarno identitet z visokim tveganjem
Sistemi CI pogosto vsebujejo:
- ključi za uvajanje
- podpisni ključi
- poverilnice v oblaku
Zaklenite jih:
- najmanj privilegijev
- ločeni tekači
- skrivno maskiranje in preprečevanje puščanja dnevnikov
- stroge odobritve za korake uvajanja v produkcijo
Kje ekipe običajno odpovejo (in kako se temu izogniti)
"Včasih menjamo ključe" ni načrt
Če je rotacija ročna in boleča, se ne bo zgodila pod pritiskom.
Naj bo rotacija rutinska in avtomatizirana.
Varnostna orodja brez izvrševanja postanejo »gledališče nadzora«
Skeniranje repozitorijev za skrivnosti je koristno, vendar ni dovolj.
Potrebujete tudi:
- hitra razveljavitev
- opozorila o uporabi
- in preprečevanje pri gradnji cevovodov
Past plasti kontejnerja
Če so skrivnosti kdaj vstopile v kontekst gradnje vsebnika, predpostavimo, da morda obstajajo v:
- stare slike
- predpomnjene plasti
- Artefakti CI
Rešitev ni samo "izbris ključa repozitorija". Gre za:
- zavrti skrivnost
- obnovi in ponovno objavi slike
- razveljavi predpomnilnike, kjer je to mogoče
Kaj si ogledati naprej
Če želite spremljati, ali organizacije izboljšujejo svoje NHI, poiščite:
- sprejetje kratkotrajne identitete (OIDC/identiteta delovne obremenitve)
- razširjeni programi rotacije žetonov
- močnejši nadzor meja CI/CD
- poročila o incidentih, ki kot glavni vzrok navajajo »uporabo veljavnih poverilnic«
Bodite pozorni tudi na orodjarstvo: najboljša orodja se bodo preusmerila od »zaznavanja izpostavljenih nizov« k »zmanjševanju števila statičnih skrivnosti, ki sploh obstajajo«.
Ekonomija: zakaj napadalci obožujejo lov na žetone
Tehtnice za lov na žetone.
Napadalec, ki ukrade eno delujočo poverilnico, lahko pogosto:
- dostop do več sistemov (oblak + nadzor vira + neposredna integracijska rešitev)
- ponovno uporabite isto tehniko v številnih organizacijah
- in prodajajo dostop na tržnicah, če ga ne želijo upravljati sami
Za zagovornike to pomeni, da grožnja ni le »heker, ki cilja na nas«. Gre za »strojno gospodarstvo, ki ima koristi od vsake poverilnice za večkratno uporabo«.
Zato je preprečevanje tukaj bolj dragoceno kot odzivanje. Če ključ nikoli ni obstajal v statični obliki, ga kasneje ni mogoče pridobiti.
Ideje za odkrivanje betona (na kaj opozoriti)
Če gradite zaznave za NHI, se osredotočite na spremembe vedenja in ne na čarobne ključne besede.
Primeri visokega signala:
- Storitveni račun, ki se uporablja iznova država/ASNnikoli prej ni bil uporabljen.
- Žeton, ki običajno kliče samo en API, nenadoma našteje vire ali prenese velike količine.
- Identiteta CI, ki izvaja dejanja zunaj običajnega okna izdaje.
- Skrivnosti, uporabljene iz interaktivnih uporabniških končnih točk, ko so bile namenjene le delovnim obremenitvam strežnika.
Že osnovna opozorila o anomalijah lahko zgodaj zaznajo vzorec »tihe kraje poverilnic«.
Ideje za utrjevanje betona (malo truda, veliko vzvoda)
To so praktične spremembe, ki jih lahko večina ekip izvede brez obsežne prenove:
- Zmanjšajte obseg žetonov: razdeli en širok žeton na več žetonov z ozkim obsegom.
- Rotirajte po urniku: vrtite se, tudi ko ni nič "narobe", zato rotacija postane mišični spomin.
- Proizvodnja vrat: zahteva izrecno odobritev za identitete uvajanja v produkciji.
- Blokiraj skrivne besedilne kode v graditvah: CI bi moral spodleteti pri gradnji, ko se pojavijo očitni skriti vzorci.
Vsak premik zmanjša polmer eksplozije, tudi če še vedno pride do puščanja.
Preprosta notranja politika, ki preprečuje veliko težav
Če želite eno politiko, ki sili k boljšemu vedenju, je to ta:
- V prenosnikih razvijalcev ali v kontekstih gradnje vsebnikov ni skrivnosti, ki bi omogočale produkcijo.
To pravilo povzroča spremembe, kot so:
- identiteta delovne obremenitve za storitve
- poverilnice za pripravo na razvoj
- in izrecne odobritve za korake uvajanja v produkcijo
Na začetku je nadležno, vendar prekine najlažje poti puščanja.
Bistvo
Nečloveške identitete so hrbtenica sodobne avtomatizacije – in tudi pomemben dejavnik kršitev, saj pogosto zaobidejo zaščite, ki smo jih zgradili za ljudi.
Če želite praktičen prag: ko lahko odgovorite na vprašanja »kje živijo naši dolgoživi žetoni, kdo je njihov lastnik in kako hitro jih lahko prekličemo/zamenjamo«, ste prešli iz pobožnih želja v resničen obrambni program.
Praktična rešitev ni en sam čarobni skener. Gre za program: zmanjšajte statične skrivnosti, skrčite privilegije, vzpostavite rutino rotacije in spremljajte identitete računalnikov, tako kot spremljate uporabniške račune.