бастаҳои кушодаасос

Муҳофизат аз бастаҳои зараровари кушодаасос: Чӣ кор мекунад (не)

Ин қисмати сеюм дар як силсилаи мақолаҳо дар бораи навъи маъмултарини ҳамлаҳо ба занҷираи таъминоти нармафзор: онҳое, ки аз феҳристи оммавии онҳо сӯиистифода мекунанд манбаъи кушода ҷузъҳои нармафзор. Пас аз таҳлили қисмати қаблӣ "Анатомияи бастаҳои зараровар: Тамоюлҳо кадомҳоянд?"Чӣ гуна фаъолони бад рафтори зарароварро ба ҷузъҳои нав ё мавҷудаи нашршуда ворид мекунанд, мо омодаем, ки куртаҳои оташнишонии худро пӯшем ва бубинем, ки чӣ гуна мо метавонем нармафзори зараровареро, ки бо ин роҳ интиқол дода мешавад, бомуваффақият масдуд кунем ё баръакс, бо як ҳодисаи эҳтимолан ҷиддии киберӣ, ки мо равиши нодурустро интихоб кардаем, мубориза барем."

Аксари мутахассисони огоҳ ба амният дар бораи чӣ гуна мубориза бо ин таҳдид андеша доранд. Мо шунидем, ки менеҷерони амниятӣ бе дудилагӣ мегуфтанд, ки SCA асбобҳо аллакай ба шумо мегӯянд, ки кай версияи баста зараровар аст. Ё онҳо ба ҷузъҳои нармафзори маъруф ва хеле баррасишуда такя мекунанд, ки дар он ҳама гуна нармафзори зараровар фавран муайян ва нест карда мешавад. Онҳо барои ба таври худкор ислоҳ кардани осебпазирӣ аз версияҳои кушодаи хурд/часпҳо истифода мебаранд ва ин роҳи дуруст ва тавсияшуда барои кам кардани хатари вобастагиҳои манбаъҳои кушода аст, ки бо риояи "барвақт часбондан, зуд-зуд часбондан”Принсип. 

Дар ин қисм, мо сабаби нодуруст будани ин ақидаҳо ва чӣ гуна чунин тасаввуроти нодуруст ба маъруфияти ин механизми ҳамла ва хатари бузурге, ки ташкилотҳо аз сар мегузаронанд, мусоидат мекунанд, баррасӣ хоҳем кард. Мо бо он хотима хоҳем дод, ки чӣ кор мекунад ва кадомаш саъю кӯшиш ва захираҳои сарфшуда аст.

Тасаввуроти маъмул

Дар тӯли сафари худ бо амнияти нармафзор, мо шоҳиди таҳаввули усулҳои ҳамла ва доираи васеи ғояҳо аз ҷониби одамони огоҳ ба амният будем. Ташкилотҳо аксар вақт он чизеро, ки бар зидди ин таҳдид кор мекунад, нодуруст мефаҳманд, аз ин рӯ, аввал мо он чизеро, ки кор намекунад, таҳлил мекунем, ки дар рӯйхати нодурусти зерин мухтасар оварда шудааст.

Тасаввуроти нодуруст №1: SCA асбобҳо аллакай ҷузъҳои зарароварро гузориш медиҳанд

Ҳақиқатан! Аммо баъд аз ин воқеъа... Вақте ки эҳтимолан хеле дер шудааст, агар унсур дар сохтани нармафзор истифода шуда бошад ва бозигарони бад аллакай дар таҳиягар ё ... ҷойгоҳ пайдо кардаанд. CI/CD мизбон. Шояд махфиятҳо филтр карда шуда бошанд, нармафзори зараровари иловагӣ зеркашӣ ва насб карда шуда бошад ва шояд душман ба паҳлӯ ҳаракат карда бошад ва аллакай дар ҷои дигар дастрасӣ пайдо карда бошад. 

Таҳлили таркиби нармафзор (SCA) абзорҳо барои муайян кардани осебпазириҳои эҳтимолии маълум тарҳрезӣ шудаанд. Абзорҳои муосир бо зиёд кардани таносуби сигнал-садо кори аълоро анҷом медиҳанд ва муайян мекунанд, ки оё осебпазирӣ воқеан дастрас аст ё истифодашаванда аст. Аммо онҳо дар муқобили нармафзори нави зараровар бефоидаанд. Як ҷузъи зарароварро ҳамчун осебпазирии рӯзи сифрӣ тасаввур кунед: Танҳо вақте ки рафтори зараровари он ошкор карда мешавад, ҷузъ ба феҳристи нигоҳдорӣ гузориш дода мешавад, ки пас аз баррасии гурӯҳи амниятӣ ҳамчун зараровар тасдиқ карда мешавад ва аз феҳрист хориҷ карда мешавад. [1]

Дар он замон ҷаҳон (аз ҷумла SCAс) медонад, ки насб ё истифодаи ҷузъ (ё баъзе версияҳои ҷузъи мавҷуда) кори хуб нест. Аммо ин вақте рух медиҳад, ки ҷузъ аз феҳрист дастрас нест.Донистани он ки ман дар ҷузъҳои тарафи сеюм ё ҳатто ҷузъҳое, ки аз ҷониби феҳрист ҳамчун зараровар тасниф шудаанд, осебпазириҳо дорам, аммо мутаассифона, хуб аст. SCA ё абзорҳои маъмулии аудит дар ин замина кӯмак намекунанд. Агарчи SCAАсбоби /audit метавонад пеш аз истифода дар ташкилоти шумо пешакӣ муайян кунад, ки ягон ҷузъ зараровар аст.

Дар хотир доред, ки ҳама гуна роҳи ҳал бар зидди ҷузъҳои зараровари кушодаасос бояд онҳоро муайян кунад дар парвоз, байни вақте ки компонент дар феҳрист нашр мешавад ва вақте ки компонент (версия) бори аввал дар ташкилоти шумо истифода мешавад. Ва ин ҷузъҳои транзитиро дар бар мегирад.  

Тасаввуроти нодуруст #2: Идоракунии скриптҳои насбкунӣ ҳангоми сохтан аз рафтори зараровари ҷузъҳои кушодаасос пешгирӣ мекунад

Менеҷерҳои гуногуни бастаҳо имконияти иҷро кардани скриптҳоро пешниҳод мекунанд (ки дар компоненти tarball дохил карда шудаанд) [2]), бо сабабҳои қонунӣ, ба монанди тартиб додани ашёҳои зарурӣ дар платформаҳои гуногун, тавлиди рамз ё гузаронидани санҷишҳо, ва ҳамаи мо бояд донем, ки агар скриптҳои зараровар дар tarball дохил карда шаванд ё агар ҳамлагар ба ҷои скрипти хуб скрипти зарароварро иҷро кунад, онҳо метавонанд аз ҷониби шахсони бад сӯиистифода шаванд.

Бо донистани ин, мо метавонем мудири бастаҳоро барои нодида гирифтани скриптҳо танзим кунем. Масалан, бо NPM –скриптҳоро сарфи назар кунед парчам (ё хусусияти конфигуратсия дар .npmrc file) ҳангоми насб скриптҳоро аз кор мегузаронад. Ин метавонад баъзе мушкилотро ба вуҷуд орад, зеро иҷро кардани скриптҳо дар бисёр экосистемаҳо маъмул аст: Баъзе менеҷерҳои бастаҳо ҳатто ғайрифаъол кардани иҷрои скриптро иҷозат намедиҳанд (маслиҳат: дархости "Кадом менеҷерҳои бастаҳо имкони ғайрифаъол кардани иҷрои скриптҳои насбро надоранд?"дар зеҳни сунъии дӯстдоштаи шумо). Аммо ин умуман муҳофизат намекунад (мо бояд риоя кунем, ки конфигуратсияи ғайрифаъолкунии гузариш дар ҳама ҷо мавҷуд бошад). 

Ва вақте ки рафтори зараровар на дар скриптҳои насб, балки дар нармафзоре, ки ҳангоми иҷро иҷро мешавад, мавҷуд аст, ин имконот танҳо моро муҳофизат намекунад. 

Тасаввуроти нодуруст #3: Пин кардани версия аз насби ҷузъҳои зараровар пешгирӣ мекунад

Байни патчкунии барвақт ва аксар вақт бо он мувозинат вуҷуд дорад версияҳои кушода (ба менеҷери бастаҳо иҷозат додан, ки навсозиҳои навро ҳангоми дастрас будани ислоҳоти амниятӣ ба таври худкор насб кунад) ва пин кардани версия (дорои ҳамаи вобастагиҳои мустақим ва транзитӣ барои нармафзор дар версияи муқарраршуда). Принсипҳои амниятӣ якрав ва баъзан мухолифанд, чунон ки бо "вайронкунии барвақт, вайронкунии зуд-зуд" ва «Навсозӣ набояд сабукфикрона қабул карда шавад»Баъзе менеҷерҳои бастаҳо навсозиҳои худкорро бо диапазонҳои серверҳо бо роҳи тавсияшуда анҷом медиҳанд. Агар шумо инчунин хоҳед, ки навсозиҳои зарароварро қабул кунед, хеле хуб аст! Бале, ҷузъҳо бояд навсозӣ шаванд, то ислоҳоти амниятӣ, ки осебпазириҳоро ҳарчи зудтар мепӯшонанд, қабул карда шаванд, аммо ... ҳеҷ гоҳ ба менеҷери бастаҳо иҷозат надиҳед, ки ин корро ба таври худкор анҷом диҳад.

Тасаввуроти нодуруст №4: Истифодаи ҷузъҳои боэътимод бехатар аст. Ҳар гуна версияи зараровар фавран пайдо, ошкор ва нест карда мешавад.

Чаро ба як ҷузъ эътимоднок аст? Шояд аз он сабаб, ки он хеле маъмул аст, зеро бисёриҳо дар ҷустуҷӯи осебпазириҳо ҳастанд, шумораи зиёди саҳмгузорон барои нигоҳдорӣ ва якчанд нигоҳдорони аслӣ, ки бодиққат ҳама чизро аз назар мегузаронанд. pull requestsВоқеият тамоман дигар аст. Баъзе ҷузъҳои муҳим аз ҷониби як таҳиягари бемузд нигоҳдорӣ мешаванд. Фреймворкҳои васеъ истифодашаванда... чанд муаллифи доимӣ, бо шумораи босуръат коҳишёбанда commits барои як нигоҳдоранда (лойиҳаҳои маъмул думи дарози саҳмгузорон доранд, ки баъзе аз ронандагонро иҷро мекунанд commit ва ҳеҷ гоҳ барнамегарданд). Ва лоиҳаҳои маъмул бо як нигоҳдоранда зиёданд.

Тасаввур кунед, ки шумо мегӯед "Оҳ, мо аз тасвирҳои пойгоҳи расмии Docker аз Spring Boot / Angular / React / PyTorch / истифода мебарем, аз ин рӯ хатаре, ки шумо дар борааш гап мезанед, хеле кам аст." Шояд ин дуруст бошад, мо фурӯшандагони амниятӣ ҳамеша тарсондан мехоҳем ва дахолат ба гурӯҳҳои таҳиякунанда барои кам кардани хатари баҳсбарангез бемаънӣ аст. Шумо метавонед васваса шавед, ки ба параграфи қабули хатар (дар бахши оянда) гузаред ва ҳама чиз тамом мешавад. Мутаассифона, ҷузъҳои маъмултарин ҳадафҳои бадкорон мебошанд ва масалан, маъмултарин... Китобхонаи PyTorch мавриди ҳамла қарор гирифт дар гузашта.

«Фавран пайдо, ошкор ва нест карда шуд».  Тоза кардани ҷузъи нави зараровар аз феҳристи давлатӣ рӯзҳо тӯл мекашад. Феҳристҳо дар бораи нест кардани версияи ҷузъ эҳтиёткоранд, ки ин барои хубӣ аст. Таҷрибаи мо нишон медиҳад, ки пас аз гузориш додан аз ҷониби мо, вақти миёнаи феҳрист барои нест кардани версияи зарардида 39 соат аст, ки беш аз як рӯзу ним аст. Ҷузъҳои зарароваре ҳастанд, ки як ҳафта пас аз гузориши аввалини мо дар феҳрист пеш аз нест кардан мебошанд. Ва дар баъзе ҳолатҳо, ҷузъ танҳо пас аз он нест карда мешавад, ки ҷабрдида ё ширкати вокуниш ба ҳодисаҳо дар бораи ҳодисае, ки бо ҷузъ алоқаманд аст, хабар медиҳад. 

Чӣ бар зидди ҷузъҳои зараровар кор намекунад

Ҳар гуна равиши номуайян ба таври ногувор ноком хоҳад шуд. Ин як амри маҳол аст, ки шумо чораҳои муассири муқобилро барои хатари марбут ба ин таҳдид пешниҳод намекунед. 

анъанавӣ SCA абзорҳо дар бораи нармафзори зараровари маълум ба шумо хабар медиҳанд, аммо равзанаи калони таъсир доранд. Агар онҳо ошкоркунии нармафзори зарароварро бо масдудкунии маҷбурии ҷузъҳои зараровар фаъолона анҷом надиҳанд, онҳо бар зидди ин таҳдид кор намекунанд. 

Ғайрифаъол кардани скриптҳои насбкунӣ метавонад кӯмак кунад, аммо бояд дар ҳама ҷое, ки ҷузъ бояд насб карда шавад, татбиқ карда шавад. Ҳамин тавр, бо пин кардани версияҳо, зеро версияҳоро аз ҳолати ибтидоии бехатар абадан пин кардан мумкин нест.

Фарз кардан аз он ки ҷузъҳои маъмул ба қадри кофӣ таваҷҷӯҳ доранд, ки бидуни ошкоркунии қариб фаврӣ барои пешгирии ҳама гуна зарар, дар ҳамлаи занҷираи таъминот ба онҳо рафтори номатлуб ворид карда намешавад, соддалавҳона ва хатарнок аст. Шумо намехоҳед дар канори хатар зиндагӣ кунед, дуруст аст?

Агар шумо дар ин лаҳза таваққуф кунед, пас қабули хатар ягона коре, ки шумо карда метавонед: Ин як де астcisионе, ки бояд дар модели таҳдид/арзёбии хатари шумо сабт карда шавад, аз ҷумла асоснокии қабули хатар ва оқибатҳои эҳтимолии он. Бо расонидани он ба роҳбарият ва дигар ҷонибҳои дахлдор огоҳиро баланд бардоред. Баъзеҳо ғайричашмдошт метавонад ҳангоми насб ё дохил кардани ҷузъи зараровар дар нармафзори шумо ба нақша гирифта шавад, аммо ин душвор аст, зеро ҳамлагарон роҳҳои зиёдеро бояд пайгирӣ кунанд. Тафсилоти ҳамлаи занҷираи таъминот, ки бар асоси истифодаи ҷузъи зараровар анҷом дода мешавад, ифшои оммавии ин ҳодисаро, ки эҳтимолан тибқи чаҳорчӯбаи танзимкунандаи ташкилоти шумо ҳатмӣ аст, ба таври куллӣ тағйир медиҳад. Шумо инчунин метавонед ба ... муроҷиат кунед. назорати ҷубронӣ or хатари интиқол масалан, бо суғурта.

Аммо, чораҳои назоратӣ мавҷуданд, ки таҳдидро бартараф мекунанд ва агар шумо аз қабули хатар қаноатманд набошед, бояд ба назар гирифта шаванд. Лутфан, хонданро идома диҳед.

Бар зидди ҳамлаҳо бо истифода аз ҷузъҳои зараровар чӣ кор мекунад

Коркарди версияи сахт

Пин кардани версия бо такмилдиҳии назоратшаванда ва огоҳонаи версия роҳи ҳалли масъала аст, то ниёз ба бартараф кардани осебпазириҳо бидуни гирифтани нармафзори зарароварро мувозинат кунед. Аммо дар хотир доред, ки хатои №3: Пин кардани версия танҳо барои бастани рамзи зарароваре, ки аз версияҳои нав ворид мешавад, кофӣ нест, зеро дар оянда ба шумо лозим меояд, ки версияҳоро бо ҳама гуна вобастагии мустақим ё ғайримустақим навсозӣ кунед. Дар он лаҳза ба шумо далелҳои кофӣ лозиманд, ки ҳамаи версияҳои тағирёфта нармафзори зараровар надоранд.

Огоҳии барвақт

Як равиш барои ҳалли мушкилоти ҷузъҳои зараровар системаи огоҳкунии барвақт аст (ки дар ин ҷо ҳамчун ... номида мешавад). Огоҳии барвақти нармафзори зараровар ё MEW), ки дар он версияҳои нави нашршуда (барои ҷузъҳои нав ё мавҷуда) аз ҷониби муҳаррики ошкоркунӣ таҳлил карда мешаванд, ки ҳангоми пайдо шудани далелҳои кофӣ метавонад версияи навро ҳамчун эҳтимолан зараровар тасниф кунад. 

Автоматикунонӣ дар ин ҷо муҳим аст, зеро бо суръати нашри ҷорӣ баррасии дастӣ ҳамаи ҷузъҳои нав ғайриимкон аст. Аз ин рӯ, муҳаррики ошкоркунӣ бояд як қатор усулҳоро, аз ҷумла таҳлили статикӣ, динамикӣ ва қобилиятҳо, обрӯи корбар ва далелҳоеро, ки аз номувофиқатӣ байни метамаълумоти ҷузъ ва мундариҷаи tarball ё байни tarball ва анбори манбаъ, ки гӯё ҷузъ аз он сарчашма мегирад, ба даст меоранд, муттаҳид кунад.

Вуҷуд аст, минтақаи торик байни вақти нашр ва вақте ки муҳаррик мундариҷаи ҷузъро таҳлил мекунад, аммо он набояд аз чанд дақиқа зиёд бошад. Схемаро метавон тағир дод, масалан, бо интизории таҳлили ҷузъҳои нав пеш аз иҷозат додан ба насб ва истифода дар сохтани нармафзор. pipelineс, ё онҳоро дар ҳолати зарурӣ таҳлил кунед. Компонент дар версияи додашуда тағйирнопазир аст. [3], бинобар ин онро танҳо як маротиба таҳлил кардан лозим аст.

Автоматикунонии пурра имконнопазир аст ва баррасии амниятӣ барои ҷузъҳои эҳтимолан зараровар зарур аст. Аз тарафдорони табобати рақамӣ эҳтиёт шавед: Сеҳри зеҳнӣ ва омӯзиши мошинӣ ба қадри кофӣ таҳия нашудаанд, ки ҳангоми тасдиқи он, ки оё ҷузъи шубҳанок нармафзори зараровар дорад, сухани охиринро бигиранд. Албатта, омӯзиши мошинӣ дар муҳаррики ошкоркунӣ нақши калидӣ дар таснифи ҷузъи вурудӣ аз далелҳои хоми гирифташуда мебозад, аммо пас аз "карантин" шудани ҷузъ, сухани ниҳоӣ дар баррасии дастӣ аз ҷониби гурӯҳи амниятӣ бо таҷриба дар ҷузъҳои зараровар аст. Ин ҳама гуна нармафзори зараровари эҳтимолиро тасдиқ мекунад ё онро ҳамчун бехатар аз нав тасниф мекунад. Ва мӯҳлати вақт дар диапазони соатҳо аст. 

Феҳрист дар бораи версия/ҷузъи зараровар гузориш медиҳад; сипас Феҳрист барои тасдиқ баррасии худро анҷом медиҳад ва ба ифшои оммавӣ ва хориҷ кардани он аз Феҳрист мегузарад. Баъзе Феҳристҳо бастаи нигоҳдории амниятиро нигоҳ медоранд. Диапазони вақт дар ин ҷо рӯзҳо ё ҳафтаҳо аз замони нашр аст, ки ин 'вақт бимонед'ё'тирезаи экспозиция'барои аксари ҷузъҳои зараровар.

Оё имкон дорад бидонед, ки оё версияи компонент зараровар аст?

Пас, барои огоҳии барвақт, мо бояд ба ин савол ҷавоби қаноатбахш диҳем: Чӣ тавр ман метавонам донам, ки китобхона ё баста зараровар аст (не)? Чӣ тавр далелҳои кофии рафтори зарароварро ҷамъоварӣ кардан мумкин аст? Имконпазир, аммо душвор аст, зеро душманон барои пешгирӣ аз ошкоркунӣ аз маҳорати зиёд истифода мебаранд. Равишҳои гуногун мавҷуданд, ки ҳар кадоме дорои бартариҳо ва нуқсонҳо мебошанд.

Таҳлили статикӣ метавонад ҳамаи роҳҳои иҷроро тафтиш кунад, усулҳои истифодашуда аз ҷониби ҳамлагаронро бидуни иҷро кардани компонент тафтиш кунад ва вазифаҳои пешкоркардро ба монанди деобфускасия ё рамзкушоӣ иҷро кунад. Вақте ки ҳамлагарон кӯшиш мекунанд, ки зарари худро пинҳон кунанд, кӯшишҳои деобфускасия воқеан далели нармафзори зараровар мебошанд (аммо дар хотир доред, ки ҷузъҳои қонунӣ рамзро барои ҳифзи моликияти зеҳнӣ печида мекунанд ва хилофи "манбаи кушода"). Танҳо як қисми ками ҳамлаҳои хеле мураккаб бо нофускасияи қавӣ ба қуттии рег ниёз доранд, аммо чунин нофускасияи қавӣ нишонаи равшани бадхоҳӣ аст. Лутфан, дар хотир доред, ки анъанавӣ SAST абзорҳо барои осебпазириҳои тасодуфӣ тарҳрезӣ шудаанд, на барои ниятҳои бадхоҳона ба монанди дарҳои қафо.

Таҳлили динамикӣ ҷузъро иҷро мекунад ва вокунишро тавассути асбоб кардани вақти иҷро, одатан бо таъмини муҳити қуттии регдор, месанҷад. Рафтори зарароваре, ки дар шароити муайян ба вуҷуд омадааст, метавонад ноаён гузарад: лутфан дар хотир доред, ки нармафзори зараровар метавонад аз усулҳои канорагирӣ, ба монанди Виртуализатсия/Рафъи қуттии рег танҳо вақте ки таҳти назорат нест, фаъол кардан ва инчунин нишонаи равшани фаъолияти зараровар барои ҳама гуна муҳаррики таҳлили статикӣ.

Таҳлили қобилиятҳо ба назар мегирад, ки компонент чӣ кор мекунад: ба куҷо пайваст мешавад, ба кадом файлҳо дастрасӣ пайдо мекунад, ба кадом фармонҳо ё барномаҳо иҷро мешаванд, вуруд/хуруҷи терминал ё дастгоҳ иҷро карда мешавад ё кадом зангҳои системавӣ даъват карда мешаванд. Ин изи ангушти рафторро метавон (барои ҷузъи мавҷуда) дар байни версияҳо муқоиса кард, аз ин рӯ, вақте ки рафтори ғайричашмдошт ошкор карда мешавад, ин далелҳо метавонанд шубҳаро дар бораи фаъолияти эҳтимолии зараровар дар версияи нав ба вуҷуд оранд. Ин равиш қадамҳои селексиониро пайгирӣ мекунад, ки таҳлилгарони амниятӣ ҳангоми дучор шудан бо нармафзори эҳтимолии зараровар риоя мекунанд: санҷиш бо истифода аз сатрхо ё абзорҳои монанд. Ин равиш рафтори зарароварро новобаста аз шароити ангезанда муайян мекунад ва вақте ки рамзи сарчашма дастрас нест, кор мекунад.

Таҳлили контекстӣ маълумотро дар бораи чӣ гуна нашр шудани ҷузъ ва аз ҷониби кӣ ҷамъ мекунад. Маъракаҳои бадхоҳон аксар вақт аз ҳисоби нави корбарон истифода мебаранд, ки ба ягон раванди қатъии санҷишӣ тобеъ нестанд. Пайгирии фаъолияти гузашта метавонад ба корбари аслӣ, асосан барои аномалияҳое, ки метавонанд ба созиши эҳтимолӣ ишора кунанд, маълумот диҳад. Ба даст овардани обрӯ хеле душвор аст ва аз даст додани он хеле осон аст! Корбаре, ки фаъолияти гузашта надорад, бетараф аст, аммо карма бадхоҳонро таъқиб мекунад. Ҳактивистҳо ё корбарони муқаррарие, ки эътимодномаи нашри онҳо дуздида шудааст, бояд бодиққат пайгирӣ карда шаванд.

Маълумоти дигари контекстӣ ин номувофиқатӣ байни анбори сарчашма, ки гӯё барои эҷоди ҷузъи tarball истифода мешавад ва мундариҷаи худи tarball мебошад. Ва инчунин риояи амалияҳои хуб, ба монанди эҷоди тегҳо ё релизҳо дар анбори сарчашма, ки бо версияҳои ҷузъи нашршуда дар феҳристи оммавӣ мувофиқат мекунанд. Вақте ки анбори сарчашма дар як мушаххас commit бо номи "release" қайд карда мешавад ва ногаҳон яке аз версияҳо онро пайгирӣ намекунад, ки ин танҳо далели қавӣ аст, ки ҷузъ метавонад олуда бошад: эҳтимол дорад, ки шахси бадкор ҳисоби истифодашударо барои нашри ҷузъ вайрон карда бошад, аммо дар анбори рамзи сарчашма иҷозати навиштан надорад). Бисёре аз ҳамлаҳо мунтазам бо истифода аз ин қоидаҳо ошкор карда мешаванд: масалан, Ҳамлаи Леджер дар ин самт ба осонӣ муайян кардан мумкин аст. Аз ин рӯ, таҳлили контекстӣ чунин аномалияҳоро дар раванди нашр муайян мекунад.

Девори оташфишони вобастагӣ

Як равиши дигар ин аст, ки рӯйхати сафеди ҳамаҷонибаи ҷузъҳо барои ҳамаи графикҳои вобастагӣ, ки дар нармафзори шумо истифода мешаванд, дошта бошед, аз ин рӯ, дар ҳама гуна сохтан pipeline танҳо версияҳои тасдиқшудаи ҷузъро дар ташкилоти шумо насб ва истифода бурдан мумкин аст.Сипар"бо истифода аз феҳристи дохилӣ, ки дар он tarballs барои версияҳои компоненти иҷозатдодашуда хидмат карда мешаванд (кэшшуда ё проксишуда). Лутфан, дар хотир доред, ки ягон рӯйхати сафед кор намекунад, агар шумо технологияи тасниф кардани ягон версияи навро ҳамчун бехатарии кофӣ надошта бошед, то онро ба рӯйхати сафед илова кардан мумкин бошад. 

Лутфан, дар хотир доред, ки огоҳии барвақт (ошкоркунии зуд ҳарчи зудтар пас аз нашри версияи нав) бояд бо ягон роҳи истифодаи фаъолонаи ин маълумот барои масдуд кардани ҷузъи таъсиррасон ба сохтмон якҷоя карда шавад. pipelineё мошинҳои таҳиягарон [4]Мо инро "вобастагӣ ба девори оташӣ": механизми карантинӣ барои ҳифзи сохторҳои автоматӣ аз бастаҳои зараровар. Бастаҳои дохилӣ ва феҳристҳои тасвирҳо барои муҳофизат кардани ташкилотҳо аз бадии беруна хубанд, аммо далелҳои кофӣ барои самаранок кардани карантин заруранд. 

Қуттии регии иҷрошаванда

Як равиши алтернативӣ барои ошкоркунӣ дар вақти нашр таҳлили рафтор дар вақти иҷро мебошад. Идея дар он аст, ки рафтори интизоршаванда аз нармафзор сабт карда шавад ва ҳама гуна аномалияҳои ёфтшуда муайян (ё маҳкам карда шаванд). Ин самти амал мушкилоти зарурати ба танзим даровардани вақти иҷро барои назорат ё маҳкам карданро дорад ва ин як идеяи умедбахш аст, ки ба арсенали механизмҳои муҳофизат аз зараррасонҳои ҷузъи зараровар илова карда мешавад.

Муқаррар кардани стратегияи ҳамаҷониба

Стратегияи тавсияшуда бояд усулҳои гуногунро дар раванди таҳияи нармафзор муттаҳид кунад ва навсозиҳои версияро барои масдуд кардани ҷузъҳои зараровари воридшаванда назорат кунад. Мо бояд пинкунии версияро барои пешгирӣ аз сироятёбии худкор бо версияҳои навсозӣ барои гирифтани ислоҳи осебпазириҳои муҳим мутобиқ кунем; арзёбии зуд ва самараноки вобастагиҳои мустақим ва ғайримустақим ҳангоми навсозии версияҳо барои доштани далелҳои кофӣ, ки онҳо аз нармафзори зараровар ранҷ намекашанд. Сохти нармафзоре, ки аз ҷузъҳои маълуми зараровар вобастаанд, бояд масдуд карда шаванд. Ва ҳама бояд иҷро шаванд.

Агар имкон бошад, аз пиннинги версия истифода баред, зеро ин сохтани сохторҳоро такроршавандатар мегардонад. Пин кардани версия бо ғалтакҳои назоратшаванда ва дастӣ тасдиқшудаи версиява бо ёрии технологияи ёрирасон, бояд арзёбӣ кунад, ки оё навсозӣ нармафзори зараровар меорад ё нармафзорро вайрон мекунад ва навсозиро барои ислоҳи осебпазириҳо бо пешгирӣ аз сироятёбии нармафзори зараровар мувофиқ мекунад. Асбобҳо метавонанд дар ин ҷо бо (1) афзалият додани осебпазириҳои воқеан муҳим (дастрас ва истифодашаванда, бо хатари баланди ҳадаф қарор гирифтан аз ҷониби ҳамлагарон), (2) интихоби версияҳои мақсаднок, ки бо истифодаи ҷории ҷузъҳо мувофиқанд ва нармафзорро вайрон намекунанд, (3) интихоби версияҳои мақсаднок, ки рафтори зараровар надоранд ва (4) навсозии версияро барои вобастагиҳои мустақим ва ғайримустақим бо пешниҳоди тағйирот дар файлҳои манифест, ки метавонанд зуд тасдиқ карда шаванд, ба таври фаврӣ анҷом диҳанд. Қадами (3) ба маълумоти мушаххас дар бораи ҷузъҳои зараровар то ҳадди имкон наздик ба вақти нашри онҳо ниёз дорад.

Ин раванди навсозии вобастагиҳо бояд бошад иҷро карда мешавад ва тасдиқ шудааст дар ҳама ҷойҳо. Раванд бояд ҳуҷҷатгузорӣ карда шавад ва ҳамаи ҷонибҳои дахлдор бояд омӯзонида шаванд, зеро аксар вақт таҳия ва сохтан/ҷойгиркунии нармафзор ба берун интиқол дода мешавад. CI/CD pipelines бояд мувофиқан тағйир дода шавад, то автоматизатсия ба вобастагии ғайримустақими зараровар имкон надиҳад, ки ба сохтор ворид шавад: guardrails Агар далелҳои кофии мавҷуд будани нармафзори зараровар дар вобастагӣ мавҷуд бошанд, бастани сохтор роҳи тавсияшуда аст. 

Агар ташкилоти шумо феҳристи дохилӣ дошта бошад, ки ҳамчун прокси амниятӣ барои нигоҳ доштани версияҳои ҷузъи иҷозатдодашуда амал мекунад, шумо бояд маълумоти иттилоотиро дар бораи ҷузъҳои зараровар (ба ғайр аз дигар меъёрҳо) барои санҷиши ҷузъи дархостшуда пеш аз илова кардани он ба рӯйхати иҷозатдодашуда ба даст оред. 

Истифодаи нармафзори кушодаасос бо бехатарӣ осон нест ва омили нармафзори зараровар бояд пурра ба назар гирифта шавад ва барои коркарди осебпазириҳо кӯшиши ба ин монанд ба харҷ дода шавад.

Як ёддошти ниҳоӣ: Манбаи сарчашма, дар шакли тасдиқи нармафзор, ки дар вақти сохтани компонент тавлид мешавад, як қисми дигари калидӣ дар талоши пайгирии артефакт (тӯби tar-ҷузъ) бо манбаъҳо ва раванди сохтани он мебошад. Дар хотир доред, ки ин робита байни акси манбаъ + муҳити сохтани он ва артефакти нармафзори марбут (ки аз ҷониби системаи боэътимоди сохтани он имзо шудааст) худ аз худ монеъ намешавад, ки компонент рафтори зараровар надорад, балки ворид кардани нармафзори зарароварро барои бадкорон душвортар мекунад. Ва тасдиқи пайдоишро ба як талаботи маъмулӣ барои истеъмоли ҷузъҳои кушодаасос вақти зиёд мегирад ва танҳо ба наздикӣ ба NPM илова карда шудМуқовимат ба системаҳои сохта ва ҷойгиркунии боэътимод ё имкон додани ошкор кардани ҳама гуна тағйирот дар сохтан, як ҳикояи дигар аст, ки аз доираи ин паём берун аст. 

Хондани минбаъда

Қисмати навбатӣ Бастаҳои зараровари манбаъи кушода: Равиши Xygeni стратегияеро, ки мо дар Xygeni барои мо пайравӣ мекунем, муаррифӣ хоҳад кард Огоҳии барвақти нармафзори зараровар (MEW) система. Версияҳои нави бастаҳо дар феҳристҳои бастаҳои оммавӣ ва тасвирҳо скан карда мешаванд ва далелҳо бо истифода аз якҷоякунии таҳлили статикӣ, динамикӣ, қобилиятҳо ва контекстуалӣ ба даст оварда мешаванд. Далелҳо, дар якҷоягӣ бо обрӯи корбар ва таърихи тағйирот дар анборҳои рамзи сарчашма, имкон медиҳанд, ки як ҷузъ ба таври автоматӣ ба категорияҳои хатарнок ва эҳтимолан зараровар тасниф карда шавад. Система аз далелҳои гузашта, ки аз бастаҳо ҷамъоварӣ шудаанд, омӯхта, мусбатҳои бардурӯғро то ҳадди ақалл кам мекунад. 

Ташкилотҳои обунашуда ҳангоми тасниф кардани версияи зараровар огоҳиномаи огоҳӣ барои ҷузъҳое, ки онҳо мустақиман ё бавосита истифода мебаранд, мегиранд. Сипас, таҳлилгарони мо таҳлили дастӣ анҷом медиҳанд, ки таснифро тасдиқ ё рад мекунад. Барои нармафзори зараровари тасдиқшуда, ба феҳристи давлатӣ огоҳӣ дода мешавад, то он тавонад таҳлили худро анҷом диҳад ва одатан версияи зарароварро нест кунад ё чораҳои иловагӣ, ба монанди масдуд кардан ё нест кардани ҳисоби корбарии мавриди назарро андешад.

Мо шарҳ медиҳем, ки чӣ гуна мо ба NPM, PyPI, GitHub ва дигар инфрасохторҳои калидӣ дар экосистемаи кушодаасос кӯмак мекунем, то вақти интизориро кам кунем, зеро ҷузъи нави зараровар то он даме, ки нармафзори зараровар тасдиқ ва аз феҳрист хориҷ карда шавад, фаъол боқӣ мемонад. Ва чӣ гуна ташкилотҳо метавонанд аз системаи MEW баҳра баранд, то аз ҳамлаҳои занҷираи таъминоти нармафзор, ки ҷузъҳои кушодаасосро дар бар мегиранд, муҳофизати беҳтар дошта бошанд.

  • [1] Дар ҳар сурат, корбарони компонент бояд тафтиш кунанд, ки оё tarball компонент кэш шудааст ё дар ҷое, масалан, дар реестри дохилӣ сабт шудааст, то беморӣ бартараф карда шавад.
  • [2] Компоненти бастабандишуда манифестро дар бар мегирад, ки мундариҷа ва метамаълумот, рамзи манбаъ ё компилятсияшуда, скриптҳои насб ва ашёҳои иловагиро, аз қабили маҷмӯаҳои санҷишӣ, мувофиқи формати бастабандӣ ва одатан дар шакли фишурдашуда эълон мекунад. Инро "тӯби tar-component" меноманд.
  • [3] Ҳатто агар шахси зараровар ҷузъи нашршударо бинобар вайронкунии худи регистр тағйир диҳад ҳам, дайҷести оддии криптографӣ метавонад ҳама гуна тағйиротро дар тӯби тар пас аз таҳлил муайян кунад.
  • [4] Дар хотир доред, ки баъзе ҷузъҳои зараровар ҳангоми насб кор мекунанд, аз ин рӯ, он метавонад ба гиреҳҳои таҳиягар таъсир расонад, ки нохост "npm install X"-ро бо X ҳамчун ҷузъи зараровар иҷро мекунанд.  

Бастаҳои зараровари манбаъи кушода: Мушкилот

Анатомияи бастаҳои зараровар: Тамоюлҳо кадомҳоянд?

асбобҳои sca-tools-нармафзор-таҳлили таркиб
Хатарҳои нармафзори худро афзалият диҳед, ислоҳ кунед ва бехатар созед
Ҳисоби ройгони худро дастрас кунед.
Корти кредитӣ лозим нест.

Таҳия ва интиқоли нармафзори худро таъмин кунед

бо маҷмӯи маҳсулоти Xygeni