Trace Id is missing
Prejsť na hlavný obsah
Zabezpečenie od spoločnosti Microsoft

Čo je DevSecOps?

Zistite, ako integrovať postupy zabezpečenia do každej fázy životného cyklu vývoja softvéru v multicloudovom prostredí.

Definícia DevSecOps

DevSecOps, čo je skratka pre vývoj, zabezpečenia a prevádzku, je architektúra, ktorá integruje zabezpečenia do všetkých fáz životného cyklu vývoja softvéru. Organizácie používajú tento prístup, aby znížili riziko uvoľnenia kódu so zraniteľnosťami zabezpečenia. Vďaka spolupráci, automatizácii a jasným procesom sa tímy podieľajú na zodpovednosti za zabezpečenie a nenechávajú ju na koniec, keď môže byť riešenie problémov oveľa ťažšie a nákladnejšie. DevSecOps je dôležitou súčasťou stratégie zabezpečenia multicloudu.

DevSecOps verzus DevOps

Pri tradičnom vývoji softvéru sú projekty rozdelené na jednotlivé fázy plánovania, návrhu, vývoja, integrácie a testovania, ktoré prebiehajú postupne počas niekoľkých mesiacov alebo dokonca rokov. Hoci je tento prístup veľmi metodický, mnohé organizácie zistili, že je príliš pomalý, čo sťažuje splnenie očakávaní zákazníkov týkajúcich sa neustáleho zlepšovania produktov. Okrem toho sa zabezpečenie zvyčajne pripevňuje až na samom konci, čím sa spoločnosti vystavujú riziku narušenia.

Aby si mnohé spoločnosti udržali konkurencieschopnosť, prijali model DevOps, ktorý uprednostňuje dodávanie menších balíkov vysokokvalitného kódu pred projektmi bohatými na funkcie, ktoré trvajú dlhšie. V tejto architektúre spolupracujú tímy vývoja a prevádzky softvéru s cieľom začleniť testovanie a integráciu do celého procesu. Automatizácia, štandardizované procesy a spolupráca pomáhajú tímom postupovať rýchlo bez straty kvality.

DevSecOps je rozšírenie DevOps, ktoré zahŕňa zabezpečenie do všetkých aspektov procesu. Cieľom je riešiť otázky zabezpečenia od samého začiatku projektu. V tejto architektúre preberá celý tím zodpovednosť nielen za zabezpečenie kvality a integráciu kódu, ale aj za zabezpečenie. V praxi to znamená, že tímy diskutujú o dôsledkoch zabezpečenia už počas plánovania a začínajú testovať problémy zabezpečenia vo vývojových prostrediach a nečakajú až na koniec. Ďalším názvom tohto prístupu je zabezpečenie posunom doľava.

Prečo je DevSecOps dôležitý?

Existuje mnoho metód, ktoré útočníci používajú na získanie prístupu k údajom a aktívam organizácie, ale bežnou taktikou je zneužívanie zraniteľností softvéru. Tieto typy narušení sú nákladné, časovo náročné a v závislosti od závažnosti poškodzujú dobré meno spoločnosti. Architektúra DevSecOps znižuje riziko nasadenia softvéru s nesprávnymi konfiguráciami a inými zraniteľnosťami, ktoré môžu využiť škodliví účastníci.

Kľúčové súčasti DevSecOps

Tieto typy narušení sú nákladné, časovo náročné a v závislosti od závažnosti poškodzujú dobré meno spoločnosti:

  • Nepretržitá integrácia

    Pri kontinuálnej integrácii vývojári odovzdávajú svoj kód do centrálneho úložiska viackrát denne. Potom sa kód automaticky integruje a testuje. Tento prístup umožňuje tímom zachytiť problémy s integráciou a chyby už v ranom štádiu procesu a nečakať až do konca, keď sa môže vyskytnúť niekoľko problémov, ktoré je potrebné vyriešiť.

  • Priebežné doručovanie

    Priebežné doručovanie vychádza z nepretržitej integrácie s cieľom automatizovať proces presunu kódu z prostredia zostavovania do prostredia pracovnej verzie. Po spustení testovania sa softvér okrem testovania jednotiek automaticky testuje, aby sa zabezpečilo, že používateľské rozhranie funguje, že kód je úspešne integrovaný, že rozhrania API sú spoľahlivé a že softvér zvládne očakávaný objem prevádzky. Cieľom tohto prístupu je dôsledne dodávať kód pripravený na produkciu, ktorý poskytuje zákazníkom hodnotu.

  • Nepretržité zabezpečenie

    Kľúčovým prvkom DevSecOps je začlenenie zabezpečenia do celého životného cyklu vývoja softvéru. To zahŕňa modelovanie hrozieb na začiatku procesu a automatizované testovanie zabezpečenia počas celého životného cyklu, počnúc vlastnými prostrediami vývojárov. Vďaka včasnému a častému testovaniu softvéru na problémy zabezpečenia môžu organizácie efektívne dodávať softvér s minimom problémov.

  • Komunikácia a spolupráca

    DevSecOps je do veľkej miery závislé na úzkej spolupráci jednotlivcov a tímov. Nepretržitá integrácia si vyžaduje spoluprácu ľudí pri riešení konfliktov v kóde a tímy musia efektívne komunikovať, aby sa zjednotili na rovnakých cieľoch.

Implementácia DevSecOps

Pridanie zabezpečenia do procesu DevOps si vyžaduje starostlivé plánovanie. Začnite pomaly s procesmi, ktoré predstavujú pre tím najmenšie trenie a ponúkajú najväčšiu návratnosť zabezpečenia. Tu je niekoľko spôsobov, ako pridať zabezpečenie do typického šprintu DevOps.

  • Plánovanie a rozvoj

    Zavedenie zabezpečenia na začiatku vývojových šprintov nielenže pomáha znížiť počet zraniteľností v neskoršom štádiu, ale tiež šetrí čas, pretože je jednoduchšie riešiť problémy pred vytvorením a integráciou kódu. Počas plánovania a vývoja použite modelovanie hrozieb na identifikáciu a zmiernenie potenciálnych hrozieb pre aplikáciu. To vám pomôže zabudovať zabezpečenie do aplikácie hneď od začiatku. Ak chcete odhaliť problémy zabezpečenia ešte pred odovzdaním kódu do zdieľaného úložiska, implementujte automatické kontroly, napríklad doplnky zabezpečenia integrovaného vývojového prostredia, ktoré vývojárom poskytnú okamžitú spätnú väzbu, ak v napísanom kóde existuje potenciálne riziko zabezpečenie. Počas revízie kódu požiadajte niekoho s odbornými znalosťami v oblasti zabezpečenia, aby vám poskytol odporúčania na zlepšenie.

  • Potvrdenie kódu

    Jedným z kľúčov k úspešnému procesu DevSecOps je nepretržitá integrácia. Vývojári zvyčajne odovzdávajú svoj kód do centrálneho úložiska niekoľkokrát denne, aby sa zabezpečilo včasné zachytenie problémov s integráciou. V tejto fáze je dôležité pridať automatické kontroly zabezpečenia. To môže zahŕňať skenovanie knižníc a závislostí tretích strán, testovanie jednotiek a statické testovanie zabezpečenia aplikácie. Dôležité je tiež nasadiť riadenie prístupu na základe rolí, aby ste ochránili infraštruktúru nepretržitej integrácie a nepretržitého dodávania pred útočníkmi, ktorí chcú spustiť škodlivý kód alebo ukradnúť poverenia.

  • Vytváranie a testovanie

    Spustenie automatických skriptov zabezpečenia v testovacom prostredí pomáha odhaliť potenciálne problémy, ktoré predtým neboli zistené. Niektoré z testov zabezpečenia, ktoré môžete vykonať počas tejto fázy, zahŕňajú dynamické testovanie zabezpečenia aplikácií, skenovanie infraštruktúry, skenovanie kontajnerov, overovanie konfigurácie cloudu a testy prijatia zabezpečenia.

  • Výroba

    Po nasadení aplikácie do produkčného prostredia sa niektoré organizácie venujú penetračnému testovaniu, aby sa pokúsili nájsť slabé miesta v živom prostredí. Pri penetračnom testovaní si ľudia osvoja myslenie útočníka a hľadajú spôsoby, ako narušiť aplikáciu.

  • Operácia

    Ani ten najlepší proces DevSecOps nezachytí všetko, preto je veľmi dôležité neustále monitorovať aplikácie z hľadiska zraniteľností a hrozieb. Analytické údaje vám pomôžu vyhodnotiť, či sa vaša bezpečnostná pozícia zlepšuje, a poukázať na oblasti, ktoré je potrebné optimalizovať.

Nástroje a technológie DevSecOps

Pri výbere nástrojov zabezpečenia je dôležité vybrať také, ktoré dobre spolupracujú s vašou súčasnou technológiou DevOps. Zjednoduší sa tým zahrnutie zabezpečenia do celého procesu. Nižšie je uvedených niekoľko typov nástrojov, ktoré možno budete potrebovať:

  • Infraštruktúra ako skenovanie kódu

    Na zlepšenie svojej efektivity tímy DevSecOps zvyčajne používajú nástroje s otvoreným zdrojovým kódom, ako je Terraform, na správu a poskytovanie infraštruktúry, ako sú siete, virtuálne stroje a vyrovnávače zaťaženia, prostredníctvom kódu, namiesto toho, aby to robili ručne. Terraform pomáha zabezpečiť konzistentné nastavenie a aktualizáciu infraštruktúry na stovkách alebo tisícoch serverov. Aby sa znížilo riziko nasadenia nesprávnej konfigurácie do produkčného prostredia, nástroje na skenovanie infraštruktúry ako kódu automaticky kontrolujú infraštruktúru na úrovni kódu, či nie je v súlade so zásadami a normami zabezpečenia.

  • Testovanie zabezpečenia statickej aplikácie

    Vývojári DevSecOps začnú testovať svoj vlastný kód na zraniteľnosti zabezpečenia ešte pred kompiláciou kódu. To im pomôže opraviť problémy bez toho, aby to ovplyvnilo zostavenie. Nástroje na statické testovanie zabezpečenia aplikácií uľahčujú tento proces vďaka automatickým kontrolám a spätnej väzbe v reálnom čase. Mnohé nástroje presne identifikujú, ktorý kód je rizikový, a ponúkajú navrhované opravy.

  • Analýza zloženia softvéru

    Jedným zo spôsobov, ako tímy vytvárajú aplikácie a funkcie efektívnejšie, je používanie doplnkov a architektúr tretích strán. Tieto preddefinované nástroje šetria čas, ale môžu prinášať aj riziká, ako sú problémy s licenciami, zle napísaný kód alebo zraniteľnosti zabezpečenia. Nástroje na analýzu zloženia softvéru identifikujú komponenty s otvoreným zdrojovým kódom v aplikáciách a hodnotia ich v porovnaní s proprietárnymi alebo bezplatnými databázami s cieľom odhaliť porušenie licencie a problémy so zabezpečením a kvalitou.

  • Interaktívne testovanie zabezpečenia aplikácie

    Počas testovania zabezpečenia kvality alebo pri používaní aplikácie interaktívne nástroje na zabezpečenie aplikácií skenujú kód s cieľom nájsť zraniteľnosti a poskytujú správy, ktoré určujú, v ktorej časti kódu sa problém nachádza.

  • Testovanie dynamického zabezpečenia aplikácie

    Dynamické testovanie zabezpečenia aplikácií napodobňuje metódy, ktoré môže zlý aktér použiť na útok na aplikáciu. Toto testovanie prebieha počas behu aplikácie a je založené na vopred definovaných prípadoch použitia.

  • Skenovanie kontajnera

    Kontajnery sa široko používajú v DevSecOps, pretože pomáhajú vývojárom ľahko nasadzovať samostatné jednotky kódu. V kontajneri sa nachádza obraz kontajnera, ktorý obsahuje kód, ktorý spúšťa procesy pre kontajner. Tieto obrazy sú však často vytvorené pomocou existujúcich obrazov alebo sú prevzaté z verejných úložísk. Nástroje na skenovanie kontajnerov, skenovanie kontajnerov a ich porovnávanie s verejnými alebo vlastnými databázami zraniteľností s cieľom odhaliť potenciálne problémy zabezpečenia.

Najvhodnejšie postupy DevSecOps

DevSecOps je rovnako o zmene kultúry ako o procese a nástrojoch. Tu je niekoľko osvedčených postupov, ktoré vám pomôžu čo najviac uľahčiť prijatie tejto architektúry.

  • Zmena kultúry

    Uvedomte si, že ľudia môžu mať problém zmeniť spôsob svojej práce a môžu vzniknúť konflikty. Aby ste im pomohli prispôsobiť sa, jasne im oznámte ciele a očakávania organizácie, poskytnite veľa príležitostí na otvorený dialóg a počítajte s tým, že budete musieť byť flexibilní, kým tímy nenájdu nástroje, proces a postup, ktoré im budú najlepšie vyhovovať.

  • Definovanie požiadaviek a metrík

    Vytvorte základný plán minimálneho zabezpečenia. Pokyny nájdete v priemyselných a regulačných požiadavkách alebo v desiatke kritických rizík pre webové aplikácie podľa projektu Open Worldwide Application Security Project® (OWASP) a v zozname 25 najväčších softvérových chýb podľa SANS. Po definovaní požiadaviek určte, ktoré ukazovatele chcete sledovať, aby vám pomohli monitorovať váš pokrok.

  • Spustiť malé

    Nástroje na automatizáciu zabezpečenia ponúkajú veľa možností kontroly kódu na problémy, ale ich zapnutie, najmä na začiatku zavádzania DevSecOps, môže váš tím zahltiť. Rozvážne zvážte, ktoré nástroje použijete a koľko problémov budete kontrolovať.

  • Vykonanie modelovania hrozieb

    Vypracujte proces modelovania hrozieb, ktorý môže byť tak jednoduchý alebo tak podrobný a technický, ako potrebujete. Tento prístup použite na zdokumentovanie realistického pohľadu na zabezpečenie vašej aplikácie, ktorý zahŕňa:

    • Ako útočníci môžu zneužiť návrh aplikácie.
    • Ako opraviť chyby.
    • Priorita rôznych problémov.
  • Implementácia automatizácie

    Automatizácia je kľúčom k dosiahnutiu kvality a rýchlosti v procese DevSecOps. Zaradením automatizovaných skenov zabezpečenia do všetkých fáz životného cyklu kontinuálnej integrácie a kontinuálneho dodávania budete môcť zlepšiť zabezpečenie svojich aplikácií bez výrazného spomalenia procesu.

  • Spravovať závislosti

    Väčšina vývojárov používa na efektívne zostavovanie aplikácií balíky a knižnice tretích strán. Problémom je, že niektoré z týchto riešení majú chyby zabezpečenia a vývojári ich nie vždy dôsledne aktualizujú. Ak chcete znížiť riziko, uistite sa, že sú komponenty, ktoré používate, overené z hľadiska rizík zabezpečenia, a vypracujte štandardizovaný proces ich aktualizácie.

  • Vyhodnotiť a zlepšiť

    Pravidelne vyhodnocujte, ako proces funguje, a podľa potreby ho upravujte, aby ste zabezpečili, že vaša organizácia plní svoje ciele. Po skončení šprintu môže následná analýza bez obviňovania pomôcť odhaliť príležitosti na zlepšenie. Analytické údaje a analýza hrozieb vám tiež môžu pomôcť určiť, či existujú potreby zabezpečenia, ktoré váš aktuálny prístup nespĺňa.

DevSecOps pre cloudové aplikácie

Natívne cloudové aplikácie sú navrhnuté pre cloud a zvyčajne sú neutrálne voči dodávateľovi, čo umožňuje ich prenos z jedného cloudu do druhého. Vývojové tímy, ktoré sú navrhnuté tak, aby boli vysoko škálovateľné a odolné, ich zvyčajne vytvárajú pomocou mikroslužieb, kontajnerov a automatizácie, takže sú ideálne pre proces DevSecOps. Zabudovanie nepretržitého zabezpečenia, nepretržitej integrácie a nepretržitého dodávania do procesu vývoja cloudových aplikácií umožňuje škálovateľnosť bez kompromisov v oblasti zabezpečenia. Používajte automatizované riešenia zabezpečenia, ako napríklad Microsoft Defender pre DevOps, ktoré vám pomôžu zabezpečiť váš kód a celý kanál DevOps. Po nasadení aplikácie do cloudu ju naďalej monitorujte z hľadiska rizík. Platformy na ochranu cloudových úloh (CWPP) pomáhajú chrániť tieto aplikácie a podkladové údaje zisťovaním a zmierňovaním hrozieb pre pracovné záťaže v multicloudových prostrediach. Riešenia správy pozície cloudového zabezpečenia (CSPM) odhaľujú a riešia chybné konfigurácie a zraniteľnosti vo vašom prostredí.

Ďalšie informácie o zabezpečení od spoločnosti Microsoft

Microsoft Defender for Cloud

Chráňte multicloudové a hybridné prostredia od vývoja až po prevádzku pomocou komplexnej platformy na ochranu natívnych cloudových aplikácií.

Microsoft Defender for Cloud Apps

Modernizujte spôsob zabezpečenia aplikácií, chráňte svoje údaje a zvýšte úroveň zabezpečenia aplikácií pomocou tohto softvérového riešenia ako služby.

Microsoft Defender Spravovanie úrovne pre cloudové zabezpečenie

Zamerajte sa na najkritickejšie riziká vo svojom multicloudovom prostredí pomocou kontextovej správy bezpečnostných pozícií v cloude.

Microsoft Defender pre DevOps

Získajte zjednotenú správu zabezpečenia DevOps v rámci multicloudových a multikanálových prostredí.

Najčastejšie otázky

  • DevSecOps je proces, ktorý integruje zabezpečenie do celého životného cyklu vývoja softvéru. Organizácie používajú tento prístup, aby znížili riziko uvoľnenia kódu so zraniteľnosťami zabezpečenia. Vďaka spolupráci, automatizácii a jasným procesom sa tímy podieľajú na zodpovednosti za zabezpečenie a nenechávajú ju na koniec, keď môže byť riešenie problémov oveľa ťažšie a nákladnejšie.

  • DevSecOps je skratka pre vývoj, zabezpečenie a prevádzku. Ide o proces integrácie zabezpečenia do všetkých fáz vývoja softvéru.

  • Posun doľava je koncept v DevSecOps, ktorý sa vzťahuje na začlenenie postupov zabezpečenia od samého začiatku procesu vývoja.

  • Architektúra DevSecOps zahŕňa nepretržitú integráciu, nepretržité doručovanie a nepretržité zabezpečenie. Ide o metódu, pri ktorej spolupracujú tímy pre zabezpečenie, prevádzku a zabezpečenie a zdieľajú zodpovednosť za rýchle dodanie kvalitného softvéru pri súčasnom znížení zraniteľností zabezpečenia.

  • Neexistuje jednotný proces DevSecOps, ale bežný spôsob, akým ľudia vedú tieto projekty, je rozdelenie práce na šprinty, z ktorých každý zahŕňa tieto zložky: plánovanie a vývoj, zostavenie a testovanie a produkciu. Počas celého šprintu používajú tímy automatizáciu na priebežné riešenie problémov so zabezpečením kvality, priebežnú integráciu a priebežné testovanie rizík zabezpečenia.

Sledujte Microsoft