Neľudské identity – kľúče API, tokeny, servisné účty, identity pracovných záťaží – sú teraz jednou z najjednoduchších ciest do moderných cloudových prostredí. Nie preto, že by sa útočníci zrazu stali géniami, ale preto, že organizácie čoraz viac fungujú na dôvere medzi strojmi a táto dôvera je často príliš široká, dlhotrvajúca a zle monitorovaná.
Nová analýza zdôraznená v správe poukazuje na známy vzorec vo veľkom meradle: tisíce obrazov kontajnerov a repozitárov náhodne odhaľujú tajomstvá, ktoré nenápadne poskytujú prístup k produkčným systémom. Problém nie je len v tom, že vývojári niekedy robia chyby. Problém je v tom, že predvolené nástroje a stimuly to robia...ľahképosielať tajomstvá atvrdýaby si dokázal, že si to neurobil.
Toto je príbeh o „neviditeľnom narušení“. Mnohé kompromisy nezačnú zneužitím alebo hlučnou udalosťou škodlivého softvéru. Začnú tokenom, ktorý sa autentifikuje čisto – takže všetko vyzerá normálne – až kým si neuvedomíte, že ho používa nesprávny principál.
Čo sú to „neľudské identity“ (jednoducho povedané)
Neľudská identita (NHI) je akékoľvek poverenie, ktoré umožňuje softvéru overiť sa ako dôveryhodný aktér:
- prístupové kľúče do cloudu a tokeny relácie
- servisné účty a identity pracovných zaťažení
- Prihlasovacie údaje CI/CD používané kanálmi zostavovania
- tokeny pre SaaS nástroje (GitHub, GitLab, Slack, monitorovacie platformy)
- Kľúče API pre služby tretích strán (poskytovatelia platieb, poskytovatelia e-mailov, API modelov AI)
Dôležitý rozdiel oproti ľudskému prihláseniu je, že NHI zvyčajne:
- bežať nepretržite
- sú vložené do kódu alebo konfigurácie
- a často nepoužívajú MFA
To ich robí atraktívnymi.
Ak útočník získa funkčný token, nemusí sa „vlámať“. Autentifikuje sa.
Prečo sa to teraz zhoršuje
Tri trendy posúvajú NHI z pozície „dôležité“ na „dominantné riziko“:
1) Dodávateľské reťazce softvéru sú väčšie ako kedykoľvek predtým
Moderné aplikácie sú zostavené z:
- kontajnery
- závislosti od open-source
- infraštruktúra ako kód
- desiatky SaaS integrácií
Každá integrácia pridáva ďalšie poverenie.
2) Automatizácia je všade
Organizácie chcú:
- rýchlejšie nasadenie
- infraštruktúra samoobsluhy
- prchavé prostredia
Automatizácia je dobrá – ale je poháňaná identitami, ktoré majú privilégiá.
3) Poverenia trvajú dlhšie ako ľudia, ktorí ich vytvorili
Ľudia menia úlohy a odchádzajú.
Token v repozitári alebo kontajneri však môže:
- pretrvávajú mesiace alebo roky
- skopírovať do nových zostavení
- a zostávajú platné dlho potom, čo si niekto spomenie na ich existenciu
Takže útočná plocha rastie potichu.
Ako tajomstvá unikajú v reálnom živote (nie vždy ide o „niekto, kto zverejnil kľúč“)
Stereotyp je vývojár, ktorý sa zaväzujeAWS_SECRET_ACCESS_KEYna GitHub.
To sa stále stáva. Ale veľa únikov je menej zjavných:
- tokeny zapečené do vrstiev kontajnerov
- konfiguračné súbory skopírované do obrázkov počas zostavovania
- ladiace protokoly obsahujúce tajné kódy
- „dočasné“ kľúče zdieľané v chate a neskôr vložené do kódu
- Premenné CI vytlačené nesprávne nakonfigurovanými kanálmi
A obrázky kontajnerov sú obzvlášť nebezpečné, pretože:
- zrkadlia sa
- ukladajú sa do vyrovnávacej pamäte
- kopírujú sa medzi tímami
Aj keď kľúč z repozitára odstránite, môže zostať v starých vrstvách obrázka.
Prečo sú uniknuté tokeny nebezpečnejšie ako mnohé iné exploity
Zneužitie je hlučné. Často spúšťa upozornenia.
Uniknuté tokeny sú tiché. Často vyzerajú ako bežné používanie:
- úspešné overenie
- správne volania API
- legitímne koncové body
To mení problém obrancu.
Namiesto odhaľovania „útočníka“ musíte odhaliť:
- neočakávanériaditeľs použitím platných prihlasovacích údajov
- z nezvyčajných miest
- v nezvyčajných časoch
- vykonávanie nezvyčajných akcií
Preto sú NHI pre mnohé organizácie detekčnou medzerou.
Problém s privilégiami: tokeny sú často príliš silné
Veľa tajomstiev je vytvorených ako skratky na „spustenie“:
- široké cloudové povolenia
- prístup k API na úrovni správcu
- kľúče s dlhou životnosťou
A keď systém funguje, ľudia sa ho nechcú ani dotknúť.
To vytvára nebezpečnú asymetriu:
- ľudský účet môže mať viacfaktorovú autentifikáciu a monitorovanie
- identita stroja môže mať široký prístup a malú kontrolu
Keď unikne identita stroja, polomer výbuchu môže byť väčší.
Ako vyzerá dobrá stratégia NHI (konkrétne postupy)
Toto je riešiteľné, ale iba ak sa k NHI správate ako k prvotriednym bezpečnostným aktívam.
1) Uprednostňujte krátkodobé poverenia
Kde je to možné:
- použiť dočasné prihlasovacie údaje k relácii
- často striedajte žetóny
- vyhnite sa kľúčom s „nekonečnou platnosťou“
Krátkodobé tokeny znižujú výnos z únikov.
2) Nahraďte statické kľúče identitou pracovnej záťaže, kde je to možné
V moderných cloudových nastaveniach môžete často overovať pracovné zaťaženia prostredníctvom:
- identita inštancie
- Federácia OIDC
- spravovaná identita
To znižuje potrebu ukladať statické kľúče.
3) Prísne oddeľte prostredia
Bežnou chybou je použitie rovnakého tokenu naprieč:
- vývojár
- inscenácia
- výroba
Tokeny by mali byť obmedzené na prostredie.
Ak unikne vývojársky obraz, nemal by odomknúť produkčnú verziu.
4) Zásoby a vlastníctvo
Každý zmysluplný token by mal mať:
- majiteľ
- účel
- očakávaný vzorec používania
Ak token nemá vlastníka, ide o technický dlh, ktorý čaká na to, aby sa stal incidentom.
5) Monitorujte správanie NHI rovnako ako monitorujete ľudské správanie
Medzi dobré signály patria:
- nemožné cestovanie / nezvyčajné zemepisné oblasti
- nezvyčajné sekvencie volaní API
- prudké nárasty v prístupe k údajom
- nové udelené povolenia
- vytvorené nové tokeny
Cieľom nie je dokonalá detekcia; ide o včasnú detekciu.
6) Zaobchádzajte s CI/CD ako s továrňou na identitu s vysokým rizikom
Systémy CI často obsahujú:
- kľúče nasadenia
- podpisové kľúče
- cloudové poverenia
Zamknite ich:
- najmenej privilégií
- oddelené bežce
- tajné maskovanie a prevencia únikov protokolov
- prísne schvaľovanie krokov nasadenia v produkčnom prostredí
Kde tímy zvyčajne zlyhávajú (a ako sa tomu vyhnúť)
„Niekedy striedame kľúče“ nie je plán
Ak je rotácia manuálna a bolestivá, nestane sa tak pod tlakom.
Zabezpečte rutinnú a automatizovanú rotáciu.
Bezpečnostné nástroje bez presadzovania sa stávajú „monitorovacím divadlom“
Skenovanie repozitárov kvôli tajomstvám je užitočné, ale nestačí.
Tiež potrebujete:
- rýchle zrušenie
- upozornenia na používanie
- a prevencia pri výstavbe potrubí
Pasca vrstvy kontajnera
Ak tajné údaje niekedy vstúpili do kontextu zostavenia kontajnera, predpokladajme, že môžu existovať v:
- staré obrázky
- vrstvy uložené v vyrovnávacej pamäti
- Artefakty CI
Oprava nie je len „odstránenie kľúča repozitára“. Je to:
- otočiť tajomstvo
- obnoviť a znova publikovať obrázky
- zneplatniť vyrovnávacie pamäte, kde je to možné
Čo si pozrieť ďalej
Ak chcete sledovať, či sa organizácie zlepšujú v oblasti NHI, hľadajte:
- prijatie krátkodobej identity (OIDC/identita pracovnej záťaže)
- rozsiahle programy rotácie tokenov
- silnejšie kontroly hraníc CI/CD
- správy o incidentoch, ktoré ako primárnu príčinu uvádzajú „použitie platných prihlasovacích údajov“
Sledujte aj stránku nástrojov: najlepšie nástroje sa posunú z „detekcie odhalených reťazcov“ na „zníženie počtu statických tajomstiev, ktoré vôbec existujú“.
Ekonomika: prečo útočníci milujú lov tokenov
Váhy na lov žetónov.
Útočník, ktorý ukradne jeden pracovný doklad, môže často:
- prístup k viacerým systémom (cloud + správa zdrojového kódu + CI)
- opätovne použiť tú istú techniku v mnohých organizáciách
- a predávať prístup na trhoviskách, ak ho nechcú prevádzkovať sami
Pre obrancov to znamená, že hrozbou nie je len „hacker, ktorý na nás útočí“. Je to „strojová ekonomika, ktorá profituje z akýchkoľvek opakovane použiteľných prihlasovacích údajov“.
Preto je v tomto prípade prevencia cennejšia ako reakcia. Ak kľúč nikdy neexistoval v statickej forme, nedá sa neskôr získať.
Nápady na detekciu betónu (na čo upozorniť)
Ak vytvárate detekcie pre NHI, zamerajte sa skôr na zmeny správania než na magické kľúčové slová.
Príklady vysokého signálu:
- Servisný účet používaný znová krajina/ASNnikdy predtým sa to nepoužilo.
- Token, ktorý bežne volá iba jedno API, zrazu vymenúva zdroje alebo sťahuje veľké objemy.
- Identita CI vykonávajúca akcie mimo bežného okna vydania.
- Tajomstvá používané z interaktívnych koncových bodov používateľov, keď boli určené iba pre serverové pracovné zaťaženia.
Dokonca aj základné upozornenia na anomálie dokážu včas odhaliť vzorec „tichej krádeže poverení“.
Nápady na kalenie betónu (nízka námaha, vysoký pákový efekt)
Toto sú praktické zmeny, ktoré väčšina tímov môže urobiť bez rozsiahlej prestavby:
- Znížiť rozsah tokenov: rozdeliť jeden široký token na niekoľko úzko vymedzených tokenov.
- Striedať podľa plánu: otáčať, aj keď nič nie je „zlé“, takže rotácia sa stáva svalovou pamäťou.
- Výroba brán: vyžadujú explicitné schválenie pre identity nasadenia v produkčnom prostredí.
- Blokovať tajné kódy v otvorenom texte v zostaveniach: CI by malo zlyhať pri zostavovaní, keď sa objavia zjavné tajné vzory.
Každý pohyb zmenšuje polomer výbuchu, aj keď stále dochádza k úniku.
Jednoduchá interná politika, ktorá predchádza mnohým problémom
Ak chcete jednu politiku, ktorá vynúti lepšie správanie, je to táto:
- Žiadne tajné funkcie vhodné pre produkciu v prenosných počítačoch vývojárov alebo v kontextoch zostavovania kontajnerov.
Toto pravidlo vedie k zmenám, ako napríklad:
- identita pracovnej záťaže pre služby
- poverenia pre vývoj na základe pracovných podmienok
- a explicitné schválenia krokov nasadenia v produkčnom prostredí
Spočiatku je to otravné, ale zabráni to najjednoduchším cestám úniku.
Zrátané a podčiarknuté
Identity iných subjektov sú chrbticou modernej automatizácie – a tiež hlavným faktorom narušenia bezpečnosti, pretože často obchádzajú ochrany, ktoré sme pre ľudí vytvorili.
Ak chcete praktický prah: akonáhle viete odpovedať na otázky „kde sa nachádzajú naše dlhodobé tokeny, kto ich vlastní a ako rýchlo ich môžeme zrušiť/rotovať“, prešli ste od zbožného priania k skutočnému obrannému programu.
Praktickým riešením nie je jeden magický skener. Je to program: minimalizujte statické tajomstvá, zmenšite privilégiá, nastavte rotáciu rutiny a monitorujte identity počítačov rovnako ako monitorujete používateľské účty.