TESTOVÁNÍ A ANALÝZY / ARCHITEKTURA, KÓD A CHOVÁNÍ

Bezpečnostní analýza software

Prověřte aplikaci před důležitým vydáním nebo předáním enterprise zákazníkovi. Spojíme pohled na architekturu, kód a chování běžícího software.

UKÁZKA ANALÝZY ZÁVISLOSTÍ

Přebíráte i rizika kódu, který jste nenapsali.

  1. Vaše aplikace
  2. Přímá knihovna
  3. Další závislost
Původ problému vede ke konkrétní nápravě.

Rozkryjeme vazby mezi balíčky a posoudíme skutečné použití. Náprava může být aktualizace, změna konfigurace nebo náhrada.

Pro koho
Softwarové firmy, produktové týmy a organizace, které posuzují vlastní nebo dodaný software.
Co od vás potřebujeme
Architektura, technologie, konkrétní verze kódu, prostředí a kontakt na vývojáře.
Co dostanete
Ověřené nálezy s místem v kódu, dopadem a doporučenou opravou; shrnutí pro vedení.

Software a bezpečný vývoj

Od rizika k ověřené opravě

Nález má cenu teprve tehdy, když vede k opravě v aplikaci.

Od rizika k ověřené opravě Jednotlivé kroky jsou popsány také v textu vedle schématu. Riziko Nález Dopad Oprava

01 / Riziko

Pojmenujeme, co je v sázce

Vazba mezi tokem dat, aktérem a obchodním pravidlem ukáže, proč je dané místo důležité.

02 / Nález

Popíšeme podmínky a důkaz

Nález obsahuje dotčenou část, předpoklady a minimální reprodukci bez nadsazování dopadu.

03 / Dopad

Převedeme techniku do rozhodnutí

Dopad na data, dostupnost nebo oprávnění pomáhá určit prioritu a odpovědného vlastníka.

04 / Oprava

Navrhneme opravu a její ověření

Oprava míří na příčinu. Pokud je retest součástí nabídky, ověří původní scénář i možné regrese.

UKÁZKOVÝ NÁLEZ Závažnost: vysoká

Přístup k objednávkám jiných zákazníků přes API

Dotčené aktivum
API objednávek, endpoint /api/orders/{id}
Dopad
Přihlášený uživatel změnou čísla objednávky čte data jiných zákazníků.
Důkaz
Reprodukční kroky a zkrácený požadavek a odpověď bez citlivých údajů.
Doporučení
Na serveru ověřovat vlastnictví záznamu u každého požadavku.
Ověření
Retest opravy podle dohodnutého rozsahu nabídky.
# přihlášen jako účet A
GET /api/orders/1044 HTTP/1.1
Authorization: Bearer ••••••••

HTTP/1.1 200 OK
{ "order": 1044, "owner": "účet B" }

Různé metody odhalují různé problémy

Bezpečnostní analýza software není jeden automatický sken. Podle cíle a dostupných podkladů kombinujeme pohled na návrh, zdrojový kód, závislosti a chování aplikace. Kombinaci metod a hloubku práce určíme v zadání.

Architektura a hrozby

Toky dat, hranice důvěry, identity, oprávnění, integrace a oddělení tenantů. Odhalí rizika, která sken kódu nevidí.

Ruční code review

Kritické části implementace a obchodní logiky s odkazem na konkrétní revizi a místo v kódu.

SAST a SCA

Statická analýza kódu a kontrola závislostí jako podpora ručního review. Výsledky deduplikujeme a posoudíme v kontextu.

DAST a aplikační test

Ověření chování běžící aplikace a API včetně přihlášení, oprávnění a obchodních scénářů.

SaaS a enterprise dodávky mají specifické otázky

Jako kontrolní rámec může posloužit OWASP ASVS, jako zdroj testovacích postupů WSTG a OWASP API Security. Konkrétní pokrytí vždy popíšeme v zadání, aby bylo jasné, kde analýza končí.

  • Vynucuje server oddělení tenantů u každé relevantní operace?
  • Odpovídají role a oprávnění skutečnému obchodnímu procesu?
  • Jak aplikace pracuje s integracemi, webhooky, tokeny a tajnými klíči?
  • Rozhoduje aplikace o bezpečnosti stejně v UI, v API i na pozadí?
  • Jaké riziko představují závislosti, konfigurace a cesta nasazení?

Výstupy, se kterými vývojový tým může pracovat

  • Shrnutí rizik, dopadů a priorit pro vedení.
  • Technický popis scénáře, důkaz a kroky reprodukce.
  • Dotčené komponenty, verze a odkazy na kód nebo konfiguraci.
  • Doporučená oprava a konzultace složitých nebo sporných nálezů.
  • Volitelný retest původních nálezů na dohodnuté verzi.

Jaké podklady si připravit

Pro první rozhovor stačí stručný popis aplikace, technologií, důvodu analýzy a požadovaného termínu. Pro samotnou zakázku můžeme potřebovat architekturu, konkrétní revizi kódu, postup sestavení, testovací prostředí, uživatelské role a dokumentaci API.

Ne každá analýza potřebuje všechny vstupy. Co chybí, se ale vždy promítne do uvedených omezení výsledku.

Metodické a produktové zdroje

BEZPEČNOSTNÍ ANALÝZA SOFTWARE

Části analýzy software

Části lze objednat samostatně i v kombinaci. Před důležitým vydáním nebo předáním enterprise zákazníkovi obvykle dává smysl spojit návrh, kód a závislosti.

POKRYTÍ

Co která část analýzy pokrývá

Orientační kvalitativní pohled, nikoli měření: 3 je hlavní těžiště, 0 oblast mimo běžný rozsah. Skutečné pokrytí určí zadání.

Co která část analýzy pokrývá
ModulNávrh a hranice důvěryAutentizace a autorizaceVstupy a zpracování datObchodní logikaTajemství a kryptografieZávislosti a sestavení
Revize architektury a modelování hrozeb Návrh a hranice důvěry: hlavní zaměření Autentizace a autorizace: hlavní zaměření Vstupy a zpracování dat: okrajově Obchodní logika: součást testu Tajemství a kryptografie: součást testu Závislosti a sestavení: okrajově
Code review a statická analýza 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ě
Analýza závislostí a dodavatelského řetězce Návrh a hranice důvěry: okrajově Autentizace a autorizace: mimo rozsah Vstupy a zpracování dat: okrajově Obchodní logika: mimo rozsah Tajemství a kryptografie: okrajově Závislosti a sestavení: hlavní zaměření
Časté otázky

Než se pustíme do práce.

Jaký je rozdíl mezi analýzou a pentestem?

Pentest ověřuje, co lze zneužít v dohodnutém rozsahu. Analýza software navíc může zahrnout architekturu, zdrojový kód a závislosti. Metody se podle cíle doplňují.

Nahradí SAST ruční code review?

Ne. Automatizace pomáhá najít podezřelá místa a opakované vzory, ale spolehlivě neposoudí obchodní logiku ani kontext. Ruční ověření proto zůstává podstatné.

Můžete nálezy předat do našeho issue trackeru?

Formu předání domluvíme v zadání. Základem je srozumitelný report s reprodukcí a doporučenou opravou. Export do vašich nástrojů nebo společný workshop mohou být součástí nabídky.

NEZÁVAZNÝ PRVNÍ ROZHOVOR

Nevíte, kde začít? Popište nám situaci.

Nemusíte vědět, jestli potřebujete test, technologii nebo konzultaci. Podle popisu situace navrhneme vhodný další krok.