Softwareudviklingspipelines giver cyberkriminelle 'fri rækkevidde' adgang til Cloud, On-Prem PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Softwareudviklingspipelines giver cyberkriminelle 'frit rækkevidde' adgang til cloud, on-prem

Kontinuerlig integration/kontinuerlig udvikling (CI/CD) pipelines kan være den farligste potentielle angrebsoverflade af softwareforsyningskæden, siger forskere, efterhånden som cyberangribere øger deres interesse i at søge efter svagheder.

Angrebsoverfladen vokser også: CI/CD-pipelines er i stigende grad en fast bestanddel inden for virksomhedssoftwareudviklingsteams, som bruger dem til at bygge, teste og implementere kode ved hjælp af automatiserede processer. Men overtilladelser, mangel på netværkssegmentering og dårlige hemmeligheder og patch-håndtering plager deres implementering, hvilket giver kriminelle mulighed for at kompromittere dem til frit at spænde mellem lokale og cloud-miljøer.

På Black Hat USA onsdag den 10. august går Iain Smart og Viktor Gazdag fra sikkerhedskonsulentfirmaet NCC Group på scenen under "RCE-as-a-Service: Erfaringer fra 5 års real-World CI/CD Pipeline-kompromis,” for at diskutere rækken af ​​succesfulde forsyningskædeangreb, de har udført i produktions-CI/CD-pipelines for stort set alle virksomheder, som firmaet har testet.

NCC Group har overvåget flere dusin vellykkede kompromiser af mål, lige fra små virksomheder til Fortune 500-virksomheder. I tillæg til sikkerhedsfejl, siger forskerne, at nye misbrug af tilsigtet funktionalitet i automatiserede pipelines har givet dem mulighed for at konvertere pipelines fra et simpelt udviklerværktøj til remote code execution (RCE)-as-a-service.

"Jeg håber, folk vil give lidt mere kærlighed til deres CI/CD-pipelines og anvende alle eller mindst en eller to anbefalinger fra vores session," siger Gazdag. "Vi håber også, at dette vil sætte gang i mere sikkerhedsforskning om emnet."

Tara Seals, Dark Readings administrerende redaktør for nyheder, satte sig sammen med Viktor Gazdag, administrerende sikkerhedskonsulent for NCC Group, for at finde ud af mere.

Tara Seals: Hvad er nogle af de mere almindelige sikkerhedssvagheder i CI/CD-pipelines, og hvordan kan disse misbruges?

Viktor Gazdag: Vi ser regelmæssigt tre almindelige sikkerhedssvagheder, som kræver mere opmærksomhed:

1) Hardkodede legitimationsoplysninger i Version Control System (VCS) eller Source Control Management (SCM).

Disse omfatter shell-scripts, login-filer, hårdkodede legitimationsoplysninger i konfigurationsfiler, der er gemt på samme sted som koden (ikke separat eller i hemmelige administrationsapps). Vi finder også ofte adgangstokens til forskellige cloudmiljøer (udvikling, produktion) eller visse tjenester inden for skyen såsom SNS, Database, EC2 osv.

Vi finder også stadig legitimationsoplysninger til at få adgang til den understøttende infrastruktur eller til CI/CD-pipeline. Når en angriber får adgang til skymiljøet, kan de opregne deres privilegier, lede efter fejlkonfigurationer eller forsøge at hæve deres privilegier, da de allerede er i skyen. Med adgang til CI/CD-pipelinen kan de se byggehistorikken, få adgang til artefakter og hemmeligheder, der blev brugt (f.eks. SAST-værktøjet og dets rapporter om sårbarheder eller skyadgangstokens) og i værste fald scenarier, injicer vilkårlig kode (bagdør, SolarWinds) i den applikation, der vil blive kompileret, eller få fuldstændig adgang til produktionsmiljøet.

2) Over-permissive roller.

Udviklere eller tjenestekonti har ofte en rolle knyttet til deres konti (eller kan antage en), der har flere tilladelser end nødvendigt for at udføre det krævede job.

De kan få adgang til flere funktioner, såsom konfiguration af systemet eller hemmeligheder, der omfatter både produktions- og udviklingsmiljøer. De kan muligvis omgå sikkerhedskontroller, såsom godkendelse af andre udviklere, eller ændre pipelinen og fjerne ethvert SAST-værktøj, der kan hjælpe med at søge efter sårbarheder.

Da pipelines kan få adgang til produktions- og testimplementeringsmiljøer, kan de, hvis der ikke er nogen segmentering mellem dem, fungere som en bro mellem miljøer, selv mellem on-prem og cloud. Dette vil give en angriber mulighed for at omgå firewalls eller enhver alarmering og frit bevæge sig mellem miljøer, som ellers ikke ville være mulige.

3) Manglende revision, overvågning og alarmering.

Dette er det mest forsømte område, og 90 % af tiden konstaterede vi mangel på overvågning og advarsler om enhver konfigurationsændring eller bruger-/rollestyring, selvom revisionen var slået til eller aktiveret. Det eneste, der kan overvåges, er den vellykkede eller mislykkede jobsamling eller opbygning.

Der er også mere almindelige sikkerhedsproblemer, såsom mangel på netværkssegmentering, hemmelig styring og patch-styring osv., men disse tre eksempler er udgangspunkter for angreb, der kræves for at reducere den gennemsnitlige registreringstid for brud, eller er vigtige at begrænse angrebssprængningsradius.

TS: Har du nogle konkrete eksempler fra den virkelige verden eller konkrete scenarier, du kan pege på?

VG: Nogle angreb i nyhederne, der er relateret til CI/CD eller pipeline-angreb, omfatter:

  • CCleaner angreb, Marts 2018
  • Hjemmebrygget, august 2018
  • Asus ShadowHammer, Marts 2019
  • CircleCI tredjepartsbrud, september 2019
  • SolarWinds, December 2020
  • Codecovs bash-uploader-script, april 2021
  • TravisCI uautoriseret adgang til hemmeligheder, september 2021

TS: Hvorfor er svagheder i automatiserede rørledninger problematiske? Hvordan vil du karakterisere risikoen for virksomheder?

VG: Der kan bruges hundredvis af værktøjer i pipeline-trin, og på grund af dette er den enorme viden, som nogen har brug for at kende, enorm. Derudover har pipelines netværksadgang til flere miljøer og flere legitimationsoplysninger til forskellige værktøjer og miljøer. At få adgang til pipelines er som at få et gratis rejsepas, der giver angribere adgang til ethvert andet værktøj eller miljø, der er knyttet til pipelinen.

TS: Hvad er nogle af de angrebsudfald, virksomheder kan lide, hvis en modstander med succes undergraver en CI/CD-pipeline?

VG: Angrebsresultater kan omfatte at stjæle kildekode eller intellektuelle data, bagdøre af en applikation, der er implementeret til tusindvis af kunder (som SolarWinds), at få adgang til (og frit bevæge sig mellem) flere miljøer såsom udvikling og produktion, både on-prem eller i sky eller begge dele.

TS: Hvor sofistikerede skal modstandere være for at kompromittere en pipeline?

VG: Det, vi præsenterer på Black Hat, er ikke nul-dages sårbarheder (selvom jeg fandt nogle sårbarheder i forskellige værktøjer) eller nogen nye teknikker. Kriminelle kan angribe udviklere via phishing (kapring af sessioner, omgåelse af multifaktorgodkendelse, tyveri af legitimationsoplysninger) eller CI/CD-pipelinen direkte, hvis den ikke er beskyttet og vendt mod internettet.

NCC Group udførte endda sikkerhedsvurderinger, hvor vi i første omgang testede webapplikationer. Det, vi fandt, er, at CI/CD-pipelines sjældent logges og overvåges med advarsel, bortset fra softwareopbygnings-/kompileringsjobbet, så kriminelle behøver ikke at være så forsigtige eller sofistikerede for at kompromittere en pipeline.

TS: Hvor almindelige er disse typer angreb, og hvor bred af en angrebsoverflade repræsenterer CI/CD-pipelines?

VG: Der er flere eksempler på angreb fra den virkelige verden i nyhederne, som nævnt. Og du kan stadig finde f.eks. Jenkins tilfælde med Shodan på internettet. Med SaaS kan kriminelle opregne og forsøge at brutalt tvinge adgangskoder for at få adgang, da de ikke har multifaktorautentificering aktiveret som standard eller IP-begrænsninger og er internetvendte.

Med fjernarbejde er pipelines endnu sværere at sikre, da udviklere ønsker adgang fra hvor som helst og når som helst, og IP-begrænsninger er ikke nødvendigvis gennemførlige længere, da virksomheder bevæger sig mod nul-tillid-netværk eller har skiftende netværksplaceringer.

Pipelines har normalt netværksadgang til flere miljøer (hvilket de ikke burde) og har adgang til flere legitimationsoplysninger til forskellige værktøjer og miljøer. De kan fungere som en bro mellem on-prem og cloud, eller produktions- og testsystemer. Dette kan være en meget bred angrebsflade, og angreb kan komme fra flere steder, selv dem, der ikke har noget at gøre med selve pipelinen. Hos Black Hat præsenterer vi to scenarier, hvor vi oprindeligt startede med test af webapplikationer.

TS: Hvorfor forbliver CI/CD-pipelines en sikkerhedsblind plet for virksomheder?

VG: Mest på grund af manglen på tid, nogle gange manglen på mennesker og i nogle tilfælde mangel på viden. CI/CD-pipelines er ofte skabt af udviklere eller IT-teams med begrænset tid og med fokus på hastighed og levering, eller udviklere bliver simpelthen overbelastet med arbejde.

CI/CD-pipelines kan være meget eller ekstremt komplekse og kan omfatte hundredvis af værktøjer, interagere med flere miljøer og hemmeligheder og bruges af flere mennesker. Nogle mennesker oprettede endda en periodisk tabel-repræsentation af de værktøjer, der kan bruges i en pipeline.

Hvis en virksomhed afsætter tid til at skabe en trusselsmodel for den pipeline, de bruger, og de understøttende miljøer, vil de se sammenhængen mellem miljøer, grænser og hemmeligheder, og hvor angrebene kan ske. Oprettelse og løbende opdatering af trusselsmodellen bør ske, og det tager tid.

TS: Hvad er nogle bedste praksisser for at styrke sikkerheden for rørledninger?

VG: Anvend netværkssegmentering, brug princippet med mindst privilegium til rolleoprettelse, begræns omfanget af en hemmelighed i hemmelighedshåndtering, anvend sikkerhedsopdateringer hyppigt, verificer artefakter og overvåg for og advare om konfigurationsændringer.

TS: Er der andre tanker, du gerne vil dele?

VG: Selvom cloud-native eller cloud-baserede CI/CD-pipelines er mere enkle, så vi stadig de samme eller lignende problemer, såsom over-permissive roller, ingen segmentering, over-scoped hemmeligheder og mangel på advarsel. Det er vigtigt for virksomheder at huske, at de også har sikkerhedsansvar i skyen.

Tidsstempel:

Mere fra Mørk læsning