NSA CI/CD Mga Alituntunin sa Seguridad: Pagprotekta sa Software Supply Chain

Mula 2019 hanggang 2022, ang karaniwang taunang pagtaas ng mga pag-atake sa supply chain ng software ay lumampas sa 700%, isang lumalaking trend na ang epekto sa ekonomiya ay inaasahang lalampas sa 80 bilyong dolyar sa 2026. Kinikilala ang kalubhaan ng isyung ito, ang National Security Agency (NSA) at ang Ahensya ng Seguridad sa Cybersecurity at Imprastraktura (CISA) pinalaya mahahalagang alituntunin upang ma-secure CI/CD mga kapaligiran, na tumutugon sa tumataas na banta ng tinatawag na mga malisyosong cyber actor (MCA) na nagsasamantala sa mga kahinaan.

Ang mga patnubay na ito ay partikular na nakatuon sa pagpigil sa pagbubunyag ng mga sikreto sa loob ng CI/CD pipelines at mag-alok ng mga tiyak na pananaw.

 

Ano ang mga pinakakritikal CI/CD banta sa seguridad?

Gaya ng nakasaad sa mga alituntunin ng NSA, ang pagsiguro ng isang CI/CD ang kapaligiran ay nangangailangan ng pagkilala at pagtatanggol laban sa iba't ibang uri ng banta sa seguridad na maaaring makaapekto CI/CD mga operasyon. Narito ang ilang karaniwang panganib na matatagpuan sa CI/CD pipelines, kasama ang OWASP Nangungunang 10 CI/CD Mga Panganib sa Seguridad:

  • Hindi Sapat na Mekanismo ng Pagkontrol ng DaloyAng panganib na ito ay tumutukoy sa kakulangan ng wastong mga kontrol upang pamahalaan ang daloy ng datos at mga gawain sa CI/CD pipelineKung wala ang mga kontrol na ito, maaaring maipasok ang mga hindi awtorisadong pagbabago sa pipeline, na humahantong sa mga potensyal na kahinaan sa seguridad.
  • Hindi Sapat na Pamamahala ng Pagkakakilanlan at Pag-access: Ang panganib na ito ay kinabibilangan ng hindi wastong pamamahala kung sino ang may access sa CI/CD pipeline at kung ano ang kaya nilang gawin. Kung walang wastong pagkakakilanlan at pamamahala ng access, maaaring makakuha ng access ang mga hindi awtorisadong indibidwal sa pipeline at magpakilala ng mga mapaminsalang pagbabago.
  • Pag-abuso sa Kadena ng PagdependeAng panganib na ito ay tumutukoy sa potensyal ng mga umaatake na samantalahin ang mga kahinaan sa mga dependency na ginagamit ng iyong software. Kung ang mga dependency na ito ay hindi maayos na pinamamahalaan at sinigurado, maaari silang magbigay ng daan para sa pag-atake.
  • Nakalason Pipeline Pagpapatupad: Ang panganib na ito ay kinabibilangan ng mga umaatake na posibleng magpapasok ng malisyosong code sa CI/CD pipelineMaaari itong humantong sa pagpapatupad ng malisyosong code sa kapaligiran ng produksyon.
  • Hindi sapat na PBAC (Pipeline(Mga Kontrol sa Pag-access na Batay sa -)Ang panganib na ito ay tumutukoy sa kakulangan ng wastong mga kontrol sa pag-access batay sa pipelineKung wala ang mga kontrol na ito, maaaring ma-access ng mga hindi awtorisadong indibidwal ang mga sensitibong bahagi ng pipeline.
  • Hindi Sapat na Kredensyal na KalinisanAng panganib na ito ay kinabibilangan ng hindi wastong pamamahala at pag-secure ng mga kredensyal na ginamit sa CI/CD pipelineKung ang mga kredensyal na ito ay makompromiso, maaari itong magbigay ng access sa isang attacker sa pipeline.
  • Hindi Ligtas na Pag-configure ng SistemaAng panganib na ito ay tumutukoy sa mga potensyal na kahinaan sa seguridad dahil sa
    mga sistemang hindi maayos ang pagkakaayos sa CI/CD pipelineMaaaring samantalahin ng mga umaatake ang mga kahinaang ito.
  • Hindi Pinamamahalaang Paggamit ng mga Serbisyo ng Ikatlong PartidoAng panganib na ito ay kinabibilangan ng paggamit ng mga serbisyo ng ikatlong partido nang walang wastong pangangasiwa at kontrol. Ang mga serbisyong ito ay maaaring magdulot ng mga kahinaan sa seguridad kung ang mga ito ay hindi wastong pinamamahalaan at sinigurado.
  • Hindi Tamang Pagpapatunay ng Integridad ng ArtifactAng panganib na ito ay tumutukoy sa kakulangan ng wastong pagpapatunay ng mga artifact na ginawa ng CI/CD pipelineKung walang wastong pagpapatunay, maaaring maipasok ang mga malisyosong o nakompromisong artifact sa kapaligiran ng produksyon.
  • Hindi Sapat na Pag-log at Pagiging Visible: Ang panganib na ito ay kinabibilangan ng hindi sapat na pag-log at kakayahang makita ang
    mga gawain sa CI/CD pipelineMaaaring mahirap matukoy at matugunan ang mga insidente sa seguridad nang walang wastong pag-log at visibility.

 

Mga pinakamalalang sitwasyon ng panganib at kung paano ito malunasan

Kinukuha ng mga attacker ang kredensyal ng isang developer upang ma-access ang isang Git repository:

  1. Bawasan ang paggamit ng mga pangmatagalang kredensyal.
  2. Gumamit ng mga two-person rules (2PR) para sa lahat ng pag-update ng code.
  3. I-secure ang mga user account at ipatupad ang mga patakaran sa least privilege.
  4. Ipatupad ang segmentasyon ng network at pagsala ng trapiko
  • SSCS mga kagamitang tulad ng Xygeni awtomatikong pagtuklas ng mga maling konfigurasyon sa mga lugar na ito at pagpapatupad ng aplikasyon ng mga ligtas na patakaran ng korporasyon.

Pagkasira ng Supply Chain ng isang application library, tool o container image sa isang CI/CD pipeline:

  1. Paghigpitan ang mga hindi mapagkakatiwalaang library at tool at suriin commitmga kagamitang ted.
  2. Ipatupad ang mga kagamitan sa EDR at pag-awdit.
  3. Panatilihin CI/CD mga kagamitan, software, at operating system na napapanahon.
  • Xygeni awtomatikong plataporma ina-update ang mga kakayahan nito sa pag-scan sa bawat pag-scan upang matukoy ang mga pinakabagong malisyosong bahagi na maaaring makaapekto sa paglabas ng iyong software.

Kompromiso ng isang CI/CD kapaligirang nagbabago ng mga configuration o naglalagay ng mga malisyosong dependency:

  1. Suriin committed code at isama ang security scanning sa CI/CD.
  2. Isakatuparan SBOM at SCA at ipatupad ang mga kagamitan sa EDR.
  3. Magdagdag ng mga lagda sa CI/CD i-configure at i-verify ito.
  • Xygeni mga kakayahan sa pagsusuri ng buong hanay ng mga asset na kasangkot sa pagbuo ng software, pagtatayo at paghahatid paganahin ang pagtuklas ng anumang banta sa panahon ng CI/CD iproseso at bumuo ng SBOM bilang ebidensya para sa iyong pag-audit at mga customer.

Ang sumusunod na larawan ay nagpapakita ng iba't ibang vector ng pag-atake gamit ang halimbawa ng isang CI/CD pipelineAng mga vector ng pag-atake na ito ay halos kapareho ng mga ginagamit sa iba CI/CD pag-atake.

 Larawan: Halimbawa ng d magkakaibang attack vectors sa isang AWS CI/CD pipeline
 

 

Pagpapagana ng Tunay na Zero Trust Approach:

Mga Istratehiya sa Aktibong Pagpapatigas ng NSA

 

Ang gabay na ito ay naglilista ng ilang mga estratehiya na maaaring gamitin upang mapahusay ang proteksyon ng Software Supply Chain. Dito makikita mo ang isang maikling listahan ng mga pinakamahalaga:

Gumamit ng cryptography na inirerekomenda ng NSA

Ang paggamit ng mga luma at mahinang algorithm ng kriptograpiya ay nagdudulot ng malalaking panganib sa CI/CD pipelines. Maaari itong humantong sa pagkakalantad ng sensitibong data, mga pagtagas ng data, nakompromisong authentication, at mga hindi secure na session. 

Sa pamamagitan ng pagsasamantala sa mga kahinaang ito, maaaring malampasan ng mga malisyosong aktor ang CI/CD pipeline at ikompromiso ang supply chain ng software. Upang mabawasan ang mga panganib na ito, ang NSA at CISIsang rekomendasyon ang pagpapatupad at pag-configure ng matatag na mga algorithm ng kriptograpiko, tulad ng mga tinukoy ng National Institute of Standardat Teknolohiya (NIST), kapag nagse-set up ng mga cloud application at serbisyo.

Bawasan ang pangmatagalang paggamit ng kredensyal

Pagdating sa human authentication, palaging unahin ang identity federation at security tokens na lumalaban sa mga phishing attack. Dapat gamitin ang mga hakbang na ito upang makakuha ng pansamantalang SSH at iba pang mga key. 

Gayundin, para sa pagpapatotoo mula sa isang software patungo sa isa pa, ipinapayong bawasan ang paggamit ng mga pangmatagalang kredensyal na nakabatay sa software hangga't maaari.

Sinusuportahan ng mga detektor mula sa mga tool tulad ng Xygeni ang pagtuklas ng anumang uri ng kredensyal at mga sikreto sa sampu-sampung format sa buong supply chain ng software: code, pipelines, IaC mga konpigurasyon, atbp.

Magdagdag ng mga lagda sa CI/CD konpigurasyon at palaging beripikahin ang mga ito

Sa buong CI/CD proseso, anuman ang yugto ng pag-develop, mahalagang tiyakin na ang code ay pare-pareho at wastong nilagdaan, at ang lagda ay beripikado.

Kung hindi ma-validate ang lagda, kailangang masusing imbestigahan ang sanhi ng isyu sa pagpapatunay.

Bawasan ang mga panganib sa password sa pamamagitan ng Multi-Factor Authentication (MFA)

Maaari rin itong dagdagan ng role-based access control (RBAC). Sa kasalukuyan, ang MFA ay karaniwang ginagamit sa lahat ng uri ng serbisyo. Nakakatulong ito sa pagpapatupad ng seguridad, habang inilalapat din ito para sa parehong internal at external na mga gumagamit. 

Kasunod ng prinsipyo ng least privilege, tinitiyak ng RBAC na ang mga gumagamit ay binibigyan lamang ng mga kinakailangang pahintulot na kinakailangan upang maisagawa ang kanilang mga partikular na gawain.

Dapat isaalang-alang ng mga patakaran ng korporasyon ang mga mandatoryong konpigurasyon ngayon. Ang mga awtomatikong kakayahan sa pagsunod at pag-awdit ng SSCS Ipinapatupad ng mga tool ang lahat ng ito sa buong imprastraktura ng DevOps.

Ipatupad ang mga patakarang may pinakamababang pribilehiyo para sa CI/CD daan

Mahalagang bigyan lamang ng access ang mga developer sa pipelinemga at bahagi na direktang may kaugnayan sa kanilang mga nakatalagang gawain. 

Napakahalaga ng pagpapatupad ng paghihiwalay ng mga tungkulin, kung saan ang mga developer na responsable sa pagsuri ng source code ay hindi nangangailangan ng pribilehiyong i-update ang build environment. Gayundin, ang mga inhinyero na nangangasiwa sa mga build ay hindi nangangailangan ng read-write access sa source code. Para sa mas detalyadong gabay sa pagpapatupad ng mga kontrol sa seguridad, sumangguni sa NIST SP 800-53.

Gumamit ng Two-Person rule (2PR) para sa mga pag-update ng code

Ang pagsunod sa pagsasagawa ng mga patakarang pang-dalawang-tao ay hindi lamang nagtataguyod ng kalidad ng code kundi binabawasan din ang posibilidad ng matagumpay na pagpapakilala ng malisyosong code kung ang mga kredensyal ng isang developer ay nakompromiso.

SSCS Ang mga tool tulad ng Xygeni, ay karaniwang may kasamang partikular na pagsusuri na tumutukoy kung ang proyekto ay nangangailangan ng pagsusuri ng code bago pull requests (mga kahilingan sa pagsasama) ay pinagsama.

Ang pagsusuring ito ay sumusunod sa kasalukuyang seguridad ng Open SSF standard.

Mga ligtas na account at sikreto ng user

Napakahalaga ng pag-audit ng mga user account at pag-configure ng mga access control batay sa mga prinsipyo ng least privilege at paghihiwalay ng mga tungkulin. 

Bukod pa rito, ligtas na paghawak ng mga sikreto, token, at kredensyal sa loob ng CI/CD pipeline ay higit sa lahat.

Huwag kailanman magpadala ng mga sikreto sa plaintext kahit saan sa pipeline, tinitiyak na hindi kailanman naka-embed ang mga ito sa software na maaaring i-reverse-engineer.

Panatilihin ang isang komprehensibong talaan ng lahat ng mga third-party at open-source na bahagi sa codebase sa pamamagitan ng pagpapatupad ng isang software bill of materials (SBOM):

Ang SBOM tumutulong sa mga organisasyon na maunawaan ang mga potensyal na kahinaan ng code at maiwasan ang paggamit ng mga luma at hindi awtorisadong bahagi. Ang pagsunod sa mga regulasyon, tulad ng mga kinakailangan ng FDA para sa mga medikal na aparato, ay maaaring mag-utos ng paggamit SBOMs.

 

Iba pang mahahalagang hakbang sa proseso ng pag-unlad

Upang matukoy ang mga kahinaan, mahalaga na isama ang security scanning sa CI/CD pipeline madaliAng integrasyon ay dapat ituring na madali sa anumang hakbang: sa workstation (bago ang pag-upload), sa isang commit, o sa panggabing pagtatayo gamit ang mga guard rail.

Panatilihin ang Napapanahong Software, Operating System, at CI/CD KagamitanRegular na i-update CI/CD mga tool, dahil maaaring maglaman ang mga ito ng mga bug at kahinaan. Gumamit ng mga sentralisadong sistema ng pamamahala ng patch, kabilang ang integridad ng software at mga proseso ng pagpapatunay para sa mga operating system at mga update ng software.

Paghigpitan ang mga Hindi Pinagkakatiwalaang Aklatan at Alisin ang mga Pansamantalang MapagkukunanGumamit lamang ng software, mga tool, mga library, at mga artifact mula sa mga mapagkakatiwalaan at ligtas na mapagkukunan upang mabawasan ang mga banta sa CI/CD pipelinePalaging tiyaking angkop ang configuration nito upang maiwasan ang potensyal na pagpapatupad ng code o ang pagpapakilala ng mga backdoor. Mahalaga rin naalisin ang mga hindi kinakailangang aplikasyon at protektahan ang mga endpoint.

Alamin ang higit pa tungkol sa Xygeni Platform, i-download ang datasheet ng platform ng Xygeni

mga tool sa pagsusuri ng komposisyon ng software ng mga tool sa sca
Unahin, ayusin, at i-secure ang mga panganib ng iyong software
Kunin ang Iyong Libreng Account.
Walang kinakailangang credit card.

I-secure ang Iyong Pag-develop at Paghahatid ng Software

kasama ang Xygeni Product Suite