Enhet 10 / 11

Sikkerhet og hemmeligheter: DevSecOps og kunstig intelligens

Gevinster:

  • Evne til å forstå DevSecOps og de gylne reglene for hemmelighetshåndtering (skriver ikke inn kode, oppbevares i hvelvet, injiseres under kjøring, returneres, minst privilegier)
  • Evne til å bruke kunstig intelligens til å prioritere sikkerhetsskanningsutganger (SCA, SAST, bilde, IaC, hemmelig) og revisjonskode for defensive formål
  • Å vite at det første trinnet i en hemmelig lekkasje er tilbakekalling/reversering og bruk av kunstig intelligens kun i autoriserte systemer, til forsvarsformål, innenfor juridiske grenser

Hvor raskt et system distribueres betyr ikke noe den dagen det kompromitteres. Mens DevOps fokuserer på hastighet, er sikkerhet noen ganger overlatt til slutten - og sikkerhet overlatt til slutten kommer ofte ikke i det hele tatt. DevSecOps er tilnærmingen som plasserer sikkerhet i begynnelsen og ved hvert trinn i DevOps-flyten: "skifte sikkerheten til venstre" - det vil si å fange opp en sårbarhet i pipelinen, mens koden skrives, i stedet for i prod. For DevSecOps-profesjonelle er sikkerhet ikke jobben til et eget team, men er en del av hver forpliktelse, hvert bilde, hvert manifest.

Det er to hovedakser i denne enheten. Den første er hemmelighetshåndtering: sikker generering, lagring, distribusjon og rotasjon av konfidensiell informasjon som passord, nøkler, sertifikater. Den andre er sikkerhetsskanning og herding: finne sårbarheter i avhengigheter, bilder, konfigurasjoner. AI er en kraftig assistent på begge - den avslører sårbarheter, prioriterer skanneutganger, anbefaler rettinger. Men det mest kritiske forbeholdet gjelder her: AI er for forsvar; Uautorisert tilgang til andres system, uautorisert skanning eller opprettelse av et angrepsverktøy er ulovlig og er den strenge grensen for denne plattformen.

Gylne regler for Secrets-administrasjon

  1. Secret kommer aldri inn i kildekoden. Ikke Dockerfile, ikke YAML, ikke script, ikke Git. Når du har gått inn i Git, vedvarer hemmeligheten i fortiden.
  2. Hemmeligheter oppbevares i et sentralt hvelv. HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager – disse lagrer hemmelighetene kryptert, kontrollerer tilgangen og holder styr på dem.
  3. Det injiseres ved operasjonstidspunktet. Applikasjonen henter hemmeligheten fra hvelvet eller miljøvariabelen mens den kjører, ikke fra disken.
  4. Den roterer regelmessig. Jo lenger en hemmelighet lever, jo større er risikoen for lekkasje. Autospinn er ideelt.
  5. Minimal autoritet. Bare tjenesten som trenger det kan få tilgang til hver hemmelighet.
Tips: Det mest effektive mottiltaket er å sette en hemmelig skanner (som git-hemmeligheter, gitleaks, trufflehog) i pipelinen: den stopper commit hvis en hemmelighet forsøkes begått ved et uhell. Dette stopper lekkasjen ved kilden. AI hjelper med å skrive pipeline-integrasjonen til disse nettleserne.

Trinn for trinn: svare på en hemmelig lekkasje

Hvis en hemmelighet er lekket, ikke få panikk, rekkefølgen er viktig:

  1. Avbryt og roter umiddelbart. Ugyldig lekk nøkkel, generer ny. Bare å slette det er ikke nok - det forblir i fortiden.
  2. Vurder virkningen. Hvor fikk denne nøkkelen tilgang? Har den blitt misbrukt? Undersøk loggene.
  3. Slå av kilden. Hvordan lekket det? Tøm kode, historikk; Men husk: kansellering kommer før clearing.
  4. Forhindre. Legg til den hemmelige nettleseren i rørledningen slik at den ikke gjentar seg.
OBS: Den dyreste innsatsen er å ikke returnere en lekket hemmelighet bare fordi "ingen så den". En nøkkel som slippes inn i et offentlig depot, skannes av roboter i løpet av sekunder. Når du er i tvil, roter - rotasjonskostnadene er lave, kostnadene for lekkasje er katastrofale.

Typer sikkerhetsskanninger

DevSecOps bruker flere lag med skanning; AI er nyttig for å tolke utdataene til hver:

  • SCA (Software Composition Analysis): Finner kjente sårbarheter (CVE) i åpen kildekodeavhengighetene du bruker.
  • SAST (Static Application Security Testing): Skanner kildekoden for sårbarheter uten å kjøre den.
  • DAST (Dynamic Application Security Testing): Tester den kjørende applikasjonen eksternt.
  • Bildeskanning: Finner sårbarheter i containerbildet (trivy, docker speider).
  • IaC-skanning: Finner feilkonfigurasjoner i Terraform/manifester (tfsec, checkov).
Forsiktig: En skanner dumper hundrevis av funn; Det er umulig å fikse dem alle samtidig. Bruk AI til å prioritere funn: hvilke er virkelig utnyttbare, hvilke er åpenbare i teorien, men utilgjengelige i praksis? Men verifiser den endelige prioriteringen med din egen kontekst.

Tabell over rasterlag

lag

Hva skanner den?

prøvekjøretøy

når

SCA

Avhengighetssårbarheter (CVE)

Dependabot, Snyk

hvert bygg

SAST

Kildekodesårbarheter

Semgrep, CodeQL

Hver PR

bildeskanning

Beholdersårbarheter

Trivy, speider

Etter bygging

IaC-skanning

Feilkonfigurasjon

tfsec, checkov

Terraform PR

hemmelig skanning

Lekkede hemmeligheter

gitleaks

Hver forpliktelse

tre minisaker

Tilfelle 1 – 300 CVE-er, 12 reelle risikoer. En bildeskanning rapporterte 300 sårbarheter; Teamet ble lammet. Gi skanneutgangen til AI og spør "hvilke kan utnyttes eksternt og er de tilgjengelige?" De prioriterte det. AI fremhevet 12 virkelige risikable funn. Teamet stengte dem først; Resten leide han på planlagt basis. Prioriter fremfor panikk.

Tilfelle 2 - rotasjon avverget et angrep. En utvikler presset ved et uhell en skynøkkel til et offentlig depot. Alarmen gikk; Teamet kansellerte og returnerte nøkkelen på 4 minutter. Loggene viste at nøkkelen allerede var forespurt fra en bot - men den var nå ugyldig. Den raske omløpet forhindret en potensiell faktureringskatastrofe og datalekkasje.

Tilfelle 3 – IaC-skanning fanget en åpen bøtte. En AI-assistert IaC-skanning fanget opp en lagringsbøtte i Terraform-kode som hadde «public read»-tillatelse uten å gå til prod. Utvikleren hadde åpnet den «for testing» og glemte å lukke den. Pipeline stoppet forpliktelsen; åpen kom aldri til prod. Det er akkurat det som er poenget med å sveipe til venstre.

Fire kopierbare maler

1) Prioriter skanneutdata:

Prioriter sikkerhetsskanningen nedenfor. For hvert funn:(1) er det virkelig utnyttbart (fjernt/uautentisert?),(2) er det tilgjengelig i vår kontekst, (3) utbedringsarbeid,(4) anbefalt prioritet (kritisk/høy/middels/lav). Fremhev de 5 mest presserende. Snakk tydelig; indikerer at jeg må validere hver prioritet med konteksten min. Utdata: [SCAN]

2) Design for hemmelig ledelse:

Foreslå en tilnærming til hemmelighetsbehandling for [APPLIKASJON/INFRstruktur]: hvilket hvelv, hvordan injisere hemmeligheter under kjøring, hvordan automatisere rotasjon, hvordan håndheve minimale privilegier? Beskriv en konkret flyt som ALDRI legger inn hemmeligheten i koden.

3) Søker etter sårbarheter i koden (forsvar):

Sjekk min EGEN kode nedenfor for sikkerhet (jeg har tillatelse): er det noen injeksjon, innebygd hemmelighet, usikker standard, uvalidert input? Gi hvert funn sin betydning og rettelse. Formålet er forsvar og konsolidering. Kode: [CODE]

4) Hemmelig lekkasjeresponsplan:

En [HEMMELIG TYPE] kan ha infiltrert [LOCATION] ved et uhell. Gi meg trinnvis intervensjonsordre: hva bør jeg gjøre først (kansellering/retur), hvordan evaluere effekten, hvordan forhindre gjentakelse? Forklar også hvorfor bare sletting ikke er nok.

Svak forespørsel / Sterk forespørsel

Svak: "Hvordan hacker jeg dette systemet/utnytter denne sårbarheten?"

Denne forespørselen er både uetisk og strengt tatt utenfor denne plattformens grenser. Det er ulovlig å bruke AI til angrep.

Strong: "Godkjenn koden til min egen applikasjon for sikkerhet: finn innebygde hemmeligheter, injeksjonsrisikoer og usikre mislighold, fiks hver av dem. Målet er å herde systemet."

Forskjell: den andre forespørselen er for defensive formål, innenfor myndighetsgrensene og for konsolidering. Dette er riktig bruk av AI i DevSecOps.

Vanlige feil

  • Innebygging av hemmeligheten i kode/historie. Den vanligste og vedvarende sårbarheten.
  • Ikke returnerer den lekkede hemmeligheten. «Ingen har sett det» er det dyreste veddemålet.
  • Ser på alle screeningsfunn som like. Å bli lammet av prioritering eller manglende reell risiko.
  • Overlater sikkerheten til å vare. Gapet i prod er mange ganger dyrere enn gapet i rørledningen.
  • Omgå minimal autoritet. En hemmelighet/rolle som har tilgang til alt gjør en enkelt lekkasje til en katastrofe.
  • Prøver å bruke AI for angrep. Ulovlig og utenfor plattformen.

Oppsummert

DevSecOps plasserer sikkerhet i begynnelsen og ved hvert trinn i DevOps-flyten – fanger opp sårbarheter i kode og pipeline, ikke i prod. Gylne regler for hemmelighetshåndtering: hemmeligheten kommer ikke inn i koden, oppbevares i sentralhvelvet, injiseres under kjøring, returneres regelmessig og åpnes med minimale privilegier. Det første trinnet i en lekkasje er alltid avbryt/retur. AI er kraftig til å prioritere skanneutdata, designe hemmelige flyter og defensivt inspisere kode – men den brukes bare defensivt og innenfor lovlige grenser på systemer du har autoritet over.

Søknadsoppgave

Ta på deg et eget prosjekt (som du har myndighet til). (1) Få de innebygde hemmelige og usikre standardinnstillingene sjekket med malen "Looking for vulnerabilities in code". (2) Sorter en sikkerhetsskanning (faktisk eller prøve) gjennom "triage"-malen og identifiser de 3 mest presserende funnene. (3) Lag et flytutkast for prosjektet ditt med malen "hemmelig administrasjonsdesign" som fjerner hemmeligheten fra koden fullstendig.

sjekkliste

  • [ ] Jeg har bekreftet at det ikke er innebygde hemmeligheter i koden, bildet og manifestene mine.
  • [ ] Jeg oppbevarer hemmelighetene i et sentralhvelv og injiserer dem under kjøring.
  • [ ] Jeg vet at det første trinnet i et lekkasjescenario er avbryting/retur.
  • [ ] Jeg prioriterte skannefunnene basert på utnyttelsesevne og konteksten min.
  • [ ] Jeg flyttet sikkerhetsskanninger til de tidlige trinnene i rørledningen (til venstre).
  • [ ] Jeg har bare brukt AI til defensive formål på systemer der jeg har autoritet.