Trace Id is missing
Pereiti prie pagrindinio turinio
„Microsoft“ sauga

Kas yra „DevSecOps“?

Sužinokite, kaip integruoti saugos praktikas į kiekvieną programinės įrangos kūrimo ciklo etapą kelių debesų paslaugos aplinkoje.

"DevSecOps" apibrėžtas

„DevSecOps“ trumpinys reiškia kūrimą, saugą ir operacijas. Tai yra sistema, integruojanti saugą į visus programinės įrangos kūrimo ciklo etapus. Organizacijos taiko šį metodą, kad sumažintų riziką, kad gali būti išleistas kodas su saugos pažeidžiamumais. Naudodamos bendradarbiavimo, automatizavimo ir valymo procesus, komandos dalijasi saugos atsakomybė, o ne palieka ją pabaigą, kai problemas gali būti daug sunkiau ir brangiau išspręsti. „DevSecOps“ yra kritinis Kelių debesų paslaugos saugos strategijakelių debesų paslaugos saugos strategijos komponentas.

„DevSecOps“ ir „DevOps“ palyginimas

Tradicinėje programinės įrangos kūrimo srityje projektai skirstomi į atskirus planavimo, projektavimo, kūrimo, integravimo ir testavimo etapus, kurie vykdomi nuosekliai kelis mėnesius ar net metus. Nors šis būdas labai metodiškas, daugeliui organizacijų jis pasirodė per lėtas, nes sunku patenkinti klientų lūkesčius dėl nuolatinių produktų patobulinimų. Be to, sauga paprastai užstringa pačioje pabaigoje, todėl įmonėms kyla pažeidimo pavojus.

Kad išliktų konkurencingos, daugelis įmonių pritaikė „DevOps“ modelį, kuris pateikimo pirmenybę skiria mažesniems aukštos kokybės kodo paketams, o ne daug funkcijų turintiems projektams, kurių įgyvendinimas trunka ilgiau. Šioje sistemoje programinės įrangos kūrimo ir operacijų komandos bendradarbiauja, kad įtrauktų testavimą ir integravimą viso proceso metu. Automatizavimas, standartizuoti procesai ir bendradarbiavimas padeda komandoms dirbti greitai neprarandant kokybės.

„DevSecOps“ yra „DevOps“ patobulinimas, kuris įtraukia saugą į visus proceso aspektus. Tikslas – spręsti saugos problemas nuo pat projekto pradžios. Pagal šią sistemą visa komanda yra atsakinga ne tik už kokybės užtikrinimą ir kodo integravimą, bet ir saugą. Praktiškai tai reiškia, kad komandos aptaria saugos poveikį planavimo metu ir pradeda tikrinti saugos problemas kūrimo aplinkose, o ne laukia iki pat pabaigos. Kitas šio metodo pavadinimas yra „poslinkio kairėn“ sauga.

Kodėl „DevSecOps“ yra svarbus?

Yra daug būdų, kuriuos užpuolikai naudoja norėdami gauti prieigą prie organizacijos duomenų ir išteklių, tačiau dažniausiai taikoma taktika yra išnaudoti programinės įrangos pažeidžiamumus. Šie pažeidimų tipai yra brangūs, padarinių likvidavimas užima daug laiko ir, priklausomai nuo svarbumo, pakenkia įmonės reputacijai. „DevSecOps“ sistema sumažina programinės įrangos su netinkamomis konfigūracijomis ir kitais pažeidžiamumais diegimo pavojų, kad blogi veikėjai negalėtų tuo pasinaudoti.

Pagrindiniai „DevSecOps“ komponentai

Sėkmingas „DevSecOps“ procesas apima šiuos komponentus:

  • Nuolatinis integravimas

    Naudodami nuolatinę integraciją kūrėjai kelis kartus per dieną perduoda kodą į centrinę saugyklą. Tada kodas yra automatiškai integruojamas ir tikrinamas. Šis metodas leidžia komandoms pastebėti integravimo problemas ir klaidas proceso pradžioje, o ne laukti iki pabaigos, kai gali būti kelios problemos, kurias reikia išspręsti.

  • Nepertraukiamas pateikimas

    Nepertraukiamas pateikimas grindžiamas nepertraukiamu integravimu, kad būtų automatizuotas kodo perkėlimas iš komponavimo versijos aplinkos į parengimo aplinką procesas. Paruošimo metu programinei įrangai ne tik atliekamas modulių testas, bet ji yra automatiškai tikrinama siekiant užtikrinti, kad veikia vartotojo sąsaja, kodas yra sėkmingai integruotas, kad API yra patikima ir kad programinė įranga gali apdoroti numatomas srauto apimtis. Šio metodo tikslas – nuosekliai teikti paruoštą teikti į rinką kodą, suteikiantį naudą klientams.

  • Nuolatinė sauga

    Saugos užtikrinimas viso programinės įrangos kūrimo ciklo metu yra pagrindinis „DevSecOps“ komponentas. Tai apima grėsmių modeliavimą proceso pradžioje ir automatizuotą saugos tikrinimą per viso ciklo metu, pradedant nuo kūrėjų aplinkų. Pradėdamos atidžiai testuodami programinę įrangą dėl saugos problemų nuo ciklo pradžios ir tai darydamos dažnai organizacijos gali efektyviai pateikti programinę įrangą su minimaliomis problemomis.

  • Bendradarbiavimas ir bendravimas

    „DevSecOps“ labai priklauso nuo asmenų ir komandų, glaudžiai dirbančių kartu. Nuolatinė integracija reikalauja, kad žmonės bendradarbiautų, kad išspręstų konfliktus kode, o komandos turi efektyviai bendrauti, kad vieningai siektų tų pačių tikslų.

Kaip įgyvendinti „DevSecOps“

Norint į „DevOps“ procesą įtraukti saugą, būtinas kruopštus planavimas. Pradėkite lėtai naudodami procesus, dėl kurių komandoje kyla mažiausia trintis ir kurie užtikrina didžiausią saugos naudą. Štai keli būdai, kaip įtraukti saugą į įprastą „DevOps“ sprintą.

  • Planavimas ir kūrimas

    Ankstyvas saugos įtraukimas į kūrimo sprintus ne tik padeda sumažinti pažeidžiamumus vėliau proceso metu, bet taip pat taupo laiko, nes lengviau išspręsti problemas prieš sukuriant kodą ir jį integruojant. Planuodami ir programuodami naudokite grėsmių modeliavimą, kad nustatytumėte ir sumažintumėte galimas grėsmes programai. Tai padės jums iš karto kurti saugą programoje nuo pat pradžios. Norėdami rasti saugos problemas prieš kodą pateikiant į bendro naudojimo saugyklą, įdiekite automatizuotas patikras, pvz., integruotosios programavimo aplinkos saugos priedus, kurie iš karto pateikia kūrėjams grįžtamąjį ryšį, jei jų parašytame kode yra galima saugos rizika. Kodo peržiūros metu nurodykite, kad kas nors, turintis saugos žinių, pateiktų rekomendacijų, kaip atlikti patobulinimus.

  • Kodo vykdymas

    Vienas iš „DevSecOps“ proceso sėkmės garantų yra nuolatinis integravimas. Kūrėjai paprastai pateikia kodą į centrinę saugyklą kelis kartus per dieną, kad būtų galima užtikrinti ankstyvą integravimo problemų aptikimą. Į šį etapą svarbu įtraukti automatizuotas saugos patikras. Tai gali apimti trečiųjų šalių bibliotekų ir priklausomybių nuskaitymą, modulių testą ir statinį programos saugos tikrinimą. Taip pat svarbu įdiegti vaidmenimis pagrįstus prieigos valdiklius, kad būtų apsaugota jūsų nepertraukiama integravimo ir pateikimo infrastruktūra nuo įsilaužėlių, siekiančių paleisti kenkėjišką kodą arba pavogti kredencialus.

  • Komponavimas ir tikrinimas

    Automatizuotų saugos scenarijų vykdymas tikrinimo aplinkoje padeda aptikti galimas anksčiau neaptiktas problemas. Kai kurie saugos testai, kuriuos galite atlikti šiuo etapu, apima dinaminį programos saugos tikrinimą, infrastruktūros nuskaitymą, konteinerių nuskaitymą, debesies konfigūracijos tikrinimą ir saugos priimtinumo testavimą.

  • Gamyba

    Kai programa įdiegiama į gamybą, kai kurios organizacijos atlieka įsilaužimo testus, bandydamos rasti spragų naudojimo aplinkoje. Įsilaužimo bandymų metu žmonės prisiima įsilaužėlio mąstyseną ir ieško būdų, kaip pažeisti programą.

  • Veikimas

    Net geriausias „DevSecOps“ procesas neatras visko, todėl labai svarbu nuolat stebėti programas dėl pažeidžiamumų ir grėsmių. Analizės duomenys gali padėti įvertinti, ar jūsų saugos būsena gerėja ir nurodyti optimizavimo sritis.

„DevSecOps“ įrankiai ir technologijos

Renkantis saugos įrankius, svarbu pasirinkti tuos, kurie gerai veikia su jūsų dabartine „DevOps“ technologija. Taip bus lengviau įtraukti saugą į visą procesą. Toliau pateikiami keli įrankių tipai, kurių gali prireikti:

  • Kodo nuskaitymo infrastruktūra

    Kad pagerintų savo efektyvumą, „DevSecOps“ komandos paprastai naudoja atvirojo kodo įrankius, pvz., „Terraform“, kad valdytų ir parengtų infrastruktūrą, pvz., tinklus, virtualiąsias mašinas ir apkrovos balansavimo priemones, naudodamos kodą, užuot tai darydamos rankiniu būdu. „Terraform“ padeda užtikrinti, kad infrastruktūra būtų nustatyta ir nuolat atnaujinama šimtuose ar tūkstančiuose serverių. Siekiant sumažinti riziką, kad netinkamos konfigūracijos bus įdiegtos gamybos aplinkoje, infrastruktūra kaip kodų nuskaitymo įrankiai automatiškai tikrina infrastruktūrą kodo lygiu dėl to, ar jis neatitinka saugos strategijų ir standartų.

  • Statinis programos saugos tikrinimas

    Prieš kompiliuojant kodą, „DevSecOps“ kūrėjai pradeda tikrinti savo pasirinktinį kodą dėl saugos pažeidžiamumų. Tai padeda išspręsti problemas nepaveikiant komponavimo. Statiniai programos saugos tikrinimo įrankiai padeda lengviau atlikti šį procesą naudojant automatines patikras ir gauti grįžtamąjį ryšį realiuoju laiku. Daugelis įrankių tiksliai nurodo, kuris kodas yra rizikingas, ir pasiūlo pataisas.

  • Programinės įrangos struktūros analizė

    Vienas iš būdų, padedantis komandoms efektyviau kurti programas ir funkcijas, yra naudoti trečiųjų šalių priedus bei sistemas. Šie iš anksto sukurti įrankiai taupo laiką, tačiau jie taip pat gali kelti pavojų, pvz., licencijavimo problemas, turėti prastai parašytą kodą arba saugos pažeidžiamumus. Programinės įrangos struktūros analizės įrankiai identifikuoja atvirojo kodo komponentus programose ir įvertina juos pagal priklausančias nuosavybės teisėmis arba nemokamas duomenų bazes, kad aptiktų licencijos pažeidimus ir saugos bei kokybės problemas.

  • Interaktyvus programos saugos tikrinimas

    Tikrinant kokybės užtikrinimą arba naudojant programą, interaktyvieji programos saugos įrankiai nuskaito kodą, kad rastų pažeidžiamumus ir pateiktų ataskaitas, kurios nurodo, kurioje kodo vietoje yra problema.

  • Dinaminis programos saugos tikrinimas

    Dinaminis programos saugos tikrinimas imituoja metodus, kuriuos blogas veikėjas gali naudoti programos atakai. Šis tikrinimas atliekamas, kai programa veikia ir yra pagrįsta iš anksto nustatytais naudojimo atvejais.

  • Konteinerių nuskaitymas

    Konteineriai plačiai naudojami „DevSecOps“, nes jie padeda kūrėjams lengvai įdiegti atskirus kodo elementus. Konteineryje yra konteinerio atvaizdas, apimantis kodą, vykdantį konteinerio procesus. Tačiau šie vaizdai dažnai kuriami naudojant esamus atvaizdus arba atvaizdus, gautus iš viešųjų saugyklų. Konteinerio nuskaitymo įrankiai nuskaito konteinerius ir palyginti juos su viešomis arba nuosavybės teisėmis priklausančiomis pažeidžiamumo duomenų bazėmis, kad būtų galima aptikti galimas saugos problemas.

„DevSecOps“ geriausios praktikos

„DevSecOps“ yra tiek daug informacijos apie kultūros pokyčius, pvz., procesus ir įrankius. Štai keletas geriausių praktikų, padėsiančių kuo sklandžiau pritaikyti šią sistemą.

  • Pakeiskite kultūrą

    Pripažinkite, kad žmonėms gali būti sunku pakeisti savo darbo būdą ir dėl to gali kilti konfliktų. Kad padėtumėte jiems prisitaikyti, aiškiai praneškite organizacijos tikslus ir lūkesčius, suteikite daug galimybių atviram dialogui ir atminkite, kad turėsite būti lankstūs iki komandos ras įrankius, procesus ir sąlygas, kurie jiems geriausiai tinka.

  • Apibrėžkite reikalavimus ir metrikas

    Nustatykite minimalios saugos bazinę konfigūraciją. Nurodymų ieškokite pramonės ir reguliavimo reikalavimuose arba tarp „Open Worldwide Application Security Project®“ (OWASP) dešimt populiariausių kritinių rizikų taikomosioms žiniatinklio programoms ir SANS 25 geriausių programinės įrangos klaidų. Apibrėžę reikalavimus, nustatykite, kurias metrikas norite sekti, kad galėtumėte stebėti eigą.

  • Pradėkite nuo mažų dalykų

    Saugos automatizavimo įrankiai siūlo daug problemų tikrinimo kodo parinkčių, tačiau įjungus jas visas, ypač „DevSecOps“ naudojimo pradžioje, gali per daug priblokšti jūsų komandą. Apgalvokite, kokius įrankius diegiate ir kiek problemų ieškote.

  • Atlikite grėsmių modeliavimą

    Kurkite grėsmių modeliavimo procesą, kuris, priklausomai nuo poreikių, gali būti paprastas, išsamus ar techninis. Naudokite šį metodą dokumentuoti realistišką programos saugos rodinį, kuris apima:

    • Kaip įsilaužėliai gali piktnaudžiauti programos projektavimu.
    • Kaip išspręsti pažeidžiamumus.
    • Skirtingų problemų prioritetai.
  • Automatizavimo įgyvendinimas

    Automatizavimas yra labai svarbus norint užtikrinti „DevSecOps“ proceso kokybę ir greitį. Įtraukdami automatinius saugos nuskaitymus į visus nuolatinio integravimo ir nuolatinio pateikimo ciklo etapus, galėsite pagerinti savo programų saugą per daug nesulėtindami proceso.

  • Priklausomybių valdymas

    Kad galėtų efektyviai kurti programas, dauguma kūrėjų naudoja trečiųjų šalių paketus ir bibliotekas. Problema ta, kad kai kurie iš šių sprendimų turi saugos trūkumų, o kūrėjai ne visada stropiai juos atnaujina. Norėdami sumažinti riziką, įsitikinkite, kad naudojami komponentai yra patikrinti dėl saugos grėsmių. Taip pat sukurkite standartinį jų atnaujinimo procesą.

  • Įvertinimas ir tobulinimas

    Reguliariai įvertinkite, kaip veikia procesas, ir koreguokite pagal poreikį, kad užtikrintumėte, jog organizacija įgyvendina išsikeltus tikslus. Atlikus incidento tyrimą neieškant kaltų, gali padėti rasti tobulinimo galimybių. Analizės duomenys ir grėsmių analizės taip pat gali padėti nustatyti, ar yra saugos poreikių, neatitinkančių dabartinio metodo.

„DevSecOps“ vietinėms debesies programoms

Vietinės debesies programosVietinės debesies programos yra kuriamos debesiui ir paprastai yra nepriklauso nuo teikėjų, todėl jas galima perkelti iš vieno debesies į kitą. Jų lengvas išplečiamumas ir atsparumas leidžia kūrimo komandoms paprastai jas kurti naudojant mikropaslaugas, konteinerius ir automatizavimą, todėl jos puikiai tinka „DevSecOps“ procesui. Nuolatinio saugumo, integravimo ir pateikimo į vietines debesies programas įtraukimas į kūrimo procesą leidžia naudoti išplečiamumą nemažinant saugos. Naudokite automatizuotus saugos sprendimus, pvz., .,„Microsoft Defender for DevOps“,", kad apsaugotumėte savo kodą ir visą „DevOps“ srautą. Įdiegę programą debesyje, toliau stebėkite, ar nėra rizikos. Debesies darbo krūvio apsaugos platformos (CWPP)Debesies darbo krūvio apsaugos platformos (CWPP) padeda apsaugoti šias programas ir svarbiausius duomenis, aptikdama ir mažindama grėsmes darbo krūviams kelių debesų paslaugos aplinkose. Debesies saugos būsenos valdymas (CSPM)Debesies saugos būsenų valdymo (CSPM) sprendimai aptinka ir nurodo netinkamas konfigūracijas ir pažeidžiamumus jūsų aplinkoje.

Sužinokite daugiau apie „Microsoft“ saugą

„Microsoft Defender for Cloud“

Apsaugokite kelių debesų paslaugos ir hibridines aplinkas nuo kūrimo iki vykdymo naudodami išsamią vietinių debesų programų apsaugos platformą.

„Microsoft Defender for Cloud Apps“

Modernizuokite savo programų apsaugą, apsaugokite savo duomenis ir padidinkite savo programų saugos būseną naudodami į programinės įrangos nuomos paslaugos (SaaS) sprendimą.

„Microsoft Defender“, skirta debesies saugos būsenai valdyti

Sutelkite dėmesį į svarbiausias rizikas kelių debesų paslaugos aplinkoje naudodami kontekstinį debesies saugos būsenos valdymą.

„Microsoft Defender for DevOps“

Gaukite vieningą „DevOps“ saugos valdymą kelių debesų paslaugos ir kelių srautų aplinkose.

Dažnai užduodami klausimai

  • „DevSecOps“ yra procesas, integruojantis saugą į visą programinės įrangos kūrimo ciklą. Organizacijos taiko šį metodą, kad sumažintų riziką, kad gali būti išleistas kodas su saugos pažeidžiamumais. Naudodamos bendradarbiavimo, automatizavimo ir valymo procesus, komandos dalijasi saugos atsakomybė, o ne palieka ją pabaigą, kai problemas gali būti daug sunkiau ir brangiau išspręsti.

  • „DevSecOps“ reiškia kūrimą, saugą ir operacijas. Tai susiję su saugos integravimu į visus programinės įrangos kūrimo etapus.

  • „Poslinkis kairėn“ yra „DevSecOps“ koncepcija, nurodanti įtraukti saugos praktikas nuo pat kūrimo proceso pradžios.

  • „DevSecOps“ sistema apima nepertraukiamą integraciją, pateikimą ir saugą. Tai metodas, kuriuo saugos, operacijų ir saugos komandos dirba kartu bei dalijasi atsakomybe už greitą kokybiškos programinės įrangos suteikimą bei saugos pažeidžiamumų mažinimą.

  • Nėra jokio vieningo „DevSecOps“ proceso. Tačiau žmonės, vykdantys šiuos projektus, darbą padalina sprinto atkarpomis, kurių kiekviena apima šiuos komponentus: planavimą ir kūrimą, kūrimą bei testavimą ir gamybą. Sprinto metu komandos naudoja automatizavimą, kad nuolat spręstų kokybės užtikrinimo problemas, nuolat integruotų ir tikrintų, ar nėra saugos grėsmių.

Sekite „Microsoft“