Programinės įrangos tiekimo grandinės grėsmės kūrimo etape

Programinės įrangos tiekimo grandinės gyvavimo ciklui progresuojant nuo šaltinio kodo iki vykdomųjų artefaktų, kūrimo etapas yra kritinis. Tačiau šis transformacijos etapas taip pat yra jautrus įvairioms grėsmėms, kurios gali kelti grėsmę programinės įrangos vientisumui ir... build securityŠios grėsmės gali prasiskverbti į kūrimo procesą įvairiais būdais, įskaitant nustatytos apsaugos apėjimą. CI/CD pipeline, modifikuojant kodo kontrolę po šaltinio išleidimo, kenkiant pačiam kūrimo procesui arba manipuliuojant artefaktų saugyklomis. Šiame tinklaraščio įraše mes išsamiai nagrinėjame šias grėsmes ir nagrinėjame labiausiai paplitusias programinės įrangos tiekimo grandinės kūrimo atakas. Šis turinys tęsia mūsų tinklaraščio įrašų seriją, kurioje nagrinėjamos software supply chain security visoje SDLC.

Programinės įrangos kūrimo gyvavimo ciklo kūrimo etapas 

Programinės įrangos tiekimo grandinės gyvavimo ciklo kūrimo etapas apima šaltinio kodo transformavimo į vykdomus programinės įrangos artefaktus procesą. Šis etapas apima šaltinio kodo kompiliavimą, susiejimą ir pakavimą, taip pat diegimo paketų ir konfigūracijos failų generavimą.

Build security Grėsmės – tai pažeidžiamumai, kurie gali leisti priešininkui atlikti neleistinus programinės įrangos pakeitimus kūrimo proceso metu nekeičiant šaltinio kodo. Šios grėsmės gali būti įvedamos įvairiais būdais, pavyzdžiui, pažeidžiant kūrimo aplinką arba išnaudojant kūrimo įrankių pažeidžiamumus. 

programinės įrangos tiekimo grandinės saugumo kūrimo atakos programinės įrangos tiekimo grandinės kūrimo atakos

Dažniausios programinės įrangos tiekimo grandinės grėsmės – Build Attacks

apeiti CI/CD

Tai reiškia praktiką apeiti nustatytas taisykles. CI/CD (nuolatinė integracija ir nuolatinis teikimas) pipeline tiesiogiai kurti ir publikuoti programinę įrangą neatlikus griežtų testavimo, tikrinimo ir audito procesų, kuriuos paprastai taiko oficialūs pipelineTai galima padaryti rankiniu būdu kuriant programinę įrangą ne CI/CD aplinkoje arba naudojant įrankius ar scenarijus, kurie leidžia neleistinai modifikuoti kūrimo procesą. Šio tipo vektoriaus atakos pavyzdys buvo Dženkinso ataka2022 m. įsilaužėliai įsilaužė į statybvietę. pipeline populiaraus atvirojo kodo programinės įrangos projekto, vadinamo „Jenkins“. Įsilaužėliai į „Jenkinsfile“ – scenarijų, apibrėžiantį kūrimo procesą, – įterpė kenkėjišką kodą. Kenkėjiškas kodas leido įsilaužėliams apeiti CI/CD pipelineatlieka saugumo patikrinimus ir įterpia savo kodą į kūrimo procesą. Šis kodas tada vykdomas organizacijų, kurios įdiegė programinę įrangą, sistemose.

Kodo modifikavimas po šaltinio kodo kontrolės 

Ši praktika apima neleistinus šaltinio kodo pakeitimus po to, kai jis jau yra sukurtas. commitprijungta prie patikimos šaltinių kontrolės sistemos (SCS) ir tada sukurta programinė įranga naudojant šį modifikuotą kodą. Tai galima padaryti tiesiogiai modifikuojant kodą kūrėjo darbo stotyje arba naudojant išorinius įrankius ar scenarijus, kad į kūrimo procesą būtų įterptas kenkėjiškas kodas. Šios vektorinės atakos pavyzdys buvo „GitLab“ ataka 2022 m. Įsilaužėliai infiltravosi į kūrimo procesą pipeline of GitLabĮsilaužėliai į „GitLab“ įterpė kenkėjišką kodą. CI/CD pipeline, kuri yra įrankis, automatizuojantis build security procesas. Kenkėjiškas kodas leido įsilaužėliams modifikuoti kodą po to, kai jis buvo patikrintas šaltinio valdymo sistemoje. Tai leido jiems įterpti savo kodą į programinę įrangą, kuri vėliau buvo vykdoma organizacijų, kurios įdiegė programinę įrangą, sistemose.

Kompromisinis kūrimo procesas

Tai apima paties kūrimo proceso manipuliavimą arba keitimą, tiesiogiai pasiekiant kūrimo aplinką arba išnaudojant kūrimo įrankių ar trečiųjų šalių priklausomybių pažeidžiamumus. Tai gali būti padaryta siekiant į kūrimo išvestį įtraukti kenkėjišką kodą, pakeisti kūrimo kilmę arba visiškai sutrikdyti kūrimo procesą. Garsiausias šios vektorinės atakos pavyzdys buvo „SolarWinds“ atakaUžpuolikas gavo neteisėtą prieigą prie „SolarWinds“ kūrimo platformos – sistemos, naudojamos „SolarWinds Orion“ programinei įrangai kompiliuoti ir pakuoti. Šis scenarijus įterpė kenkėjišką kodą į sukompiliuotą „SolarWinds Orion“ programinę įrangą. Kai vartotojai įdiegė pažeistą programinę įrangą, kenkėjiškas kodas buvo vykdomas jų sistemose, suteikdamas užpuolikui neteisėtą prieigą prie jų sistemų. Užpuolikas taip pat galėjo pavogti neskelbtinus duomenis iš jų sistemų, pvz., kredencialus, intelektinę nuosavybę ir klientų informaciją.

Kompromituotų artefaktų saugykla

Tai reiškia neteisėtą prieigą prie artefaktų saugyklos, kurioje saugomi programinės įrangos paketai ir dvejetainiai failai, skirti platinti vidiniams ar išoriniams vartotojams, arba jos manipuliavimą. Užpuolikai gali pasinaudoti šia pažeidžiamumu, norėdami įdiegti kenkėjišką kodą, pakeisti programinės įrangos autentiškumą arba sutrikdyti diegimo procesą. Šios vektorinės atakos pavyzdys buvo „RubyGems“ 2022 m.Įsilaužėliai infiltravosi į „RubyGems“ artefaktų saugyklą. Įsilaužėliai pakeitė teisėtą artefaktą kenkėjišku, kurį vėliau atsisiuntė tūkstančiai organizacijų, kūrusių programinę įrangą naudodamos „Ruby on Rails“. Kenkėjiškas artefaktas leido įsilaužėliams vykdyti savavališką kodą organizacijų, kurios įdiegė programinę įrangą, sistemose. Tai galėjo leisti jiems pavogti duomenis, įdiegti kenkėjiškas programas arba sutrikdyti veiklą.

Paskutinės pastabos

Organizacijoms ir toliau diegiant programinės įrangos kūrimo praktikas, kurios pabrėžia automatizavimą ir nuolatinį teikimą, programinės įrangos kūrimo proceso saugumo svarba dar niekada nebuvo tokia svarbi. Įdiegdamos patikimas saugumo priemones visame kūrimo etape, organizacijos gali gerokai sumažinti riziką tapti kenkėjiškų atakų, kurios gali pakenkti jų programinės įrangos vientisumui ir saugumui, aukomis.

Šiame tinklaraščio įraše aprašytos strategijos ir pateikti pavyzdžiai primena, kad kūrimo etapas yra pažeidžiamas programinės įrangos tiekimo grandinės taškas. Organizacijos turėtų atkreipti dėmesį į šias grėsmes ir įdiegti būtinas saugumo priemones, kad apsaugotų savo programinę įrangą nuo atakų. Taip jos gali užtikrinti savo programinės įrangos vientisumą, saugumą ir patikimumą savo vartotojams ir klientams.

Prisijunkite prie mūsų kelionės link saugios programinės įrangos ekosistemos

Nepraleiskite šios progos išvengti programinės įrangos tiekimo grandinės grėsmių. Prenumeruokite mūsų tinklaraštį šiandien ir pirmieji gaukite naujausias įžvalgas, užtikrindami, kad jūsų organizacija išliktų atspari ir saugi besikeičiančių grėsmių akivaizdoje. Kartu galime sukurti tvirtesnę ir saugesnę programinės įrangos ekosistemą visiems.

Ištyrinėkite „Xygeni“ funkcijas!
Žiūrėkite mūsų vaizdo demonstraciją
sca-tools-software-composition-analyses-tools
Prioritetizuoti, pašalinti ir apsaugoti savo programinės įrangos rizikas
Gaukite nemokamą paskyrą.
Nebūtina kreditinės kortelės.

Apsaugokite savo programinės įrangos kūrimą ir tiekimą

su „Xygeni“ produktų rinkiniu