TL, д-р
Кампраміс axios npm паказвае як сучасныя атакі на ланцужкі паставак выкарыстоўваць давераныя залежнасці для доступу да канфідэнцыйных дадзеных падчас выканання. Гэты інцыдэнт быў прааналізаваны некалькімі даследчыкамі ў галіне бяспекі, у тым ліку падрабязна апісаны з Unit42 асвятленне галіны, якое падкрэслівае мадэлі атрыбуцыі, звязаныя з дзейнасцю нацыянальных дзяржаў.
Гэта здарэнне ўплывае на:
- Каманды DevOps працуюць CI/CD pipelineз аўтэнтыфікацыяй на аснове асяроддзя
- Бэкэнд-сэрвісы, якія апрацоўваюць аўтэнтыфікаваныя запыты API
- Прыкладанні, якія выкарыстоўваюць axios для ўнутранай і знешняй HTTP-камунікацыі
Паколькі axios знаходзіцца на ўзроўні запытаў, скампраметаваная версія можа атрымаць доступ да:
- Загалоўкі аўтарызацыі і API tokens
- Зменныя асяроддзя і сакрэты
- Унутраная камунікацыя службы
Рэальны ўплыў мае не сама залежнасць, а тое, да чаго яна можа атрымаць доступ пасля выканання.
Неадкладныя дзеянні:
- Блакіроўка версій залежнасцей і прагляд апошніх абнаўленняў
- Змяняйце ключы API, токены і CI/CD даверчыя граматы
- Маніторынг выходных запытаў і актыўнасці аўтэнтыфікацыі
- Аўдыт pipelines для раскрытых сакрэтаў
Што адбылося падчас npm-атакі Axios
Інцыдэнт з Axios з'яўляецца часткай усё больш распаўсюджанай тэндэнцыі атак на ланцужкі паставак, калі зламыснікі нацэльваюцца на шырока выкарыстоўваныя залежнасці, а не на ўразлівасці праграм.
Кампраметуючы надзейны пакет, зламыснікі атрымліваюць доступ да яго адначасова ў тысячах асяроддзяў.
Паколькі axios з'яўляецца адным з найбольш шырока выкарыстоўваных HTTP-кліентаў у экасістэме JavaScript, ён глыбока інтэграваны ў:
- Сэрвісы бэкенда
- Фронтэнд-прыкладанні
- CI/CD pipelines
Гэта робіць яго высокакаштоўнай мэтай.
Пасля ўкаранення і выканання шкоднаснай версіі яна атрымлівае тыя ж правы доступу, што і праграма, якая яе імпартавала. Гэта ўключае доступ да сеткавага трафіку, уліковых дадзеных і ўнутраных службаў.
Кампраметацыя таксама прыцягнула шырэйшую ўвагу за межамі супольнасці бяспекі, дзякуючы такім справаздачам, як Axios ахоп
што паказвае на магчымыя сувязі з перадавымі злачынцамі і скаардынаванымі кампаніямі.
Што насамрэч робіць атака Axios падчас выканання
Ключ да разумення гэтай атакі — засяродзіцца на паводзінах падчас выканання.
Axios працуе на ўзроўні HTTP, што азначае, што ён апрацоўвае выходныя запыты. Гэта дае яму непасрэдны доступ да канфідэнцыйных дадзеных, якія перадаюцца праз прыкладанне.
Узламаная версія можа:
- Перахопліваць выходныя запыты перад іх адпраўкай
- Захоп
Authorizationзагалоўкі і токены API - Доступ да зменных асяроддзя праз
process.env - Назірайце за камунікацыяй паміж унутранымі службамі
Напрыклад, шкоднасны перахопнік можа здабываць загалоўкі аўтэнтыфікацыі і ціха перасылаць іх на знешнюю канчатковую кропку.
Адначасова, доступ да зменных асяроддзя дазваляе зламыснікам атрымліваць уліковыя дадзеныя без змены логікі прыкладання.
Звонку ўсё працягвае працаваць належным чынам. Запыты выконваюцца паспяхова, службы рэагуюць нармальна, і pipelineне паказваюць прыкмет збою. У той жа час канфідэнцыйныя даныя ўжо могуць быць раскрытыя праз фонавыя шляхі выканання.
Схема атакі Axios: ад кампраметаванага пакета да сакрэтнага раскрыцця
1. Кампраміс
Зламыснік атрымлівае кантроль над давераным уліковым запісам адміністратара або шляхам выпуску пакета ўнутры экасістэмы axios.
2. Размеркаванне
Шкоднасныя версіі публікуюцца ў npm і пераносяцца на машыны распрацоўшчыкаў. CI/CD pipelines, а праграма збіраецца праз звычайныя абнаўленні залежнасцей.
3. Выкананне падчас выканання
Карысная нагрузка выконваецца пры імпарце і выкарыстанні axios, наследуючы тыя ж прывілеі выканання, што і праграма.
4. Сакрэтны доступ
Узламаная залежнасць атрымлівае бачнасць загалоўкаў, токенаў, зменных асяроддзя і ўнутранай HTTP-камунікацыі.
5. Эвакуацыя
Канфідэнцыйныя даныя ціха адпраўляюцца ў кантраляваную зламыснікамі інфраструктуру, у той час як першапачатковыя запыты працягваюць працаваць у звычайным рэжыме.
Індыкатары кампрамісу (IoC)
Каб даследаваць патэнцыйную рызыку ўздзеяння, каманды павінны пачаць з праверкі вядомых паказчыкаў, звязаных з узломам Axios. У табліцы ніжэй падсумаваны найбольш важныя сігналы па пакетах, сеткавай актыўнасці і артэфактах хоста.
Як інтэрпрэтаваць гэтыя міжкампанентныя мовы
Хоць гэтыя паказчыкі карысныя, іх не варта разглядаць як паўнавартасную стратэгію выяўлення.
На практыцы такія атакі рэдка абапіраюцца на адзін статычны сігнал. Дамены змяняюцца, карысныя нагрузкі развіваюцца, а хэшы хутка састарэюць. Нязменным застаецца толькі паводзіны.
Напрыклад, нечаканыя выходныя запыты падчас звычайнага выканання HTTP могуць сведчыць аб уцечцы дадзеных. Падобным чынам, выкарыстанне сапраўдных уліковых дадзеных у незвычайных кантэкстах часта сігналізуе аб тым, што сакрэты ўжо раскрытыя.
На ўзроўні хоста наяўнасць часовых скрыптоў або бінарных файлаў можа сведчыць аб актыўнасці пасля эксплуатацыі, асабліва ў спалучэнні з анамаліямі сеткі.
Іншымі словамі, IoC дапамагаюць пацвердзіць інцыдэнт.
Аднак разуменне паводзін дазваляе выявіць іх на ранняй стадыі.
| Катэгорыі | індыкатар | дэталі |
|---|---|---|
| пакет | axios@1.14.1 | шасум: 2553649f2322049666871cea80a5d0d6adc700ca |
| пакет | axios@0.30.4 | шасум: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71 |
| залежнасць | plain-crypto-js@4.2.1 | шасум: 07d889e2dadce6f3910dcbc253317d28ca61c766 |
| сетка | sfrclak[.]com | Дамен камандавання і кіравання |
| сетка | 142.11.206[.]73 | Звязаная інфраструктура IP |
| сетка | http://sfrclak[.]com:8000/6202033 | Назіраная канчатковая кропка эксфільтрацыі |
| Macos | /Library/Caches/com.apple.act.mond | SHA256: 92ff08773995ebc8d55ec4b8e1a225d0d1e51efa4ef88b8849d0071230c9645a |
| Windows | %PROGRAMDATA%\wt.exe | Патэнцыйны артэфакт персістанцыі |
| Windows | %TEMP%\6202033.vbs | Артэфакт выканання на аснове скрыпта |
| Windows | %TEMP%\6202033.ps1 | Карысная інфармацыя PowerShell. SHA256: 617b67a8e1210e4fc87c92d1d1da45a2f311c08d26e89b12307cf583c900d101 |
| Linux | /tmp/ld.py | SHA256: fcb81618bb15edfdedfb638b4c08a2af9cac9ecfa551af135a8402bf980375cf |
Заўвага да расследавання: Гэтыя паказчыкі ўзаемадзеяння з'яўляюцца карыснай адпраўной кропкай для пошуку пагроз. Аднак зламыснікі могуць хутка мяняць дамены, карысныя нагрузкі і артэфакты. Па гэтай прычыне каманды павінны суадносіць гэтыя паказчыкі з паводніцкімі сігналамі, такімі як нечаканы выходны HTTP-трафік, анамальны доступ да process.envі незвычайныя абнаўленні залежнасцей.
Прыклад: Як скампраметаваная залежнасць Axios npm можа выкрасці дадзеныя
Каб зразумець, як гэтая npm-атака Axios працуе на практыцы, разгледзім спрошчаны прыклад.
Axios дазваляе распрацоўшчыкам вызначаць перахопнікі запытаў. Гэтыя перахопнікі выконваюцца аўтаматычна перад кожным HTTP-запытам.
Шкоднасная версія axios можа злоўжываць гэтым механізмам:
Чаму npm-атака на Axios небяспечная
На першы погляд, здаецца, што ўсё ў парадку. Запыт выкананы паспяхова, праграма паводзіць сябе належным чынам, і pipelineпрацягваюць праходзіць без памылак.
Аднак, найважнейшая дэталь адбываецца да адпраўкі запыту. Падчас гэтага акна выканання ўзламаная залежнасць можа ціха атрымліваць доступ і збіраць канфідэнцыйныя дадзеныя, такія як загалоўкі аўтарызацыі, токены API, метададзеныя запыту і зменныя асяроддзя.
Паколькі гэтая логіка працуе ўнутры даверанай бібліятэкі, якая знаходзіцца непасрэдна ў шляху HTTP-запыту, яна фактычна працуе з тымі ж прывілеямі, што і само прыкладанне. У выніку яно можа атрымліваць доступ да дадзеных, якія звычайна абаронены ад знешніх зламыснікаў.
Асабліва небяспечным гэта робіць не толькі доступ да дадзеных, але і адсутнасць бачных наступстваў. Няма ніякіх парушэнняў у функцыянальнасці, ніякіх няўдалых запытаў і ніякіх неадкладных сігналаў аб тым, што нешта не так. З аперацыйнага пункту гледжання ўсё працягвае працаваць належным чынам.
Тым часам канфідэнцыйная інфармацыя можа ўжо пакідаць сістэму праз выходныя злучэнні, якія зліваюцца са звычайным трафікам прыкладанняў.
Чаму гэта ў першую чаргу праблема DevOps
Для каманд DevOps гэты тып атакі асабліва цяжка выявіць, бо ён лёгка інтэгруецца ў існуючыя працоўныя працэсы.
Залежнасці ўсталёўваюцца аўтаматычна, pipelineвыконваюцца нармальна, і ніякіх неадкладных збояў не ўзнікае.
Адначасова, CI/CD асяроддзі часта раскрываюць каштоўныя паўнамоцтвы, у тым ліку:
- Токены пастаўшчыка хмарных паслуг
- Ключы разгортвання
- CI/CD сакрэты аўтэнтыфікацыі
Узламаная залежнасць, якая працуе ў гэтым кантэксце, можа атрымаць доступ да гэтых уліковых дадзеных непасрэдна.
Гэта стварае сітуацыю, калі ўсё выглядае нармальна, у той час як доступ да канфідэнцыйных дадзеных ажыццяўляецца ў фонавым рэжыме.
Рэальная рызыка: сакрэтнае раскрыццё ў вялікіх маштабах
Кампраміс Axios NPM падкрэслівае ключавы зрух у сучасных стратэгіях атак.
Мэта ўжо не ў тым, каб выкарыстоўваць уразлівасці, а ў тым, каб атрымаць доступ да сапраўдных уліковых дадзеных.
Паколькі сучасныя сістэмы абапіраюцца на аўтэнтыфікацыю на аснове асяроддзя, залежнасць, якая працуе падчас выканання, можа атрымаць доступ да:
- API ключы
- Токены паслуг
- Уліковыя дадзеныя ў воблаку
Гэтыя паўнамоцтвы не трэба парушаць.
Іх трэба толькі выкарыстоўваць.
Гэта дазваляе зламыснікам перамяшчацца ў іншыя месцы, атрымліваць доступ да сэрвісаў і здабываць дадзеныя з выкарыстаннем легітымнай аўтэнтыфікацыі.
У выніку, наступствы залежаць ад таго, якія сакрэты будуць раскрыты, а не ад таго, як будзе выканана атака.
Чаму традыцыйныя інструменты бяспекі гэтага не разумеюць
Традыцыйныя падыходы з цяжкасцю выяўляюць гэтыя атакі, бо яны сканцэнтраваны на вядомых уразлівасцях або статычных сігнатурах. Аднак, як падкрэсліваецца ў Аналіз OpenAI З-за кампраметацыі інструмента распрацоўшчыка Axios рэальная рызыка ўзнікае падчас выканання, калі давераныя залежнасці ўзаемадзейнічаюць з канфідэнцыйнымі дадзенымі.
Аднак скампраметаваная залежнасць можа не ўтрымліваць ніякіх відавочных паказчыкаў.
Могуць быць:
- Няма CVE
- Няма шкоднаснага подпісу
- Няма анамальнага сінтаксісу
Адначасова статычны аналіз не ацэньвае паводзіны падчас выканання. Ён не можа вызначыць, як залежнасць узаемадзейнічае з канфідэнцыйнымі дадзенымі пасля выканання.
Гэта стварае прабел, калі код выглядае бяспечным падчас аналізу, але становіцца рызыкоўным падчас выканання.
Як выявіць і прадухіліць атакі, падобныя на npm, у Axios
Прадухіленне такога тыпу npm-атакі Axios патрабуе пераходу ад статычнай праверкі да ўсведамлення выканання.
Камандам патрэбна бачнасць таго, як паводзяць сябе залежнасці, а не толькі таго, што яны ўтрымліваюць.
Гэта ўключае ў сябе:
- Маніторынг доступу да канфідэнцыйных дадзеных падчас выканання
- Выяўленне сакрэтаў да таго, як яны трапяць у сховішчы
- Сканаванне pipelineі артэфакты для раскрытых уліковых дадзеных
- Назіранне за выходнай сеткавай актыўнасцю на наяўнасць анамалій
Аднак аднаго выяўлення недастаткова.
Ад выяўлення да прафілактыкі: што насамрэч зніжае рызыку
Пасля падобнага інцыдэнту каманды часта сутыкаюцца з вялікай колькасцю патэнцыйна раскрытых уліковых дадзеных.
Задача не ў тым, каб знайсці іх. Задача ў тым, каб вызначыць, якія з іх важныя.
Ключавым пытаннем становіцца:
Якія сакрэты ўсё яшчэ актуальныя і іх можна выкарыстоўваць?
Без праверкі каманды марнуюць час на неактыўныя ўліковыя дадзеныя, у той час як рэальныя рызыкі застаюцца адкрытымі.
Эфектыўнае рэагаванне патрабуе:
- Выяўленне раскрытых сакрэтаў
- Праверка таго, ці яны ўсё яшчэ даюць доступ
- Хуткае адкліканне або паварот іх
Гэта скарачае час экспазіцыі і абмяжоўвае акно дзеянняў зламысніка.
Як Xygeni дапамагае знізіць рызыкі ў ланцужку паставак
Ксігені вырашае гэтую праблему, аб'ядноўваючы выяўленне, праверку і ліквідацыю наступстваў у адзін працоўны працэс.
Ён пастаянна выяўляе раскрытыя сакрэты па ўсім кодзе, pipelineі артэфакты. Адначасова ён правярае, ці гэтыя ўліковыя дадзеныя ўсё яшчэ актыўныя ў асяроддзі.
Гэта дазваляе камандам засяродзіцца на тым, што зламыснікі могуць рэальна выкарыстоўваць.
Пасля вызначэння актыўных сакрэтаў аўтаматызаваныя рабочыя працэсы выпраўлення дапамагаюць скараціць час раскрыцця інфармацыі шляхам адклікання або кантраляванай ратацыі.
У выніку рэакцыя становіцца хутчэйшай і больш дакладнайcisе, і менш разбуральны.
Conclusion
Кампраметацыя axios npm адлюстроўвае развіццё атак на ланцужкі паставак.
Зламыснікам больш не трэба ўзломваць сістэмы. Яны абапіраюцца на давераныя залежнасці для доступу да канфідэнцыйных дадзеных падчас выканання.
Для каманд DevOps гэта азначае разуменне паводзін падчас выканання. Для кіраўнікоў па бяспецы гэта азначае хуткае і эфектыўнае зніжэнне рызыкі.
Таму што ў сучасных умовах найбольшая рызыка — гэта не тое, што выконваецца.
Гэта тое, да чаго атрымліваецца доступ пасля запуску.




