Kini ang ikatulong episode sa usa ka serye sa mga artikulo bahin sa labing kaylap nga klase sa mga pag-atake sa supply chain sa software: kadtong nag-abuso sa usa ka publikong rehistro sa Open-source mga sangkap sa software. Human sa pag-analisar sa miaging yugto nga "Anatomiya sa mga Malisyoso nga Pakete: Unsa ang mga Uso?"Kon giunsa sa mga dautang tawo pag-inject og malisyosong pamatasan ngadto sa bag-o o kasamtangang gimantala nga mga component, andam na kami nga magsul-ob sa among mga firefighting jacket ug susihon kon unsaon namo nga malampusong babagan ang malisyosong software nga gihatag niining paagiha, o sa laing paagi, atubangon ang usa ka posibleng seryosong cyber incident tungod kay sayop ang among pamaagi."
Kadaghanan sa mga propesyonal nga nahibalo sa seguridad adunay mga ideya kon unsaon pagdumala kini nga hulga. Nakadungog na kita og mga security manager nga walay pagduha-duha nga nag-ingon nga SCA Ang mga himan nagsulti na kanimo kung kanus-a ang usa ka bersyon sa pakete usa ka malware. O nga kini nagsalig sa mga ilado ug gisusi pag-ayo nga mga sangkap sa software, diin ang bisan unsang malware dali nga makit-an ug matangtang. Naggamit sila og mga open minor/patch nga bersyon alang sa awtomatikong pagkuha og mga pag-ayo sa kahuyangan, ug kana ang husto ug girekomenda nga paagi aron makunhuran ang peligro sa mga dependency sa open source, nga nagsunod sa "tambali og sayo, tambali kanunay”Prinsipyo.
Niini nga yugto, atong ribyuhon kon nganong sayop kini nga mga ideya, ug kon giunsa nga ang maong mga sayop nga pagsabot nakatampo sa pagkapopular niining mekanismo sa pag-atake, ug sa dakong risgo nga nasinati sa mga organisasyon. Tapuson nato kon unsa ang epektibo, ug unsa ang paningkamot ug mga kahinguhaan nga nalangkit.
Kasagaran nga mga Sayop nga pagsabut
Atol sa among panaw sa seguridad sa software, among nakita ang pag-uswag sa mga teknik sa pag-atake ug ang lain-laing mga ideya gikan sa mga tawo nga mahunahunaon sa seguridad. Ang mga organisasyon kanunay nga nasayop sa pagsabot kung unsa ang epektibo batok niini nga hulga, busa una among susihon kung unsa ang dili epektibo, nga gipamubo sa mosunod, dili kompleto, nga lista sa mga sayop nga pagsabot.
Sayop nga Pagsabot #1: SCA ang mga himan nagreport na sa mga makadaot nga sangkap
Sa tinuud! Apan human sa kamatuoran… Kon tingali ulahi na kaayo kon ang elemento gigamit sa usa ka software build, ug ang mga dautang aktor nakakuha na og luna sa usa ka developer o CI/CD host. Ang mga sekreto basin na-exfilt, na-download ug na-install ang dugang nga malware, ug basin ang kaaway nibalhin sa pikas nga bahin ug nakakuha na og access sa ubang lugar.
Pag-analisar sa Komposisyon sa Software (SCA) ang mga himan gidisenyo aron mailhan ang mga potensyal nga nahibal-an nga mga kahuyangan. Ang mga modernong himan maayo kaayo nga nagtrabaho pinaagi sa pagdugang sa signal-noise ratio, nga nagtino kung ang kahuyangan aktuwal nga maabot o mapahimuslan. Apan kini walay pulos batok sa bag-ong malware. Hunahunaa ang usa ka malisyosong sangkap isip usa ka zero-day nga kahuyangan: Sa higayon nga mamatikdan ang malisyosong pamatasan niini, ang sangkap ireport sa holding registry, nga human sa usa ka pagrepaso sa usa ka security team gikumpirma nga malisyoso ug tangtangon gikan sa registry. [1].
Nianang puntoha, ang kalibutan (lakip na ang SCAs) nasayod nga ang pag-instalar o paggamit sa component (o pipila ka bersyon sa usa ka kasamtangang component) dili maayong butang. Apan kini mahitabo kung ang component dili magamit gikan sa registryMaayo nga mahibal-an nga naa koy mga kahuyangan sa mga third-party components, o bisan ang mga components nga giklasipikar nga malisyoso sa registry, apan subo lang SCA o ang kasagarang mga himan sa pag-awdit dili makatabang niini nga konteksto. Gawas kon SCAAng /audit tool makahibalo daan nga ang usa ka component kay malisyoso sa dili pa kini gamiton sa imong organisasyon..
Hinumdumi, ang bisan unsang solusyon batok sa malisyosong open-source nga mga sangkap kinahanglan nga makamatikod niini on-the-fly, tali sa kanus-a ang component gimantala sa registry ug kanus-a ang component (bersyon) unang gigamit sa imong organisasyon. Ug kana naglakip sa mga transitive component.
Sayop nga Pagsabot #2: Ang pagkontrol sa mga script sa pag-install sa oras sa pagtukod makapugong sa makadaot nga pamatasan gikan sa mga open-source nga sangkap
Nagkalain-laing mga package manager ang nagtanyag sa abilidad sa pagpadagan sa mga script (nga gilakip sa component tarball [2]), tungod sa lehitimong mga hinungdan, sama sa pag-compile sa gikinahanglan nga mga butang sa lain-laing mga plataporma, pagmugna og code, o pagpadagan sa mga pagsulay, ug kinahanglan natong tanan mahibal-an nga kini mahimong maabusohan sa mga dautang aktor kung ang mga malisyosong script gilakip sa tarball, o kung ang tig-atake makahimo sa pagpadagan sa usa ka malisyosong script imbes nga ang maayo.
Kay nasayod niini, atong ma-configure ang package manager aron dili tagdon ang mga script. Pananglitan, gamit ang NPM ang –ignore-scripts bandila (o usa ka kabtangan sa pag-configure sa .npmrc file) molaktaw sa mga script atol sa pag-instalar. Mahimo kini nga hinungdan sa pipila ka mga isyu tungod kay ang pagpadagan sa mga script komon sa daghang mga ekosistema: Ang ubang mga package manager wala gani motugot sa pag-disable sa script execution (pahiwatig: prompt "Unsang mga package manager ang dili motugot sa pag-disable sa execution sa install scripts?"sa imong paboritong AI). Apan dili kini makaprotekta sa kinatibuk-an (kinahanglan natong ipatuman nga ang skip disable configuration anaa bisan asa).
Ug kon ang malisyosong pamatasan wala nahimutang sa mga install script apan sa software nga ipatuman atol sa runtime, kini nga opsyon lamang dili makaprotekta kanato.
Sayop nga Pagsabot #3: Ang pag-pin sa bersyon nagpugong sa pag-instalar sa mga makadaot nga sangkap
Adunay kompromiso tali sa sayo nga pag-patch ug kanunay nga pag-patch gamit ang bukas nga mga bersyon (nagtugot sa package manager nga awtomatikong mag-install og bag-ong mga update kung magamit alang sa mga pag-ayo sa seguridad) ug pag-pin sa bersyon (nga adunay tanang direkta ug transitive dependencies para sa usa ka software sa usa ka fixed nga bersyon). Ang mga prinsipyo sa seguridad gahi ug usahay nagkasumpaki, sama sa nahitabo sa "pag-patch og sayo, pag-patch og kanunay" ug "Ang pag-upgrade dili angay nga ibaliwala lang"Ang ubang mga package manager mohimo og awtomatikong mga update gamit ang mga server ranges sa girekomendar nga paagi. Maayo kon gusto usab nimo nga makadawat og mga malisyosong update! Oo, ang mga component kinahanglan nga i-update aron makadawat og mga pag-ayo sa seguridad nga magsira sa mga kahuyangan sa labing madali, apan ... ayaw gyud tugoti nga ang package manager mohimo niini nga awtomatiko.
Sayop nga Pagsabot #4: Luwas ang paggamit sa kasaligang mga sangkap. Ang bisan unsang malisyosong bersyon dali nga makit-an, mabutyag ug matangtang.
Ngano nga kasaligan ang usa ka component? Posible tungod kay kini sikat kaayo, nga adunay daghang mga tawo nga nangita sa mga kahuyangan, daghang mga kontribyutor alang sa maintenance, nga adunay daghang mga core maintenance nga makugihong nagrepaso sa tanan. pull requestsLahi ra gyud ang tinuod nga kahimtang. Ang ubang importanteng mga component gimentinar sa usa lang ka wala gibayri nga developer. Ang kaylap nga gigamit nga mga framework adunay pipila ka regular nga mga kontribyutor, uban sa dali nga pagkunhod sa gidaghanon sa commits kada maintainer (ang mga sikat nga proyekto adunay taas nga ikog sa mga kontribyutor nga naghimo og pipila ka drive-by commit ug dili na gyud mobalik). Ug daghan ang mga sikat nga proyekto nga usa ra ang tigmentinar.
Handurawa ang imong kaugalingon nga nag-ingon "Ah, Spring Boot / Angular / React / PyTorch / opisyal nga base nga mga imahe sa Docker ang among gigamit, busa gamay ra ang risgo nga imong gihisgutan." Basin tinuod kana, kami nga mga security vendor kanunay nga nagpahadlok, ug ang pagpanghilabot sa mga development team aron makunhuran ang usa ka kontrobersyal nga risgo usa ka binuang. Mahimong matintal ka nga mobalhin sa risk acceptance paragraph (sa sunod nga seksyon) ug nahuman na ang tanan. Ikasubo, ang labing inila nga mga sangkap mao ang mga target sa mga dautang aktor, ug pananglitan, ang sikat Giatake ang librarya sa PyTorch sa nangagi.
"Dali nga nakit-an, gibutyag, ug gikuha". Moabot ug pipila ka adlaw una matangtang ang usa ka bag-ong malisyosong component gikan sa public registry. Ang mga registry mabinantayon bahin sa pagtangtang sa usa ka bersyon sa component, para sa kaayohan. Ang among kasinatian mao nga kung kini gitaho gikan sa among bahin, ang median nga oras para matangtang sa registry ang apektadong bersyon kay 39 ka oras, sobra sa usa ka adlaw ug tunga. Adunay mga malisyosong component nga usa ka semana human sa among inisyal nga pagreport sa registry sa dili pa matangtang. Ug sa pipila ka mga kaso, ang component matangtang lamang human ang usa ka biktima o usa ka kompanya sa pagtubag sa insidente moreport sa usa ka insidente nga naglambigit sa component.
Unsa ang DILI Molihok Batok sa mga Malisyoso nga Komponente
Ang bisan unsang dili espesipikong pamaagi mapakyas pag-ayo. Kini usa ka sigurado, wala ka makahatag og epektibo nga mga pamaagi sa pag-atubang sa risgo nga nalangkit niini nga hulga.
Tradisyonal nga SCA Ang mga himan mosulti kanimo bahin sa nailhan nga malware apan adunay dako nga exposure window. Gawas kon sila proaktibo nga naghimo sa malware detection nga adunay gipugos nga pag-block sa mga malisyosong sangkap, dili sila molihok batok niini nga hulga.
Ang pag-disable sa mga installation script makatabang apan kinahanglan kining ipatuman bisan asa kinahanglan i-install ang usa ka component. Parehas kini sa version pinning, kay ang mga bersyon dili ma-pin gikan sa luwas nga inisyal nga estado hangtod sa hangtod.
Ang paghunahuna nga ang mga sikat nga sangkap makakuha og igong atensyon nga dili kini ma-inject og wala tuyoa nga kinaiya sa usa ka pag-atake sa supply chain nga wala’y hapit dayon nga pag-detect aron malikayan ang bisan unsang kadaot usa ka inosente ug peligroso. Dili nimo gusto nga magpuyo sa ngilit, dili ba?
Kon mohunong ka niining puntoha, nan pagdawat sa risgo mao ra ang imong mahimo: Kini usa ka decision nga kinahanglan nga idokumento sa imong modelo sa hulga/pagtimbang-timbang sa risgo, lakip ang katarungan sa pagdawat sa risgo ug ang potensyal nga mga implikasyon niini. Pagpataas sa kaamgohan pinaagi sa pagpahibalo niini sa management ug uban pang may kalabutan nga mga partido. Ang uban panaglalis mahimong maplano kung ang usa ka malisyosong sangkap gi-install o gilakip sa imong software, apan kini lisud tungod kay ang mga tig-atake adunay daghang mga agianan nga sundon. Ang mga detalye sa usa ka pag-atake sa supply chain nga gibase sa paggamit sa usa ka malisyosong sangkap makausab pag-ayo sa pagbutyag sa publiko sa insidente, nga lagmit mandatory ubos sa regulatory framework sa imong organisasyon. Mahimo usab nimo nga hisgutan mga kontrol sa pag-compensate or risgo sa pagbalhin pananglitan uban ang insurance.
Apan, adunay mga kontrol nga motubag sa hulga ug angay nga ikonsiderar kon dili ka matagbaw sa pagdawat sa risgo. Palihug padayon sa pagbasa.
Unsay Molihok Batok sa mga Pag-atake Gamit ang Malisyoso nga mga Komponente
Lig-on nga Pagdumala sa Bersyon
Ang pag-pin sa bersyon gamit ang kontrolado ug nahibal-an nga mga version bump mao ang angay buhaton, aron mabalanse ang panginahanglan sa pagtangtang sa mga kahuyangan nga dili makadawat og malware. Apan hinumdomi ang sayop nga pagsabot #3: Ang pag-pin sa bersyon lamang dili igo aron babagan ang malisyosong code nga gikan sa mga bag-ong bersyon, tungod kay kinahanglan nimo sa umaabot nga i-update ang mga bersyon sa bisan unsang direkta o dili direkta nga pagsalig. Nianang higayona kinahanglan nimo ang ebidensya nga igo nga lig-on aron ang tanan nga giusab nga mga bersyon wala’y sulod nga malware.
Sayo nga Pasidaan
Usa ka pamaagi sa pagsulbad sa problema sa mga malisyosong sangkap mao ang usa ka early warning system (ginganlan dinhi isip Sayo nga Pasidaan sa Malware o MEW), diin ang mga bag-ong bersyon nga gipatik (para sa bag-o o kasamtangang mga sangkap) gisusi sa usa ka detection engine, nga kung adunay igong ebidensya nga makit-an mahimong moklasipikar sa bag-ong bersyon nga posibleng makadaot.
Importante dinhi ang automation, kay imposible nga mano-mano nga susihon ang tanang bag-ong mga component sa kasamtangang publishing rate. Busa ang detection engine kinahanglan nga maghiusa sa lain-laing mga teknik, tingali lakip ang static, dynamic, ug capability analysis, reputasyon sa user, ug ebidensya gikan sa mga kalainan tali sa component metadata ug sa mga sulod sa tarball, o tali sa tarball ug sa source repository diin kuno gikan ang component.
Adunay usa ka ngitngit nga sona tali sa oras sa pagmantala ug sa pag-analisar sa makina sa mga sulod sa component, apan dili kini molapas sa pipila ka minuto. Mahimong usbon ang eskema, pananglitan pinaagi sa paghulat nga ma-analisar ang mga bag-ong component sa dili pa kini tugutan nga ma-install ug magamit sa software build. pipelines, o analisahon kini kung gikinahanglan. Ang usa ka component sa usa ka gihatag nga bersyon dili mausab [3], busa kinahanglan kini nga analisahon kausa ra.
Dili posible ang hingpit nga automation, ug gikinahanglan ang usa ka pagrepaso sa seguridad alang sa mga sangkap nga posibleng makadaot. Pagbantay sa mga tigpasiugda sa digital nga tambalAng AI ug Machine Learning wala pa kaayo maugmad aron mohimo sa katapusang pulong kon bahin sa pagkumpirmar kon ang usa ka gidudahang component adunay malware. Siyempre, ang machine learning adunay hinungdanong papel sa detection engine sa pagklasipikar sa input component gikan sa hilaw nga ebidensya nga nakuha, apan sa higayon nga ang component "ma-quarantine" na, ang katapusang pulong anaa sa manwal nga pagrepaso sa usa ka security team nga adunay kasinatian sa mga malisyosong component. Kini mokumpirmar sa bisan unsang potensyal nga malware o moklasipikar niini pag-usab isip luwas. Ug ang yugto sa panahon anaa sa mga oras.
Ang registry moreport sa malisyosong bersyon/component; ang registry dayon mohimo sa pagrepaso niini aron kumpirmahon ug mopadayon sa pagbutyag sa publiko ug pagtangtang gikan sa registry. Ang ubang mga registry nagtipig og security holding package. Ang time range dinhi mao ang mga adlaw o semana sukad sa publikasyon, nga mao ang 'Panahon sa pagpuyo' o 'bintana sa pagbutyag' para sa kadaghanan sa mga makadaot nga sangkap.
Posible ba mahibal-an kung ang bersyon sa usa ka component malisyoso?
Busa alang sa sayo nga pasidaan, kinahanglan natong hatagan ug makatagbaw nga tubag kini nga pangutana: Unsaon nako pagkahibalo nga ang usa ka librarya o pakete (dili) malisyoso? Unsaon pagkolekta ug igong ebidensya sa malisyoso nga pamatasan? Posible, apan lisod, tungod kay ang mga kaaway mogamit ug daghang kahanas aron dili mamatikdan. Adunay lain-laing mga pamaagi, ang matag usa adunay mga bentaha ug disbentaha.
Static nga pagtuki makasusi sa tanang execution paths, makasusi sa mga teknik nga gigamit sa mga tig-atake nga dili modagan sa component, ug makahimo sa mga preprocessing task sama sa de-obfuscation o deciphering. Samtang ang mga tig-atake naningkamot sa pagtago sa ilang mga sayop, ang mga pagsulay sa obfuscation ebidensya gyud sa malware (apan timan-i nga ang mga lehitimong component nag-obfuscate sa code para sa pagpreserbar sa intellectual property, nga supak sa "Bukas nga tinubdan"). Minorya lang sa mga sopistikado kaayong pag-atake nga adunay kusog nga obfuscation ang kinahanglan nga i-sandbox, apan ang ingon ka kusog nga obfuscation usa ka timaan sa malisyoso nga pag-atake. Palihug timan-i nga ang naandan SAST Ang mga himan gidisenyo alang sa dili tinuyo nga mga kahuyangan, dili alang sa malisyosong tuyo sama sa mga backdoor.
Dinamikong pagtuki mopadagan sa component ug mosusi sa tubag pinaagi sa pag-instrument sa runtime, kasagaran pinaagi sa paghatag og sandboxed environment. Ang malisyoso nga pamatasan nga gi-trigger ubos sa pipila ka mga kondisyon mahimong dili mamatikdan: palihug timan-i nga ang malware mahimong mogamit og mga teknik sa paglikay sama sa Birtwalisasyon/Paglikay sa Sandbox nga mo-activate lang kon dili ubos sa pagsusi, ug usa usab ka timaan sa malisyosong kalihokan para sa bisan unsang static analysis engine.
Pag-analisar sa mga kapabilidad gikonsiderar kung unsa ang gibuhat sa component: asa kini konektado, unsang mga file ang gi-access niini, unsang mga command o programa ang gipadagan, ang terminal o device I/O nga gihimo, o unsang mga system call ang gitawag. Kini nga fingerprinting sa pamatasan mahimong itandi (para sa usa ka kasamtangan nga component) sa lain-laing mga bersyon, aron kung ang wala damha nga pamatasan makit-an, kana nga ebidensya mahimong magpataas sa pagduda sa potensyal nga malisyosong kalihokan nga gisulod sa bag-ong bersyon. Kini nga pamaagi nagsunod sa mga lakang sa triage nga gisunod sa mga security analyst kung nag-atubang sa potensyal nga malware: usa ka inspeksyon gamit ang mga kuldas o susamang mga himan. Kini nga pamaagi makamatikod sa malisyoso nga pamatasan bisan unsa pa ang mga kondisyon nga maka-trigger ug molihok kung walay source code nga magamit.
Pag-analisar sa konteksto nagkolekta og impormasyon kon giunsa pagmantala ang component ug kinsa ang naghimo niini. Ang mga kampanya sa mga dautang aktor kasagarang mogamit og bag-ong user account(s) nga wala gipailalom sa bisan unsang estrikto nga proseso sa pagsusi. Ang pagsubay sa nangaging kalihokan mahimong makahatag og mga panabut sa nagpahiping tiggamit, kasagaran alang sa mga anomaliya nga mahimong magpasabot sa usa ka potensyal nga kompromiso. Ang reputasyon lisod kaayo pangitaon ug dali ra kaayo mawala! Ang usa ka tiggamit nga walay nangaging kalihokan neyutral, apan ang karma nagpadayon sa paggukod sa dautang tawo. Ang mga hacktivist, o normal nga mga tiggamit nga gikawat ang ilang mga kredensyal sa pagmantala, kinahanglan nga bantayan pag-ayo.
Laing impormasyon sa konteksto mao ang bisan unsang kalainan tali sa source repository nga kuno gigamit sa paghimo sa component tarball ug sa mga sulod sa tarball mismo. Ug pagsunod usab sa maayong mga pamaagi, sama sa paghimo og mga tag o pagpagawas sa source repository nga motakdo sa mga bersyon sa component nga gipatik sa public registry. Kung ang source repository sa usa ka partikular nga commit gi-tag og release, ug unya kalit lang usa ka bersyon ang wala mosunod niini, kana pa lang lig-on na nga ebidensya nga ang component mahimong nahugawan: ang dili maayong aktor mahimong nakakompromiso sa account nga gigamit sa pagmantala sa component, apan walay mga permiso sa pagsulat sa source code repository). Daghang mga pag-atake ang kanunay nga namatikdan gamit kini nga mga lagda: pananglitan, ang Pag-atake sa ledger dali ra mamatikdan subay niini nga mga linya. Busa, ang pag-analisar sa konteksto nag-ila sa ingon nga mga anomaliya sa proseso sa pagmantala.
Pag-firewall sa Pagsalig
Laing pamaagi mao ang pagbaton og komprehensibo nga whitelist sa mga component para sa tanang dependency graph nga gigamit sa imong software, aron sa bisan unsang build pipeline ipadagan sa imong organisasyon, ang mga aprubado nga bersyon sa component lang ang mahimong i-install ug gamiton. Ang "firewall"gipatuman gamit ang internal registry diin ang mga tarball para sa gitugot nga mga bersyon sa component gisilbihan (naka-cache o naka-proxy). Palihug timan-i nga ang bisan unsang whitelist dili molihok gawas kung naa kay teknolohiya para sa pagklasipikar sa bisan unsang bag-ong bersyon nga luwas aron kini madugang sa whitelist.
Palihug timan-i nga ang sayo nga pasidaan (dali nga pag-ila sa labing madali human sa pagmantala sa bag-ong bersyon) kinahanglan nga iuban sa pipila ka paagi aron magamit ang maong impormasyon sa proaktibo nga paagi aron babagan ang component nga makaapekto sa build. pipelineo mga makina sa mga developer [4]. Gitawag nato kini nga “firewall sa pagsalig": usa ka mekanismo sa kuwarentenas alang sa pagpanalipod sa mga automated builds gikan sa mga malisyosong pakete. Ang mga internal nga pakete ug mga image registry maayo aron mapanalipdan ang mga organisasyon gikan sa panggawas nga dautan, apan gikinahanglan ang igo nga lig-on nga ebidensya aron mahimong epektibo ang kuwarentenas.
Pag-sandbox sa Runtime
Usa ka alternatibong pamaagi sa pag-ila sa panahon sa pagmantala mao ang pag-analisar sa pamatasan sa panahon sa runtime. Ang ideya mao ang pagkuha sa gilauman nga pamatasan gikan sa software ug pag-ila (o pag-block) sa bisan unsang mga anomaliya nga makit-an. Kini nga linya sa aksyon adunay problema sa pag-instrumento sa runtime alang sa pagmonitor o pag-block, ug kini usa ka maayong ideya nga idugang sa arsenal sa mga mekanismo sa proteksyon batok sa malisyosong component pest.
Pagbutang og Komprehensibo nga Estratehiya
Ang girekomendar nga estratehiya kinahanglan nga maghiusa sa lain-laing mga teknik sa proseso sa pagpalambo sa software, nga mokontrol sa mga pag-update sa bersyon aron babagan ang mga mosulod nga malisyosong sangkap. Kinahanglan natong i-akomodar ang pag-pin sa bersyon aron malikayan ang awtomatikong impeksyon sa pag-update sa mga bersyon aron makakuha og mga pag-ayo alang sa mga kahuyangan nga importante; usa ka paspas ug episyente nga pagtimbang-timbang sa direkta ug dili direkta nga mga dependency atol sa mga pag-update sa bersyon aron adunay igong ebidensya nga dili kini puno sa malware. Ang mga build sa software nga nagsalig sa nahibal-an nga malisyosong sangkap kinahanglan nga babagan. Ug ang tanan kinahanglan nga ipatuman.
Gamita ang version pinning, kon mahimo, kay kini makahimo sa mga build nga mas masubli. Pag-pin sa bersyon gamit ang kontrolado, mano-mano nga giaprobahan nga mga bump sa bersyon, Ug gitabangan sa teknolohiya sa katabang, kinahanglan nga mo-assess kung ang update nagdala ba og malware o nakadaot sa software, ug i-reconcile ang pag-update para sa pag-ayo sa mga kahuyangan sa paglikay sa impeksyon sa malware. Ang tooling makatabang dinhi, pinaagi sa (1) pag-prioritize kung unsang mga kahuyangan ang tinuod nga importante (maabot ug mapahimuslan, nga adunay taas nga risgo nga ma-target sa mga tig-atake), (2) pagpili sa target nga mga bersyon nga compatible sa kasamtangang paggamit sa component ug dili makadaot sa software, (3) pagpili sa target nga mga bersyon nga walay malisyosong pamatasan, ug (4) paghimo sa pag-update sa bersyon para sa direkta ug dili direkta nga mga dependency nga dali ra, pinaagi sa pagsugyot og mga pagbag-o sa mga manifest file nga dali nga maaprobahan. Ang lakang (3) nanginahanglan og espesipikong impormasyon bahin sa malisyosong mga component nga hapit na sa ilang oras sa pagmantala kutob sa mahimo.
Kini nga proseso sa pag-update sa mga dependency kinahanglan nga gipatuman ug napamatud-an sa tanang dapit. Ang proseso kinahanglan nga dokumentado, ug ang tanang partido nga nalambigit kinahanglan nga bansayon, kay kasagaran ang pagpalambo ug pagtukod/pag-deploy sa software gi-externalize. Ang CI/CD pipelineAng s kinahanglan nga usbon sumala niana, aron ang automation dili motugot sa usa ka malisyoso nga dili direkta nga dependency nga makasulod sa build: guardrails Ang girekomendar nga paagi mao ang pag-block sa build kon adunay igong ebidensya sa posibleng malware sa usa ka dependency.
Kon ang imong organisasyon adunay internal registry nga nagsilbing security proxy para sa pagkupot sa gitugot nga mga bersyon sa component, kinahanglan kang makakuha og impormasyon bahin sa mga malisyosong component (gawas sa ubang criteria) para sa pagsusi sa gihangyo nga component sa dili pa kini idugang sa allowance list.
Ang paggamit sa open-source software nga luwas dili sayon, ug ang hinungdan sa malware kinahanglan nga hingpit nga tagdon, nga adunay susamang paningkamot nga buhaton sa pagdumala sa mga kahuyangan.
Usa ka katapusan nga mubo nga sulat: Tinubdan nga gigikanan, sa porma sa mga software attestation, nga gihimo sa panahon sa pagtukod sa component, usa pa ka importanteng bahin sa paningkamot nga masubay ang artifact (component tarball) uban sa mga tinubdan ug proseso sa pagtukod nga naghimo niini. Timan-i nga kini nga sumpay tali sa source snapshot + build environment ug sa kaubang software artifact (gipirmahan sa kasaligang build system) wala makapugong sa kaugalingon nga ang component walay dautang kinaiya, apan naghimo niini nga mas lisud alang sa mga dautang tawo sa pag-inject og malware. Ug ang paghimo sa provenance validation nga usa ka komon nga kinahanglanon alang sa pagkonsumo sa mga open source nga component magdugay, ug lamang bag-o lang gidugang sa NPMAng paghimo sa mga kasaligang build ug deploy system nga dili madaot, o ang pagpahimo sa pag-ila sa bisan unsang pagpanghilabot sa build lahi na nga estorya, nga wala sa sakup niini nga post.
Dugang nga pagbasa
Ang sunod nga yugto Mga Pakete nga May Malisyosong Bukas nga Tinubdan: Ang Pamaagi sa Xygeni ipresentar ang estratehiya nga among gisunod sa Xygeni para sa among Sayo nga Pasidaan sa Malware (MEW) nga sistema. Ang bag-ong mga bersyon sa pakete sa publikong pakete ug mga rehistro sa imahe gi-scan ug ang ebidensya makuha gamit ang kombinasyon sa static, dynamic, capabilities, ug contextual analysis. Ang ebidensya, inubanan sa reputasyon sa tiggamit ug ang kasaysayan sa mga pagbag-o sa mga source code repository, nagtugot alang sa usa ka hingpit nga awtomatik nga klasipikasyon sa usa ka sangkap ngadto sa mga kategorya nga taas og risgo ug lagmit malisyoso. Ang sistema makakat-on gikan sa nangaging ebidensya nga natipon gikan sa mga pakete aron maminusan ang mga sayop nga positibo sa labing gamay.
Ang mga organisasyon nga naka-subscribe makadawat og pasidaan alang sa mga sangkap nga ilang gigamit, direkta o dili direkta, kung ang usa ka malisyosong bersyon gikategorya. Dayon usa ka manwal nga pag-analisar ang gihimo sa among mga analista, nga nagpamatuod o nagsalikway sa klasipikasyon. Alang sa nakumpirma nga malware, ang publikong rehistro gipahibalo aron kini makahimo sa kaugalingon nga pag-analisar ug kasagaran tangtangon ang malisyosong bersyon o mohimo og dugang nga aksyon, sama sa pag-block o pagtangtang sa gikuwestiyon nga user account.
Among ipasabut kon giunsa namo pagtabang ang NPM, PyPI, GitHub, ug uban pang importanteng imprastraktura sa open source ecosystem aron makunhuran ang dwell time nga ang usa ka bag-ong malisyosong component nga gipatik magpabilin nga aktibo hangtod nga kini makumpirma nga malware ug matangtang gikan sa registry. Ug kon giunsa makabenepisyo ang mga organisasyon gikan sa MEW system aron adunay mas maayong proteksyon batok sa mga pag-atake sa software supply chain nga naglambigit sa mga open source component.
- [1] Bisan pa man, kinahanglan nga susihon sa mga tiggamit sa component kung ang component tarball naka-cache ba o narehistro sa usa ka lugar, pananglitan sa usa ka internal registry, aron mawala ang sakit.
- [2] Ang packaged component naglakip sa usa ka manifest nga nagdeklarar sa mga sulod ug metadata niini, source o compiled code, installation scripts, ug dugang nga mga butang sama sa test suites, sumala sa packaging format ug kasagaran sa compressed form. Kini gitawag nga "component tarball".
- [3] Bisan kon ang malisyosong aktor makausab sa usa ka gipatik nga component tungod sa usa ka paglapas sa registry mismo, ang usa ka yano nga cryptographic digest makamatikod sa bisan unsang pagbag-o sa tarball human mahuman ang pag-analisa.
- [4] Hinumdumi nga ang ubang malisyosong mga sangkap modagan sa oras sa pag-install, busa makaapekto kini sa mga developer node nga wala tuyoa nga modagan sa "npm install X" diin ang X usa ka malisyosong sangkap.




