Ev beşê sêyem e di rêzefîlmekê de rêze gotaran derbarê cureyên herî berbelav ên êrîşên zincîra dabînkirina nermalavê de: yên ku qeyda giştî ya vekirî pêkhateyên nermalavê. Piştî analîzkirina di beşa berê de "Anatomiya Pakêtên Xerabkar: Trend çi ne?"Çawa aktorên xirab tevgerên xerab dixin nav pêkhateyên nû an yên heyî yên weşandî, em amade ne ku cilên xwe yên agirkujiyê li xwe bikin û lêkolîn bikin ka em çawa dikarin bi serkeftî nermalava xerabkar a bi vî rengî hatî şandin asteng bikin, an jî alternatîf, bi bûyerek sîber a potansiyel cidî re mijûl bibin ji ber ku me rêbaza xelet girtiye."
Piraniya pisporên ku ji ewlehiyê haydar in, ramanên wan hene ka meriv çawa bi vê tehdîdê re mijûl bibe. Me bêyî dudilî bihîstiye ku rêveberên ewlehiyê dibêjin ku SCA Amûr ji berê ve ji we re dibêjin kengê guhertoyek pakêtê malware ye. An jî ku ew bi pêkhateyên nermalavê yên naskirî û pir nirxandin ve girêdayî ne, ku her malware dê tavilê were tespît kirin û rakirin. Ew guhertoyên piçûk/patch ên vekirî bikar tînin da ku bixweber çareseriyên qelsiyê bistînin, û ev rêbaza rast û pêşniyarkirî ye ji bo kêmkirina xetera li ser girêdayîbûnên çavkaniya vekirî, piştî "zû paç bike, pir caran paç bike”Prensîb.
Di vê beşê de, em ê binirxînin ka çima ev raman xelet in, û çawa ev têgihiştinên xelet dibin sedema populerbûna vê mekanîzmaya êrîşê, û dibin sedema rîskek mezin a ku rêxistin pê re rû bi rû dimînin. Em ê bi tiştê ku dixebite, û kîjan hewildan û çavkaniyên têkildar in, biqedînin.
Baweriyên çewt ên hevpar
Di rêwîtiya me ya bi ewlehiya nermalavê re, me dît ku teknîkên êrîşê pêşve diçin û rêzek berfireh ji ramanên kesên ku ji ewlehiyê haydar in hatin. Rêxistin pir caran xelet fam dikin ka çi li dijî vê gefê dixebite, ji ber vê yekê pêşî em ê lêkolîn bikin ka çi naxebite, ku di navnîşa jêrîn a ne temam a têgihiştinên xelet de hatiye kurtkirin.
Têgihîştina şaş #1: SCA Amûr jixwe pêkhateyên xerabkar radigihînin
Birastî! Lê piştî rastiyê... Dema ku dibe ku pir dereng be ger hêman di avakirina nermalavê de hatibe bikar anîn, û aktorên xirab berê xwe di pêşdebir an de bi dest xistine CI/CD mêvandar. Dibe ku raz hatibin derxistin, malwareyên zêdetir hatibin dakêşandin û sazkirin, û dibe ku dijmin ber bi alîkî ve çûbe û berê xwe daye cîhek din.
Analîza Berhevoka Nermalavê (SCA) amûr ji bo destnîşankirina qelsiyên potansiyel ên naskirî hatine sêwirandin. Amûrên nûjen bi zêdekirina rêjeya sînyal-deng karekî pir baş dikin, û diyar dikin ka qelsî bi rastî gihîştî ye an jî dikare were bikaranîn. Lê ew li dijî malwareyên nû bêkêr in. Li pêkhateyek xerabkar wekî qelsiyek sifir-roj bifikirin: Tenê dema ku tevgera wê ya xerabkar tê tespîtkirin, pêkhate ji qeyda girtinê re tê ragihandin, ku piştî nirxandinek ji hêla tîmek ewlehiyê ve wekî xerabkar tê piştrast kirin û ji qeydê tê rakirin. [1].
Di wê demê de, cîhan (tevî SCAs) dizane ku sazkirin an karanîna pêkhateyê (an hin guhertoyên pêkhateyek heyî) ne tiştek baş e. Lê ev gava pêkhate ji qeydê peyda nabe ye.Zanîna ku di pêkhateyên partiya sêyemîn de, an jî pêkhateyên ku ji hêla qeydê ve wekî zirardar hatine dabeş kirin, lawaziyên min hene baş e, lê mixabin SCA an jî amûrên denetimê yên hevpar di vê çarçoveyê de alîkariyê nakin. Heta ku SCA/amûra auditê dikare bi rastî ji pêş ve bizanibe ku pêkhateyek zirardar e berî ku ew li rêxistina we were bikar anîn.
Ji bîr meke, her çareseriyek li dijî pêkhateyên çavkaniya vekirî yên xerabkar divê wan tespît bike. on-the-fly, di navbera dema ku pêkhate di qeydê de tê weşandin û dema ku pêkhate (guherto) cara yekem li rêxistina we tê bikar anîn. Û ev pêkhateyên veguhêz jî di nav xwe de digire.
Têgihîştina şaş #2: Kontrolkirina skrîptên sazkirinê di dema avakirinê de rê li ber tevgerên xerabkar ên ji pêkhateyên çavkaniya vekirî digire.
Gerînendeyên pakêtan ên cûrbecûr şiyana xebitandina skrîptan pêşkêş dikin (di nav tarball-a pêkhateyê de hene) [2]), ji ber sedemên rewa, wek berhevkirina tiştên pêwîst li ser platformên cûda, çêkirina kodê, an jî xebitandina ceribandinan, û divê em hemî bizanin ku heke skrîptên xerabkar di tarballê de cih bigirin, an jî heke êrîşkar bikaribe skrîptek xerabkar li şûna ya baş bixebitîne, ew dikarin ji hêla aktorên xerab ve werin îstismarkirin.
Bi zanîna vê yekê, em dikarin rêveberê pakêtan mîheng bikin da ku skrîptan paşguh bike. Mînakî, bi NPM-ê re -negirin-skrîptan al (an taybetmendiyek mîhengkirinê di .npmrc pelê) di dema sazkirinê de skrîptan derbas dike. Ev dibe ku hin pirsgirêkan çêbike ji ber ku xebitandina skrîptan di gelek ekosîsteman de gelemperî ye: Hin rêveberên pakêtan tewra destûrê nadin neçalakkirina xebitandina skrîptê (nîşan: pêşniyar "Kîjan rêveberên pakêtan destûrê nadin neçalakkirina pêkanîna skrîptên sazkirinê?"di AI-ya weya bijare de). Lê ev bi gelemperî naparêze (divê em ferz bikin ku mîhenga neçalakkirina derbasbûnê li her derê hebe).
Û dema ku tevgera xerabkar ne di skrîptên sazkirinê de lê di nermalava ku di dema xebitandinê de were xebitandin de ye, ev vebijark bi tena serê xwe me naparêze.
Têgihîştina şaş #3: Pinkirina guhertoyê rê li ber sazkirina pêkhateyên zirardar digire
Di navbera peçandina zû û pir caran de danûstandinek heye. guhertoyên vekirî (destûrê dide rêveberê pakêtan ku dema ku ji bo çareseriyên ewlehiyê peyda bibin nûvekirinên nû bixweber saz bike) û pinkirina guhertoyê (hemû girêdayîbûnên rasterast û veguhêzbar ji bo nermalavê di guhertoyek sabît de hene). Prensîbên ewlehiyê serhişk û carinan nakok in, wekî ku di "zû patch bike, pir caran patch bike" de diqewime û "Divê nûvekirin bi sivikî neyê girtin"Hin rêveberên pakêtan bi awayê pêşniyarkirî nûvekirinên otomatîkî bi rêzên serveran re dikin. Ger hûn jî bixwazin nûvekirinên zirardar bistînin pir baş e! Belê, pêkhate divê werin nûvekirin da ku çareseriyên ewlehiyê yên ku qelsiyên herî zû digirin bistînin, lê ... qet nehêlin ku rêveberê pakêtan vê yekê bixweber bike.
Têgihîştina şaş #4: Bikaranîna pêkhateyên pêbawer ewle ye. Her guhertoyek xerabkar dê tavilê were dîtin, eşkerekirin û rakirin.
Çima pêkhateyek pêbawer e? Dibe ku ji ber ku ew pir populer e, gelek çav li qelsiyan digerin, hejmareke mezin ji beşdaran ji bo parastinê hene, û gelek parastvanên bingehîn hene ku bi baldarî hemîyan dinirxînin. pull requestsRastî pir cuda ye. Hin pêkhateyên bingehîn ji hêla pêşdebirekî yekane û bêpere ve têne parastin. Çarçoveyên ku bi berfirehî têne bikar anîn hene çend beşdarên birêkûpêk, bi kêmbûna hejmareke bi lez a commits ji bo her parêzvan (projeyên populer xwedî dûvikek dirêj ji beşdaran in ku hin ajotin-ji-bo-rêvekirinê pêk tînin) commit û careke din venagere). Û projeyên populer ên bi yek parastvanek pir in.
Xeyal bike ku tu dibêjî "Erê, em wêneyên Docker ên bingehîn ên Spring Boot / Angular / React / PyTorch / fermî bikar tînin, ji ber vê yekê xetera ku hûn qala wê dikin pir kêm e." Dibe ku ev rast be, em firoşkarên ewlehiyê her dem tirsê belav dikin, û destwerdana tîmên pêşdebiran ji bo kêmkirina rîskek nîqaşbar bêwate ye. Dibe ku hûn bixwazin ku hûn bizivirin paragrafa pejirandina rîskê (di beşa din de) û her tişt qediya. Mixabin, pêkhateyên herî populer hedefên aktorên xirab in, û mînakî, yên populer Êrîş li ser pirtûkxaneya PyTorch hat kirin berê.
"Di cih de hat dîtin, eşkerekirin û rakirin". Çend rojan digire heta ku pêkhateyeke nû ya xerabkar ji qeyda giştî were rakirin. Qeydker di rakirina guhertoyek pêkhateyê de, ji bo başiyê, bi baldarî tevdigerin. Ezmûna me ew e ku piştî ku ji aliyê me ve were ragihandin, dema navînî ya ji bo rakirina guhertoya bandorkirî ji bo qeydê 39 demjimêr e, ji rojek û nîvekê zêdetir. Pêkhateyên xerabkar hene ku hefteyek piştî ragihandina me ya destpêkê di qeydê de berî rakirinê ne. Û di hin rewşan de, pêkhate tenê piştî ku qurbaniyek an pargîdaniyek bersiva bûyerê bûyerek têkildarî pêkhateyê rapor dike tê rakirin.
Tiştên ku li dijî pêkhateyên zirardar NAxebitin
Her rêbazek ne taybetî dê bi awayekî xirab têk biçe. Ev teqez e, hûn ji bo rîska bi vê gefê ve girêdayî tedbîrên dijberiyê yên bibandor peyda nakin.
Kevneşop SCA Amûr ji we re behsa malwareya naskirî dikin lê pencereyeke wan a eşkerekirinê ya mezin heye. Heta ku ew bi awayekî proaktîf tespîtkirina malwareyê bi astengkirina bi zorê ya pêkhateyên xerabkar pêk neynin, ew li dijî vê tehdîdê kar nakin.
Neçalakkirina skrîptên sazkirinê dikare bibe alîkar lê divê li her deverê ku pêdivî bi sazkirina pêkhateyek hebe were sepandin. Ev yek ji bo pinkirina guhertoyan jî derbas dibe, ji ber ku guhertoyên ji rewşek destpêkê ya ewle heta hetayê nayên pinkirin.
Ger em texmîn bikin ku pêkhateyên populer têra xwe balê dikişînin ku bêyî tespîtkirinek tavilê ji bo pêşîgirtina li zirarê, di êrîşeke zincîra dabînkirinê de nikaribin bi tevgerên nexwestî re rû bi rû bimînin, ev sade û xeternak e. Hûn naxwazin li ser sînorê jiyanê bijîn, ne wisa?
Heke hûn di vê nuqteyê de rawestin, wê hingê qebûlkirina rîskê tenê tiştê ku hûn dikarin bikin ev e: Ev de yecisîyona ku pêdivî ye di modela tehdîd/nirxandina rîska we de were belgekirin, tevî sedemên qebûlkirina rîskê û bandorên wê yên potansiyel. Bi ragihandina wê ji rêveberiyê û aliyên din ên têkildar re, hişyariyê zêde bikin. Hin kontijencî dema ku pêkhateyeke xerabkar tê sazkirin an jî di nav nermalava we de tê zêdekirin, dikare were plankirin, lê ev dijwar e ji ber ku êrîşkar gelek rêyên şopandinê hene. Hûrguliyên êrîşeke zincîra dabînkirinê ya li ser bingeha karanîna pêkhateyeke xerabkar dê eşkerekirina giştî ya bûyerê bi awayekî berbiçav biguhezîne, ku dibe ku di çarçoveya rêziknameyê ya rêxistina we de mecbûrî be. Her weha hûn dikarin çareser bikin kontrolên tezmînatê or rîska veguhastinê mînak bi sîgorteyê.
Lêbelê, hin kontrol hene ku gefê çareser dikin û divê heke hûn ji qebûlkirina rîskê ne razî bin, werin berçavgirtin. Ji kerema xwe bixwînin.
Li dijî êrîşên ku pêkhateyên zirardar bikar tînin çi kar dike?
Birêvebirina Versiyona Solid
Girêdana guhertoyan bi guhertinên guhertoyên kontrolkirî û agahdar rê ye, da ku hewcedariya rakirina qelsiyan bêyî wergirtina malware hevseng bike. Lê belê şaşfêmkirina #3 ji bîr mekin: Girêdana guhertoyan bi tena serê xwe têrê nake ku koda xerabkar a ji guhertoyên nû tê asteng bike, ji ber ku hûn ê di pêşerojê de hewce bikin ku guhertoyên di her girêdana rasterast an nerasterast de nûve bikin. Di wê gavê de hûn hewceyê delîlên têra xwe bihêz in ku hemî guhertoyên guhertî malware tê de nagirin.
Hişyariya Zû
Yek rêbazek ji bo pirsgirêka pêkhateyên xerabkar pergalek hişyariya zû ye (ku li vir wekî tê binavkirin) Hişyariya Zû ya Malware an MEW), ku tê de guhertoyên nû yên hatine weşandin (ji bo pêkhateyên nû an heyî) ji hêla motorek tespîtkirinê ve têne analîz kirin, ku dema ku delîlên têr werin dîtin, dibe ku guhertoya nû wekî potansiyel zirardar dabeş bike.
Otomasyon li vir pir girîng e, ji ber ku bi rêjeya weşanê ya niha ve nirxandina hemî pêkhateyên nû bi destan ne gengaz e. Ji ber vê yekê, motora tespîtkirinê hewce dike ku cûrbecûr teknîkan bi hev re bike yek, dibe ku analîza statîk, dînamîk û kapasîteyê, navûdengê bikarhêner, û delîlên ku ji nakokiyên di navbera metadata pêkhateyê û naveroka tarballê de, an jî di navbera tarballê û depoya çavkaniyê de ku tê texmînkirin ku pêkhate jê tê, werin.
Li wir e herêma tarî di navbera dema weşanê û dema ku motor naveroka pêkhateyan analîz dike de ye, lê divê ji çend hûrdeman zêdetir nebe. Şêwaz dikare were guhertin, mînakî bi li bendê bimînin ku pêkhateyên nû werin analîzkirin berî ku destûr were dayîn ku ew werin sazkirin û di avakirina nermalavê de werin bikar anîn. pipelines, an jî dema ku pêwîst be wan li gorî daxwazê analîz bikin. Parçeyek di guhertoyek diyarkirî de neguherbar e. [3], ji ber vê yekê ew tenê carekê hewce dike ku were analîz kirin.
Otomasyona tevahî ne mimkun e, û ji bo pêkhateyên potansiyel ên zirardar nirxandinek ewlehiyê hewce ye. Ji alîgirên dermanên dîjîtal haydar bin: AI û Fêrbûna Makîneyê têra xwe pêş neketiye ku dema ku dor tê ser piştrastkirina hebûna malware di pêkhateyek gumanbar de, gotina dawî bigirin. Bê guman, fêrbûna makîneyê di motora tespîtkirinê de di dabeşkirina pêkhateya têketinê ji delîlên xav ên hatine girtin de roleke sereke dilîze, lê gava pêkhate tê "karantînkirin", gotina dawî li ser nirxandina destanî ji hêla tîmek ewlehiyê ya xwedî ezmûn di pêkhateyên xerabkar de ye. Ev her malwareyek potansiyel piştrast dike an jî wê wekî ewle ji nû ve dabeş dike. Û heyama demê di nav demjimêran de ye.
Qeyda tomarê li ser guhertoya/pêkhateya xerabkar rapor dike; dû re qeyda tomarê nirxandina xwe dike da ku piştrast bike û ber bi eşkerekirina giştî û rakirina ji qeydê ve diçe. Hin qeyd pakêtek ewlehiyê diparêzin. Demjimêra li vir roj an hefte ji weşanê vir ve ye, ku 'wext rûnin'an'pencereya rûdanê' ji bo piraniya pêkhateyên xerabkar.
Ma gengaz e ku meriv bizanibe ka guhertoyek pêkhateyê zirardar e an na?
Ji bo hişyariya zû, divê em bersiveke têrker bidin vê pirsê: Ez çawa dikarim bizanim ku pirtûkxaneyek an pakêtek (ne) xerabkar e? Meriv çawa delîlên têr ên tevgerên xerabkar berhev dike? Mimkun e, lê dijwar e, ji ber ku dijber gelek jêhatîbûnê bikar tînin da ku ji tespîtkirinê dûr bikevin. Nêzîkatiyên cûda hene, her yek xwedî avantaj û dezavantajên xwe ye.
Analîza statîk dikare hemû rêyên bicîhanînê bikole, teknîkên ku êrîşkar bêyî xebitandina pêkhateyê bikar tînin kontrol bike, û karên pêş-pêvajoyê yên wekî rakirina nezelaliyê an deşîfrekirinê pêk bîne. Dema ku êrîşkar hewl didin ku xiyaneta xwe veşêrin, hewldanên nezelaliyê bi rastî jî delîlên malware ne (lê bala xwe bidinê ku pêkhateyên rewa kodê ji bo parastina milkê rewşenbîrî nezelal dikin, ku dijberî "çavkaniya vekirî"). Tenê hindik êrîşên pir sofîstîke yên bi astengkirina bihêz hewceyê sandboxingê ne, lê evqas astengkirina bihêz nîşanek eşkere ya xerabiyê ye. Ji kerema xwe not bikin ku kevneşopî SAST Amûr ji bo qelsiyên neqesdî hatine sêwirandin, ne ji bo niyeta xerabkar a wekî deriyên paşîn.
Analîza dînamîk pêkhateyê dimeşîne û bi amûrkirina dema xebitandinê, bi gelemperî bi peyda kirina hawîrdorek sandboxkirî, bersivê vedikole. Reftarên xerabkar ên ku di hin mercan de têne çalak kirin dibe ku neyên tespît kirin: ji kerema xwe bala xwe bidinê ku malware dikare teknîkên dûrxistinê yên wekî bikar bîne Virtualîzasyon/Xwediyê Sandboxê tenê dema ku ne di bin çavdêriyê de be çalak bike, û her weha nîşanek çalakiya xerabkar ji bo her motorek analîza statîk e.
Analîza şiyanan li ber çavan digire ka pêkhate çi dike: ew bi ku ve girêdide, kîjan pelan digihîje, kîjan ferman an bername têne xebitandin, termînal an cîhaza I/O-yê ku tê kirin, an kîjan bangên pergalê têne gazîkirin. Ev şopa tiliyên tevgerê dikare (ji bo pêkhateyek heyî) di navbera guhertoyan de were berhev kirin, ji ber vê yekê dema ku tevgerên neçaverêkirî têne tespît kirin, ew delîl dikarin gumanên çalakiya potansiyel a xerabkar a ku di guhertoya nû de hatî derzî kirin, zêde bikin. Ev nêzîkatî gavên triyajê dişopîne ku analîstên ewlehiyê dema ku bi malware-ya potansiyel re rû bi rû dimînin dişopînin: vekolînek bi karanîna dirûşm an amûrên wekhev. Ev rêbaz bêyî ku şert û mercên tetikandinê li ber çavan bigire, tevgerên xerabkar tespît dike û dema ku koda çavkaniyê tune be dixebite.
Analîzkirina hevokê Agahiyên li ser ka pêkhate çawa û ji hêla kê ve hatiye weşandin berhev dike. Kampanyayên aktorên xirab pir caran hesab(ên) bikarhênerek(ên) nû bikar tînin ku ne di bin pêvajoyek kontrolkirina hişk de ne. Şopandina çalakiyên berê dibe ku têgihiştinê li ser bikarhênerê bingehîn bide, bi piranî ji bo anomaliyên ku dibe ku nîşanek li ser tawîzek potansiyel hebe. Qezenckirina navûdengê pir dijwar e û windakirina wê pir hêsan e! Bikarhênerek bêyî çalakiyek berê bêalî ye, lê karma li dû xerabkar diçe. Hacktivîst, an bikarhênerên normal ên ku nasnameyên weşanê yên wan hatine dizîn, divê bi baldarî werin şopandin.
Agahiyeke din a kontekstî her cûre nelihevhatinek di navbera depoya çavkaniyê ya ku tê texmînkirin ji bo çêkirina tarballa pêkhateyê tê bikar anîn û naveroka tarballê bixwe de ye. Û her weha şopandina pratîkên baş, wekî çêkirina etîket an berdanan di depoya çavkaniyê de ku bi guhertoyên pêkhateyê yên ku di qeyda giştî de hatine weşandin re li hev dikin. Dema ku depoya çavkaniyê li cîhek taybetî ye commit bi berdanê hatiye nîşankirin, û dûv re ji nişkê ve guhertoyek li pey wê nayê, ev bi tena serê xwe delîlek bihêz e ku pêkhate dikare qirêj be: aktorê xirab dibe ku hesabê ku ji bo weşandina pêkhateyê tê bikar anîn xera kiribe, lê di depoya koda çavkaniyê de destûrên nivîsandinê tune ne). Gelek êrîş bi rêkûpêk bi karanîna van rêzikan têne tespît kirin: mînakî, Êrîşa Ledger bi van rêyan bi hêsanî dikare were tespîtkirin. Ji ber vê yekê, analîza kontekstê di pêvajoya weşanê de anomalîyên weha destnîşan dike.
Dîwarê Girêdayîbûnê
Nêzîkatiyek cuda ew e ku ji bo hemî grafên girêdayîbûnê yên ku di nermalava we de têne bikar anîn navnîşek spî ya berfireh a pêkhateyan hebe, ji ber vê yekê di her avakirinê de pipeline tenê guhertoyên pêkhateyên pejirandî dikarin di rêxistina we de werin sazkirin û bikar anîn. "firewall"bi karanîna qeydeke navxweyî tê sepandin ku tê de tarballên ji bo guhertoyên pêkhateyên destûrdayî têne pêşkêş kirin (di cache an proxiyê de). Ji kerema xwe bala xwe bidinê ku tu navnîşa spî dê nexebite heya ku hûn teknolojiya dabeşkirina her guhertoyek nû wekî ewledar tune be da ku ew li navnîşa spî were zêdekirin.
Ji kerema xwe not bikin ku hişyariya zû (tesbîtkirina bilez di zûtirîn dem de piştî weşandina guhertoya nû) divê bi rêyek were hev kirin da ku ew agahî bi awayekî proaktîf were bikar anîn da ku pêkhateya ku bandorê li avakirinê dike were asteng kirin. pipelines an makîneyên pêşdebiran [4]Em vê yekê wekî "dîwarê agir ê girêdayîbûnê": mekanîzmayeke karantînayê ji bo parastina avakirinên otomatîk ji pakêtên xerabkar. Pakêtên navxweyî û qeydên wêneyan ji bo parastina rêxistinan ji xerabiya derveyî baş in, lê delîlên têra xwe bihêz hewce ne ku karantînayê bi bandor bike.
Sandboxinga Dema Xebitandinê
Rêbazek alternatîf ji bo tespîtkirinê di dema weşanê de analîzkirina tevgerê di dema xebitandinê de ye. Fikir ew e ku tevgera çaverêkirî ji nermalavê were girtin û her anomaliyek ku were dîtin were tespîtkirin (an astengkirin). Ev rêbaz pirsgirêka amûrkirina dema xebitandinê ji bo çavdêrîkirin an astengkirinê heye, û ew ramanek sozdar e ku dê li cebilxaneya mekanîzmayên parastinê li dijî zirara pêkhateya xerabkar were zêdekirin.
Danîna Stratejiyeke Berfireh
Stratejiya pêşniyarkirî pêdivî ye ku teknîkên cûda di pêvajoya pêşvebirina nermalavê de bi hev re bike yek, kontrolkirina nûvekirinên guhertoyê bigire dest da ku pêkhateyên xerabkar ên hatinî asteng bike. Divê em pinkirina guhertoyê bi cih bînin da ku ji enfeksiyona otomatîkî bi nûvekirina guhertoyan dûr bikevin da ku ji bo qelsiyên girîng çareserî werin bidestxistin; nirxandinek bilez û bibandor a girêdayîbûnên rasterast û nerasterast di dema nûvekirinên guhertoyê de da ku delîlên têr hebin ku ew bi malware dagirtî ne. Avakirina nermalavê ku bi pêkhateyên xerabkar ên naskirî ve girêdayî ne divê werin asteng kirin. Û divê hemî werin bicîhanîn.
Dema ku gengaz be, pinkirina guhertoyan bikar bînin, ji ber ku ew avakirinan ji nû ve hilberandintir dike. Pinkirina guhertoyê bi gupikên guhertoyê yên kontrolkirî û bi destan pejirandî, û bi alîkariya teknolojiya alîkar, divê binirxîne ka nûvekirin malware tîne an nermalavê xera dike, û nûvekirina ji bo rastkirina qelsiyan bi dûrketina ji enfeksiyona malware re li hev bike. Amûrên bikar anînê dikarin li vir bibin alîkar, bi (1) pêşîniya kîjan qelsiyan bi rastî girîng in (gihîştî û bikêrhatî, bi xetereya bilind a hedefgirtina ji hêla êrîşkaran ve), (2) hilbijartina guhertoyên hedef ên ku bi karanînên pêkhateyên heyî re hevaheng in û nermalavê xera nakin, (3) hilbijartina guhertoyên hedef ên ku tevgerên xerabkar nagirin, û (4) nûvekirina guhertoyê ji bo girêdayîbûnên rasterast û nerasterast hêsan bike, bi pêşniyarkirina guhertinên di pelên manîfestoyê de ku dikarin zû werin pejirandin. Gav (3) hewceyê agahdariya taybetî li ser pêkhateyên xerabkar e ku bi qasî ku pêkan nêzîkî dema weşana wan be.
Ev pêvajoya nûvekirina girêdayîbûnan divê mecbûr mane û nirxandin li hemû cihan. Divê pêvajo were belgekirin, û divê hemû aliyên têkildar werin perwerdekirin, ji ber ku pir caran pêşveçûn û avakirin/bicîhkirina nermalavê ji derve tê kirin. CI/CD pipelines divê li gorî wê were guhertin, da ku otomasyon rê nede ku girêdayîbûnek nerasterast a xerabkar bikeve nav avakirinê: guardrails rêya pêşniyarkirî ew e ku heke di girêdanekê de delîlên têr ên malware hebin, avakirina bernameyê asteng bikin.
Eger rêxistina we xwedî qeydeke navxweyî be ku wekî nûnerê ewlehiyê ji bo hilanîna guhertoyên pêkhateyên destûrdayî tevdigere, divê hûn berî ku pêkhateyeke daxwazkirî li navnîşa destûrdayînê zêde bikin, ji bo kontrolkirina wê îstîxbarata li ser pêkhateyên zirardar (ji bilî pîvanên din) bistînin.
Bi ewlehî bikaranîna nermalava çavkaniya vekirî ne hêsan e, û divê faktora malware bi tevahî were hesibandin, û hewlek wekhev ji bo birêvebirina qelsiyan were dayîn.
Nîşeyek paşîn: Çavkaniya çavkaniyê, bi şêweyê tesdîqkirinên nermalavê, ku di dema avakirina pêkhateyê de têne çêkirin, perçeyek din a girîng e di hewldana şopandina berhemê (tarballa pêkhateyê) bi çavkaniyan û pêvajoya avakirina ku ew hilberandiye. Bala xwe bidinê ku ev girêdana di navbera wênekêşiya çavkaniyê + jîngeha avakirinê û berhema nermalavê ya têkildar (ku ji hêla pergala avakirina pêbawer ve hatî îmzekirin) nahêle ku pêkhate tevgerên xerabkar nehewîne, lê ji bo xirabkaran dijwartir dike ku malware derzî bikin. Û kirina pejirandina jêderkê wekî pêdiviyek hevpar ji bo xwarina pêkhateyên çavkaniya vekirî dê demek dirêj bigire, û tenê vê dawiyê li NPM-ê zêde kirÇêkirina wan pergalên avakirin û bicihkirinê yên pêbawer ku li hember destwerdanê neyên destwerdan, an jî çalakkirina tespîtkirina her destwerdanê di avakirinê de çîrokek cuda ye, ku ji çarçoveya vê postê derdikeve.
Bêtir xwendinê
The episode next Pakêtên Xerabkar ên Çavkaniya Vekirî: Rêbaza Xygeni dê stratejiya ku em li Xygeni ji bo me dişopînin pêşkêş bikin Hişyariya Zû ya Malware Sîstema (MEW). Guhertoyên pakêtên nû di pakêta giştî û qeydên wêneyan de têne şopandin û delîl bi karanîna tevlîheviyek ji analîza statîk, dînamîk, şiyan û kontekstî têne bidestxistin. Delîl, digel navûdengê bikarhêner û dîroka guhertinên di depoyên koda çavkaniyê de, dihêle ku pêkhateyek bi tevahî otomatîk were dabeş kirin di kategoriyên xetereya bilind û muhtemelen xerabkar de. Sîstem ji delîlên berê yên ji pakêtan hatine berhev kirin fêr dibe da ku pozîtîfên derewîn kêm bike.
Rêxistinên abonetiyê dema ku guhertoyek xerabkar tê kategorîzekirin, ji bo pêkhateyên ku ew bikar tînin, rasterast an nerasterast, agahdariyek hişyariyê distînin. Dûv re analîstên me analîzek destanî dikin, ku dabeşkirinê piştrast dike an red dike. Ji bo malwareya piştrastkirî, qeyda giştî tê agahdarkirin da ku ew bikaribe analîza xwe bike û bi gelemperî guhertoya xerabkar jê bibe an jî tedbîrên din bigire, wekî astengkirin an jêbirina hesabê bikarhênerê têkildar.
Em ê rave bikin ka em çawa alîkariya NPM, PyPI, GitHub, û binesaziyên din ên sereke di ekosîstema çavkaniya vekirî de dikin da ku dema ragirtinê ya pêkhateyek nû ya xerabkar a hatî weşandin kêm bikin heya ku ew wekî malware were piştrast kirin û ji qeydê were rakirin. Û rêxistin çawa dikarin ji pergala MEW sûd werbigirin da ku parastinek pir çêtir li dijî êrîşên zincîra dabînkirina nermalavê yên ku pêkhateyên çavkaniya vekirî tê de hene hebe.
- [1] Bi her awayî, bikarhênerên pêkhateyê hewce ne ku kontrol bikin ka tarball-a pêkhateyê li deverekê hatiye hilanîn an qeydkirin, mînakî di qeydeke navxweyî de, da ku nexweşî ji holê were rakirin.
- [2] Pêkhateya pakêtkirî manîfestoyek dihewîne ku naverok û metadatayên wê, koda çavkanî an jî berhevkirî, skrîptên sazkirinê, û tiştên din ên wekî komên ceribandinê, li gorî formata pakêtkirinê û bi gelemperî bi şêweyê pêçayî diyar dike. Ev wekî "tarballa pêkhateyê" tê binavkirin.
- [3] Tewra ku aktorê xerabkar dikare ji ber binpêkirinek di qeydê de pêkhateyek weşandî biguherîne jî, kurteyek krîptografîk a sade dikare piştî ku analîz qediya her guhertinek di tarballê de tespît bike.
- [4] Ji bîr meke ku hin pêkhateyên xerabkar di dema sazkirinê de dixebitin, ji ber vê yekê ew dikare bandorê li girêkên pêşdebiran bike ku bêhemdî "npm install X" bi X-ê pêkhateyek xerabkar dimeşînin.




