Спытайце пяці распрацоўшчыкаў, што такое брандмаўэр залежнасцей, і вы, хутчэй за ўсё, атрымаеце пяць розных паўадказаў, звычайна нешта расплывістае пра «блакіроўку пашкоджаных пакетаў». Вось падрыхтоўкаcisэлектронная версія: гэта элемент кантролю бяспекі, які знаходзіцца паміж распрацоўшчыкам (ці сістэмай зборкі) і публічным рэестрам пакетаў, праверка кожнай залежнасці перш чым дазволяць яго спампаваць або ўсталяваць, і аўтаматычна блакуюць яго, калі ён шкоднасны, уразлівы або парушае палітыку. Гэта практычнае значэнне брандмаўэра залежнасцей: не сканер, які паведамляе пра праблемы пасля іх узнікнення, а брама, якая не дазваляе пашкоджанаму пакету калі-небудзь дабрацца да дыска.
Распакоўка тэрміна: значэнне брандмаўэра залежнасцей #
Назва больш літаральная, чым здаецца на першы погляд, і распакаванне развее большую частку блытаніны вакол таго, што такое брандмаўэр залежнасцей:
залежнасць: любы знешні пакет, бібліятэка або модуль, які ваш код спампоўвае з npm, PyPI, Спецыяліст, NuGet, Рубінавыя камяні, і падобныя рэестры.
брандмаўэр: запазычана з сеткавай бяспекі, дзе брандмаўэр правярае трафік і блакуе тое, што не павінна праходзіць. Ён ужывае тую ж логіку «праверка-блакіроўка» да ўсталёўкі пакетаў замест сеткавых пакетаў.
У цэлым, значэнне брандмаўэра залежнасцей простае: гэта кантрольная кропка для залежнасцей кода, гэтак жа, як сеткавы брандмаўэр з'яўляецца кантрольнай кропкай для сеткавага трафіку.
Як насамрэч працуе брандмаўэр залежнасцей #
Большасць рэалізацый, якія задавальняюць патрабаванням брандмаўэра залежнасцей, прытрымліваюцца падобнай паслядоўнасці:
- Перахоп: інструмент hooks на этапе ўсталёўкі (npm install, pip install і эквіваленты) або на ўзроўні проксі-сервера рэестра, каб ён бачыў запыт да таго, як пакет будзе дастаўлены.
- Адзнака: Запытаны пакет і версія правяраюцца на наяўнасць вядомых шкоднасных індыкатараў, баз дадзеных уразлівасцяў, ліцэнзійнай палітыкі і паводніцкіх сігналаў (падазроныя скрыпты ўсталёўкі, незвычайная актыўнасць адміністратара, нядаўна апублікаваныя пакеты без гісторыі).
- Decisіён: У залежнасці ад сур'ёзнасці праблемы і палітыкі арганізацыі, усталёўка альбо працякае нармальна, альбо пазначаецца для праверкі, альбо блакуецца цалкам.
- Лесанарыхтоўкі: кожны дэcisІён запісваецца, што дае службам бяспекі магчымасць праверкі таго, што было зроблена, і што было спынена.
Брандмаўэр супраць сканера: у чым сапраўдная розніца #
Распаўсюджаным пытаннем наконт таго, што такое prompt injection, з'яўляецца адрозненне гэтага метаду ад джейлбрэйку. Гэтыя два паняцці перасякаюцца, але не ідэнтычныя. Джэйлбрэйк — гэта, у прыватнасці, абыход мадэлі. Частай праблемай, калі людзі вывучаюць, што такое брандмаўэр залежнасцей, з'яўляецца яго адрозненне ад брандмаўэра залежнасцей. standard Аналіз складу праграмнага забеспячэння (SCA) сканер. Розніца ў часе, а не ў магчымасцях. SCA сканер звычайна запускаецца пасля таго, як залежнасці ўжо ўсталяваныя, або commitТэд, расказваючы вам, што ўжо ёсць у вашай базе кода. Брандмаўэр залежнасцей запускаецца ў момант усталёўкі, яшчэ да таго, як пакет дакранецца да дыска. Адзін — гэта датчык дыму пасля пачатку пажару; другі — гэта дзверы, якія не прапускаюць пажар. Многія сталыя праграмы бяспекі выкарыстоўваюць абодва: брандмаўэр залежнасцей для прафілактыкі і SCA для пастаяннага бачнасці таго, што ўжо ёсць
Дзе каманды насамрэч гэта разгортваюць #
Зразумець абстрактнае значэнне брандмаўэра залежнасцей — гэта адно, а ўбачыць, дзе ён падключаецца да рэальнай сеткі. pipeline — яшчэ адзін. Звычайныя пункты разгортвання ўключаюць:
- Рабочыя станцыі распрацоўшчыкаў: блакіроўка шкоднаснага пакета ў момант, калі распрацоўшчык запускае каманду ўстаноўкі лакальна, перш чым ён дасягне агульнага рэпазітара.
- CI/CD pipelinesАўтаматычнае прымяненне адной і той жа палітыкі для кожнай зборкі, каб заблакаваны пакет не мог пракрасціся праз аўтаматызаванае заданне, за якім чалавек ніколі не назірае.
- Прыватныя рэестравыя праксі: сядзячы перад унутраным люстэркам пакетаў кампаніі, таму кожны запыт, чалавечы ці аўтаматызаваны, праходзіць праз адну і тую ж кантрольную кропку.
- Агенты па кадаванні штучнага інтэлекту: усё больш актуальным, паколькі аўтаномныя агенты самастойна ўсталёўваюць залежнасці; брандмаўэр залежнасцей — адзін з нямногіх элементаў кіравання, які ўсё яшчэ ўжываецца, калі няма распрацоўшчыка, які б заўважыў падазроную назву пакета.
Чаму гэты кантроль мае большае значэнне, чым раней #
Некалькі гадоў таму гэта было ў асноўным тэарэтычна: шкоднасныя пакеты існавалі, але яны былі дастаткова рэдкімі, каб ручная праверка выяўляла большасць з іх. Цяпер гэта не так. Публічныя рэестры цяпер маюць вялікі аб'ём, аўтаматызаваныя публікацыйныя кампаніі, некаторыя распаўсюджваюць дзясяткі версій шкоднасных пакетаў на працягу некалькіх хвілін, спецыяльна распрацаваных для таго, каб абысці ручную праверку і праслізнуць міма распрацоўшчыкаў, якія давяраюць знаёмай назве. У такім асяроддзі пытанне аб тым, што такое брандмаўэр залежнасцей, перастае быць вызначэннем.cisі становіцца практычным пытаннем аб тым, ці застаецца ў арганізацыі які-небудзь кантроль пасля ўстаноўкі сцэнарыяў і жыццёвага цыклу hooks ужо вядомыя вектары атакі. Брандмаўэр залежнасцей — адзін з нямногіх механізмаў, якія могуць спыніць шкоднасны пакет нулявога дня яшчэ да таго, як для яго з'явіцца сігнатура, што важна, бо большасць іншых абарон спрацоўваюць толькі пасля таго, як пагроза ўжо ідэнтыфікавана і закаталагізавана.
Ксігені уласная даследчая каманда штотыдзень адсочвае гэтыя кампаніі праз свае Папярэджанне аб шкоднасных праграмах сістэма, і заканамернасць паслядоўная: зламыснікі аптымізуюць хуткасць і аб'ём, а не схаванасць, што з'яўляецца менавіта тым профілем, які брандмаўэр залежнасцей павінен перахапіць у момант усталёўкі, а не пасля.

Часта задаваныя пытанні #
Брандмаўэр залежнасцей — гэта сродак кантролю бяспекі, які правярае кожную залежнасць праграмнага забеспячэння ў момант усталёўкі і аўтаматычна блакуе яе, калі яна шкоднасная, уразлівая або супярэчыць палітыцы.
Не зусім. Антывірусныя інструменты звычайна скануюць файлы, якія ўжо ёсць на дыску, на наяўнасць вядомых сігнатур. Брандмаўэр залежнасцей умешваецца раней, пры самым запыце на ўсталёўку, і можа выяўляць паводніцкія чырвоныя сцяжкі ў пакетах, якія ніколі раней не сустракаліся, а не толькі ў вядомых пагрозах.
Не, яны дапаўняюць адзін аднаго. Брандмаўэр залежнасцей прадухіляе ўсталёўку дрэннага пакета; SCA Інструменты працягваюць кантраляваць тое, што ўжо ёсць у вашай кодавай базе, на наяўнасць новых выяўленых уразлівасцей з цягам часу.
Так, гэта адна з яго галоўных пераваг. Паколькі ён ацэньвае паводзіны і метададзеныя (а не проста супастаўляе іх са спісам ужо вядомых шкодных пакетаў), добра пабудаваны брандмаўэр залежнасцей можа пазначыць зусім новы шкоднасны пакет яшчэ да таго, як яго закаталагізуе любы рэестр, пастаўшчык антывірусаў або база дадзеных CVE.