Ne žmonių tapatybės – API raktai, žetonai, paslaugų paskyros, darbo krūvio tapatybės – dabar yra vienas lengviausių būdų patekti į šiuolaikines debesijos aplinkas. Ne todėl, kad užpuolikai staiga tapo genijais, bet todėl, kad organizacijos vis dažniau remiasi mašinų tarpusavio pasitikėjimu, ir tas pasitikėjimas dažnai yra per platus, ilgalaikis ir prastai stebimas.
Naujoje ataskaitose pateiktoje analizėje atkreipiamas dėmesys į įprastą didelio masto modelį: tūkstančiai konteinerių atvaizdų ir saugyklų netyčia atskleidžia paslaptis, kurios tyliai suteikia prieigą prie gamybos sistemų. Problema ta, kad kūrėjai kartais klysta. Problema ta, kad numatytieji įrankiai ir paskatos neleidžia...lengvaperduoti paslaptis irsunkukad įrodytum, jog to nepadarei.
Tai „nematomo įsilaužimo“ istorija. Daugelis įsilaužimų neprasideda nuo spragų išnaudojimo ar garsaus kenkėjiškos programos atvejo. Jie prasideda nuo prieigos rakto, kuris autentifikuojasi švariai – todėl viskas atrodo normalu – kol nesuprantate, kad jį naudojo netinkamas administratorius.
Kas yra „nežmogiškos tapatybės“ (paprastai tariant)
Ne žmogaus tapatybė (NHI) yra bet koks kredencialas, leidžiantis programinei įrangai autentifikuotis kaip patikimam subjektui:
- debesies prieigos raktai ir sesijos žetonai
- paslaugų paskyros ir darbo krūvio tapatybės
- CI/CD kredencialai, naudojami kūrimo srautuose
- SaaS įrankių žetonai („GitHub“, „GitLab“, „Slack“, stebėjimo platformos)
- Trečiųjų šalių paslaugų API raktai (mokėjimo paslaugų teikėjai, el. pašto paslaugų teikėjai, dirbtinio intelekto modelių API)
Svarbus skirtumas nuo žmonių prisijungimų yra tas, kad NHI paprastai:
- veikti nuolat
- yra įterpti į kodą arba konfigūraciją
- ir dažnai nenaudoja MFA
Tai daro juos patrauklius.
Jei užpuolikas gauna veikiantį prieigos raktą, jam nereikia „įsilaužti“. Jis autentifikuojasi.
Kodėl dabar viskas blogėja
Trys tendencijos lemia, kad NHI statusas iš „svarbių“ tampa „dominuojančios rizikos“:
1) Programinės įrangos tiekimo grandinės yra didesnės nei bet kada anksčiau
Šiuolaikinės programos surenkamos iš:
- konteineriai
- atvirojo kodo priklausomybės
- infrastruktūra kaip kodas
- dešimtys SaaS integracijų
Kiekviena integracija prideda dar vieną akreditaciją.
2) Automatizavimas yra visur
Organizacijos nori:
- greitesnis diegimas
- savitarnos infrastruktūra
- efemeriškos aplinkos
Automatizavimas yra geras dalykas, bet jį palaiko tapatybės, turinčios privilegijas.
3) Įgaliojimai galioja ilgiau nei juos sukūrę žmonės
Žmonės keičia vaidmenis ir išeina.
Tačiau saugykloje arba konteineryje esantis žetonas gali:
- išlieka mėnesius ar metus
- būti nukopijuoti į naujas versijas
- ir galioja ilgai po to, kai kas nors prisimena, kad egzistuoja
Taigi atakos paviršius tyliai auga.
Kaip paslaptys nuteka realiame gyvenime (ne visada „kažkas pavogė raktą“)
Stereotipas yra kūrėjas, įsipareigojantisAWS_SECRET_ACCESS_KEYį „GitHub“.
Tai vis dar pasitaiko. Tačiau daug nutekėjimo yra mažiau akivaizdu:
- žetonai, kepami į konteinerių sluoksnius
- konfigūracijos failai, nukopijuoti į atvaizdus kūrimo metu
- derinimo žurnalai su paslaptimis
- „Laikini“ raktai, bendrinami pokalbyje ir vėliau įklijuojami į kodą
- Neteisingai sukonfigūruotų vamzdynų spausdinami CI kintamieji
O konteinerių vaizdai yra ypač pavojingi, nes:
- jie atsispindi
- jie kaupiami talpykloje
- jie kopijuojami tarp komandų
Net jei ištrinsite raktą iš saugyklos, jis gali likti senuose vaizdo sluoksniuose.
Kodėl nutekėję žetonai yra pavojingesni nei daugelis išnaudojimų
Išnaudojimai yra triukšmingi. Jie dažnai sukelia įspėjimus.
Nutekėję žetonai yra tylūs. Jie dažnai atrodo kaip įprastas naudojimas:
- sėkmingas autentifikavimas
- teisingi API iškvietimai
- teisėti galiniai taškai
Tai pakeičia gynėjo problemą.
Užuot aptikę „užpuoliką“, turite aptikti:
- netikėtasdirektoriusnaudojant galiojančius prisijungimo duomenis
- iš neįprastų vietų
- neįprastais laikais
- atliekant neįprastus veiksmus
Štai kodėl daugeliui organizacijų NHI yra aptikimo spraga.
Privilegijų problema: žetonai dažnai yra per daug galingi
Daugybė paslapčių sukuriamos kaip „priversti viską veikti“ spartieji klavišai:
- plačios debesies prieigos teisės
- administratoriaus lygio API prieiga
- ilgaamžiai raktai
O kai sistema veikia, žmonės nenori jos liesti.
Tai sukuria pavojingą asimetriją:
- žmogaus paskyra gali turėti MFA ir stebėjimo funkciją
- Mašinos tapatybė gali turėti plačią prieigą ir mažai kontrolės
Kai nuteka mašinos tapatybė, sprogimo spindulys gali būti didesnis.
Kaip atrodo gera NHI strategija (konkrečios praktikos)
Tai išsprendžiama, bet tik tuo atveju, jei NHI traktuosite kaip pirmos klasės saugumo turtą.
1) Pirmenybę teikite trumpalaikiams įgaliojimams
Kur įmanoma:
- naudoti laikinus sesijos prisijungimo duomenis
- dažnai keiskite žetonus
- venkite raktų, kurių galiojimo laikas niekada nesibaigia
Trumpalaikiai žetonai sumažina nutekėjimo atlygį.
2) Pakeiskite statinius raktus darbo krūvio tapatybe, kur galite
Šiuolaikinėse debesijos sistemose darbo krūvius dažnai galima autentifikuoti per:
- egzemplioriaus tapatybė
- OIDC federacija
- valdoma tapatybė
Tai sumažina poreikį saugoti statinius raktus.
3) Griežtai atskirkite aplinkas
Dažna klaida – to paties rakto naudojimas:
- kūrėjas
- inscenizacija
- gamyba
Žetonai turėtų būti apriboti aplinkos.
Jei nuteka kūrėjo atvaizdas, jis neturėtų atrakinti gamybos proceso.
4) Atsargos ir nuosavybė
Kiekvienas prasmingas žetonas turėtų turėti:
- savininkas
- tikslas
- numatomas naudojimo modelis
Jei žetonas neturi savininko, tai yra techninė skola, laukianti, kol taps incidentu.
5) Stebėkite NHI elgesį taip, kaip stebite žmonių elgesį
Geri signalai apima:
- neįmanomos kelionės / neįprastos geografijos
- neįprastos API iškvietimų sekos
- duomenų prieigos šuoliai
- suteikti nauji leidimai
- sukurti nauji žetonai
Tikslas nėra tobulas aptikimas; tikslas – ankstyvas aptikimas.
6) CI/CD traktuokite kaip didelės rizikos tapatybės fabriką
CI sistemose dažnai yra:
- diegimo raktai
- pasirašymo raktai
- debesies prisijungimo duomenys
Užrakinkite juos:
- mažiausia privilegija
- atskirti bėgikai
- slaptas maskavimas ir rąstų nutekėjimo prevencija
- griežti gamybinio diegimo etapų patvirtinimai
Kur komandos dažniausiai patiria nesėkmes (ir kaip to išvengti)
„Kartais keičiame raktus“ – ne planas
Jei sukimas atliekamas rankiniu būdu ir yra skausmingas, esant spaudimui, jis neįvyks.
Padarykite rotaciją įprastą ir automatizuotą.
Saugumo priemonės be vykdymo užtikrinimo tampa „stebėjimo teatru“
Saugyklų nuskaitymas ieškant paslapčių yra naudingas, bet to nepakanka.
Jums taip pat reikia:
- greitas atšaukimas
- įspėjimai apie naudojimą
- ir prevencija statant vamzdynus
Konteinerio sluoksnio gaudyklė
Jei slapti kodai kada nors pateko į konteinerio kūrimo kontekstą, tarkime, kad jie gali egzistuoti:
- seni vaizdai
- talpykloje esantys sluoksniai
- CI artefaktai
Pataisymas yra ne tik „ištrinti saugyklos raktą“. Tai yra:
- pasukite paslaptį
- atkurti ir iš naujo publikuoti vaizdus
- anuliuoti talpyklas, jei įmanoma
Ką žiūrėti toliau
Jei norite stebėti, ar organizacijos gerina NHI, ieškokite:
- trumpalaikės tapatybės (OIDC / darbo krūvio tapatybė) priėmimas
- plačiai paplitusios žetonų rotacijos programos
- griežtesnė CI/CD ribų kontrolė
- incidentų ataskaitos, kuriose pagrindinė priežastis nurodoma „naudojami galiojantys įgaliojimai“
Taip pat atkreipkite dėmesį į įrankius: geriausi įrankiai pereis nuo „aptikti atviras eilutes“ prie „sumažinti iš viso egzistuojančių statinių paslapčių skaičių“.
Ekonomika: kodėl užpuolikai mėgsta žetonų medžioklę
Žetoninės medžioklės svarstyklės.
Užpuolikas, pavogęs vieną veikiantį prisijungimo dokumentą, dažnai gali:
- prieiga prie kelių sistemų (debesų kompiuterija + šaltinio kontrolė + CI)
- pakartotinai naudoti tą pačią techniką daugelyje organizacijų
- ir parduoti prieigą prekyvietėse, jei jie nenori jos valdyti patys
Gynėjams tai reiškia, kad grėsmė yra ne tik „į mus taikosi įsilaužėlis“. Tai „mašinų ekonomika, kuri pelnosi iš bet kokių pakartotinai naudojamų įgaliojimų“.
Štai kodėl prevencija čia vertingesnė nei reagavimas. Jei rakto statine forma niekada nebuvo, jo vėliau nepavyks gauti.
Betono aptikimo idėjos (į ką atkreipti dėmesį)
Jei kuriate NHI aptikimo mechanizmus, sutelkite dėmesį į elgesio pokyčius, o ne į magiškus raktinius žodžius.
Aukšto signalo pavyzdžiai:
- Paslaugos paskyra, naudojama išnauja šalis / ASNanksčiau niekada nenaudojo.
- Žetonas, kuris paprastai kreipiasi tik į vieną API, staiga pradeda išvardinti išteklius arba atsisiunčia didelius kiekius duomenų.
- CI tapatybė, atliekanti veiksmus ne įprasto išleidimo lango metu.
- Interaktyvių vartotojų galinių taškų slaptieji kodai, naudojami tik serverio darbo krūviams.
Net ir pagrindiniai anomalijų įspėjimai gali anksti aptikti „tyliosios kredencialų vagystės“ modelį.
Betono kietėjimo idėjos (mažos pastangos, didelis svertas)
Tai yra praktiniai pakeitimai, kuriuos dauguma komandų gali atlikti be didelio pertvarkymo:
- Sumažinti prieigos rakto apimtį: padalinti vieną platų žetoną į kelis siauros apimties žetonus.
- Pasukti pagal grafikąsuktis net tada, kai nieko „negerai“, todėl sukimasis tampa raumenų atmintimi.
- Vartų gamyba: reikalingas aiškus gamybinio diegimo tapatybių patvirtinimas.
- Blokuoti paprasto teksto paslaptis versijoseCI turėtų nepavykti sukurti, kai atsiranda akivaizdūs slapti šablonai.
Kiekvienas judesys sumažina sprogimo spindulį, net jei vis tiek atsiranda nuotėkis.
Paprasta vidinė politika, kuri padeda išvengti daugybės problemų
Jei norite vienos politikos, kuri priverstų geresnį elgesį, tai būtų ši:
- Kūrėjų nešiojamuosiuose kompiuteriuose ar konteinerių kūrimo kontekstuose nėra gamybai tinkamų paslapčių.
Ši taisyklė lemia tokius pokyčius:
- paslaugų darbo krūvio tapatybė
- kūrimo etapo įgaliojimai
- ir aiškūs gamybinio diegimo etapų patvirtinimai
Iš pradžių tai erzina, bet taip užkertamas kelias lengviausiems nuotėkiams.
Esmė
Ne žmonių tapatybės yra šiuolaikinės automatizacijos pagrindas ir taip pat pagrindinė įsilaužimo varomoji jėga, nes jos dažnai apeina apsaugą, kurią sukūrėme žmonėms.
Jei norite praktiškos ribos: kai tik galite atsakyti į klausimą „kur gyvena mūsų ilgai gyvuojantys žetonai, kam jie priklauso ir kaip greitai galime juos atšaukti / pakeisti“, nuo svajonių perėjote prie realios gynybos programos.
Praktinis sprendimas nėra vienas stebuklingas skaitytuvas. Tai programa: sumažinkite statinius slaptus duomenis, sumažinkite teises, sukurkite rotacijos rutiną ir stebėkite mašinų tapatybes taip, kaip stebite vartotojų paskyras.