Kontext
Architektura, kritické toky, role a místa, kde kód rozhoduje o bezpečnosti.
Najděte bezpečnostní chyby přímo v kódu, s přesným místem a návrhem opravy. Ruční review kritických částí doplníme statickou analýzou a výsledky ověříme, aby se váš tým nezabýval falešnými nálezy.
Orientační pohled, nikoli měření: 3 hlavní oblast, 2 běžná součást, 1 kontext nebo podle rozsahu, 0 mimo běžný rozsah.
| Oblast | Úroveň |
|---|---|
| Návrh a hranice důvěry | součást testu |
| Autentizace a autorizace | hlavní zaměření |
| Vstupy a zpracování dat | hlavní zaměření |
| Obchodní logika | hlavní zaměření |
| Tajemství a kryptografie | hlavní zaměření |
| Závislosti a sestavení | okrajově |
V kódu je vidět, jak aplikace pracuje s přístupem, daty a chybami. Review najde slabiny, které se z běžící aplikace hledají obtížně, například chybějící kontrolu oprávnění v méně používané funkci, nebezpečnou deserializaci nebo chybné použití kryptografie.
Review provádíme na konkrétní revizi kódu, kterou si předem potvrdíme. Výsledky tak lze přesně vztáhnout k verzi, kterou vydáváte nebo předáváte.
Statická analýza rychle projde celý kód a upozorní na podezřelé vzory. Sama ale neposoudí obchodní logiku, kontext ani to, zda je nález skutečně zneužitelný. Proto ji používáme jako podporu ručního review, jak doporučuje i OWASP Secure Code Review Cheat Sheet.
Nálezy klasifikujeme podle katalogu slabin CWE, aby je váš tým mohl snadno vyhledat a sledovat. Kontrolní požadavky lze dohodnout podle OWASP ASVS. Jde o metodický rámec, nikoli o certifikaci kódu.
Architektura, kritické toky, role a místa, kde kód rozhoduje o bezpečnosti.
Automatická analýza celé dohodnuté revize jako vodítko pro ruční práci.
Kritické části kódu, ověření výstupů nástroje a vyřazení falešných nálezů.
Kde je to možné a dohodnuté, ověříme nález i na běžící aplikaci.
Operace bez kontroly oprávnění nebo vlastnictví záznamu, často mimo hlavní uživatelský tok.
Skládání dotazů, příkazů nebo šablon z nedůvěryhodných vstupů.
Hesla, klíče nebo tokeny uložené v repozitáři či konfiguraci.
Zastaralé algoritmy, předvídatelné hodnoty nebo vlastní implementace místo ověřené knihovny.
Únik interních informací v chybových hlášeních nebo nebezpečné chování při neočekávaném vstupu.
Formu předání, například export do vašeho issue trackeru, a retest oprav dohodneme podle nabídky.
Potřebujeme přístup ke konkrétní revizi kódu, popis architektury a postup sestavení. Pomůže kontakt na vývojáře, kteří zodpoví dotazy k návrhu a obchodní logice.
U rozsáhlého kódu se ruční review soustředí na předem dohodnuté kritické části. Co ručně procházeno nebylo, v reportu jasně uvedeme. Review nemůže prokázat, že kód neobsahuje žádné další chyby.
Ne. Nástroje pomáhají najít podezřelá místa a opakované vzory. Obchodní logiku, kontext a skutečnou zneužitelnost ale spolehlivě neposoudí.
Upřesníme v zadání podle vašeho technologického prostředí. Pokud by některá část byla mimo naše možnosti, řekneme to předem.
Ne nutně. Variantu, například práci ve vašem prostředí nebo dočasný přístup jen pro čtení, dohodneme podle vašich požadavků ještě před začátkem.
Penetrační test zkoumá běžící aplikaci zvenku. Code review vidí implementaci přímo, takže najde i chyby v kódu, který se při testu těžko spustí. Obě metody se doplňují.
Nemusíte vědět, jestli potřebujete test, technologii nebo konzultaci. Podle popisu situace navrhneme vhodný další krok.