Kā mēs apspriedām iepriekšējā saturā par software supply chain security, mēs izpētījām piegādes ķēdes uzbrukumu koncepciju un to iespējamo ietekmi uz organizācijām. Šie uzbrukumi bieži izmanto ievainojamības visā programmatūras izstrādes dzīves ciklā (SDLC), radot ievērojamus riskus katrā posmā. Šodien mēs iedziļināsimies visizplatītākajos software supply chain security draudi, kas rodas avota stadijā.
Pirmkārt un galvenokārt, ir svarīgi definēt piegādes ķēdes uzbrukumu un konkrēto Software Supply Chain Security Draudi, kas rodas avota stadijā.
Programmatūras piegādes ķēdes uzbrukuma definīcija
ASV Nacionālais institūts Standards un tehnoloģijas (NIST) definē programmatūras piegādes ķēdes uzbrukumu “kad uzbrukums notiek, kad kiberdraudu izpildītājs iefiltrējas programmatūras pārdevēja tīklā un izmanto ļaunprātīgu kodu, lai apdraudētu programmatūru, pirms pārdevējs to nosūta saviem klientiem. Pēc tam apdraudētā programmatūra apdraud klienta datus vai sistēmu. Jauniegūta programmatūra var būt apdraudēta jau no paša sākuma, vai arī kompromitēšana var notikt, izmantojot citus līdzekļus, piemēram, ielāpu vai labojumu. Šādos gadījumos kompromitēšana joprojām notiek pirms ielāpa vai labojuma nonākšanas klienta tīklā. Šāda veida uzbrukumi ietekmē visus apdraudētās programmatūras lietotājus un var radīt plašas sekas valdības, kritiskās infrastruktūras un privātā sektora programmatūras klientiem.”"
Avota posms Software Supply Chain Security Draudi
Programmatūras piegādes ķēdes dzīves cikla pirmkoda posms ietver programmatūras izstrādes sākotnējās fāzes, sākot no idejas līdz pirmkoda izveidei. Šajā posmā tiek atlasīti rīki, bibliotēkas un komponenti, kā arī izstrādātas un ieviestas programmatūras pamatfunkcijas.
Software supply chain security Avota posma apdraudējumi attiecas uz drošības ievainojamībām, kuras var izmantot, lai ieviestu neatļautas vai ļaunprātīgas izmaiņas avota kodā. Tas ietver gan neatļautu personu, gan pilnvarotu personu apdraudējumu, kas ievieš neatļautas izmaiņas.
Avota draudu piemēri
Iesniegt sliktu kodu
Slikta koda iesniegšana attiecas uz praksi, kas saistīta ar commitkoda nosūtīšana uz avota krātuvi, kurā ir defekti, kļūdas vai ievainojamības. Tas var būt gan ļaunprātīgs kods, kas apzināti ieviests, lai apdraudētu programmatūras integritāti vai drošību, gan netīšs kods, kas rada kļūdas vai ievainojamības sliktas kodēšanas prakses vai testēšanas trūkuma dēļ. Šāda vektora uzbrukuma piemērs bija NPM uzbrukums. 2022. gadā hakeris iefiltrējās populāras atvērtā pirmkoda programmatūras bibliotēkas ar nosaukumu npm pirmkoda krātuvē. Hakeris ievietoja bibliotēkas kodā ļaunprātīgu kodu, kas ļāva viņam iegūt nesankcionētu piekļuvi to organizāciju sistēmām, kuras instalēja bibliotēku. Ļaunprātīgais kods ļāva hakerim nozagt datus no skartajām sistēmām, instalēt ļaunprogrammatūru un traucēt darbību. Uzbrukums skāra plašu organizāciju loku, tostarp valdības aģentūras, uzņēmumus un privātpersonas.
Kompromitēta avota repozitorijs
Pretinieks iegūst nesankcionētu piekļuvi pirmkoda krātuvei (SCM) un ievieš ļaunprātīgas izmaiņas vai noņem likumīgu kodu. To var panākt, izmantojot dažādas metodes, piemēram, ievainojamības SCM, apdraudot izstrādātāja akreditācijas datus ar piekļuvi repozitorijam vai iegūstot piekļuvi pamatā esošajai infrastruktūrai, kurā atrodas SCMŠāda vektoruzbrukuma piemērs bija PHP uzbrukums. Uzbrucējs apdraudēja PHP pašmitināto Git serveri, kas ir droša krātuve PHP programmēšanas valodas pirmkoda glabāšanai un pārvaldībai. Uzbrucējs spēja ievadīt divus ļaunprātīgus commits PHP galvenajā koda bāzē. Šie commitpievienoja aizmugurējās durvis, kas ļāva uzbrucējam iegūt nesankcionētu piekļuvi PHP instalācijām. Aizmugurējās durvis ļāva uzbrucējam jebkurā PHP instalācijā izpildīt patvaļīgu kodu, ko varēja izmantot datu zagšanai, ļaunprogrammatūras instalēšanai vai darbību traucēšanai. Uzbrukums arī nodarīja lielu kaitējumu PHP reputācijai, jo radīja bažas par programmēšanas valodas drošību.
Veidot no modificēta avota
Uzbrucējs iegūst pirmkoda kopiju no avota, kas nav oficiālais pirmkoda krātuve, un izmanto to programmatūras izveidei un ieviešanai. Šis modificētais pirmkods var saturēt ļaunprātīgu kodu, aizmugures durvis vai citas kaitīgas izmaiņas, kas var apdraudēt programmatūras integritāti, funkcionalitāti vai drošību. Šāda vektora uzbrukuma piemērs bija Webmin Uzbrukums. Uzbrucējs ieguva nesankcionētu piekļuvi Webmin būvēšanas infrastruktūrai, kas ir atbildīga par Webmin programmatūras kompilēšanu un pakošanu. Uzbrucējs modificēja būvēšanas infrastruktūru, lai izmantotu avota failus, kas nebija atrodami oficiālajā Webmin avota krātuvē.
Rakstīt nedrošu kodu
Nedrošas kodēšanas prakses, gan tīšas, gan netīšas, var radīt programmatūras ievainojamības. Uzbrucēji var izmantot šīs ievainojamības, lai iegūtu neatļautu piekļuvi, modificētu vai nozagtu datus vai traucētu darbību. Šāda vektoruzbrukuma piemērs bija Apache Struts uzbrukums2003. gadā hakeris iefiltrējās atvērtā pirmkoda programmatūras bibliotēkas Apache Struts pirmkoda krātuvē. Hakeris bibliotēkā ieviesa ievainojamību, kas ļāva iegūt nesankcionētu piekļuvi to organizāciju sistēmām, kuras instalēja bibliotēku. Šī ievainojamība ļāva hakerim izpildīt patvaļīgu kodu skartajās sistēmās, ko varēja izmantot datu zagšanai, ļaunprogrammatūras instalēšanai un darbības traucēšanai. Uzbrukums skāra plašu organizāciju loku, tostarp valdības aģentūras, uzņēmumus un privātpersonas.
Kritisku failu viltošana
Svarīgu failu mainīšana vai modificēšana programmatūras izstrādes dzīves ciklā var radīt nopietnas sekas, tostarp ļaunprātīga koda ieviešanu, sensitīvu datu apdraudēšanu un programmatūras darbības traucējumus. Šāda manipulācijas vektora uzbrukuma piemērs bija Maven uzbrukums. 2020. gadā hakeri iefiltrējās populāras atvērtā pirmkoda programmatūras bibliotēkas Maven pirmkoda krātuvē. Hakeri ievietoja ļaunprātīgu kodu bibliotēkas pom.xml failā, kas tiek izmantots būvēšanas procesa konfigurēšanai. Ļaunprātīgais kods ļāva hakeriem ievadīt savas atkarības būvēšanas procesā, kuras pēc tam tika iekļautas kompilētajā programmatūrā. Šajās atkarībās bija ietvertas aizmugurējās durvis, kas ļāva hakeriem iegūt nesankcionētu piekļuvi organizāciju sistēmām, kuras instalēja programmatūru.
Ceļa attīrīšana: darbību racionalizēšana ar skaidru skatu
Speriet soli tālāk par drošības robežām, un jūs atklāsiet, ka piegādes ķēdes vizualizācija sniedz vairāk nekā tikai aizsardzību — tā ir kā gaismas ieslēgšana tumšā telpā, atklājot ātrākos un efektīvākos ceļus jūsu darbībās. Tā sniedz komandām vispusīgu skatu uz izstrādes ekosistēmu, ļaujot tām identificēt liekus aktīvus un neapkoptus elementus. Šī skaidrība ir īpaši noderīga liela mēroga projektos, kuros savijas vairākas vienības un komponenti.
Noslēguma piezīmes
Izprotot dažādos avota stadijas veidus software supply chain security draudiem un ieviešot atbilstošus drošības pasākumus, organizācijas var palīdzēt pasargāt sevi no šiem postošajiem uzbrukumiem.
- Programmatūras piegādes ķēdes uzbrukumi var ieviest ļaunprātīgu kodu programmatūrā jebkurā izstrādes dzīves cikla posmā, tostarp pirmkodā.
- Avota posma draudi ietver slikta koda iesniegšanu, avota krātuvju apdraudēšanu, veidošanu no modificētiem avotiem, nedroša koda rakstīšanu un kritisku failu manipulēšanu.
- Organizācijām ir jāievieš visaptveroši drošības pasākumi visā programmatūras izstrādes dzīves ciklā, lai mazinātu piegādes ķēdes uzbrukumu riskus.
Vēlaties būt soli priekšā jaunumiem software supply chain security?
Sekojiet līdzi mūsu jaunumiem gaidāmā emuāra sērija, kur mēs iedziļināsimies visizplatītākajos uzbrukumos, kas rodas visā programmatūras izstrādes dzīves ciklā. Sākot no būvniecības stadijā Sākot ar izvietošanu un beidzot ar turpmāk, mēs sniegsim jums zināšanas un stratēģijas, lai aizsargātu jūsu organizāciju no šiem mānīgajiem draudiem.
Nepalaidiet garām! Abonējiet mūsu emuāru jau šodien un esiet pirmais, kas uzzina par mūsu jaunākajām atziņām par software supply chain security.
Kopā mēs varam izveidot noturīgāku un drošāku programmatūras ekosistēmu visiem.
Noskatieties mūsu video demonstrāciju




