NSA CI/CD Directrius de seguretat: protecció de la cadena de subministrament de programari

Del 2019 al 2022, l'augment mitjà anual dels atacs a la cadena de subministrament de programari va superar el 700%, una tendència creixent l'impacte econòmic de la qual s'espera que superi els 80 milions de dòlars el 2026. Reconeixent la gravetat d'aquest problema, el Agència Nacional de Seguretat (NSA) i la Agència de Ciberseguretat i Seguretat d'Infraestructures (CISA) alliberat directrius crucials assegurar CI/CD entorns, abordant l'amenaça creixent dels anomenats ciberactors maliciosos (MCA) que exploten vulnerabilitats.

Aquestes directrius se centren específicament en la prevenció de l'exposició de secrets dins de CI/CD pipelines i oferir visions específiques.

 

Quins són els més crítics CI/CD amenaces a la seguretat?

Tal com indiquen les directrius de la NSA, assegurar un CI/CD L'entorn requereix reconèixer i defensar-se contra diversos tipus d'amenaces de seguretat que poden afectar CI/CD operacions. Aquests són alguns riscos comuns que es troben a CI/CD pipelines, juntament amb els OWASP Top 10 CI/CD Riscos de seguretat:

  • Mecanismes de control de flux insuficientsAquest risc fa referència a la manca de controls adequats per gestionar el flux de dades i tasques en el CI/CD pipelineSense aquests controls, es podrien introduir canvis no autoritzats al pipeline, cosa que comporta possibles vulnerabilitats de seguretat.
  • Gestió inadequada d'identitats i accessosAquest risc implica no gestionar adequadament qui té accés a CI/CD pipeline i què poden fer. Sense una gestió adequada de la identitat i l'accés, les persones no autoritzades podrien obtenir accés a pipeline i introduir canvis maliciosos.
  • Abús de la cadena de dependènciesAquest risc fa referència a la possibilitat que els atacants explotin vulnerabilitats de les dependències que utilitza el vostre programari. Si aquestes dependències no es gestionen i protegeixen correctament, podrien proporcionar una via d'atac.
  • Intoxicats Pipeline ExecucióAquest risc implica que els atacants puguin introduir codi maliciós al CI/CD pipelineAixò podria conduir a l'execució de codi maliciós en l'entorn de producció.
  • PBAC insuficient (Pipelinecontrols d'accés basats en -)Aquest risc fa referència a la manca de controls d'accés adequats basats en el pipelineSense aquests controls, les persones no autoritzades podrien accedir a parts sensibles del pipeline.
  • Higiene de credencials insuficientAquest risc implica no gestionar i protegir correctament les credencials utilitzades en el CI/CD pipelineSi aquestes credencials es veuen compromeses, podria proporcionar a un atacant accés a pipeline.
  • Configuració del sistema inseguraAquest risc fa referència a possibles vulnerabilitats de seguretat degudes a
    sistemes mal configurats en el CI/CD pipelineEls atacants podrien explotar aquestes vulnerabilitats.
  • Ús no regulat de serveis de tercersAquest risc implica l'ús de serveis de tercers sense la supervisió i el control adequats. Aquests serveis podrien introduir vulnerabilitats de seguretat si no es gestionen i protegeixen correctament.
  • Validació incorrecta de la integritat dels artefactesAquest risc fa referència a la manca d'una validació adequada dels artefactes produïts pel CI/CD pipelineSense una validació adequada, es podrien introduir artefactes maliciosos o compromesos a l'entorn de producció.
  • Registre i visibilitat insuficientsAquest risc implica un registre i una visibilitat insuficients de la
    activitats al CI/CD pipelinePodria ser difícil detectar i respondre a incidents de seguretat sense un registre i una visibilitat adequats.

 

Els pitjors escenaris d'amenaces i com solucionar-los

Els atacants adquireixen les credencials d'un desenvolupador per accedir a un repositori de Git:

  1. Minimitzar l'ús de credencials a llarg termini.
  2. Utilitzeu regles de dues persones (2PR) per a totes les actualitzacions de codi.
  3. Protegir els comptes d'usuari i implementar polítiques de privilegis mínims.
  4. Implementar la segmentació de xarxa i el filtratge del trànsit
  • SSCS eines com Xígeni automàticament detectar configuracions incorrectes en aquestes àrees i fer complir l'aplicació de polítiques corporatives segures.

Compromís de la cadena de subministrament d'una biblioteca d'aplicacions, eines o imatges de contenidor en un CI/CD pipeline:

  1. Restringeix les biblioteques i eines no fiables i analitza commiteines ted.
  2. Implementar eines i auditories EDR.
  3. Manteniu CI/CD eines, programari i sistemes operatius actualitzats.
  • Xígeni plataforma automàticament actualitza les seves capacitats d'escaneig en cada escaneig per detectar els components maliciosos més recents que podrien afectar el llançament del vostre programari.

Compromís d'un CI/CD entorn que modifica configuracions o injecta dependències malicioses:

  1. Analitzar commitcodi ted i integrar l'escaneig de seguretat a CI/CD.
  2. Implementar SBOM i SCA i implementar eines EDR.
  3. Afegeix signatures a CI/CD configuració i verificar-la.
  • Xígeni capacitats en anàlisi de tot el conjunt d'actius implicats en el desenvolupament de programari, construcció i lliurament permetre la detecció de qualsevol amenaça durant el CI/CD processar i generar el SBOM com a prova per a la vostra auditoria i per als clients.

La imatge següent mostra diferents vectors d'atac utilitzant l'exemple d'un CI/CD pipelineAquests vectors d'atac són molt similars als que s'utilitzen en altres CI/CD atacs.

 Imatge: Exemple de diferents vectors d'atac en un AWS CI/CD pipeline
 

 

Habilitació d'un enfocament genuí de confiança zero:

Estratègies d'enduriment actiu de la NSA

 

Aquesta guia enumera diverses estratègies que es podrien utilitzar per millorar la protecció de la cadena de subministrament de programari. Aquí podeu trobar un resum de les més importants:

Adoptar la criptografia recomanada per l'NSA

L'ús d'algoritmes criptogràfics obsolets i febles presenta riscos importants per a CI/CD pipelines. Podria conduir a l'exposició de dades sensibles, fuites de dades, autenticació compromesa i sessions insegures. 

Explotant aquestes vulnerabilitats, els actors maliciosos podrien eludir el CI/CD pipeline i comprometre la cadena de subministrament de programari. Per mitigar aquests riscos, l'NSA i CISRecomanem implementar i configurar algoritmes criptogràfics robustos, com ara els especificats pel National Institute of Standards i Tecnologia (NIST), a l'hora de configurar aplicacions i serveis al núvol.

Minimitzar l'ús de credencials a llarg termini

Pel que fa a l'autenticació humana, sempre prioritzeu la federació d'identitat i els tokens de seguretat que siguin resistents als atacs de phishing. Aquestes mesures s'han d'utilitzar per obtenir claus SSH i altres claus temporals. 

De la mateixa manera, per a l'autenticació de programari a programari, és recomanable minimitzar l'ús de credencials a llarg termini basades en programari sempre que sigui possible.

Els detectors d'eines com Xygeni permeten la detecció de qualsevol tipus de credencial i secrets en desenes de formats al llarg de tota la cadena de subministrament de programari: codi, pipelines, IaC configuracions, etc.

Afegeix signatures a CI/CD configuració i verificar-les sempre

En tot el CI/CD procés, independentment de l'etapa de desenvolupament, és crucial garantir que el codi estigui signat de manera coherent i correcta, i que la signatura sigui verificada.

Si la signatura no es valida, cal investigar a fons la causa del problema de validació.

Mitigar els riscos de les contrasenyes mitjançant l'autenticació multifactor (MFA)

També es podria complementar amb el control d'accés basat en rols (RBAC). Avui dia, l'MFA s'utilitza habitualment en tot tipus de serveis. Ajuda a reforçar la seguretat, mentre s'aplica tant a usuaris interns com externs. 

Seguint el principi del mínim privilegi, RBAC garanteix que els usuaris només tinguin els permisos necessaris per dur a terme les seves tasques específiques.

Les polítiques corporatives haurien de tenir en compte aquestes configuracions obligatòries actuals. Capacitats automatitzades de compliment i auditoria de SSCS les eines les apliquen totes a tota la infraestructura de DevOps.

Implementar polítiques de mínims privilegis per a CI/CD Accés

És crucial donar accés només als desenvolupadors a pipelinei components que són directament relacionats amb les tasques assignades. 

Implementar la separació de tasques és crucial, ja que els desenvolupadors responsables de revisar el codi font no necessiten el privilegi d'actualitzar l'entorn de compilació. De la mateixa manera, els enginyers que supervisen les compilacions no necessiten accés de lectura i escriptura al codi font. Per obtenir una guia més detallada sobre la implementació de controls de seguretat, consulteu NIST SP 800-53.

Utilitzeu la regla de dues persones (2PR) per a les actualitzacions de codi

L'adherència a la pràctica de les regles bipersonals no només promou la qualitat del codi, sinó que també redueix la probabilitat d'introduir amb èxit codi maliciós si les credencials d'un desenvolupador es veuen compromeses.

SSCS eines com Xygeni, solen incloure una comprovació específica que determina si el projecte requereix una revisió de codi abans pull requests (sol·licituds de fusió) es fusionen.

Aquesta comprovació segueix les normes de seguretat actuals d'Open SSF. standard.

Assegurar comptes d'usuari i secrets

Auditar els comptes d'usuari i configurar els controls d'accés basats en els principis de mínim privilegi i separació de tasques és fonamental. 

A més, la gestió segura de secrets, tokens i credencials dins del CI/CD pipeline és primordial.

No transmetis mai secrets en text clar enlloc de la pipeline, garantint que mai s'integrin en programari que es pugui aplicar enginyeria inversa.

Mantingueu un registre complet de tots els components de tercers i de codi obert de la base de codi implementant una llista de materials de programari (SBOM):

L' SBOM ajuda les organitzacions a comprendre les possibles vulnerabilitats del codi i a evitar l'ús de components obsolets i no autoritzats. El compliment de les normatives, com ara els requisits de la FDA per a dispositius mèdics, pot obligar a utilitzar-los. SBOMs.

 

Altres mesures essencials durant el procés de desenvolupament

A identificar les vulnerabilitats, és crucial integrar l'escaneig de seguretat a la CI/CD pipeline fàcilmentLa integració s'ha de considerar fàcil en qualsevol pas: a l'estació de treball (abans de la càrrega), en un commit, o en la construcció nocturna mitjançant baranes de protecció.

Mantenir actualitzats el programari, els sistemes operatius i CI/CD instruments: Actualització periòdica CI/CD eines, ja que poden contenir errors i vulnerabilitats. Utilitzeu sistemes centralitzats de gestió de pegats, incloent-hi la integritat del programari i els processos de validació per a sistemes operatius i actualitzacions de programari.

Restringir biblioteques no fiables i eliminar recursos temporalsUtilitzeu només programari, eines, biblioteques i artefactes de fonts fiables i segures per minimitzar les amenaces al CI/CD pipelineAssegureu-vos sempre que la seva configuració sigui adequada per evitar una possible execució de codi o la introducció de portes del darrere. També és important reliminar aplicacions innecessàries i protegir els punts finals.

Més informació sobre la plataforma Xygeni, descarregueu la fitxa tècnica de la plataforma Xygeni

sca-tools-software-composition-analyse-tools
Prioritzar, solucionar i protegir els riscos del programari
Obtén el teu compte gratuït.
No es requereix cap targeta de crèdit.

Assegura el desenvolupament i el lliurament del teu programari

amb el paquet de productes Xygeni