VDI CI/CD Drošības vadlīnijas: programmatūras piegādes ķēdes aizsardzība

No 2019. līdz 2022. gadam programmatūras piegādes ķēdes uzbrukumu vidējais gada pieaugums pārsniedza 700%, un šī ir augoša tendence, kuras ekonomiskā ietekme, domājams, 2026. gadā pārsniegs 80 miljardus dolāru. Atzīstot šīs problēmas nopietnību, Nacionālās drošības aģentūras (NSA) un Kiberdrošības un infrastruktūras drošības aģentūra (CISA) atbrīvots svarīgas vadlīnijas nodrošināt CI/CD vidēs, risinot pieaugošos draudus, ko rada tā sauktie ļaunprātīgie kibernoziegumu dalībnieki (MCA), kas izmanto ievainojamības.

Šīs vadlīnijas īpaši koncentrējas uz noslēpumu izpaušanas novēršanu. CI/CD pipelines un sniegt konkrētu ieskatu.

 

Kādi ir kritiskākie CI/CD drošības draudi?

Kā norāda NSA vadlīnijas, nodrošinot CI/CD vide prasa atpazīt un aizsargāties pret dažādiem drošības apdraudējumiem, kas var ietekmēt CI/CD operācijas. Šeit ir daži bieži sastopami riski, kas sastopami CI/CD pipelines, kopā ar OWASP Top 10 CI/CD Drošības riski:

  • Nepietiekami plūsmas kontroles mehānismiŠis risks attiecas uz atbilstošu kontroles mehānismu trūkumu datu un uzdevumu plūsmas pārvaldībai. CI/CD pipelineBez šīm kontrolēm sistēmā varētu tikt ieviestas neatļautas izmaiņas. pipeline, izraisot potenciālas drošības ievainojamības.
  • Nepietiekama identitātes un piekļuves pārvaldībaŠis risks ir saistīts ar nepietiekamu piekļuves pārvaldību. CI/CD pipeline un ko viņi var darīt. Bez pienācīgas identitātes un piekļuves pārvaldības neatļautas personas varētu iegūt piekļuvi pipeline un ieviest ļaunprātīgas izmaiņas.
  • Atkarības ķēdes ļaunprātīga izmantošanaŠis risks attiecas uz iespēju, ka uzbrucēji varētu izmantot jūsu programmatūras izmantoto atkarību ievainojamības. Ja šīs atkarības netiek pareizi pārvaldītas un aizsargātas, tās var nodrošināt ceļu uzbrukumiem.
  • Saindējies Pipeline IzpildīšanaŠis risks ietver uzbrucējus, kas potenciāli var ievadīt ļaunprātīgu kodu ierīcē. CI/CD pipelineTas varētu izraisīt ļaunprātīga koda izpildi ražošanas vidē.
  • Nepietiekams PBAC (Pipelinepiekļuves kontroles)Šis risks attiecas uz pienācīgas piekļuves kontroles trūkumu, pamatojoties uz pipelineBez šīm kontrolēm neatļautas personas varētu piekļūt sensitīvām vietnes daļām. pipeline.
  • Nepietiekama akreditācijas higiēnaŠis risks ir saistīts ar nepareizu akreditācijas datu pārvaldību un drošību, ko izmanto CI/CD pipelineJa šie akreditācijas dati tiek apdraudēti, uzbrucējs var piekļūt pipeline.
  • Nedroša sistēmas konfigurācijaŠis risks attiecas uz iespējamām drošības ievainojamībām, ko rada
    nepareizi konfigurētas sistēmas CI/CD pipelineUzbrucēji varētu izmantot šīs ievainojamības.
  • Neregulēta trešo pušu pakalpojumu izmantošanaŠis risks ir saistīts ar trešo pušu pakalpojumu izmantošanu bez pienācīgas uzraudzības un kontroles. Šie pakalpojumi var radīt drošības ievainojamības, ja tie netiek pareizi pārvaldīti un aizsargāti.
  • Nepareiza artefakta integritātes validācijaŠis risks attiecas uz to, ka netiek pienācīgi validēti artefakti, ko radījis CI/CD pipelineBez pienācīgas validācijas ražošanas vidē var tikt ieviesti ļaunprātīgi vai kompromitēti artefakti.
  • Nepietiekama reģistrēšana un redzamībaŠis risks ir saistīts ar nepietiekamu reģistrēšanu un pārskatāmību.
    aktivitātes CI/CD pipelineBez pienācīgas reģistrēšanas un redzamības varētu būt grūti atklāt drošības incidentus un reaģēt uz tiem.

 

Sliktākie draudu scenāriji un to novēršanas veidi

Uzbrucēji iegūst izstrādātāja akreditācijas datus, lai piekļūtu Git repozitorijam:

  1. Samaziniet ilgtermiņa akreditācijas datu izmantošanu.
  2. Visiem koda atjauninājumiem izmantojiet divu personu noteikumus (2PR).
  3. Nodrošiniet lietotāju kontu aizsardzību un ieviesiet minimālo privilēģiju politikas.
  4. Ieviest tīkla segmentāciju un datplūsmas filtrēšanu
  • SSCS tādus instrumentus kā Ksigēni automātiski atklāt nepareizas konfigurācijas šajās zonās un nodrošināt drošu korporatīvo politiku piemērošanu.

Piegādes ķēdes kompromitācija, kas saistīta ar lietojumprogrammu bibliotēku, rīku vai konteinera attēlu CI/CD pipeline:

  1. Ierobežojiet neuzticamas bibliotēkas un rīkus un veiciet analīzi commitTed rīki.
  2. Ieviest EDR rīkus un auditēšanu.
  3. glabāt CI/CD atjauninātus rīkus, programmatūru un operētājsistēmas.
  • Ksigēni platforma automātiski atjaunina savas skenēšanas iespējas katrā skenēšanas reizē lai atklātu jaunākās ļaunprātīgās komponentes, kas varētu ietekmēt jūsu programmatūras laidienu.

Kompromiss par a CI/CD vide, kas maina konfigurācijas vai ievada ļaunprātīgas atkarības:

  1. Analizēt commitTed kods un drošības skenēšanas integrēšana CI/CD.
  2. Izpildīt SBOM un SCA un ieviest EDR rīkus.
  3. Pievienot parakstus CI/CD konfigurējiet un pārbaudiet to.
  • Ksigēni iespējas iekšā analizējot visu programmatūras izstrādē iesaistīto resursu kopumu, būvniecība un piegāde ļauj atklāt jebkādus draudus darbības laikā CI/CD apstrādāt un ģenerēt SBOM kā pierādījumu jūsu auditam un klientiem.

Šajā attēlā, izmantojot piemēru, ir parādīti dažādi uzbrukuma vektori. CI/CD pipelineŠie uzbrukuma vektori ir ļoti līdzīgi tiem, ko izmanto citās CI/CD uzbrukumi

 Attēls: Dažādu uzbrukuma vektoru piemērs AWS CI/CD pipeline
 

 

Patiesas nulles uzticēšanās pieejas ieviešana:

NSA aktīvās sacietēšanas stratēģijas

 

Šajās vadlīnijās ir uzskaitītas vairākas stratēģijas, ko varētu izmantot, lai uzlabotu programmatūras piegādes ķēdes aizsardzību. Šeit varat atrast svarīgāko no tām īsu pārskatu:

Izmantojiet NSA ieteikto kriptogrāfiju

Novecojušu un vāju kriptogrāfisko algoritmu izmantošana rada ievērojamus riskus CI/CD pipelineTas varētu izraisīt sensitīvu datu izpaušanu, datu noplūdes, autentifikācijas kompromitēšanu un nedrošas sesijas. 

Izmantojot šīs ievainojamības, ļaunprātīgi lietotāji varētu apiet CI/CD pipeline un apdraudēt programmatūras piegādes ķēdi. Lai mazinātu šos riskus, NSA un CISIeteikums ieviest un konfigurēt spēcīgus kriptogrāfiskos algoritmus, piemēram, tādus, ko noteicis Nacionālais kriptogrāfijas institūts. Standards un Technology (NIST), iestatot mākoņa lietojumprogrammas un pakalpojumus.

Samaziniet ilgtermiņa akreditācijas datu lietošanu

Runājot par cilvēka autentifikāciju, vienmēr prioritāte jāpiešķir identitātes federācijai un drošības žetoniem, kas ir izturīgi pret pikšķerēšanas uzbrukumiem. Šie pasākumi jāizmanto, lai iegūtu pagaidu SSH un citas atslēgas. 

Līdzīgi, programmatūras savstarpējas autentifikācijas gadījumā ieteicams, kad vien iespējams, samazināt uz programmatūru balstītu ilgtermiņa akreditācijas datu izmantošanu.

Detektori no tādiem rīkiem kā Xygeni atbalsta jebkura veida akreditācijas datu un noslēpumu noteikšanu desmitiem formātu visā programmatūras piegādes ķēdē: kodā, pipelines, IaC konfigurācijas utt.

Pievienot parakstus CI/CD konfigurāciju un vienmēr pārbaudiet tos

Viscauri CI/CD Neatkarīgi no izstrādes posma, ir svarīgi nodrošināt, lai kods tiktu konsekventi un pareizi parakstīts, un paraksts tiktu pārbaudīts.

Ja paraksts netiek validēts, rūpīgi jāizpēta validācijas problēmas cēlonis.

Paroļu risku mazināšana, izmantojot daudzfaktoru autentifikāciju (MFA)

To varētu papildināt arī ar uz lomām balstītu piekļuves kontroli (RBAC). Mūsdienās MFA tiek plaši izmantota visu veidu pakalpojumos. Tā palīdz nodrošināt drošību, vienlaikus to piemērojot gan iekšējiem, gan ārējiem lietotājiem. 

Ievērojot mazāko privilēģiju principu, RBAC nodrošina, ka lietotājiem tiek piešķirtas tikai nepieciešamās atļaujas, lai veiktu konkrētos uzdevumus.

Uzņēmuma politikām vajadzētu ņemt vērā šīs mūsdienu obligātās konfigurācijas. Automatizētas atbilstības un audita iespējas. SSCS rīki tos visus ievieš visā DevOps infrastruktūrā.

Ieviest mazāko privilēģiju politikas priekš CI/CD pieeja

Ir svarīgi nodrošināt piekļuvi tikai izstrādātājiem. pipelineun komponentus, kas ir tieši saistīti ar tiem piešķirtajiem uzdevumiem. 

Ir ļoti svarīgi ieviest pienākumu nodalīšanu, lai izstrādātājiem, kas atbild par pirmkoda pārbaudi, nebūtu nepieciešamas tiesības atjaunināt būvēšanas vidi. Tāpat inženieriem, kas pārrauga būvējumus, nebūtu nepieciešama lasīšanas un rakstīšanas piekļuve pirmkodam. Detalizētāku rokasgrāmatu par drošības kontroles ieviešanu skatiet šeit: NIST SP 800-53.

Kodu atjauninājumiem izmantojiet divu personu noteikumu (2PR)

Divu personu noteikumu ievērošana ne tikai veicina koda kvalitāti, bet arī samazina ļaunprātīga koda veiksmīgas ieviešanas iespējamību, ja izstrādātāja akreditācijas dati tiek apdraudēti.

SSCS tādi rīki kā Xygeni parasti ietver īpašu pārbaudi, lai noteiktu, vai projektam ir nepieciešama koda pārskatīšana pirms pull requests (apvienošanas pieprasījumi) tiek apvienoti.

Šī pārbaude atbilst pašreizējiem Open SSF drošības standartiem. standard.

Droši lietotāju konti un slepenie dati

Lietotāju kontu auditēšana un piekļuves kontroles konfigurēšana, pamatojoties uz mazāko privilēģiju un pienākumu sadales principiem, ir kritiski svarīga. 

Turklāt droša noslēpumu, žetonu un akreditācijas datu apstrāde iekšienē CI/CD pipeline ir galvenais.

Nekad nepārsūtiet noslēpumus vienkāršā tekstā nekur pipeline, nodrošinot, ka tie nekad netiek iegulti programmatūrā, kuru var reversēt.

Uzturēt visaptverošu visu trešo pušu un atvērtā pirmkoda komponentu uzskaiti koda bāzē, ieviešot programmatūras materiālu sarakstu (SBOM):

The SBOM palīdz organizācijām izprast iespējamās koda ievainojamības un novērst novecojušu un neatļautu komponentu izmantošanu. Atbilstība noteikumiem, piemēram, FDA prasībām attiecībā uz medicīnas ierīcēm, var noteikt pienākumu izmantot SBOMs.

 

Citi svarīgi pasākumi izstrādes procesā

Uz identificēt ievainojamības, ir svarīgi integrēt drošības skenēšanu CI/CD pipeline viegliIntegrācijai jābūt vienkāršai jebkurā posmā: darbstacijā (pirms augšupielādes), commit, vai nakts būvniecībā, izmantojot aizsargmargas.

Uzturēt atjauninātu programmatūru, operētājsistēmas un CI/CD darbarīkiRegulāri atjaunināt CI/CD rīkus, jo tie var saturēt kļūdas un ievainojamības. Izmantojiet centralizētas ielāpu pārvaldības sistēmas, tostarp programmatūras integritātes un validācijas procesus operētājsistēmām un programmatūras atjauninājumiem.

Ierobežojiet neuzticamas bibliotēkas un noņemiet pagaidu resursusIzmantojiet programmatūru, rīkus, bibliotēkas un artefaktus tikai no uzticamiem un drošiem avotiem, lai līdz minimumam samazinātu apdraudējumus CI/CD pipelineVienmēr pārliecinieties, vai tā konfigurācija ir atbilstoša, lai novērstu iespējamu koda izpildi vai aizmugures durvju ieviešanu. Ir svarīgi arī rNoņemiet nevajadzīgās lietojumprogrammas un aizsargājiet galapunktus.

Uzziniet vairāk par Xygeni platformu, lejupielādējot Xygeni platformas datu lapu

sca-tools-software-composition-analysis-tools
Prioritizējiet, novērsiet un aizsargājiet savus programmatūras riskus
Iegūstiet savu bezmaksas kontu.
Nepieciešama kredītkarte.

Nodrošiniet programmatūras izstrādi un piegādi

ar Xygeni produktu komplektu