Stride threat модельдеу құрылымы

STRIDE қауіп моделі: «Не дұрыс болмауы мүмкін?» құрылымы

Неліктен әзірлеушілер бағдарламалық жасақтама жобаларында STRIDE қауіп моделін пайдалануы керек?

Егер сіз кодты жіберіп жатсаңыз, басқарасыз pipelineнемесе тию CI/CD Қалай болғанда да, STRIDE қауіп-қатерін модельдеу сіздің құралдар жинағыңыздың бөлігі болуы керек. STRIDE сөзі жалған ақпарат беру, бұрмалау, бас тарту, ақпаратты ашу, қызмет көрсетуден бас тарту және артықшылықты арттыруды білдіреді, бұл әзірлеушілер бағдарламалық жасақтаманың өмірлік циклі бойы ескеруі керек қауіпсіздік қатерлерінің алты санаты.

2000 жылдардың басында Microsoft компаниясы жасаған, STRIDE қауіп модельдеу құрылымы ескі тәсіл сияқты көрінуі мүмкін. Бірақ оның күші оның мәңгілік қарапайымдылығында жатыр: ол командаларға жүйелі түрде «Мұнда не дұрыс болмауы мүмкін?» деп сұрауға көмектеседі. Бағдарламалық жасақтаманың жеткізілуі бұлтқа негізделген архитектуралармен, контейнерлеумен және т.б. қаншалықты дамығанына қарамастан. CI/CD pipelines, STRIDE өте өзекті болып қала береді. Ол қажеттіліктеріне толық сәйкес келеді заманауи DevSecOps қауіпсіздік тәуекелдерін алдын ала анықтау және шешу үшін практикалық, әзірлеушілерге ыңғайлы әдісті ұсыну арқылы.

Бұл аудиттер немесе өлімнен кейінгі тексерулер үшін сақталған теориялық модель емес. STRIDE қауіп моделі - шабуылдаушылардан бұрын әлсіз жерлерді табуға арналған картаңыз. Орналастыру сценарийін жазып жатсаңыз да, шолу жасасаңыз да... pull request, немесе үшінші тарап қызметтерін қосу арқылы STRIDE шабуылдаушылар пайдалануы мүмкін мүмкіндіктерді ашады.

DevSecOps басынан бастап қауіпсіз бағдарламалық жасақтама жасауды білдіреді. STRIDE сізді баяулату туралы емес; бұл қазір дұрыс нәрселерді тексеру арқылы кейінірек тосынсыйларды азайту туралы. STRIDE қауіп модельдеу құрылымын үздіксіз қолдану мәселелерді алдын ала болжау және ерте шешу қабілетіңізді күшейтеді.

Қысқаша сипаттама: Әзірлеушілер түсінуі керек STRIDE санаттары

STRIDE қауіп моделі қауіптерді алты санатқа бөледі. Әрқайсысы бағдарламалық жасақтама мен инфрақұрылымдағы ортақ мәселелерді көрсетеді.

S: Алаяқтық Identity (Өзіңізді кім екеніңізді көрсету) Тәуекел: Рұқсат етілмеген пайдаланушылар немесе қызметтер өздерін басқа біреудің кейпінде көрсетеді. Мысал: Бұзылған CI жүгірушісі сенімді орналастырушы болып көрінеді және қауіпті өзгерістер енгізеді. CI/CD Сценарий: Шабуылдаушы CI агентіне қол жеткізеді және сенімді команда мүшесінен келетін сияқты жұмыстарды іске қосады.

T: Жалтақтау Деректермен немесе кодпен (сіздің заттарыңызды бұзу) тәуекел: Шабуылдаушылар кодты, конфигурацияларды немесе артефактілерді байқамай өзгертеді. Мысал: Қасақана скрипт құрастыру процесінде контейнер кескінін өзгертеді. CI/CD Сценарий: Құрастыру қадамы рұқсат етілмеген көзден өзгертілген кескінді орналастыру үшін үнсіз өзгертіледі.

R: Бас тарту (Кімнің не істегені туралы дәлел жоқ) Тәуекел: Есеп берудің немесе аудит ізінің болмауы. Мысал: Біріктіру оны кім мақұлдағанын немесе авторлағанын тексермей жүзеге асырылады. CI/CD Сценарий: Құрылымдар мен орналастырулар оларды кім бастағанын жазбай жұмыс істейді, бұл мәселелерді бақылауды қиындатады.

I: Ақпаратты ашу (Құпиялардың ағып кетуіТәуекел: Журналдарда, құрастыруларда немесе артефактілерде құпия деректердің ағып кетуі. Мысал: Скрипттің орындалу сәтсіздігі кезінде журналдарға басылған құпиялар. CI/CD Сценарий: Құпиялары бар қоршаған орта айнымалылары ашылады pipeline журналдар немесе қате туралы хабарламалар.

D: Қызмет көрсетуден бас тарту (Ресурстарыңызды өлтіру) Тәуекел: Логиканың нашарлығына немесе теріс пайдалануына байланысты процестер немесе қызметтер қолжетімді болмай қалады. Мысал: Шексіз жұмыс циклдары CI кезегін бітеп тастайды. CI/CD Жағдай: Дұрыс конфигурацияланбаған pipeline тым жиі іске қосылады, жүгірушінің барлық қолжетімді сыйымдылығын пайдаланады.

E: Артықшылықтың жоғарылауы (Рұқсат етілгеннен көбірек кіру мүмкіндігін алу) Тәуекел: Пайдаланушылар немесе қызметтер болмауы тиіс рұқсаттарды алады. Мысал: A pipeline жұмыс өндіріс деңгейіндегі қолжетімділікпен орындалады, ол болмауы керек. CI/CD Сценарий: Қатысушылардың жұмысы дұрыс конфигурацияланбаған кіруді басқару элементтеріне байланысты жоғары рұқсаттармен орындалады.

DevOps-тағы STRIDE қауіп-қатерін модельдеу: қысқаша анықтамалық кесте

санат DevOps тәуекелі Нақты дүние мысалы
Алаяқтық Пайдаланушылардың немесе қызметтердің еліктеуі CI жүгірушісі өндірістік орналастырушыны алдап жатыр
Жалтақтау Рұқсат етілмеген код немесе конфигурация өзгерістері Орналастырудағы зиянды скрипт pipeline
Бас тарту Әрекеттер үшін журналдар немесе аудит іздері жоқ Жоқпен біріктіру commit қол қою немесе аудит ізі
Ақпаратты ашу Бөренелерде немесе құрылыстарда құпиялардың ағып кетуі CI журналдарына басып шығарылған тіркелгі деректері
Қызмет көрсетуден бас тарту Ресурстардың таусылуы немесе жұмыс процесінің үзілуі Рекурсивті pipeline жұмыс жүгірушілерді шаршатады
Артықшылықтың жоғарылауы Пайдаланушылар немесе процестер үшін шамадан тыс кіру рұқсаттары Dev pipeline өнімге қол жеткізу мүмкіндігі бар токен

DevOps жұмыс ағындарына STRIDE қолдану

DevOps бағдарламасындағы спуфинг CI/CD Pipelines

Рұқсат етілмеген процестер сенімді тұлғалардың атын жамылады pipeline кезеңдері. Репозиторийлер: Бұзылған үлес қосушы тіркелгілері зиянды кодты заңды пайдаланушы атымен жібереді. Тәуелділіктер: Зиянды пакеттер сенімді болып көріну үшін танымал кітапханаларға ұқсас атауларды пайдаланады (typosquatting).

DevOps-тағы бұрмалау CI/CD Pipelines

Өзгертілген орналастыру скрипті контейнерлерді ауыстырады немесе қате командаларды енгізеді. Репозиторийлер: Күштеп басу commits кодты шолуды айналып өту, бэкдорларды енгізу. Тәуелділіктер: Кітапханаларға зиянды жаңартулар жасырын функцияларды енгізеді.

DevOps-тағы бас тарту CI/CD Pipelines

Орналастырулар оларды кім бастағанын тіркеусіз іске қосылады. Репозиторийлер: болмауы commit Қол қою өзгерістердің шығу тегін тексеруді мүмкін емес етеді. Тәуелділіктер: Пакет өзгерістері тексерілетін өзгерістер журналы немесе қолтаңбасыз алынады.

DevOps-тағы ақпаратты ашу CI/CD Pipelines

Журнал шығысында егжей-тегжейлі жөндеуге байланысты құпиялар ашылды. Репозиторийлер: .env файлдары немесе конфигурация құпиялары кездейсоқ commitбастапқы кодты басқаруға жіберіледі. Тәуелділіктер: Дұрыс конфигурацияланбаған рұқсаттары бар пакеттер құпия файлдарды ашады.

DevOps бағдарламасында қызмет көрсетуден бас тарту CI/CD Pipelines

Шексіз триггер циклдарына байланысты шамадан тыс жүктелген жүгірушілер. Репозиторийлер: Өте үлкен файлдары немесе күрделі құрастыру триггерлері бар зиянды үлестер. Тәуелділіктер: Рекурсивті немесе нашар оңтайландырылған кітапханалар жүйелік ресурстарды шамадан тыс тұтынады.

DevOps-тағы артықшылықты арттыру CI/CD Pipelines

Ортақ токендер әкімші емес тапсырмаларға әкімші тапсырмаларын орындауға мүмкіндік береді. Репозиторийлер: Git hooks немесе автоматтандыру сценарийлері қажетсіз артықшылықтармен жұмыс істейді. Тәуелділіктер: Үшінші тарап кітапханалары құрастыру кезінде root қатынасымен орнату сценарийлерін орындайды.

Ішкі мысалдар: STRIDE қолдану алдында және кейін

Бас тарту мысалы: Қол қойылмаған Commits Түзетіліп жатқан нәрсе: Тексеру арқылы тексерілмеген біріктірулердің алдын алу commit қолдар.

STRIDE туралы хабардарлыққа дейін

# GitHub Actions - Merge workflow jobs:   merge:     runs-on: ubuntu-latest     steps:       - name: Checkout         uses: actions/checkout@v2 

STRIDE туралы хабардарлықтан кейін:

# GitHub Actions - Merge workflow with commit verification jobs:   merge:     runs-on: ubuntu-latest     steps:       - name: Checkout with full history         uses: actions/checkout@v2         with:           fetch-depth: 0       - name: Verify commit signature         run: git verify-commit HEAD 

Ақпаратты ашу мысалы: Журналдардағы құпиялар Түзетіліп жатқан нәрсе: Сезімтал орта айнымалыларын тікелей басып шығарудан аулақ болу арқылы құпия ақпараттың ағып кетуіне жол бермеу.

STRIDE туралы хабардарлыққа дейін:

# Pipeline step with possible secret leakage steps:   - name: Run script     run: echo $DATABASE_PASSWORD 

STRIDE туралы хабардарлықтан кейін:

# Pipeline step with secret masking steps:   - name: Run script safely     env:       DATABASE_PASSWORD: ${{ secrets.DATABASE_PASSWORD }}     run: echo "[MASKED]" 

Әзірлеушілер қауіпсіздік тәжірибесінсіз STRIDE бағдарламасын қалай қолдана алады

Егер сіз DevSecOps бағдарламасында жұмыс істесеңіз, қауіптерді модельдеу екінші табиғатқа айналуы керек. STRIDE қауіп модельдеуін шолулар мен автоматтандыруды орнату кезінде нұсқаулық ретінде пайдалану арқылы мәселелер өндіріске шықпас бұрын оларды болжай аласыз.

Қауіпсіздік маманы болудың қажеті жоқ. Әдеттегі жұмыс процесіңіз кезінде STRIDE негізіндегі сұрақтарды қойыңыз:

Кодты қарап шығу кезінде:

  • Мұнда біреу жеке басын бұрмалай ала ма?
  • Мұны бұрмалауға бола ма?

ішінде CI/CD шолу:

  • Құпиялар кез келген жерде ашылып жатыр ма?
  • Әрбір әрекетті бақылауға бола ма?

Тәуелділікті талдау кезінде:

  • Біз расталған дереккөздерден ақпарат алып жатырмыз ба?
  • Бұл тәуелділік оның рұқсаттарын арттыра ала ма?

Содан кейін сіз не істей алатыныңызды автоматтандырыңыз:

  • Қол қойылған commits
  • Артефактқа қол қоюды іске асыру
  • Құпияларды сканерлеуді орнату
  • Тәуелділік жаңартуларын бақылау

Бұл шағын қадамдар STRIDE қауіп моделін қосымша шығындарсыз іске қосады.

STRIDE қауіп модельдеуін үнемі қолданар алдында, оның жұмыс процесіне қашан және қай жерде сәйкес келетінін білу пайдалы.

Қорғаудың ең жақсы нұсқаулығы CI/CD Pipeline

Қауіпсіздік тәуекелдерін анықтау, алдын алу және оларға жауап беру бойынша біздің сарапшы нұсқаулығымызбен шабуылдаушылардан озып кетіңіз CI/CD pipelines!

Қатысты оқу:

STRIDE жүйесін қауіп-қатерді модельдеу процесіне біріктіру

STRIDE әлеуетті қауіпсіздік қатерлерін ерте анықтауға арналған жеңіл, қайталанатын линза ретінде әзірлеу өмірлік цикліне табиғи түрде сәйкес келеді. Ол негізгі кезеңдерде үнемі қолданылған кезде ең тиімді болады:

  • Кодты қарау кезінде«Мұны жалған жасауға немесе бұрмалауға бола ма?» немесе «Бұл өзгеріс үшін аудит ізі бар ма?» сияқты сұрақтар қойыңыз.
  • Конфигурациялау кезінде CI/CD PipelinesБағалаңыз, егер құпиялар ашылады, егер жұмыс орындарын бақылауға болатын болса немесе рұқсат беру ауқымы тым кең болса.
  • In Тәуелділікті басқаруҮшінші тарап бумаларының тексерілгенін, қол қойылғанын және қауіпті орнату сценарийлерінен немесе шамадан тыс кіруден бос екенін тексеріңіз.
  • Жаңа мүмкіндіктерді немесе қызметтерді жоспарлаған кезде, әрбір қауіп санатынан не дұрыс болмауы мүмкін екенін анықтау үшін STRIDE қауіп модельдеу құрылымын тексеру тізімі ретінде пайдаланыңыз.

Бұл STRIDE қауіп-қатер модельдеуді қауіпсіздік күш-жігеріңіздің практикалық және іс жүзінде қолдануға болатын бөлігіне айналдырады, бұл ауыр процесс емес, күнделікті әзірлеу және DevOps жұмыс процестеріне енгізілген ойлау тәсілі.

Нақты пайдалану жағдайларымен STRIDE әрекетте Xygeni тек бақылап қана қоймай, әрекет етеді.

Xygeni's рөлі. Міне, ол нақты қауіптерді қалай ұстап, бұғаттайды pipelines:

  • Бұрмалауға тыйым салындыXygeni белгіледі pipeline Ескірген тіркелгі деректерін пайдаланып әкімші идентификаторын бұрмалау тапсырмасы. Құрастыру тоқтатылды және тіркелгі деректері ауыстырылды.
  • Бұрмалаудың алдын алындыXygeni рұқсатсыз скрипт енгізуді, яғни орналастыру YAML файлында кенеттен өзгерісті анықтады. Ол кері қайтарылды commit және командаға хабарлады.
  • Құпиялар қорғалғанКәдімгі сканерлеу кезінде Xygeni сәтсіз сынақтан кейін CI журналдарында құпия сөздің жария болғанын анықтады. Ол журналға кіруді дереу бұғаттап, құпия жолды өшірді.
  • Кіру шектеуліҮлес қосушының pipeline толық әкімші құқықтарымен орындалып жатты. Xygeni оны белгілеп, токен ауқымын дұрыс ортаға автоматты түрде реттеді.
  • Аудит іздері күшіне ендіXygeni тармақ қорғауын күшейтті және талап етілген қол қойылды commitбарлық PR-ларда s. Бұрын қол қойылмаған біріктіру түзетілгенге дейін бұғатталған.
  • DoS алдын алындыДұрыс конфигурацияланбаған cron триггері жүздеген іске қосыла бастады pipeline жұмыс орындары. Xygeni орындауды шектеп, DevOps командасына дереу хабарлады.

Бұл Xygeni компаниясының STRIDE қауіп модельдеу құрылымын өмірге енгізудің, нақты мәселелерді өндіріске әсер етпес бұрын анықтаудың, бұғаттаудың және түзетудің бірнеше жолы ғана.

Қорытынды: STRIDE әзірлеушілер үшін қауіп модельдеуді практикалық етеді

STRIDE қауіп модельдеу жүйесі әзірлеушілерге тәуекелдерді ерте анықтау үшін айқын, іс жүзінде қолдануға болатын линза береді. Бұл туралы тым көп ойланбаңыз. Тек кодыңыздың, қоймаңыздың әрбір бөлігі үшін «Мұнда не дұрыс болмауы мүмкін?» деп сұраңыз. pipeline, немесе тәуелділік.

STRIDE қауіп модельдеуі қауіпсіздік қателерін олар іске қосылғанға дейін түзетуге көмектеседі. Ал Xygeni сияқты құралдар оны үйкеліссіз автоматтандыруға көмектеседі.

STRIDE қауіп моделін кодты жазу, қарау және жеткізу тәсілдерінің бір бөлігіне айналдырыңыз. Үздіксіз STRIDE қауіп моделі сіздің қауіпсіздігіңізді сақтауға көмектеседі. pipelineолар масштабталып, дамып келе жатқанда да қауіпсіз.

sca-құралдары-бағдарламалық жасақтама-композиция-талдау-құралдары
Бағдарламалық жасақтама тәуекелдеріне басымдық беріңіз, оларды жойыңыз және қауіпсіз етіңіз
Тегін аккаунтыңызды алыңыз.
Несие картасы қажет емес.

Бағдарламалық жасақтаманы әзірлеу және жеткізуді қауіпсіз етіңіз

Xygeni өнім жиынтығымен бірге