Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek pomáhá týmům zabezpečení a technologií vytvářet a modernizovat disciplínu zabezpečení vývoje. Tato disciplína pomáhá bezpečnostním, technickým a technologickým týmům zajistit, aby byl software navržený, sestavený, integrovaný a nasazený bezpečně – bez zpomalení inovací.
Disciplíny zabezpečení jsou seskupení souvisejících prací na zabezpečení, které organizacím pomáhají konzistentně poskytovat výsledky zabezpečení napříč celým technologickým aktivem. V rámci modelu přechodu na zabezpečení pomáhají disciplíny poskytovat most mezi obchodními scénáři a technickou implementací a zajistit, aby investice do zabezpečení v rámci modelu přechodu na zabezpečení překlyly na skutečné měřitelné výsledky.
Proč tato disciplína?
Software je hluboce propojený s identitami, daty, infrastrukturou a obchodními procesy. Pokud je zabezpečení vývoje slabé nebo nekonzistentní, může každá verze softwaru zavést nová ohrožení zabezpečení, která útočníci zneužívají, aby získali přístup k širším prostředkům organizace.
Bez efektivní disciplíny zabezpečení vývoje se organizace často setká s:
- Zvýšené riziko ohrožení zabezpečení softwaru zavedeného během vývoje.
- Ohrožení zabezpečení aplikací, které umožňuje laterální přesun mezi identitami a daty
- Přerušení obchodních operací a výnosů.
- Vystavení nebo zneužití zákaznických a regulovaných dat.
- Akumulace technického dluhu, který zvyšuje dlouhodobé riziko a nápravné náklady.
Důsledné zabezpečení vývoje zajišťuje, aby každé vydání snižovalo riziko, místo aby ho zvyšovalo.
Mise a výsledky
Disciplína zabezpečení vývoje snižuje riziko organizace tím, že zajišťuje, aby byl veškerý software, ať už vyvinutý interně nebo partnery, navržený, sestavený, integrovaný a nasazený v souladu se standardy zabezpečení, aniž by se zpomalovaly dodávky nebo inovace.
Organizace, které tuto disciplínu zralí, dosahuje těchto cílů:
- Zabezpečení začleněné do vývojových procesů, místo aby bylo přidáváno až dodatečně.
- Dřívější identifikace a náprava chyb návrhu a implementace
- Předvídatelnější a bezpečnější cykly vydávání.
- Snížení nutnosti přepracování, nouzových oprav a narušení provozu.
- Nižší akumulace technického a bezpečnostního dluhu v průběhu času.
Zabezpečení vývoje zajišťuje, že se stav zabezpečení průběžně zlepšuje s jednotlivými verzemi, a ne pravidelně resetuje.
Změny v týmové práci
Je důležité, aby oblast bezpečnosti vývoje vycházela vstříc vývojářům a produktovým týmům tam, kde právě jsou, a soustředila se na začlenění bezpečnosti do stávajících vývojových pracovních postupů, namísto zavádění kontrol v pozdních fázích, těžkopádných procesů posuzování nebo dokonce vynechávání bezpečnosti ve vývojových procesech.
Tento přístup se často popisuje jako posun doleva, představuje myšlení o zabezpečení dříve v ideaci, návrhu a implementaci, když jsou problémy jednodušší a méně nákladné k opravě. Posun vlevo neznamená říkat „ne“ dříve v procesu. Místo toho zavádí včasnou diskuzi informovanou o zabezpečení, aby se zlepšila rozhodnutí o produktech a zajistila, že řešení splňují bezpečnostní a obchodní požadavky.
Mezi klíčové principy patří:
- Včasná integrace: Myslete na zabezpečení už při tvorbě konceptu a návrhu, nejen při testování.
- Sladění vývojářů: Seznamte se s vývojovými a produktovými týmy, kde už pracují
- Malá, přírůstková změna: Upřednostněte automatizaci a vylepšení nízkého tření
- Průběžné vylepšování: Zacházet se zabezpečením jako s průběžnou disciplínou, nikoli s milníkem
Postupem času průběžná integrace omezuje nouzové zásahy a urychluje dodávání místo toho, aby je zpomalovala.
Jak tuto disciplínu použít
Pokud chcete efektivně aplikovat disciplínu zabezpečení vývoje, zaměřte se na vytvoření konzistentního přístupu k vytváření a údržbě zabezpečených aplikací a služeb v celé organizaci:
-
Definování strategie zabezpečeného vývoje v souladu s obchodním rizikem
Vytvořte jasný přístup k tomu, jak jsou aplikace a služby navrženy, sestaveny a udržovány, aby se snížilo riziko ohrožení a ochrana důležitých obchodních funkcí. -
Vložení zabezpečení do vývojových a technických procesů
Ujistěte se, že jsou bezpečnostní postupy integrovány do plánování, návrhu, vývoje a nasazení, místo aby byly uplatňovány až dodatečně. -
Vytvoření standardizovaných postupů zabezpečeného vývoje
Poskytněte jasné pokyny k zajištění konzistentního použití postupů kódování, testování a vydávání verzí napříč týmy a projekty. -
Sladění zabezpečení vývoje s důležitými prostředky a obchodními scénáři
Určete prioritu ochrany pro aplikace a služby, které podporují vysoce hodnotné prostředky a klíčové obchodní operace. -
Průběžné vylepšování na základě rizik, ohrožení zabezpečení a zpětné vazby
Využijte přehledy z ohrožení zabezpečení, incidentů a výsledků testování k posílení postupů vývoje a snížení rizika v průběhu času.
Správa změn
Moderní zabezpečení vývoje se obvykle implementuje prostřednictvím přístupu DevSecOps, který kombinuje agilní doručování se základními postupy zásad správného řízení a kvality před vydáním.
Místo výběru mezi rychlostí a zabezpečením se DevSecOps zaměřuje na zabezpečení klíčových aspektů životního cyklu vývoje, aby se zmírňovalo naléhavé riziko, aniž by nedošlo k rychlým cyklům vydávání:
Zabezpečení návrhu – Používejte osvědčené vzory návrhu zabezpečení a ověřte návrhy prostřednictvím modelování hrozeb. Zabezpečení kódu – Dodržujte postupy zabezpečeného kódování a ověřte software a závislosti. Zabezpečte kanál – Ověřte proces kanálu a chraňte systémy CI/CD před ohrožením a neoprávněnou změnou. Zajistěte sledovatelnost změn kanálu a softwaru procházející kanálem. Zabezpečené operace – zajistěte, aby nasazené úlohy dodržovaly konfiguraci, opravy a provozní osvědčené postupy.
Týmy můžou zlepšit výsledky tím, že nepřetržitě zpřesní spolupráci mezi vývojem, zabezpečením a provozem a vyrovnává cíle funkčního doručování se snížením spolehlivosti a rizika.
Toto průběžné přírůstkové zlepšení by se mělo použít na produkční pracovní prostředí (softwarový kód vytvořený v životním cyklu) i na samotný vývojový životní cyklus.
Definování procesu DevSecOps
Zabezpečení vývoje se běžně implementuje prostřednictvím provozního modelu DevSecOps, který se vyvíjí v průběhu času, a ne tak, aby se zobrazoval plně vytvořený. DevSecOps spojuje vývoj, zabezpečení a operace, aby bylo dosaženo lepších výsledků prostřednictvím průběžného vylepšování.
Většina organizací prochází těmito fázemi:
Vývoj (Dev) – První produkční verze se zaměřuje na poskytování minimálně realizovatelného produktu (MVP), který splňuje základní obchodní požadavky. DevOps – Po počátečním vydání se týmy zaměřují na rychlou iteraci, provozní stabilitu a správu prostřednictvím kontinuálního doručování. DevSecOps – Jak spolupráce dozrává, vývoj, bezpečnost a provoz spolupracují na neustálém zdokonalování procesů a vyvažování rychlosti, rizika a spolehlivosti.
Tento postup umožňuje organizacím zlepšit výsledky zabezpečení bez obětování flexibility nebo inovací.
Vytvořte bezpečný základ MVP
Klíčovým krokem v tomto modelu je definování toho, co představuje minimální realizovatelný produkt (MVP) z hlediska vývoje, zabezpečení a provozu. Vytvoření tohoto sdíleného směrného plánu vytváří přehlednost napříč týmy a umožňuje konzistentní vylepšování v průběhu času.
| Komponenta | Podrobnosti |
|---|---|
| Dev(elopment) | Ujistěte se, že software splňuje minimální obchodní a funkční požadavky. |
| Sec(urity) | Ujistěte se, že software splňuje minimální požadavky na zabezpečení a dodržování předpisů. |
| Op(erace) | Ujistěte se, že software splňuje minimální požadavky na kvalitu, spolehlivost a provozní připravenost. |
Požadavky MVP se liší podle organizace a průmyslu a ovlivňují chuť k riziku, regulační expozice a důležitost podniku. Tyto požadavky se často vyvíjejí, protože se mění modely organizace, hrozeb a modelů doručování.
Průběžné vylepšování softwaru
Po počátečním produkčním vydání se úlohy přesunou do cyklů průběžného vylepšování. V této fázi se v rámci vývoje, zabezpečení a provozu zdokonalují jak software, tak proces doručování. Úsilí o zabezpečení se zaměřuje na:
- Integrace zabezpečení nativně do vývojových pracovních postupů pomocí stejných nástrojů a modelů stanovení priorit jako jiná technická práce
- Rychle identifikujte, upřednostněte a opravte chyby zabezpečení v rámci standardních cyklů vydávání verzí.
Tento přístup je v souladu s učením Microsoft Secure Future Initiative (SFI), jako je prPaved Paths, kde jsou zabezpečené postupy integrované do platforem a procesů, a ne vynucují se externě.
Postupem času toto průběžné učení pomáhá týmům upřesňovat požadavky, zefektivňovat spolupráci a lépe vyvažovat rychlost dodávání, zabezpečení a spolehlivost.
Role v disciplíně a spolupracovníci
Disciplína dev Security je obvykle spouštěná týmy, které provádějí vývoj aplikací a produktů.
Mezi primární role v této disciplíně obvykle patří:
- Manažeři dodávky technologií a produktoví manažeři
- Vývojáři softwaru (včetně vývoje umělé inteligence)
- Technici zabezpečení softwaru
- Inženýři DevOps a platforem
- Role v oblasti testování a inženýrství kvality
- Role zabezpečení dodavatelského řetězce a závislostí
Mezi klíčové spolupracovníky patří:
- Obchodní a technické vedení – Poskytování sponzorství a stanovení priorit
- Role architektury – Průvodce rozhodováním o zabezpečeném návrhu a integraci
- Role disciplíny strategie zabezpečení, integrace a zásad správného řízení – poskytování zásad, vzdělávání a dohledu
- Týmy pro infrastrukturu a platformy – Umožněte zabezpečená vývojová prostředí
- Operace zabezpečení (SecOps) – Monitorování a reakce při útoku aplikací
Sladění s jinými disciplínami
Zabezpečení vývoje je úzce integrované s dalšími disciplínami SAF:
- Přístup a identity – Chrání identity vývojářů, úloh a služeb.
- Zabezpečení infrastruktury – zabezpečuje platformy, na kterých běží aplikace a kanály.
- Zabezpečení dat – Zajišťuje ochranu citlivých dat v průběhu životního cyklu softwaru.
- SecOps – Detekuje a reaguje na útoky na úrovni aplikace.
- Strategie zabezpečení, integrace a zásady správného řízení – vyrovná postupy vývoje s prioritami rizik podniku.
Tyto disciplíny společně zajišťují, aby zabezpečení softwaru podporovalo širší obchodní a bezpečnostní výsledky.
Sladění s technologickými pilíři
Provádění strategie pro disciplínu zabezpečení vývoje vyžaduje kontrolní mechanismy zabezpečení napříč několika technologickými pilíři.
Sladění s technologickými pilíři zahrnuje:
- Identity: Chrání identity vývojářů a úloh a přihlašovací údaje.
- Koncová zařízení: Zabezpečuje vývojářské pracovní stanice a systémy sestavování.
- Infrastruktura: Chrání platformy hostující kód, kanály a úlohy.
- Aplikace: Zaměřuje se především na postupy zabezpečení vývoje.
- Data: Chrání používaná, generovaná a uložená data aplikacemi.
- Síť: Navrhuje software pro bezpečný provoz v nedůvěryhodných sítích.
- AI: Zabezpečuje komponenty a modely AI používané v moderních aplikacích.
Tato šíře zajišťuje, že disciplína pokrývá reálné scénáře útoků.
Co dál?
Další pokyny pro strategii zabezpečení vývoje jsou ve strategii zabezpečení vývoje.
Zúčastněte se workshopu
Microsoft Unified nabízí odborné workshopy, které organizacím pomáhají modernizovat svou disciplínu zabezpečení pro vývoj. Mezi tyto workshopy patří:
- Workshopy zaměřené na architekturu a strategii – Security Adoption Framework (SAF) – setkání k návrhu architektury: workshop zaměřený na zabezpečení infrastruktury a vývoje se zaměřuje na urychlení modernizace zabezpečení vývoje a jeho integrace se zabezpečením infrastruktury. Tento workshop je k dispozici jako méně než čtyřhodinová diskuze zaměřená na klíčové poznatky a osvědčené postupy.
- Workshopy zaměřené na zavádění technologií: Microsoft Unified nabízí workshopy, které organizacím pomáhají seznámit se s technologií Microsoft Development Security Technology, plánovat její nasazení, implementovat ji a optimalizovat její využití, jak ukazuje tento diagram.
Projděte si Microsoft Security Development Lifecycle
Metodologie Microsoft Continuous Security Development Lifecycle poskytuje metodiku pro bezpečný vývoj softwaru. Životní cyklus vývoje zabezpečení (SDL) je přístup, který Microsoft používá k integraci zabezpečení do procesů DevOps (někdy se označuje jako přístup DevSecOps). Pokyny k zabezpečení vývoje SAF vám pomůžou přizpůsobit přístup a postupy SDL vaší organizaci.
Postupy popsané v přístupu SDL můžete použít u všech typů vývoje softwaru a všech platforem, od klasického vodopádu až po moderní přístupy DevOps. Tento obecně použitelný přístup k zabezpečení softwaru funguje na jakémkoli typu softwaru a platformy.
Další informace najdete v tématu Microsoft Security Development Lifecycle (SDL).
Efektivní zabezpečení vývoje vyžaduje následující životní cyklus vývoje zabezpečení (SDL), jako je Microsoft Security Development Lifecycle (SDL)
Další kroky
Seznamte se s posunem z DevOps na DevSecOps.