Paslapčių nutekėjimas: Vienas žingsnis iki pabaigossaster

Duoti savo namų raktus nusikaltėliams tikrai nėra geriausia mintis. Tačiau būtent tai dažnai nutinka daugumoje organizacijų, kuriančių šiuolaikinę programinę įrangą.

Šiame pirmajame įraše apie paslapčių nutekėjimą analizuosime, kodėl tai nutinka taip dažnai, kokios yra pasekmės ir kokių veiksmų imtis, kad būtų išvengta problemos arba ji būtų sušvelninta ir sutvarkyti paslapčių nutekėjimo incidentai.

O Dieve! Perkėliau savo debesies prieigos raktus į viešąją saugyklą

Užkoduotos paslaptys šaltinio kode arba konfigūracijos failuose „DevOps“ įrankiuose gali patekti į blogas rankas. Jei paslaptis yra commitJei saugomas viešoje šaltinių saugykloje, esi pasmerktas žlugti. Tačiau net ir privačios saugyklos nėra saugios, nes paslaptys taip pat nuteka per programų dvejetainius failus, žurnalus ar pavogtą šaltinio kodą.

Žvelgiant atgal, tai nerimą kelia kaip dažnai paprasta klaida sukeldavo rimtą saugumo pažeidimą. Tiesiog „Google“ paieškokite „AWS raktų nutekėjimas","„GitHub“ prieigos rakto nutekėjimas„, ir taip toliau. Nepriimkite šių pavyzdžių kaip paslėptų rekomendacijų tam ar kitam tiekėjui. Naudokite savo!“

Pavyzdžiui, (ne)garsusis „Codecov“ ataka 2021 m. balandžio mėn. įvykis buvo įmanomas, nes „Codecov Docker“ atvaizde buvo „git“ prisijungimo duomenys, kurie leido užpuolikui gauti prieigą prie privačių „Codecov“ „git“ saugyklų ir pridėti vieną eilutę „Codecov“ „bash“ įkėlimo scenarijuje, skirtą kolekcijos aplinkos kintamiesiems ir „git“ saugyklų URL adresams.

Primename, kad dalis atakų atlygio yra paslaptys, leidžiančios gauti prieigą prie papildomų sistemų, o daugelis atakų daug investuoja į prisijungimo duomenų, kriptovaliutų raktų ir žetonų išgavimą. 

Problema ta kietai užkoduotos paslaptys yra įprasta vieta2022 m. kovo mėn. „Lapsus$ APT“ nutekėjo 189 GB „Samsung“ šaltinio kodo ir kitų jautrių failų. Analizė atskleidė, kad jame buvo 6,600 užkoduotų paslapčių90 % vidinėms sistemoms, bet 10 % išorinėms paslaugoms ir įrankiams, tokiems kaip „GitHub“, AWS ar „Google“. Šios paslaptys apėmė AWS / „Twilio“ / „Google“ API raktus, duomenų bazės ryšio eilutes ir kitą neskelbtiną informaciją. Tai yra pažangiausia technologija daugumoje kodo bazių.

Paslapčių nutekėjimas – lengviausias kelias į tiekimo grandinės atakas

Paketų priklausomybės šiuo metu yra dažniausias, nors ir ne vienintelis tiekimo grandinės atakų taikinys. Blogiukai gali sukurti naują paketą, kuris bus įdiegtas aukos programinėje įrangoje (naudojant klaidų rašymas ir kitus metodus), tačiau paprastai jie bando užkrėsti esamą paketą, pridėdami pakeitimų šaltinio kode programinės įrangos saugyklose (SCM) pvz., „GitHub“, „GitLab“ ar „BitBucket“, arba pridedant kenkėjiškas versijas prie viešųjų registrų, pvz., NPM, PyPI, RubyGems, Maven Central.

Tačiau norint įterpti kenkėjišką kodą arba kenkėjišką priklausomybę, paslėptą sudėtingame priklausomybių grafike, reikia login kredencialus, pvz., vartotojo vardą / slaptažodį, prieigos raktus arba prieigos raktus (pavadinkime juos „raktai„trumpai“), atitinkamai tikslinės šaltinio saugyklos arba viešojo registro. 

Blogiukai kartais gauna raktus per socialinė inžinerija,  ataka prieš event-stream populiarus NPM paketas yra puikus pavyzdys. Tačiau ieškant nutekėjusios informacijos login Kreditavimo kredencialai arba prieigos raktai yra dažniausia programinės įrangos tiekimo grandinės atakų technika.

Šaltinių saugyklos ir paketų registrai yra dvi esminės programinės įrangos kūrimo sistemos. pipelineTačiau „DevOps“ yra daug įrankių: CI/CD sistemos, įrankiai testavimui, konfigūravimui ir aprūpinimo automatizavimui arba diegimui ir išleidimui. Visais jais galima piktnaudžiauti į programinę įrangą įterpiant kenkėjišką kodą. Galiojančių šių įrankių raktų nutekėjimas veda tiesiai į kančias ir skausmą. Įsivaizduokite, kad nutekėjote root prieigos raktai su visiška jūsų viešojo debesies išteklių kontrole...

Įprastos rekomendacijos

Nieko naujo čia nepasakome, jūs visi tai žinote. Tačiau imkitės veiksmų! Atminkite, kad robotai reguliariai nuskaito visas viešas svetaines. SCM saugyklos. Keletas rekomendacijų, ne tam tikra tvarka.

  • Jei esate atsakingas už IT saugumo valdymą, apibrėžkite, kaip turėtų būti tvarkomos paslaptys saugumo politikoje. Tačiau politika yra tik tokia gera, kiek jos yra įgyvendinamos: užtikrinkite, kad jūsų organizacijoje būtų taikomos paslapčių tvarkymo gairės – įskaitant ne tik jūsų „DevOps“ komandas, bet ir programinės įrangos tiekėjus, ir kad jūsų organizacijos incidentų reagavimo plane būtų numatytos nuostatos dėl paslapčių nutekėjimo incidentų.
  • Įgyvendinti ir vykdyti daugiafazis autentifikavimas (MFA, 2FA ar bet kuris kitas akronimas). Ir jokių saugumo mažinimų: USB saugos raktas vertas tų kelių dolerių, kuriuos jis kainuoja. Jums tereikia „git-push“ būdu įvesti bet kurį iš tūkstančių savo prisijungimo duomenų (lengva), o tada prisigerti ir palikti raktus bare su kažkuo, kas nurodo jus (šansai yra šiek tiek mažesni, ypač jei esate abstinentas).
  • Naudokite slaptažodžių tvarkyklę su stipriu, neišsaugotu slaptažodžiu. Norėdami tvarkyti paslaptis sistemose, naudokite Slapti saugyklos. CI/CD sistemos, debesijos paslaugų teikėjai, SCMir kiti „DevOps“ įrankiai teikia šią paslaugą, tačiau galite pasirinkti bendrą „Secret Vault“ sprendimą.
  • Pirmenybė trumpalaikis žetonus ilgaamžiams prieigos raktams. Juos lengviau atšaukti ir jie atveria ribotą langą blogiui.
  • Apriboti pakartotinį kredencialų naudojimąUžpuolikai pakartotinai panaudos surinktus taikinio prisijungimo duomenis kitose sistemose – dar vienas slaptažodžių tvarkyklės naudojimo privalumas. Slaptažodžių tvarkyklės ir slaptos saugyklos turėtų padėti išvengti pakartotinio prisijungimo duomenų naudojimo.
  • Riboti ir stebėti naudojimą admin slaptažodžiai. Jie yra pakankamai galingi, kad nusipelno specialaus stebėjimo.
  • Įgyvendinti stiprus maišymas ir šifravimasGrįžimas prie USB (kriptografinių) raktų, griežtų procedūrų perduodant kredencialus partneriams ir bendradarbiams ir panašiai.
  • Naudoti paslapčių skaitytuvas, pavyzdžiui, bėgti a pre-commit kablys siekiant išvengti nuotėkių versijų kontrolės sistemose, kaip apsaugos vartai. Prieš patį dalyką čia svarbu. Arba naudokite post-hoc nuskaitymus, kad aptiktumėte nutekėjusias paslaptis, pavyzdžiui, kaip patikrinimą prieš pull request sujungia. Pastaba: mūsų „Xygeni“ platformoje yra slaptų raktų skaitytuvas, leidžiantis naudoti abu veikimo režimus. 
  • Rankinė alternatyva naudojimui kodų apžvalgos ieškoti užkoduotų paslapčių yra brangiau ir veikia vėliaucommit (bet tikiuosi, bent jau prieš tai, kai paslaptis taps prieinama pašaliniams asmenims). Tačiau apžvalgose gali būti aptikta netradicinių paslapčių, kurios gali likti nepastebėtos paslapčių skaitytuvų.       
  • Venkite netyčia commitbendrų failų su slaptais elementais pridėjimas prie versijų kontrolės su atitinkamais neįtraukti šablonų (kaip šablonas „gitignore“), atsižvelgiant į tokius failus kaip .env.npmrc.pypirc, laikini failai... Iš tiesų, papildomas saugumo svogūno sluoksnis.
  • Ir paskutinis šiame ilgame sąraše: leisti debesijos paslaugų teikėjams atlikti nuskaitymus dėl jų raktų nutekėjimo, kai tai įmanoma. Bent jau taip Gegužė praneš jums apie nutekėjimą, kai jis įvyko, tačiau saugumas yra būtinas debesijos paslaugų teikėjams. Tai post-hoc Slaptas skenavimas nėra labai skaidrus dėl to, kur ir kaip dažnai atliekamas skenavimas, ir dažnai reikalauja aiškaus nustatymo, tačiau tai tikrai yra paskutinė priemonė, kai viskas kita nepavyksta.

O Dieve! Perkėliau savo debesies prieigos raktus į viešąją saugyklą, imkis antro žingsnio.

Tai gali nutikti ir geriausiems iš mūsų. Pasiraitokite rankoves!

Nedelsdami atnaujinkite / atšaukite / išjunkite nutekėjusį slaptažodį! Jei paskyra turi tinkamą daugiafaktorinį autentifikavimą (MFA), rizika yra daug mažesnė. Tai gali būti sudėtingiau, pvz., naudojant privačius raktus svetainėse (reikia išduoti naują sertifikatą naujam privačiam raktui ir atšaukti esamą), tačiau šiuolaikiniai įrankiai turi greitą būdą atnaujinti prisijungimo duomenis arba atšaukti žetonus. 

Jei įmanoma, atlikite teikėjo rekomenduojamus veiksmus, pvz. AWS šiame pavyzdyje.

Nustatykite nuotėkio priežastį. Žinojimas, kaip tai įvyko, yra būtinas norint atskleisti informaciją, atlikti analizę, sulaikyti nuotėkį ir pasinaudoti įgyta patirtimi.

Tada praneškite apie nuotėkį nukentėjusioms šalims, paaiškindami veiksmus, kurių imatės, kad užtaisytumėte nuotėkį ir sumažintumėte žalą. Padarytos žalos atitaisyti neįmanoma, tai, kas nutekėjo, yra nutekėję. Būkite skaidrūs ir informuokite kitus, kad jie galėtų imtis veiksmų. 

Tada pradėkite nuo teismo ekspertizė,  ekspozicijos langas yra laikas tarp nutekėjimo ir laiko, kai slaptasis raktas nebegaliojo. Būkite pasiruošę skaityti žurnalus ir stebėti neįprastą veiklą su paveikta paskyra per tą laikotarpį. Pašalinkite paskyras ir raktus, sugeneruotus naudojant paveiktą paskyrą. Atminkite, kad jei paveikta paskyra turi administratoriaus teises, taisymas yra daug sudėtingesnis. 

Perrašymo (versijų valdymo) istorija yra sudėtinga. Net totalitarinės valstybės bando tai daryti, bet nesėkmingai (žodžių žaismas tyčinis). Ir tikriausiai nesvarbu: įsilaužėliai ar viešųjų saugyklų robotai galėjo klonuoti saugyklą arba jau išgauti auksą, ypač jei atskleidimo langas yra pakankamai didelis. 

Jei esate nuotykių ieškotojas ir norite patys pamatyti, kiek laiko robotams užtrunka aptikti nutekėjusią paslaptį, tokie tripwire'ai kaip Kanarėlių žetonai leis jums eksperimentuoti. Atminkite, kad robotai į juodąjį sąrašą įtraukia numatytuosius canarytokens.org domenas…

Norėdami daugiau sužinoti, skaitykite Kovacs, E. “Nutekėjusiame „Samsung“ šaltinio kode rasti tūkstančiai slaptų raktų„Saugumo savaitė, 2022 m. kovas. Dyjak, A.“Prieš porą dienų atlikau nedidelį eksperimentą su WRT paslaptimis. commitperkelta į viešas „Git“ saugyklas…". Tweet tema, 2020 m. lapkritis. Rzepa, P. "„AWS“ prieigos raktų nutekėjimas „GitHub“ saugykloje ir kai kurie „Amazon“ reakcijos patobulinimai„. Medium“, 2020 m. lapkričio mėn.
sca-tools-software-composition-analyses-tools
Prioritetizuoti, pašalinti ir apsaugoti savo programinės įrangos rizikas
Gaukite nemokamą paskyrą.
Nebūtina kreditinės kortelės.

Apsaugokite savo programinės įrangos kūrimą ir tiekimą

su „Xygeni“ produktų rinkiniu