Etter hvert som programvarens forsyningskjedes livssyklus går fra kildekode til kjørbare artefakter, står byggefasen som et kritisk punkt. Likevel er denne transformative fasen også utsatt for en rekke trusler som kan sette programvarens integritet i fare. build securityDisse truslene kan infiltrere byggeprosessen gjennom ulike metoder, inkludert å omgå de etablerte CI/CD pipeline, endre kodekontroll etter kildekode, kompromittere selve byggeprosessen eller manipulere artefaktlagre. I dette blogginnlegget går vi i dybden på disse truslene og undersøker de vanligste angrepene på programvareforsyningskjeden. Dette innholdet fortsetter bloggserien vår som utforsker software supply chain security gjennom SDLC.
Byggefasen i programvareutviklingens livssyklus
Byggefasen i programvarens forsyningskjedes livssyklus omfatter prosessen med å transformere kildekode til kjørbare programvareartefakter. Denne fasen innebærer å kompilere, koble og pakke kildekoden, samt generere installasjonspakker og konfigurasjonsfiler.
Build security Trusler er sårbarheter som kan tillate en motstander å introdusere uautoriserte endringer i programvaren under byggeprosessen uten å endre kildekoden. Disse truslene kan introduseres gjennom ulike metoder, for eksempel å kompromittere byggemiljøet eller utnytte sårbarheter i byggeverktøy.

Vanligste trusler mot programvareforsyningskjeden – byggeangrep
bypass CI/CD
Dette refererer til praksisen med å omgå det etablerte CI/CD (kontinuerlig integrasjon og kontinuerlig levering) pipeline å bygge og publisere programvare direkte uten å gjennomgå de strenge test-, verifiserings- og revisjonsprosessene som vanligvis håndheves av den offisielle pipelineDette kan gjøres ved å bygge programvaren manuelt utenfor CI/CD miljøet eller ved å bruke verktøy eller skript som tillater uautoriserte endringer i byggeprosessen. Et eksempel på denne typen vektorangrep var Jenkins-angrepetI 2022 infiltrerte hackere bygget pipeline av et populært programvareprosjekt med åpen kildekode kalt Jenkins. Hackerne injiserte skadelig kode i en Jenkinsfile, som er et skript som definerer byggeprosessen. Den skadelige koden tillot hackerne å omgå CI/CD pipelinesikkerhetskontroller og injiserer koden deres i byggeprosessen. Denne koden kjøres deretter på systemene til organisasjonene som installerte programvaren.
Endre kode etter kildekontroll
Denne praksisen innebærer å gjøre uautoriserte endringer i kildekoden etter at den har blitt commitkoblet til et pålitelig kildekontrollsystem (SCS) og deretter bygd programvaren ved hjelp av denne modifiserte koden. Dette kan gjøres ved å endre koden direkte på en utviklers arbeidsstasjon eller ved å bruke eksterne verktøy eller skript for å injisere ondsinnet kode i byggeprosessen. Et eksempel på dette vektorangrepet var GitLab-angrepet i 2022. Hackere infiltrerte byggeprosessen pipeline of GitLabHackerne injiserte skadelig kode i GitLab CI/CD pipeline, som er et verktøy som automatiserer build security prosess. Den ondsinnede koden tillot hackerne å endre koden etter at den var sjekket inn i kildekoden. Dette tillot dem å injisere koden sin i programvaren, som deretter ble kjørt på systemene til organisasjonene som installerte programvaren.
Kompromissbyggeprosess
Dette innebærer å manipulere eller endre selve byggeprosessen, enten gjennom direkte tilgang til byggemiljøet eller ved å utnytte sårbarheter i byggeverktøy eller tredjepartsavhengigheter. Dette kan gjøres for å introdusere ondsinnet kode i byggeutdataene, tukle med byggeopprinnelsen eller forstyrre byggeprosessen fullstendig. Det mest kjente eksemplet på dette vektorangrepet var SolarWinds angrepEn angriper hadde fått uautorisert tilgang til SolarWinds' byggeplattform, et system som brukes til å kompilere og pakke SolarWinds Orion-programvare. Dette skriptet injiserte skadelig kode i den kompilerte SolarWinds Orion-programvaren. Da brukerne installerte den kompromitterte programvaren, ble den skadelige koden kjørt på systemene deres, noe som ga angriperen uautorisert tilgang til systemene deres. Angriperen var også i stand til å stjele sensitive data fra systemene deres, for eksempel legitimasjon, åndsverk og kundeinformasjon.
Kompromittert artefaktlager
Dette refererer til uautorisert tilgang eller manipulering av et artefaktlager, der programvarepakker og binærfiler lagres for distribusjon til interne eller eksterne brukere. Angripere kan utnytte denne sårbarheten til å introdusere skadelig kode, tukle med programvarens autentisitet eller forstyrre distribusjonsprosessen. Et eksempel på dette vektorangrepet var RubyGems i 2022Hackere infiltrerte artefaktarkivet til RubyGems. Hackerne erstattet en legitim artefakt med en ondsinnet, som deretter ble lastet ned av tusenvis av organisasjoner som bygde programvare med Ruby on Rails. Den ondsinnede artefakten tillot hackerne å kjøre vilkårlig kode på systemene til organisasjonene som installerte programvaren. Dette kunne potensielt tillate dem å stjele data, installere skadelig programvare eller forstyrre driften.
Endelige bemerkninger
Etter hvert som organisasjoner fortsetter å omfavne programvareutviklingspraksiser som vektlegger automatisering og kontinuerlig levering, har viktigheten av å sikre programvarebyggingsprosessen aldri vært større. Ved å implementere robuste sikkerhetstiltak gjennom hele byggefasen, kan organisasjoner redusere risikoen for å bli offer for ondsinnede angrep som kan kompromittere integriteten og sikkerheten til programvaren deres betydelig.
Strategiene som er skissert i dette blogginnlegget og eksemplene som er gitt, tjener som en påminnelse om at byggefasen er et sårbart punkt i programvarens forsyningskjede. Organisasjoner bør være oppmerksomme på disse truslene og implementere nødvendige sikkerhetstiltak for å beskytte programvaren sin mot angrep. Ved å gjøre dette kan de sikre programvarens integritet, sikkerhet og pålitelighet for brukere og kunder.
Bli med på reisen vår mot et sikkert programvareøkosystem
Ikke gå glipp av denne muligheten til å ligge i forkant av utviklingen når det gjelder å unngå trusler i programvareforsyningskjeden. Abonner på bloggen vår i dag, og vær den første til å motta vår nyeste innsikt, slik at organisasjonen din forblir robust og sikker midt i stadig utviklende trusler. Sammen kan vi bygge et mer robust og sikkert programvareøkosystem for alle.
Se vår videodemo







