Press "Enter" to skip to content

Chystám workshop o bezpečném vývoji softwaru

V rámci svého studia na Masarykově univerzitě, kde se věnuji oboru Design informačních služeb, jsem dostal za úkol v předmětu Learning Design zamyslet se nad analýzou potřeb a cílovou skupinou určitého vzdělávacího objektu. Tento úkol mě inspiroval k vytvoření analýzy potřeb a cílové skupiny pro plánovaný workshop zaměřený na bezpečný vývoj softwaru. Tento workshop by měl být určen pro široké spektrum účastníků především (ale nejen) z oblasti vývoje softwaru a kybernetické bezpečnosti či dalších účastníků vývoje SW a jeho cílem je rozšířit povědomí o bezpečnostních rizicích, bezpečné tvorbě, postupech a technikách prevence v rámci softwarového vývoje.

Identifikace problému nebo potřeby

V oblasti bezpečného vývoje softwaru v České republice je patrný vážný nedostatek komplexního přístupu, který by zahrnoval bezpečnostní opatření od počáteční fáze až po údržbu aplikací. Ačkoliv existuje legislativa, jako Zákon o kybernetické bezpečnosti (Zákon č. 181/2014 Sb.), Vyhláška o kybernetické bezpečnosti (Vyhláška č. 82/2018 Sb.), GDPR (Zákon č. 110/2019 Sb., Zákon o zpracování osobních údajů), očekávaná NIS2 (Směrnice Evropského parlamentu a Rady (EU) 2016/1148) atd., ve většině případů nejsou tyto zákony a regulace dostatečně provázány s reálnými vývojovými procesy v organizacích. Povědomí o bezpečnostních rizicích bývá povrchní a mnoho vývojářů, manažerů a dalších stakeholderů stále vnímá bezpečnost jako „dodatečnou“ záležitost, nikoliv jako integrální součást vývoje softwaru.

Tento problém jsem během své více než 20leté praxe v oblasti vývoje softwaru, kybernetické bezpečnosti a zajištění kvality softwaru vnímal opakovaně. Během této doby jsem se opakovaně setkával s nedostatky ve vzdělávání a s nepochopením potřeby integrovat bezpečnostní opatření již od počátku vývoje. Moje zkušenosti zahrnují spolupráci s různými zainteresovanými stranami – vývojáři, manažery, bezpečnostními odborníky, správci i provozovateli informačních systémů – často v rámci odborných kurzů a školení, ale také při implementaci metodik bezpečného vývoje softwaru či kyberbezpečnostních testech. Tento problém se opakuje v různých sektorech a spočívá ve vnímání bezpečnosti jako něčeho, co se řeší často až na konci vývojového cyklu, což výrazně zvyšuje riziko bezpečnostních zranitelností.

Tento problém považuji za reálný (mj. hodnotím na základě bezpečnostního hodnocení různých SW aplikací i hodnocení vyspělosti bezpečného vývoje SW v několika společnostech) a zároveň kritický, protože nezajištěná aplikace může představovat zásadní bezpečnostní rizika pro uživatele i organizace; takové „děravé“ aplikace jsou významnou hrozbou! S ohledem na rostoucí počet kybernetických hrozeb a stále se zvyšující komplexitu softwarových řešení je nezbytné, aby organizace i jednotlivci rozuměli bezpečnostním aspektům vývoje softwaru od samotného začátku.

Analýza potřeb

Klíčovou potřebou, kterou je nutné naplnit, je zvýšení povědomí o bezpečnostních rizicích, které se vyskytují v celém životním cyklu vývoje softwaru, zároveň seznámit s možnostmi různých řešení a uchopení do racionálního bezpečnostního rámce. Účastníci workshopu by se měli naučit používat konkrétní bezpečnostní rámce, jako jsou OWASP SAMM, BSIMM, Microsoft SDL, NIST SSDF nebo ISO/IEC 27034, které jim umožní identifikovat a předcházet bezpečnostním rizikům. Je zásadní, aby tato opatření byla integrována ve všech fázích vývoje – od řízení, návrhu, implementace a verifikace až po provoz a vyřazení zastaralého softwaru. Účastníci by se tedy měli naučit nejen monitorovat aplikace a reagovat na bezpečnostní incidenty, ale také zajišťovat, že zastaralé softwarové systémy jsou správně vyřazeny, aby se minimalizovala rizika spojená s jejich dalším provozem.

Praktické využití bezpečnostních rámců: Například při používání OWASP SAMM se účastníci naučí mapovat bezpečnostní aktivity na konkrétní fáze vývoje, což zahrnuje jak vytváření bezpečnostních požadavků, tak testování bezpečnosti a řízení bezpečnostních hrozeb. Praktická znalost těchto rámců jim umožní tyto techniky aplikovat přímo na vlastní vývojové procesy.

Kromě technických dovedností by měli účastníci získat širší designový (designérský) kontext, který integruje pohled na bezpečnost s lidskými potřebami. Bezpečnostní problémy mají vždy lidský rozměr – lidé, kteří jsou oběťmi kyberútoků, útočníci, kteří hledají zranitelnosti, odborníci, kteří kyberbezpečnost budují, a uživatelé, kteří se s bezpečnostními opatřeními každodenně setkávají. Proto by se účastníci měli zaměřit nejen na technickou stránku bezpečnosti, ale také na sociální a lidské aspekty, které jsou klíčové pro efektivní implementaci bezpečnostních opatření.

Funkční design bude dalším důležitým bodem, na který by workshop měl klást důraz. Účastníci by se měli naučit, jak navrhovat systémy z pohledu uživatele, včetně toho, jak mohou uživatelé efektivně porozumět a využívat bezpečnostní prvky. Vyvážený přístup mezi bezpečností a použitelností je kritický – příliš komplikovaná nebo rušivá bezpečnostní opatření mohou způsobit, že uživatelé ztratí důvěru v systém nebo se pokusí opatření obejít.

Emocionální design by měl být součástí vzdělávacího obsahu, protože emocionální reakce uživatelů na bezpečnostní prvky mohou výrazně ovlivnit jejich chování. Uživatelé musí mít pocit, že jsou chráněni, ale neměli by se cítit frustrováni nebo zahlceni. Například příliš mnoho bezpečnostních výzev může vést k takzvané „únavě z bezpečnosti“, což může snížit ochotu uživatele spolupracovat se systémem a dodržovat stanovená opatření.

Kognitivní design se zaměřuje na to, jak lidé zpracovávají informace, což je klíčové pro efektivní varování o hrozbách nebo používání bezpečnostních mechanismů. Design by měl být navržen tak, aby podporoval správné rozhodování uživatele, aniž by docházelo k jeho přetížení, což by mohlo vést k chybám nebo nesprávným krokům. Například efektivní varovné systémy by měly být jasné a srozumitelné, aby uživatelé rychle pochopili rizika a věděli, jak reagovat.

Workshop by také měl pokrýt design pro inkluzi – aby byla bezpečnostní opatření přístupná všem uživatelům, včetně těch s hendikepy. Pokud část populace není schopná správně používat zabezpečený systém, vzniká tím bezpečnostní zranitelnost. Proto je důležité, aby se bezpečnostní design zaměřoval na inkluzi a přístupnost pro všechny, bez ohledu na jejich technické dovednosti nebo fyzické omezení.

Jistě ne poslední klíčovou oblastí je etický design, který zahrnuje morální a etické otázky související s návrhem systémů. Tato oblast se zaměřuje na to, jak jsou při návrhu systému zpracovávána data uživatelů, jak transparentní jsou procesy sběru dat a jak jsou uživatelé informováni o možných rizicích. V rámci workshopu by měli účastníci rozvíjet schopnost aplikovat bezpečnostní opatření, která nejen zvyšují technickou bezpečnost, ale také reflektují etické a morální zásady. Neméně zajímavou součástí by měla být také diskuse o tom, jestli tzv. etický hacking je opravdu etický.

Cílová skupina a demografické údaje

Workshop o bezpečném vývoji softwaru bude určen pro širokou škálu účastníků, od studentů po zkušené profesionály, kteří se zabývají vývojem softwaru nebo správou informačních systémů.

Workshop o bezpečném vývoji softwaru je otevřen všem zájemcům bez ohledu na genderovou identitu, s důrazem na to, že téma bezpečného vývoje softwaru a kybernetické bezpečnosti má široký dosah napříč různými technickými i netechnickými oblastmi. Ačkoli se kurz genderově nevymezuje, odráží rostoucí účast žen v ICT oborech, včetně kybernetické bezpečnosti. V posledních letech se zvyšuje počet žen, které se zapojují do těchto technických disciplín, což přispívá k diverzitě v rámci účastníků.

Účastníky workshopu mohou být jak studenti středních a vysokých škol, tak odborníci z praxe. Vzdělání účastníků bude rozmanité, což reflektuje aktuální situaci v ICT průmyslu, kde se prosazují lidé s různým vzděláním a typy kvalifikací. Věkové rozmezí účastníků může být široké – od mladších zájemců ve věku 17 let až po zkušené profesionály a manažery ve věku kolem 60 a více let.

Cílovou skupinu lze rozdělit do čtyř hlavních kategorií:

  1. Podnikatelský sektor: Profesionálové pracující v soukromých firmách, kteří se věnují vývoji softwaru, IT správě nebo kybernetickým řešením. Tyto osoby často hledají praktická řešení pro bezpečný vývoj softwaru, která odpovídají firemním standardům a regulacím.
  2. Veřejný a státní sektor: Zástupci státních institucí a veřejné správy, kteří jsou odpovědní za bezpečnost informačních systémů a jejich správu. V tomto sektoru jsou bezpečnostní standardy často vynuceny legislativními požadavky, přesto implementace praktických bezpečnostních opatření často bývá slabší.
  3. Školy a akademické instituce: Studenti, učitelé a akademici z technických oborů. U studentů může převažovat teoretické vzdělání, zatímco praktické zkušenosti s bezpečným vývojem mohou být omezené. Workshop jim poskytne praktický rámec pro bezpečný vývoj softwaru.
  4. Ostatní: Tato kategorie zahrnuje zájemce, kteří se věnují vývoji softwaru nebo kybernetické bezpečnosti mimo tradiční sektory, ale také ty, kteří přicházejí z dalších oblastí, jako je design informačních služeb či jiných příbuzných oborů. Motivace může být různorodá – od touhy po kariérním růstu, přes zájem o zlepšení znalostí v oblasti bezpečnosti, až po osobní projekty, kde bezpečnostní aspekty dosud nebyly prioritou. Workshop nabízí relativně nová a doposud nezvyklá témata, která mohou být přínosná nejen pro vývojáře a IT profesionály, ale také pro designéry a tvůrce informačních systémů, kteří chtějí rozšířit své kompetence o bezpečnostní prvky v digitálních produktech a službách.

Současné znalosti a dovednosti

Účastníci workshopu budou mít různorodé znalosti a zkušenosti. Zatímco někteří již mají pevné základy ve vývoji softwaru nebo správě IT systémů, mnoho z nich může postrádat širší znalostní přesah do oblastí kybernetické bezpečnosti. Tento workshop je navržen tak, aby doplnil právě tyto znalostní mezery a představil účastníkům klíčové bezpečnostní metodiky, jako jsou OWASP SAMM, BSIMM, Microsoft SDL nebo další standardy. I když někteří účastníci již mohli zažít kybernetické incidenty, mnohým chybí systematické postupy, jak předcházet rizikům. Často se setkáváme s odborníky, kteří se specializují na úzce zaměřené oblasti (například frontend vývoj, správu serverů či design uživatelského rozhraní), ale nemají přehled o tom, jak začlenit bezpečnostní standardy do širšího vývojového cyklu.

Kromě technických znalostí bude workshop klást důraz také na lidský a designérský rozměr. Účastníci budou mít příležitost rozšířit své vnímání bezpečnosti o důležité aspekty designu informačních služeb, který spojuje technické požadavky s přirozenými lidskými potřebami. Bezpečnostní problémy mají vždy lidský rozměr – oběti kybernetických útoků, útočníci, odborníci na kyberbezpečnost, kteří systémy budují, i uživatelé, kteří se s bezpečnostními prvky denně potýkají. Workshop tak poskytne účastníkům nejen technický pohled, ale i hlubší pochopení role lidí ve vytváření a užívání bezpečnostních systémů.

Motivace a potřeby

Z pohledu účastníků budou hlavní motivace velmi různorodé. Někteří se zaměří na zvýšení bezpečnosti v organizaci kvůli narůstajícím kybernetickým hrozbám a legislativním požadavkům, zatímco jiní budou usilovat o osobní rozvoj a zvýšení konkurenceschopnosti na trhu práce. Pro studenty bude klíčovou motivací získání praktických dovedností, které mohou ihned po dokončení studia uplatnit.

Workshop musí nabídnout více než jen technické informace – účastníci budou potřebovat také praktické zkušenosti, které jim umožní aplikovat nové znalosti do reálného pracovního prostředí. Program se zaměří nejen na technické aspekty bezpečného vývoje, ale i na designérský přístup, který účastníkům pomůže pochopit, jak bezpečnostní opatření integrovat do návrhu informačních služeb a systémů. Tento širší kontext zahrnuje i práci s uživateli, kteří jsou nedílnou součástí bezpečnostního ekosystému, a pomůže účastníkům vyvážit bezpečnostní opatření s použitelností a lidskými potřebami.

Z pohledu workshopu bude klíčové zajistit, aby účastníci odcházeli nejen s technickými dovednostmi, ale i s pochopením širších souvislostí, jak bezpečnost integrovat do svých vlastních procesů a projektů.

Možné bariéry a omezení

Z pohledu účastníků mohou být hlavními překážkami nedostatek času, náročné termíny projektů, omezené rozpočty na školení nebo nedostatečné porozumění problematice ze strany vyššího managementu, který nemusí vždy chápat důležitost investic do kybernetické bezpečnosti. Další bariérou může být omezená dostupnost specializovaných školení a nedostatek interních kapacit na implementaci bezpečnostních opatření ve firmách či organizacích.

Z pohledu organizátorů workshopu bude výzvou přizpůsobit obsah různým úrovním technických dovedností účastníků a současně pokrýt všechny nezbytné oblasti bezpečného vývoje softwaru. Rozmanitost v oblasti předchozích zkušeností může být obtížná pro strukturování školení tak, aby z něj každý účastník, bez ohledu na své výchozí znalosti, získal maximum. Zajistit dostatek praktických ukázek, které účastníkům pomohou implementovat naučené techniky přímo do jejich vlastních projektů, bude také klíčové pro úspěch workshopu.

Další možnou překážkou je zajištění kvalifikovaných lektorů. Vzhledem ke komplexnosti a multioborovosti témat, která zahrnují technické aspekty, designérský přístup i lidské faktory kybernetické bezpečnosti, může být náročné sestavit lektorský tým, který bude schopen efektivně pokrýt všechna potřebná témata. Je nezbytné, aby každý lektor měl nejen hluboké technické znalosti, ale také přehled o širších souvislostech bezpečnosti a schopnost předávat tyto poznatky srozumitelně a prakticky.

Způsob sběru dat pro analýzu potřeb

Pro účely analýzy potřeb účastníků workshopu bude využita kombinace několika metod sběru dat, vycházející z principů designu služeb a mé dlouholeté praxe v oblasti kybernetické bezpečnosti. Základem je iterativní proces, který reflektuje zpětnou vazbu a skutečné potřeby uživatelů – v tomto případě účastníků workshopu. Na základě mých předchozích zkušeností s realizací odborných kurzů a školení v oblasti kybernetické bezpečnosti jsem již provedl první kroky směrem k identifikaci hlavních potřeb účastníků. Tyto kroky zahrnovaly základní rozhovory s kolegy z oboru i účastníky historických kurzů, kteří poskytli cenné vhledy do toho, jakým způsobem přistupují k bezpečnému vývoji softwaru a kde vidí mezery ve svých dovednostech a znalostech.

Pro další zpřesnění potřeb účastníků a přizpůsobení obsahu workshopu se však plánují další průzkumy, které budou realizovány buď v návaznosti na mé stávající workshopy a přednášky, nebo prostřednictvím cílených šetření. Zde jsou jednotlivé metody, které budou využity:

  1. Kvalitativní rozhovory (semi-strukturované rozhovory)
    Tato metoda umožňuje hlubší vhled do potřeb účastníků a klíčových stakeholderů. Rozhovory budou vedeny s vývojáři, projektovými manažery, bezpečnostními specialisty, ale i s právníky, kteří se podílejí na softwarových projektech, a to s cílem zjistit, jaké konkrétní problémy řeší při zavádění bezpečnostních opatření. Semi-strukturovaný formát rozhovorů umožňuje flexibilitu v kladení otázek a poskytuje prostor pro zkoumání témat, která mohou být klíčová pro design workshopu.
  2. Dotazníky (kvantitativní výzkum)
    Rozeslání dotazníků mezi širší okruh potenciálních účastníků workshopu poskytne kvantitativní údaje o jejich současných znalostech, dovednostech a očekáváních. Tento nástroj umožní shromáždit data od velkého množství respondentů, což je klíčové pro statistickou validaci zjištěných potřeb a pro kvantitativní analýzu, která pomůže přesněji cílit obsah workshopu. Dotazníky budou zahrnovat jak otevřené, tak uzavřené otázky, které umožní kombinaci kvalitativního i kvantitativního hodnocení.
  3. Analýza existujících materiálů (desk research)
    Prostřednictvím analýzy existujících vzdělávacích materiálů, technické dokumentace a dalších relevantních zdrojů, které jsou k dispozici v organizacích podílejících se na vývoji softwaru, bude provedena revize současné praxe v oblasti bezpečnostních opatření. Tato metoda (desk research) pomůže identifikovat případné nedostatky ve stávajících vzdělávacích programech a poskytne důležité podklady pro vylepšení obsahu plánovaného workshopu.
  4. Participativní design (co-creation)
    Tato metoda je založena na aktivní spolupráci s budoucími účastníky během samotného vývoje workshopu. Na základě zpětné vazby od účastníků mých předchozích přednášek a workshopů bude obsah navrhován tak, aby odpovídal skutečným potřebám a očekáváním. Tento přístup podporuje zapojení uživatelů již v rané fázi tvorby vzdělávacího obsahu a zajišťuje, že výsledný produkt bude co nejlépe reflektovat jejich požadavky.

Kombinací těchto metod bude dosaženo komplexního pohledu na potřeby účastníků, což umožní optimalizovat obsah workshopu tak, aby byl relevantní, praktický a efektivně aplikovatelný v reálném prostředí jejich práce.

Závěr

Workshop o bezpečném vývoji softwaru reaguje na rostoucí potřebu vzdělávání v oblasti kybernetické bezpečnosti, která je často opomíjena nebo podceňována ve vývojových procesech. Analýza potřeb a cílové skupiny ukázala, že tento workshop bude přínosný pro široké spektrum účastníků, od studentů až po profesionály, kteří se potýkají s nedostatky v porozumění bezpečnostním standardům a metodikám. Tím, že účastníkům poskytne nejen technické znalosti, ale i širší designový a lidský rozměr, bude workshop efektivním nástrojem pro implementaci bezpečnostních opatření do reálných vývojových projektů. Klíčem k úspěchu bude flexibilní přístup, který reflektuje různorodé znalosti a zkušenosti účastníků, a praktická orientace na aplikaci naučených technik v praxi.