Enhet 10 / 11

Säkerhets- och hemlighetshantering: DevSecOps och artificiell intelligens

Vinster:

  • Förmåga att förstå DevSecOps och de gyllene reglerna för hemlighetshantering (anger inte kod, förvaras i valvet, injiceras under körning, returneras, minst privilegier)
  • Möjlighet att använda artificiell intelligens för att prioritera säkerhetsskanningsutgångar (SCA, SAST, bild, IaC, hemlig) och revisionskod för defensiva ändamål
  • Att veta att det första steget i en hemlig läcka är återkallelse/reversering och att använda artificiell intelligens endast i auktoriserade system, för försvarsändamål, inom lagliga gränser

Hur snabbt ett system distribueras betyder ingenting den dag det äventyras. Medan DevOps fokuserar på hastighet, lämnas säkerheten ibland till slutet – och säkerheten som lämnas till slutet kommer ofta inte alls. DevSecOps är tillvägagångssättet som placerar säkerheten i början och vid varje steg i DevOps-flödet: "skifta säkerheten åt vänster" – det vill säga fånga en sårbarhet i pipelinen, medan koden skrivs, snarare än i prod. För DevSecOps-proffsen är säkerhet inte jobbet för ett separat team, utan är en del av varje åtagande, varje bild, varje manifest.

Det finns två huvudaxlar i denna enhet. Den första är hemlighetshantering: säker generering, lagring, distribution och rotation av konfidentiell information som lösenord, nycklar, certifikat. Det andra är säkerhetsskanning och -härdning: hitta sårbarheter i beroenden, bilder, konfigurationer. AI är en kraftfull assistent för båda – den avslöjar sårbarheter, prioriterar skanningsutdata, rekommenderar korrigeringar. Men den mest kritiska varningen gäller här: AI är för försvar; Obehörig åtkomst till någon annans system, obehörig skanning eller skapande av ett attackverktyg är olagligt och är den strikta gränsen för denna plattform.

Gyllene regler för Secrets management

  1. Secret kommer aldrig in i källkoden. Inte Dockerfile, inte YAML, inte script, inte Git. När du väl har gått in i Git, kvarstår hemligheten i det förflutna.
  2. Hemligheter förvaras i ett centralt valv. HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager – dessa lagrar hemligheter krypterade, kontrollerar åtkomst och håller reda på dem.
  3. Det injiceras vid operationstillfället. Applikationen hämtar hemligheten från valvet eller miljövariabeln medan den körs, inte från disken.
  4. Den roterar regelbundet. Ju längre en hemlighet lever, desto större är risken för läckage. Autospin är idealiskt.
  5. Minimal auktoritet. Endast tjänsten som behöver den kan komma åt varje hemlighet.
Tips: Den enskilt mest effektiva motåtgärden är att sätta en hemlig skanner (som git-hemligheter, gitleaks, tryffelsvin) i pipelinen: den stoppar commit om en hemlighet av misstag försöker begås. Detta stoppar läckan vid källan. AI hjälper till att skriva pipelineintegreringen av dessa webbläsare.

Steg för steg: svara på en hemlig läcka

Om en hemlighet läcker ut, få inte panik, ordern är viktig:

  1. Avbryt och rotera omedelbart. Ogiltigförklara läckt nyckel, generera ny. Det räcker inte att bara radera det – det förblir i det förflutna.
  2. Utvärdera effekten. Var fick denna nyckel åtkomst? Har den blivit missbrukad? Undersök loggarna.
  3. Stäng av källan. Hur läckte det? Rensa kod, historik; Men kom ihåg: avbokning kommer före rensning.
  4. Förhindra. Lägg till den hemliga webbläsaren i pipeline så att den inte upprepas.
Observera: Den dyraste satsningen är att inte returnera en läckt hemlighet bara för att "ingen såg den". En nyckel som tappas in i ett offentligt arkiv skannas av bots inom några sekunder. Om du är osäker, rotera - kostnaden för rotation är låg, kostnaden för läckage är katastrofal.

Typer av säkerhetsskanningar

DevSecOps använder flera lager av skanning; AI är till hjälp för att tolka utdata från var och en:

  • SCA (Software Composition Analysis): Hittar kända sårbarheter (CVE) i de öppen källkodsberoenden du använder.
  • SAST (Static Application Security Testing): Skannar källkod efter sårbarheter utan att köra den.
  • DAST (Dynamic Application Security Testing): Testar den applikation som körs externt.
  • Bildskanning: Hittar sårbarheter i containerbilden (trivy, docker scout).
  • IaC-skanning: Hittar felkonfigurationer i Terraform/manifests (tfsec, checkov).
Varning: En skanner dumpar hundratals fynd; Det är omöjligt att fixa dem alla samtidigt. Använd AI för att prioritera fynd: vilka är verkligen exploaterbara, vilka är uppenbara i teorin men otillgängliga i praktiken? Men verifiera den slutliga prioriteringen med ditt eget sammanhang.

Tabell över rasterlager

lager

Vad skannar den?

provfordon

när

SCA

Dependency vulnerabilities (CVE)

Dependabot, Snyk

varje byggnad

SAST

Källkodssårbarheter

Semgrep, CodeQL

Varje PR

bildskanning

Containersårbarheter

Trivy, scout

Efter bygget

IaC-skanning

Felkonfiguration

tfsec, checkov

Terraform PR

hemlig skanning

Läckta hemligheter

gitleaks

Varje engagemang

tre minifodral

Fall 1 — 300 CVE, 12 verkliga risker. En bildskanning rapporterade 300 sårbarheter; Teamet var förlamat. Ge skanningsutgången till AI och fråga "vilka kan användas på distans och är de tillgängliga?" De prioriterade det. AI lyfte fram 12 verkliga riskfyllda fynd. Teamet stängde först ner dem; Resten anställde han på planerad basis. Prioritera framför panik.

Fall 2 — rotation förhindrade ett angrepp. En utvecklare tryckte av misstag en molnnyckel till ett offentligt arkiv. Larmet gick; Teamet avbröt och lämnade tillbaka nyckeln på 4 minuter. Loggarna visade att nyckeln redan hade frågats från en bot - men den var nu ogiltig. Den snabba vändningen förhindrade en potentiell faktureringskatastrof och dataläcka.

Fall 3 – IaC-skanning fångade en öppen hink. En AI-assisterad IaC-skanning fångade en lagringshink i Terraform-kod med "public read"-tillstånd utan att gå till prod. Utvecklaren hade öppnat den "för testning" och glömt att stänga den. Pipeline stoppade commit; öppen kom aldrig till prod. Det är precis det som är meningen med att svepa åt vänster.

Fyra kopierbara mallar

1) Prioritera skanningsutdata:

Prioritera säkerhetsskanningen nedan. För varje fynd:(1) går det verkligen att exploatera (fjärr/oautentiserat?),(2) är det tillgängligt i vårt sammanhang, (3) saneringsarbete,(4) rekommenderad prioritet (kritisk/hög/medel/låg). Markera de 5 mest brådskande. Tala tydligt; indikera att jag måste validera varje prioritet med mitt sammanhang. Utdata: [SCAN]

2) Design för hemlig hantering:

Föreslå ett tillvägagångssätt för hemlighetshantering för [APPLICATION/INFRstructure]: vilket valv, hur man injicerar hemligheter under körning, hur man automatiserar rotation, hur man upprätthåller minimala privilegier? Beskriv ett konkret flöde som ALDRIG bäddar in hemligheten i koden.

3) Söker efter sårbarheter i koden (försvar):

Kontrollera min EGEN kod nedan för säkerhet (jag har tillstånd): finns det någon injektion, inbäddad hemlighet, osäker standard, ovaliderad inmatning? Ge varje fynd dess betydelse och korrigering. Syftet är försvar och konsolidering. Kod: [CODE]

4) Reaktionsplan för hemlig läcka:

En [HEMLIG TYP] kan av misstag ha infiltrerat [PLATS]. Ge mig steg för steg interventionsorder: vad ska jag göra först (avbokning/retur), hur utvärderar jag effekten, hur förhindrar jag återfall? Förklara också varför det inte räcker att bara ta bort.

Svag prompt / Stark prompt

Svag: "Hur hackar jag det här systemet/exploaterar denna sårbarhet?"

Denna begäran är både oetisk och strikt utanför denna plattforms gränser. Det är olagligt att använda AI för attack.

Strong: "Auktorisera koden för min egen applikation för säkerhet: hitta inbäddade hemligheter, injektionsrisker och osäkra standarder, fixa var och en av dem. Målet är att hårdna systemet."

Skillnad: den andra begäran är avsedd för defensiva syften, inom befogenheternas gränser och för konsolidering. Detta är korrekt användning av AI i DevSecOps.

Vanliga misstag

  • Bädda in hemligheten i kod/historik. Den vanligaste och ihållande sårbarheten.
  • Inte återlämna den läckta hemligheten. "Ingen har sett den" är den dyraste satsningen.
  • Att se alla screeningfynd som lika. Att bli förlamad av prioritering eller att missa verklig risk.
  • Lämnar säkerheten för att bestå. Gapet i prod är många gånger dyrare än gapet i pipeline.
  • Förbigående minimal auktoritet. En hemlighet/roll som har tillgång till allt gör en enda läcka till en katastrof.
  • Försöker använda AI för attack. Olagligt och utanför plattformen.

Sammanfattningsvis

DevSecOps placerar säkerhet i början och i varje steg av DevOps-flödet – fångar upp sårbarheter i kod och pipeline, inte i prod. Gyllene regler för hemlighetshantering: hemligheten kommer inte in i koden, förvaras i centralvalvet, injiceras under körning, returneras regelbundet och nås med minimala privilegier. Det första steget i en läcka är alltid avbryt/retur. AI är kraftfull när det gäller att prioritera skanningsutdata, designa hemliga flöden och defensivt inspektera kod – men den används bara defensivt och inom lagliga gränser på system du har auktoritet över.

Applikationsuppgift

Ta dig an ett eget projekt (som du har befogenhet för). (1) Låt de inbäddade hemliga och osäkra standardinställningarna kontrolleras med mallen "Looking for vulnerabilities in code". (2) Sortera en säkerhetsskanning (faktisk eller prov) genom "triage"-mallen och identifiera de 3 mest brådskande fynden. (3) Skapa ett flödesutkast för ditt projekt med mallen "hemlig hanteringsdesign" som helt tar bort hemligheten från koden.

checklista

  • [ ] Jag har verifierat att det inte finns några inbäddade hemligheter i min kod, bild och manifest.
  • [ ] Jag förvarar hemligheterna i ett centralt valv och injicerar dem under körning.
  • [ ] Jag vet att det första steget i ett läckagescenario är avbrytning/retur.
  • [ ] Jag prioriterade skanningsfynden utifrån exploateringsbarhet och mitt sammanhang.
  • [ ] Jag flyttade säkerhetsskanningar till de tidiga stegen i pipelinen (till vänster).
  • [ ] Jag har bara använt AI i defensiva syften på system där jag har auktoritet.