Programvareutviklingspipelines tilbyr nettkriminelle 'fritt rekkevidde' tilgang til skybasert PlatoBlockchain-dataintelligens. Vertikalt søk. Ai.

Programvareutviklingspipelines gir nettkriminelle 'fri rekkevidde' tilgang til nettskyen

Kontinuerlig integrering/kontinuerlig utvikling (CI/CD)-rørledninger kan være den farligste potensielle angrepsoverflaten i programvareforsyningskjeden, sier forskere, ettersom cyberangripere øker interessen for å lete etter svakheter.

Angrepsoverflaten vokser også: CI/CD-rørledninger er i økende grad en inventar i programvareutviklingsteam for bedrifter, som bruker dem til å bygge, teste og distribuere kode ved hjelp av automatiserte prosesser. Men overtillatelse, mangel på nettverkssegmentering og dårlige hemmeligheter og patchhåndtering plager implementeringen, og gir kriminelle muligheten til å kompromittere dem til å fritt spenne mellom lokale og skymiljøer.

På Black Hat USA onsdag 10. august vil Iain Smart og Viktor Gazdag fra sikkerhetskonsulentfirmaet NCC Group gå på scenen under "RCE-as-a-Service: Lessons Learned from 5 Years of Real-World CI/CD Pipeline-kompromiss,” for å diskutere rekke vellykkede forsyningskjedeangrep de har utført i produksjons-CI/CD-rørledninger for praktisk talt alle selskaper firmaet har testet.

NCC Group har overvåket flere dusin vellykkede kompromisser av mål, alt fra små bedrifter til Fortune 500-selskaper. I tillegg til sikkerhetsfeil, sier forskerne at nye misbruk av tiltenkt funksjonalitet i automatiserte rørledninger har tillatt dem å konvertere rørledninger fra et enkelt utviklerverktøy til ekstern kjøring av kode (RCE)-som-en-tjeneste.

"Jeg håper folk vil gi litt mer kjærlighet til CI/CD-rørledningene sine og bruke alle eller minst én eller to anbefalinger fra økten vår," sier Gazdag. "Vi håper også dette vil utløse mer sikkerhetsforskning om emnet."

Tara Seals, Dark Readings administrerende redaktør for nyheter, satte seg ned med Viktor Gazdag, administrerende sikkerhetskonsulent i NCC Group, for å finne ut mer.

Tara Seals: Hva er noen av de vanligste sikkerhetssvakhetene i CI/CD-rørledninger, og hvordan kan disse misbrukes?

Viktor Gazdag: Vi ser tre vanlige sikkerhetssvakheter regelmessig som krever mer oppmerksomhet:

1) Hardkodet legitimasjon i versjonskontrollsystem (VCS) eller kildekontrollstyring (SCM).

Disse inkluderer shell-skript, påloggingsfiler, hardkodet legitimasjon i konfigurasjonsfiler som er lagret på samme sted som koden (ikke separat eller i hemmelige administrasjonsapper). Vi finner også ofte tilgangstokener til forskjellige skymiljøer (utvikling, produksjon) eller visse tjenester innenfor skyen som SNS, Database, EC2, etc.

Vi finner også fortsatt legitimasjon for å få tilgang til støtteinfrastrukturen eller til CI/CD-rørledningen. Når en angriper får tilgang til skymiljøet, kan de telle opp privilegiene sine, se etter feilkonfigurasjoner eller prøve å heve privilegiene sine ettersom de allerede er i skyen. Med tilgang til CI/CD-pipelinen kan de se byggehistorien, få tilgang til artefaktene og hemmelighetene som ble brukt (for eksempel SAST-verktøyet og dets rapporter om sårbarheter eller skytilgangstokener) og i verste fall, injiser vilkårlig kode (bakdør, SolarWinds) i applikasjonen som skal kompileres, eller få full tilgang til produksjonsmiljøet.

2) Over-permissive roller.

Utviklere eller tjenestekontoer har ofte en rolle knyttet til kontoene deres (eller kan anta en) som har flere tillatelser enn nødvendig for å utføre jobben som kreves.

De kan få tilgang til flere funksjoner, for eksempel konfigurering av systemet eller hemmeligheter som gjelder både produksjons- og utviklingsmiljøer. De kan kanskje omgå sikkerhetskontroller, for eksempel godkjenning av andre utviklere, eller endre rørledningen og fjerne ethvert SAST-verktøy som kan hjelpe med å søke etter sårbarheter.

Ettersom rørledninger kan få tilgang til produksjons- og testdistribusjonsmiljøer, hvis det ikke er segmentering mellom dem, kan de fungere som en bro mellom miljøer, selv mellom on-prem og sky. Dette vil tillate en angriper å omgå brannmurer eller andre varsler og fritt bevege seg mellom miljøer som ellers ikke ville vært mulig.

3) Mangel på revisjon, overvåking og varsling.

Dette er det mest forsømte området, og 90 % av gangene fant vi mangel på overvåking og varsling på konfigurasjonsendringer eller bruker-/rolleadministrasjon, selv om revisjonen var slått på eller aktivert. Det eneste som kan overvåkes er den vellykkede eller mislykkede jobbsammenstillingen eller byggingen.

Det er også mer vanlige sikkerhetsproblemer, for eksempel mangel på nettverkssegmentering, hemmelig administrasjon og patchhåndtering, etc., men disse tre eksemplene er startpunkter for angrep som kreves for å redusere den gjennomsnittlige brudddeteksjonstiden, eller er viktige å begrense angreps sprengningsradius.

TS: Har du noen konkrete eksempler fra den virkelige verden eller konkrete scenarier du kan peke på?

VG: Noen angrep i nyhetene som er relatert til CI/CD eller pipeline-angrep inkluderer:

  • CCleaner angrep, Mars 2018
  • Hjemmebrygg, august 2018
  • Asus ShadowHammer, Mars 2019
  • CircleCI tredjeparts brudd, september 2019
  • Solarwinds, Desember 2020
  • Codecovs bash-opplastingsskript, april 2021
  • TravisCI uautorisert tilgang til hemmeligheter, september 2021

TS: Hvorfor er svakheter i automatiserte rørledninger problematiske? Hvordan vil du karakterisere risikoen for selskaper?

VG: Det kan være hundrevis av verktøy som brukes i pipeline-trinn, og på grunn av dette er den enorme kunnskapen noen trenger å vite enorm. I tillegg har rørledninger nettverkstilgang til flere miljøer, og flere påloggingsinformasjon for forskjellige verktøy og miljøer. Å få tilgang til rørledninger er som å få et gratis reisepass som lar angripere få tilgang til ethvert annet verktøy eller miljø knyttet til rørledningen.

TS: Hva er noen av angrepsresultatene selskaper kan lide hvis en motstander lykkes med å undergrave en CI/CD-pipeline?

VG: Angrepsutfall kan inkludere å stjele kildekode eller intellektuell data, bakdøring av en applikasjon som er distribuert til tusenvis av kunder (som SolarWinds), få ​​tilgang til (og fritt bevege seg mellom) flere miljøer som utvikling og produksjon, både lokalt eller i sky, eller begge deler.

TS: Hvor sofistikerte må motstandere være for å kompromittere en rørledning?

VG: Det vi presenterer på Black Hat er ikke zero-day sårbarheter (selv om jeg fant noen sårbarheter i forskjellige verktøy) eller noen nye teknikker. Kriminelle kan angripe utviklere via phishing (sesjonskapring, omgåelse av multifaktorautentisering, tyveri av legitimasjon) eller CI/CD-pipelinen direkte hvis den ikke er beskyttet og er vendt mot Internett.

NCC Group utførte til og med sikkerhetsvurderinger der vi først testet webapplikasjoner. Det vi fant er at CI/CD-rørledninger sjelden logges og overvåkes med varsling, annet enn programvarebygging/kompileringsjobben, så kriminelle trenger ikke å være så forsiktige eller sofistikerte for å kompromittere en rørledning.

TS: Hvor vanlige er denne typen angrep og hvor bred angrepsoverflate representerer CI/CD-rørledninger?

VG: Det er flere eksempler på virkelige angrep i nyhetene, som nevnt. Og du kan fortsatt finne f.eks. Jenkins forekomster med Shodan på Internett. Med SaaS kan kriminelle telle opp og prøve å brutt-force passord for å få tilgang siden de ikke har multifaktorautentisering aktivert som standard eller IP-restriksjoner, og er internettvendte.

Med eksternt arbeid er rørledninger enda vanskeligere å sikre ettersom utviklere vil ha tilgang fra hvor som helst og når som helst, og IP-begrensninger er ikke nødvendigvis gjennomførbare lenger ettersom selskaper beveger seg mot null-tillit-nettverk eller har endrede nettverksplasseringer.

Rørledninger har vanligvis nettverkstilgang til flere miljøer (noe de ikke burde), og har tilgang til flere påloggingsinformasjon for forskjellige verktøy og miljøer. De kan fungere som en bro mellom on-prem og sky, eller produksjons- og testsystemer. Dette kan være en veldig bred angrepsflate og angrep kan komme fra flere steder, også de som ikke har noe med selve rørledningen å gjøre. Hos Black Hat presenterer vi to scenarier der vi opprinnelig startet med testing av nettapplikasjoner.

TS: Hvorfor forblir CI/CD-rørledninger en blindsone for bedrifter?

VG: Mest på grunn av mangel på tid, noen ganger mangel på mennesker, og i noen tilfeller mangel på kunnskap. CI/CD-pipelines lages ofte av utviklere eller IT-team med begrenset tid og med fokus på hastighet og levering, eller utviklere blir rett og slett overbelastet med arbeid.

CI/CD-rørledninger kan være svært eller ekstremt komplekse og kan inkludere hundrevis av verktøy, samhandle med flere miljøer og hemmeligheter og brukes av flere personer. Noen har til og med laget en periodisk tabell-representasjon av verktøyene som kan brukes i en pipeline.

Hvis et selskap setter av tid til å lage en trusselmodell for rørledningen de bruker og støttemiljøene, vil de se sammenhengen mellom miljøer, grenser og hemmeligheter, og hvor angrepene kan skje. Oppretting og kontinuerlig oppdatering av trusselmodellen bør gjøres, og det tar tid.

TS: Hva er noen beste praksis for å styrke sikkerheten for rørledninger?

VG: Bruk nettverkssegmentering, bruk prinsippet med minste privilegium for rolleoppretting, begrens omfanget av en hemmelighet i hemmelighetsbehandling, bruk sikkerhetsoppdateringer ofte, verifiser artefakter og overvåk etter og varsle om konfigurasjonsendringer.

TS: Er det noen andre tanker du vil dele?

VG: Selv om nettskybaserte eller skybaserte CI/CD-pipelines er enklere, så vi fortsatt de samme eller lignende problemene som over-permissive roller, ingen segmentering, overdrevne hemmeligheter og mangel på varsling. Det er viktig for bedrifter å huske at de også har sikkerhetsansvar i skyen.

Tidstempel:

Mer fra Mørk lesning