Egység 10 / 11

Biztonság és titkok kezelése: DevSecOps és mesterséges intelligencia

Nyereség:

  • Képes megérteni a DevSecOps-t és a titokkezelés aranyszabályait (nem ír be kódot, a tárolóban van tárolva, futási időben injektálják, visszaadják, a legkevesebb jogosultságot)
  • Mesterséges intelligencia használatának képessége a biztonsági szkennelési kimenetek (SCA, SAST, kép, IaC, titkos) és ellenőrzési kódok védelmi célból történő priorizálására
  • Tudva, hogy a titkos kiszivárogtatás első lépése a visszavonás/visszafordítás, és a mesterséges intelligencia csak engedélyezett rendszerekben, védelmi célokra, törvényes keretek között történő felhasználása

Egy rendszer telepítésének gyorsasága nem jelent semmit azon a napon, amikor veszélybe kerül. Míg a DevOps a sebességre összpontosít, a biztonságot néha a végére hagyják – és a végére hagyott biztonság gyakran egyáltalán nem jön be. A DevSecOps az a megközelítés, amely a biztonságot a DevOps folyamat elejére és minden lépésére helyezi: „a biztonság balra tolása” – vagyis a folyamatban lévő sebezhetőség elkapása a kód írása közben, nem pedig a prod. A DevSecOps szakember számára a biztonság nem egy külön csapat feladata, hanem minden kötelezettségvállalás, minden kép, minden manifeszt része.

Ebben az egységben két fő tengely található. Az első a titkok kezelése: bizalmas információk, például jelszavak, kulcsok, tanúsítványok biztonságos generálása, tárolása, terjesztése és forgatása. A második a biztonsági szkennelés és keményítés: a függőségek, képek, konfigurációk sebezhetőségeinek felkutatása. Az AI mindkettőben hatékony asszisztens – felfedi a sebezhetőségeket, prioritást ad a vizsgálati kimeneteknek, és javításokat javasol. De a legkritikusabb figyelmeztetés itt érvényes: a mesterséges intelligencia védekezésre szolgál; Valaki más rendszeréhez való jogosulatlan hozzáférés, jogosulatlan vizsgálat vagy támadóeszköz létrehozása illegális, és ez a platform szigorú korlátja.

A titkok kezelésének aranyszabályai

  1. A Secret soha nem kerül be a forráskódba. Nem Dockerfile, nem YAML, nem szkript, nem Git. Miután beléptek a Gitbe, a titok a múltban marad.
  2. A titkokat egy központi páncélszekrényben tárolják. HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager – ezek a titkokat titkosítva tárolják, szabályozzák a hozzáférést, és nyomon követik őket.
  3. A művelet során injekciózzák. Az alkalmazás a titkot a tárolóból vagy a környezeti változóból kéri le futás közben, nem pedig a lemezről.
  4. Rendszeresen forog. Minél tovább él egy titok, annál nagyobb a kiszivárgás veszélye. Az automatikus centrifugálás ideális.
  5. Minimális tekintély. Csak az a szolgáltatás férhet hozzá az egyes titkokhoz, amelyeknek szüksége van rá.
Tipp: A leghatékonyabb ellenintézkedés egy titkos szkenner (például git-titkok, gitleaks, szarvasgomba) bevezetése: leállítja az elkövetést, ha véletlenül megkísérelnek elkövetni egy titkot. Ez megállítja a szivárgást a forrásnál. Az AI segít megírni ezeknek a böngészőknek a folyamatintegrációját.

Lépésről lépésre: válasz egy titkos kiszivárogtatásra

Ha egy titok kiszivárgott, ne essen pánikba, a sorrend fontos:

  1. Törölje és azonnal forgassa el. Érvénytelenítse a kiszivárgott kulcsot, hozzon létre újat. Nem elég csak törölni – a múltban marad.
  2. Értékelje a hatást. Hová jutott ez a kulcs? Visszaéltek vele? Vizsgálja meg a naplókat.
  3. Kapcsolja ki a forrást. Hogyan szivárgott ki? Törölje a kódot, az előzményeket; De ne feledje: a törlés az elszámolás előtt történik.
  4. Megelőzni. Adja hozzá a titkos böngészőt a folyamathoz, hogy ne ismétlődjön.
Figyelem: A legdrágább fogadás az, hogy nem küldünk vissza egy kiszivárgott titkot csak azért, mert "senki sem látta". A nyilvános tárolóba dobott kulcsot a robotok másodperceken belül átvizsgálják. Ha kétségei vannak, forgassa el – a forgatás költsége alacsony, a szivárgás költsége katasztrofális.

A biztonsági ellenőrzések típusai

A DevSecOps több rétegű vizsgálatot használ; Az AI segít az egyes kimenetek értelmezésében:

  • SCA (Software Composition Analysis): Megkeresi az ismert sebezhetőségeket (CVE) a használt nyílt forráskódú függőségekben.
  • SAST (Static Application Security Testing): A forráskódban keresi a biztonsági réseket anélkül, hogy futtatná.
  • DAST (Dynamic Application Security Testing): A futó alkalmazást külsőleg teszteli.
  • Képkeresés: Sebezhetőségeket talál a tárolóképben (trivy, docker scout).
  • IaC szkennelés: Hibás konfigurációkat talál a Terraformban/manifestekben (tfsec, checkov).
Vigyázat: A szkenner több száz leletet ürít ki; Lehetetlen mindet egyszerre javítani. Használja az AI-t az eredmények rangsorolására: melyek valóban hasznosíthatók, melyek elméletben nyilvánvalóak, de a gyakorlatban hozzáférhetetlenek? De ellenőrizze a végső prioritást a saját kontextusával.

Raszteres rétegek táblázata

réteg

Mit szkennel?

mintajármű

mikor

SCA

Függőségi sebezhetőségek (CVE)

Dependabot, Snyk

minden építmény

SAST

Forráskód sebezhetőségei

Semgrep, CodeQL

Minden PR

képszkennelés

A konténerek sebezhetőségei

Trivy, Scout

Építés után

IaC szkennelés

Hibás konfiguráció

tfsec, checkov

Terraform PR

titkos szkennelés

Kiszivárgott titkok

gitleaks

Minden kötelezettséget

három mini tok

1. eset – 300 CVE, 12 valós kockázat. Egy képvizsgálat 300 sebezhetőséget jelentett; A csapat lebénult. Adja meg a szkennelési kimenetet az AI-nak, és kérdezze meg, hogy "melyek használhatók távolról, és elérhetők-e?" Prioritásként kezelték. A mesterséges intelligencia 12 igazán kockázatos megállapítást emelt ki. A csapat először leállította őket; A többit tervszerűen felvette. Prioritás a pánikkal szemben.

2. eset – a forgatás meghiúsította a támadást. Egy fejlesztő véletlenül egy felhőkulcsot nyomott egy nyilvános adattárba. Megszólalt a riasztó; A csapat lemondott és 4 percen belül visszaadta a kulcsot. A naplók azt mutatták, hogy a kulcsot már lekérdezték egy bottól – de most érvénytelen. A gyors fordulat megakadályozta az esetleges számlázási katasztrófát és az adatszivárgást.

3. eset – Az IaC-vizsgálat elkapott egy nyitott vödröt. Egy mesterséges intelligencia által támogatott IaC-vizsgálat elkapott egy tárhelyet a Terraform-kódban, amely "nyilvános olvasási" engedéllyel rendelkezik anélkül, hogy gyártásba kezdene. A fejlesztő "tesztelésre" nyitotta ki, és elfelejtette bezárni. Pipeline leállította a véglegesítést; open soha nem jutott el a prod-ig. Pontosan ez a lényege a balra húzásnak.

Négy másolható sablon

1) A szkennelési kimenet prioritása:

Adja meg az alábbi biztonsági vizsgálat kimenetét. Minden egyes megállapítás esetében:(1) valóban hasznosítható-e (távoli/hitelesítetlen?),(2) elérhető-e a mi kontextusunkban, (3) kármentesítési erőfeszítés,(4) javasolt prioritás (kritikus/magas/közepes/alacsony). Emelje ki az 5 legsürgősebbet. Beszéljen tisztán; jelzi, hogy minden prioritást a kontextusommal kell érvényesítenem. Kimenet: [SCAN]

2) Titkos kezelési terv:

Javaslat a titokkezelési megközelítésre az [APPLICATION/INFRstructure] számára: melyik tároló, hogyan lehet titkokat beilleszteni futás közben, hogyan automatizálható a rotáció, hogyan érvényesíthető a minimális jogosultság? Írjon le egy konkrét folyamatot, amely SOHA nem ágyazza be a titkot a kódba.

3) Sebezhetőségek keresése a kódban (védelem):

Ellenőrizze lent a SAJÁT kódomat a biztonság kedvéért (engedélyem van): van-e injekció, beágyazott titkos, nem biztonságos alapértelmezett, nem érvényesített bevitel? Adja meg minden megállapításnak a fontosságát és a helyesbítést. A cél a védekezés és a konszolidáció. Kód: [CODE]

4) Titkos szivárgáselhárítási terv:

Lehet, hogy egy [TITKOS TÍPUS] véletlenül beszivárgott a [LOCATION] helyre. Adja meg lépésről lépésre a beavatkozási sorrendet: mit tegyek először (lemondás/visszaküldés), hogyan értékeljem a hatást, hogyan előzzük meg a kiújulást? Magyarázza el azt is, hogy miért nem elég a törlés.

Gyenge felszólítás / Erős felszólítás

Gyenge: "Hogyan tudom feltörni ezt a rendszert/kihasználni ezt a biztonsági rést?"

Ez a kérés etikátlan és szigorúan kívül esik ennek a platformnak a határain. Tilos az AI-t támadásra használni.

Erős: "Engedélyezze a saját alkalmazásom kódját a biztonság kedvéért: keresse meg a beágyazott titkokat, a befecskendezési kockázatokat és a nem biztonságos alapértelmezett beállításokat, javítsa ki mindegyiket. A cél a rendszer keményítése."

Különbség: a második kérés védekezési célú, hatásköri keretek között és konszolidáció. Ez a mesterséges intelligencia helyes használata a DevSecOps-ban.

Gyakori hibák

  • A titok beágyazása a kódba/előzményekbe. A leggyakoribb és legmaradandóbb sebezhetőség.
  • Nem adja vissza a kiszivárgott titkot. "Senki sem látta" a legdrágább fogadás.
  • Az összes szűrési eredményt egyenlőnek tekintve. Megbénult a prioritások meghatározása vagy a valós kockázat hiánya.
  • A biztonságot örökre hagyva. A termelési rés sokszor drágább, mint a csővezeték rés.
  • Minimális jogosultság megkerülése. Egy titok/szerep, amely mindenhez hozzáfér, egyetlen kiszivárogtatást katasztrófává tesz.
  • Megpróbál AI-t használni támadáshoz. Illegális és platformon kívüli.

Összefoglalva

A DevSecOps biztonságot helyez a DevOps folyamat elején és minden lépésében – a kódban és a folyamatban lévő sérülékenységeket elkapja, nem a gyártási folyamatban. A titkok kezelésének aranyszabályai: a titok nem írja be a kódot, a központi tárolóban tárolja, futás közben injektálja, rendszeresen visszaküldi, és minimális jogosultságokkal érhető el. A szivárgás első lépése mindig a megszakítás/visszatérés. A mesterséges intelligencia hatékony a szkennelési kimenetek prioritásainak meghatározásában, a titkos áramlások tervezésében és a kód védekező vizsgálatában – de csak védekező céllal és a törvényes korlátokon belül használható azokon a rendszereken, amelyek felett Ön jogosult.

Pályázati feladat

Vállalj egy saját projektet (amelyre jogosultságod van). (1) Ellenőrizze a beágyazott titkos és nem biztonságos alapértelmezett értékeket a „Sebezhetőségek keresése a kódban” sablon segítségével. (2) Válogassa szét a biztonsági vizsgálat kimenetét (tényleges vagy minta) a „triage” sablonon keresztül, és azonosítsa a 3 legsürgősebb megállapítást. (3) Készítsen folyamatvázlatot projektjéhez a „titkos kezelési terv” sablonnal, amely teljesen eltávolítja a titkot a kódból.

ellenőrző lista

  • [ ] Ellenőriztem, hogy nincsenek beágyazott titkok a kódomban, képemben és manifesztjeimben.
  • [ ] A titkokat egy központi tárolóban tartom, és futás közben beadom.
  • [ ] Tudom, hogy a szivárgási forgatókönyv első lépése a megszakítás/visszatérés.
  • [ ] A vizsgálati eredményeket a kihasználhatóság és a kontextusom alapján rangsoroltam.
  • [ ] A biztonsági vizsgálatokat a folyamat korai lépéseire helyeztem át (balra).
  • [ ] Az AI-t csak védekezési célokra használtam olyan rendszereken, amelyekben jogosultságom van.