Trace Id is missing
Pāriet uz galveno saturu
Microsoft drošība

Kas ir DevSecOps?

Uzziniet, kā integrēt drošības prakses katrā programmatūras izstrādes posmā jūsu vairākmākoņu vidē.

DevSecOps definīcija

DevSecOps apzīmē izstrādi, drošību un darbības, un tā ir struktūra, kas integrē drošību visos programmatūras izstrādes procesa posmos. Organizācijas ievieš šo pieeju, lai samazinātu risku, ka tiek publicēts ar drošības ievainojamībām. Izmantojot sadarbību, automatizāciju un skaidrus procesus, komandas sadala atbildību par drošību, nevis atstāj to uz beigām, kad problēmu novēršana var būt sarežģītāka un dārgāka. DevSecOps ir kritisks vairākmākoņu drošības stratēģijas elements.

DevSecOps un DevOps

Tradicionālajā programmatūras izstrādē projekti tiek sadalīti vairākos atsevišķos posmos, kas ietver plānošanu, dizainu, izstrādi, integrāciju un testēšanu, un šo posmu izpilde var ilgt vairākus mēnešus vai pat gadus. Šī pieeja ir ļoti metodiska, bet daudzām organizācijām tā liekas pārāk lēna, jo apgrūtina klientu gaidas pēc nepārtrauktiem produktu uzlabojumiem. Papildus tam, drošības risinājumi, parasti, tiek ieviesti pašās beigās, kas pakļauj uzņēmumus uzlaušanas riskiem.

Lai saglabātu konkurētspēju, daudzi uzņēmumi ir ieviesuši DevOps modeli, kas par prioritāti izvirza mazāku augstas kvalitātes koda apjomu izpildi, nevis ar funkcijām bagātu projektu izpildi, kurai nepieciešams vairāk laika. Šajā struktūrā programmatūras izstrādes un darbību komandas sadarbojas, lai ieviestu testēšanu un integrāciju visā procesā. Automatizācija, standartizēti procesi un sadarbība palīdz komandām strādāt ātri, nezaudējot kvalitāti.

DevSecOps ir struktūras DevOps uzlabojums, kas iekļauj drošību visos procesa posmos. Tās mērķis ir risināt drošības problēmas jau pašā projekta sākumā. Šajā struktūrā visa komanda uzņemas atbildību ne tikai par kvalitātes nodrošināšanu un koda integrāciju, bet arī par drošību. Praksē tas nozīmē, ka komandas plānošanas laikā apspriež drošības risinājumus, kā arī testēšana drošības problēmu atklāšanai tiek uzsākta izstrādes laikā, nevis pašās beigās. Vēl viens šīs pieejas nosaukums ir prioritāte drošībai.

Kāpēc DevSecOps pieeja ir svarīga?

Pastāv daudzas metodes, kuras uzbrucēji izmanto, lai piekļūtu organizācijas datiem un aktīviem, bet bieži izmantota taktika ir programmatūras ievainojamību izmantošana. Šāda veida drošības pārkāpumi ir dārgi, prasa audz laika un, atkarībā no nopietnības, var būtiski ietekmēt uzņēmuma reputāciju. DevSecOps struktūra samazina risku, ka programmatūra tiks izstrādāta ar nepareizu konfigurāciju un citām ievainojamībām, kuras var ļaunprātīgi izmantot uzbrucēji.

DevSecOps galvenie elementi

Sekmīgs DevSecOps process iekļauj šādus elementus:

  • Nepārtraukta integrācija

    Ar nepārtrauktu integrāciju izstrādātāji saglabā savu kodu centrālajā repozitorijā vairākas reizes dienā. Pēc tam kods tiek automātiski integrēts un testēts. Šī pieeja ļauj komandām atklāt integrācijas problēmas un kļūmes agrīnā izstrādes stadijā, nevis jāgaida līdz beigām, kad var pastāvēt vairākas problēmas, kas ir jārisina.

  • Nepārtraukta piegāde

    Nepārtrauktas piegādes ir balstītas nepārtrauktā integrācijā un automatizē koda pārvietošanu no būvējuma vides uz izstādīšanas vidi. Izstādīšanas vidē, papildus vienumu testēšanai, programmatūra tiek automātiski testēta, lai pārliecinātos par to, ka lietotāja saskarne darbojas, kods ir sekmīgi integrēts, API ir uzticami un programmatūra spēj apstrādāt gaidāmo datu plūsmas apjomu. Šīs pieejas mērķis ir konsekventi piegādāt gatavu kodu, kas sniedz klientiem vērtību.

  • Nepārtraukta drošība

    Būtisks DevSecOps aspekts ir drošības iekļaušana visā programmatūras izstrādes ciklā. Tas iekļauj apdraudējumu modelēšanu agros procesa posmos un automatizētu drošības testēšanu visa procesa garumā, sākot ar pašu izstrādātāju vidēm. Agri un bieži veicot visaptverošas programmatūras testēšanu, lai atklātu drošības problēmas, organizācijas var efektīvi piegādāt programmatūru ar minimālu problēmu skaitu.

  • Saziņa un sadarbība

    DevSecOps struktūra ir būtiski atkarīga no atsevišķu darbinieku un komandu ciešas sadarbības. Nepārtrauktai integrācijai ir nepieciešama sadarbība, lai risinātu pretrunas kodā, kā arī komandām ir jāspēj efektīvi komunicēt, lai vienotos par kopīgiem mērķiem.

Kā ieviest DevSecOps

Drošības pievienošanai jūsu DevOps procesam ir nepieciešama rūpīga plānošana. Sāciet lēnām ar procesiem, kuros komandai ir vismazāk grūtību un kas sniedz lielākos drošības ieguvumus. Mēs aprakstījām dažus veidus drošības pievienošanai tipiskam DevOps projektam.

  • Plānošana un izstrāde

    Drošības ieviešana agros projekta izstrādes posmos ne tikai palīdz samazināt ievainojamības, bet arī ietaupa laiku, jo problēmas ir vieglāk novērst pirms koda pabeigšanas un integrācijas. Plānošanas un izstrādes laikā izmantojiet apdraudējumu modelēšanu, lai identificētu un mazinātu potenciālos draudus programmai. Šī pieeja palīdzēs jums iebūvēt drošību programmā jau pašā sākumā. Lai atklātu drošības problēmas pirms koda ievietošanas kopīgotā repozitorijā, ieviesiet automatizētas pārbaudes, piemēram, integrētās izstrādes vides drošības spraudņi, kas sniedz izstrādātājiem tūlītēju atgriezenisko saiti, ja uzrakstītais kods satur potenciālus drošības riskus. Koda pārskatīšanas laikā lūdziet kādam ar drošības zināšanām sniegt ieteikumus uzlabojumu ieviešanai.

  • Koda iesniegšana

    Viens no svarīgākajiem sekmīga DevSecOps procesa elementiem ir nepārtraukta integrācija. Izstrādātāji parasti saglabā savu kodu centrālajā repozitorijā vairākas reizes dienā, lai garantētu, ka integrācijas problēmas tiek atklātas agri. Ir svarīgi šim posmam pievienot automatizētas drošības pārbaudes. Tās var iekļaut trešo pušu bibliotēku un atkarību skenēšanu, vienumu pārbaudi un statisku programmas drošības pārbaudi. Tāpat ir svarīgi ieviest lomās balstītu piekļuves kontroli, lai pasargātu jūsu nepārtrauktās integrācijas un izpildes infrastruktūru no uzbrucējiem, kas vēlas palaist ļaunprātīgu kodu vai nozagt akreditācijas datus.

  • Būvēšana un testēšana

    Automatizētu drošības skriptu palaišana testēšanas vidē palīdz jums atklāt potenciālas problēmas, kas iepriekš netika pamanītas. Daži no drošības testiem, ko varat palaist šajā posmā, iekļauj dinamisku programmu drošības testēšanu, infrastruktūras skenēšanu, konteineru skenēšanu, mākoņa konfigurācijas validāciju un drošības apstiprināšanas testēšanu.

  • Ražošana

    Pēc programmas nodošanas ražošanai atsevišķas organizācijas uzsāk ielaušanās testēšanu, lai atrastu ievainojamības faktiskajā darba vidē. Ielaušanās testēšanas laikā darbinieki rīkojas kā uzbrucēji un meklē veidus, kā ielauzties lietotnē.

  • Darbība

    Pat labākais DevSecOps process neuzķers visu, tāpēc ir būtiski svarīgi nepārtraukti pārraudzīt programmas, lai atklātu ievainojamības un apdraudējumus. Analīzes dati var palīdzēt jums noteikt, vai jūsu drošības stāvoklis uzlabojas, un izcelt optimizācijas iespējas.

DevSecOps rīki un tehnoloģijas

Izvēloties drošības rīkus, ir svarīgi atlasīt tos, kas labi strādā ar jūsu pašreizējo DevOps tehnoloģiju. Tas atvieglos drošības iekļaušanu visā jūsu procesā. Tālāk ir minēti daži no jums nepieciešamo rīku veidiem:

  • Infrastruktūra koda skenēšanai

    Lai uzlabotu savu efektivitāti, DevSecOps komandas parasti izmanto tādus atvērtā pirmkoda rīkus kā Terraform, lai pārvaldītu un nodrošinātu tādu infrastruktūru kā tīkli, virtuālās mašīnas un slodzes līdzsvarotāji, izmantojot kodu, nevis darot to manuāli. Terraform palīdz nodrošināt infrastruktūras konsekventu iestatīšanu un atjaunināšanu simtos vai tūkstošos serveru. Lai mazinātu kļūdainu konfigurāciju izvietošanu ražošanas vidē, rīki infrastruktūras kā koda skenēšanai automātiski pārbauda infrastruktūru koda līmenī, lai atklātu neatbilstību drošības politikām un standartiem.

  • Statiska programmu drošības testēšana

    Pirms sava koda kompilēšanas, DevSecOps izstrādātāji uzsāk sava pielāgotā koda testēšanu, lai atklātu drošības ievainojamības. Šādi viņi var novērst problēmas, neietekmējot būvējumu. Statiskie programmu drošības testēšanas rīki atvieglo šo procesu ar automātisko pārbaužu un reāllaika atgriezeniskās saites palīdzību. Daudzi rīki precīzi nosaka, kurš kods ir riskants, un iesaka risinājumus.

  • Programmatūras sastāva analīze

    Viens no veidiem, kas ļauj komandām būvēt programmas un līdzekļus efektīvāk, ir izmantot trešo pušu spraudņus un struktūras. Šie iepriekš izveidotie rīki taupa laiku, bet tie var ieviest arī riskus, piemēram, problēmas ar licencēšanu, nekvalitatīvi uzrakstīts gods vai drošības ievainojamības. Programmatūras sastāva analīzes rīki identificē atvērtā pirmkoda elementus programmās un salīdzina tos ar maksas vai bezmaksas datu bāzēm, lai atklātu licenču pārkāpumus un drošības un kvalitātes problēmas.

  • Interaktīva programmu drošības testēšana

    Kvalitātes atbilstības testēšanas laikā vai programmas izmantošanas laikā interaktīvie programmas drošības rīki skenē kodu, lai atklātu ievainojamības un sniegtu ziņojumus, kuros ir identificētas problēmas kodā.

  • Dinamiska programmu drošības testēšana

    Dinamiska programmu drošības testēšana emulē uzbrucēju metodes, kas tiek izmantotas uzbrukumos lietotnēm. Testēšana notiek programmas darbības laikā un ir balstīta iepriekš noteiktiem izmantošanas gadījumiem.

  • Konteineru skenēšana

    Konteineri tiek plaši izmantoti DevSecOps, jo tie palīdz izstrādātājiem vienkārši izvietot pilnvērtīgus koda vienumus. Konteiners satur konteinera ciparattēlu, kas iekļauj kodu, kas palaiž konteinera procesus. Tomēr šie ciparattēli bieži tiek būvēti, izmantojot esošus ciparattēlus, vai iegūti no publiskiem repozitorijiem. Konteineru skenēšanas rīki skenē konteinerus un salīdzina tos ar publiskām vai maksas ievainojamību datu bāzēm, lai atklātu potenciālās drošības problēmas.

DevSecOps paraugprakse

DevSecOps attiecas uz kultūras pārmaiņām tik pat lielā mērā kā uz procesiem un rīkiem. Tālāk ir apskatīta paraugprakse, kas palīdzēs ieviest šo struktūru tik ērti, cik iespējams.

  • Mainīt kultūru

    Saprotiet, ka cilvēkiem var būt grūti mainīt savu darba veidu, kā rezultātā var rasties konflikti. Lai palīdzētu pielāgoties, skaidri komunicējiet organizācijas mērķus un gaidas, sniedziet plašas atvērtā dialoga iespējas un ņemiet vērā, ka jums jāsaglabā elastība līdz brīdim, kad komandas atradīs rīkus, procesus un ritmu, kas tām der vislabāk.

  • Definēt prasības un metrikas

    Nosakiet minimālo drošības bāzi. Papildu atbalstam lasiet nozares un normatīvās prasības vai Open Worldwide Application Security Project® (OWASP) top desmit kritiskie riski tīmekļa programmām un SANS Top 25 programmatūras kļūdas. Pēc prasību definēšanas nosakiet, kurām metrikām vēlaties sekot, lai uzraudzītu izpildi.

  • Sāciet ar mazumiņu

    Drošības automatizācijas rīki piedāvā daudzas iespējas kļūdu noteikšanai kodā, bet to visu ieslēgšana, it īpaši agrīnos DevSecOps ieviešanas posmos, var pārslogot jūsu komandu. Pieņemiet pārdomātus lēmumus par rīkiem, ko ieviešat, un problēmu skaitu, kuru noteikšanai skenējat.

  • Apdraudējumu modelēšana

    Izstrādājiet apdraudējumu modelēšanas procesu, kas var būt tik vienkāršs vai detalizēts un tehnisks, cik jums nepieciešams. Izmantojiet šo pieeju, lai dokumentētu reālistisku priekšstatu par jūsu programmas drošību, kas iekļauj:

    • Kā uzbrucēji var ļaunprātīgi izmantot programmas dizainu.
    • Kā novērst ievainojamības.
    • Dažādu problēmu prioritāte.
  • Automatizācijas ieviešana

    Auto ir būtiski svarīga, lai nodrošinātu kvalitāti un ātrumu DevSecOps procesos. Ieguļot automatizētu drošības skenēšanu visos nepārtrauktas integrācijas un piegādes posmos, jūs spēsiet uzlabot jūsu programmu drošību, būtiski nepalēninot procesu.

  • Atkarību pārvaldība

    Lielākā daļa izstrādātāju izmanto trešo pušu pakotnes un bibliotēkas, lai efektīvi būvētu programmas. Problēma ir tāda, ka daži no šiem risinājumiem satur drošības problēmas, un izstrādātāji ne vienmēr apzinīgi tos atjaunina. Lai samazinātu riskus, pārliecinieties par to, ka jūsu izmantotie elementi ir pārbaudīti saistībā ar drošības riskiem, un izstrādājiet standartizētu procesu to atjaunināšanai.

  • Novērtējiet un uzlabojiet

    Regulāri novērtējiet, kā darbojas process, un pielāgojiet to pēc vajadzības, lai garantētu, ka jūsu organizācija sasniedz tās mērķus. Līķa sekcija bez vainošanas pēc projekta pabeigšanas var palīdzēt atklāt iespējas uzlabošanai. Analīzes dati un apdraudējumu informācija var palīdzēt jums, ja ir drošības vajadzības, kuras jūsu pašreizējā pieeja nenodrošina.

DevSecOps mākoņa programmām

Mākoņa programmas ir paredzētas darbam mākonī un parasti ir piegādātāja neitrāla, kā rezultātā tās ir iespējams pārcelt no viena mākoņa uz citu. Šīs programmas tiek veidotas ar augstu mērogojamības un noturības pakāpi, kā rezultātā izstrādes komandas parasti tās veido, izmantojot mikropakalpojumu konteinerus un automatizāciju, kā rezultātā tās ir ideāli piemērotas DevSecOps procesiem. Veidojot nepārtrauktu drošību, integrāciju un piegādi mākoņa programmu izstrādes procesā, tiek nodrošināta mērogojamība, nesamazinot drošību. Izmantojiet automatizētus drošības risinājumus, piemēram, Microsoft Defender for DevOps, lai padarītu jūsu kodu un visu DevOps konveijeru drošu. Turpiniet uzraudzīt riskus pēc jūsu programmas izvietošanas mākonī. Mākoņa darba slodžu aizsardzības platformas (CWPP) palīdz pasargāt šīs programmas un tām piesaistītos datus, atklājot un mazinot apdraudējumus darba slodzēm vairākmākoņu vidēs. Mākoņa drošības stāvokļa pārvaldības (CSPM) risinājumi atklāj un risina nepareizas konfigurācijas un ievainojamības visā jūsu vidē.

Papildinformācija par Microsoft drošību

Microsoft Defender for Cloud

Aizsargājiet vairākmākoņu un hibrīdās vides no izstrādes līdz izpildlaikam, izmantojot visaptverošu mākoņa lietojumprogrammu aizsardzības platformu.

Microsoft Defender for Cloud Apps

Modernizējiet, kā drošināt savas programmas, aizsargājat datus un paaugstināt programmu drošības stāvokli, izmantojot programmatūras kā pakalpojuma risinājumu.

Microsoft Defender mākoņa drošības stāvokļa pārvaldībai

Koncentrējieties uz savu vissvarīgāko risku vairākmākoņu vidē, izmantojot kontekstuālu mākoņa drošības stāvokļa pārvaldību.

Microsoft Defender for DevOps

Iegūstiet vienotas DevOps drošības pārvaldības iespējas vairāku mākoņu un vairāku konveijeru vidēs.

Bieži uzdotie jautājumi

  • DevSecOps ir process, kas integrē drošību visā programmatūras izstrādes cīklā. Organizācijas ievieš šo pieeju, lai samazinātu risku, ka tiek publicēts ar drošības ievainojamībām. Izmantojot sadarbību, automatizāciju un skaidrus procesus, komandas sadala atbildību par drošību, nevis atstāj to uz beigām, kad problēmu novēršana var būt sarežģītāka un dārgāka.

  • DevSecOps apzīmē izstrādi, drošību un darbību. Tas atsaucas uz drošības integrāciju visos programmatūras izstrādes posmos.

  • Drošības iekļaušana sākumposmā ir DevSecOps koncepcija, kas iekļauj drošību jau pašā izstrādes procesa sākumā.

  • DevSecOps struktūra iekļauj nepārtrauktu integrāciju, piegādi un drošību. Tā ir metode, ar kuras palīdzību drošība, darbības un drošības komandas sadarbojas un kopīgo atbildību ātrai kvalitatīva satura nodrošināšanai, vienlaikus samazinot drošības ievainojamības.

  • Nav viena Dev procesa, bet tas ir veids, kā īstenot projektus, sadalot darbu posmos, katrs no kuriem iekļauj šādus elementus: plānošana un izstrāde, būvēšana un testēšana, un ražošana. Posmu izpildes laikā, komandas izmanto automatizāciju, lai nepārtraukti risinātu kvalitātes atbilstības problēmas, veiktu integrāciju un meklētu drošības riskus.

Sekot Microsoft drošībai