V dnešní době, kdy se kybernetické hrozby neustále vyvíjejí a legislativní požadavky jako Zákon o kybernetické bezpečnosti, NIS2 a DORA klepou na dveře, už není otázkou, zda testovat bezpečnost aplikací, ale jak to dělat efektivně. Ruční penetrační testy jsou nenahraditelné, ale pro každodenní rychlý vývoj je nezbytná automatizace.
Jak se ale zorientovat v záplavě zkratek jako SAST, DAST a SCA? A na co si dát pozor při výběru dodavatele? Shrnuli jsme pro vás klíčové poznatky z našeho webináře se Štefanem Prokopem, CEO projektu Bezpečný kód.
Proč uvažovat o automatizaci bezpečnosti?
Hlavní motivací pro firmy bývá často compliance (shoda s předpisy a audity). Automatizace má však mnohem praktičtější přínosy:
- Škálování: Kvalitních pentesterů je na trhu málo. Automatický nástroj dokáže odbavit základní chyby v reálném čase.
- Rychlost vývoje: Najít chybu v momentě, kdy vývojář píše kód, je násobně levnější než ji opravovat v produkci.
- Vzdělávání týmu: Moderní nástroje fungují jako „security buddy“ – učí vývojáře osvojovat si bezpečné kódování (Security Best Practices).
SAST, DAST, nebo SCA? Poznejte své nástroje
Štefan Prokop ve webináři zdůraznil, že každý nástroj se na aplikaci dívá z jiného úhlu. Pro komplexní ochranu je ideální jejich kombinace.
1. SAST (Static Application Security Testing)
- Co dělá: Analyzuje přímo zdrojový kód (zevnitř). Analyzuje přímo zdrojový kód a hledá chyby už během vývoje.
- Výhoda: Najde chybu v konkrétním řádku kódu ještě předtím, než aplikace vůbec běží. Slouží jako mentor pro vývojáře, identifikuje „best practices“.
- Nevýhoda: Může mít vyšší míru falešných nálezů (false positives), protože nezná reálný kontext běžící aplikace. Je nutné, aby nástroj podporoval konkrétní programovací jazyk.
2. DAST (Dynamic Application Security Testing)
- Co dělá: Útočí na běžící aplikaci zvenčí (jako robotický hacker).
- Výhoda: Testuje reálné chování a odhaluje chyby v konfiguraci serveru nebo autentizaci. Funguje na všech technologiích (nezávisle na jazyce), odhaluje „zero-day“ zranitelnosti a má méně falešných nálezů (false positives)
- Nevýhoda: Nezná zdrojový kód a hůře si poradí s moderními JavaScriptovými aplikacemi (SPA).
3. SCA (Software Composition Analysis)
- Co dělá: Kontroluje knihovny třetích stran a open-source komponenty.
- Výhoda: Chrání vás před zranitelnostmi v cizím kódu. Snadné nasazení, hlídání licencí (compliance) a rychlá oprava pomocí aktualizace verze knihovny.
- Nevýhoda: Neanalyzuje kód samotný, pouze verze, což vede k hlášení zranitelností i v nevyužívaných částech knihoven.
- Klíčový fakt: Až 90 % moderních aplikací tvoří právě tyto externí knihovny.
4 kroky k úspěšnému výběru nástroje
Výběr nástroje není jen o funkcích, ale o tom, jak zapadne do vaší firmy. Výběr by neměl provádět řadový zaměstnanec pouze na základě osobní preference, ale manažer s širším kontextem (budoucí migrace do cloudu, rozpočet, SLA)
Krok 1: Definujte si „No-Go“ požadavky
Než oslovíte dodavatele, musíte mít jasno:
- Jaké technologie používáte? (.NET, Java, React, PHP?)
- Kde aplikace běží? (On-premise, cloud, za VPN?)
- Jaký je váš rozpočet? (Ceny se pohybují od 100 tisíc až po miliony Kč ročně).
Krok 2: Nenaleťte na marketing
Trh s bezpečnostními nástroji je velmi konkurenční. Štefan upozorňuje, že nezávislé benchmarky téměř neexistují – výrobci si je často zakazují v obchodních podmínkách. Nedejte jen na hezké PDF prezentace, chtějte vidět nástroj v akci.
Krok 3: Udělejte pořádné POC (Proof of Concept)
Toto je nejdůležitější fáze. Netestujte nástroj na jednoduchých aplikacích. Tam funguje všechno. Vyberte si svůj nejsložitější a nejvíce „rozbitý“ systém. Teprve tam uvidíte, zda nástroj generuje relevantní výsledky, nebo vás zahltí tisíci nesmyslných hlášení.
Do smlouvy je vhodné uvést výjimku, že pokud POC nedopadne dobře, lze od nákupu odstoupit.
Krok 4: Prověřte podporu a lidi
Budete s dodavatelem sedět hodiny u konfigurace? Budou vám rozumět? Sledujte, jak rychle reagují na vaše dotazy už během obchodní fáze. Je to nejlepší indikátor toho, jak bude fungovat budoucí podpora.
Realita po nákupu: Nástroj není spása, ale pomocník
Mnoho firem udělá chybu, že si koupí drahý software a čeká zázraky. Pamatujte:
- Někdo se o to musí starat: Nástroj vyžaduje konfiguraci a aktualizace.
- Čas na opravy: Pokud vývojářům nedáte čas na opravu nálezů, je vám i ten nejlepší skener k ničemu.
- Odpovědnost: Musí být jasné, kdo nálezy vyhodnocuje a kdo za ně zodpovídá.
Závěr
Automatizace bezpečnosti je cesta k udržitelnému a bezpečnému vývoji. Pokud si nejste jistí, kde začít, doporučujeme začít analýzou složení softwaru (SCA) a postupně přidávat další vrstvy.