Šablona poptávky penetračního testu, na kterou dostanete porovnatelné nabídky

Typické zadání zní takhle: „Hledáme dodavatele pro penetrační testy naší webové aplikace. Cílem je otestovat zabezpečení, identifikovat zranitelnosti a získat výstup pro interní audit a vedení.“

Je to správný záměr. Problém je, že na takové zadání dostanete tři nabídky, které se liší o polovinu a nedají se porovnat – protože si každý dodavatel domyslel jiný rozsah. Jeden nacení dvoudenní automatizovaný sken, druhý dvoutýdenní manuální test s retestem. Obě nabídky formálně odpovídají na to, co jste napsali.

Níže je šablona, kterou si můžete okopírovat a doplnit. Není v ní nic, co byste museli řešit s právníkem – je to osm bodů, které z nabídek udělají čísla, jež jdou položit vedle sebe.

Proč obecné zadání nefunguje

Cena penetračního testu se počítá v člověkodnech. Kolik jich bude, určuje rozsah a hloubka – ne velikost vaší firmy a ne to, jak naléhavě test potřebujete. Dokud v zadání nestojí, co se testuje a jak hluboko, dodavatel musí odhadovat, a každý odhaduje jinak.

Tři nejčastější místa, kde se nabídky rozejdou:

  • Počet uživatelských rolí. Aplikace se třemi rolemi znamená tři průchody testem autorizace, ne jeden. Bývá to největší jednotlivá položka rozdílu.
  • Podíl manuální práce. Automatizovaný sken najde známé zranitelnosti. Chyby v business logice – obejití platby, přístup k cizí objednávce, eskalace oprávnění – najde jen člověk. Když to v zadání nestojí, levnější nabídka bude skenem.
  • Co je výstup. „Report“ může být export ze skeneru i dokument s manažerským shrnutím, reprodukovatelnými postupy a hodnocením rizik. Vy potřebujete to druhé, protože to jde předložit auditorovi.

Šablona poptávky: osm bodů

1. Kdo poptává

Název společnosti, IČO, kontaktní osoba pro technickou část a kontaktní osoba pro obchodní část, telefon. Zní to samozřejmě, ale technický scoping hovor se nedá vést s nákupem a cenu neschválí vývojář.

2. Co se má testovat

  • Adresa produkční aplikace a adresa testovacího prostředí
  • Typ: klasická webová aplikace, SPA, veřejné API, mobilní backend, nebo kombinace
  • Počet uživatelských rolí a jestli dodáte testovací účty pro každou z nich
  • Klíčové funkce a integrace, na kterých vám záleží nejvíc (platby, export dat, správa uživatelů)
  • Přibližný počet obrazovek nebo endpointů

3. Prostředí a omezení

  • Testuje se na produkci, nebo na kopii? Pokud na produkci, v jakém časovém okně
  • Bude po dobu testu WAF a rate limiting obejit whitelistem? Bez toho testujete WAF, ne aplikaci
  • Existují data nebo funkce, kterých se test nesmí dotknout (odesílání e-mailů zákazníkům, platební brána v ostrém režimu)

4. Hloubka a metodika

  • Black box, grey box, nebo white box – a proč. Nejčastější volba je grey box, tedy tester dostane účty a základní popis
  • Požadovaná metodika: OWASP WSTG, OWASP ASVS a v jaké úrovni, případně NIST SP 800-115
  • Požadovaný podíl manuálního testování. Napište to výslovně

5. Výstup

Tady se rozhoduje, jestli z testu budete mít užitek i za rok:

  • Manažerské shrnutí pro vedení a samostatná technická část pro vývoj
  • Jazyk zprávy
  • Hodnocení rizik podle CVSS
  • U každého nálezu reprodukovatelný postup a důkaz (Proof-of-Concept)
  • Prezentace výsledků vývojovému týmu
  • Potvrzení o provedení testu použitelné pro interní audit

6. Retest

Je retest v ceně, nebo se doúčtovává? Do kdy ho lze uplatnit? Bez retestu máte zdokumentovaný problém místo zdokumentovaného řešení – a auditorovi ukážete nález, ne jeho odstranění.

7. Formality

  • NDA
  • Pojištění odpovědnosti dodavatele
  • Certifikace konkrétních testerů, kteří test provedou (OSCP, OSWE, CISSP)
  • Kde a jak dlouho budou uložena data z testu a kdy budou smazána
  • Požadovaný termín zahájení a dodání zprávy

8. Kritéria hodnocení

Napište je do poptávky. Dodavatel pak ví, na čem záleží, a vy máte podle čeho rozhodnout:

  • Cena v člověkodnech, ne paušálem za „test aplikace“
  • Podíl manuální práce
  • Retest v ceně
  • Ukázka anonymizované zprávy dodaná před rozhodnutím
  • Jmenovitě uvedení testeři a jejich certifikace

Jak porovnat tři nabídky

Až nabídky dorazí, převeďte je na jedno číslo: cena za člověkoden. Pak se podívejte, kolik člověkodnů kdo nabízí. Pokud jeden dodavatel nabízí polovinu, zeptejte se, co v jeho rozsahu není – obvykle je to podíl manuálního testování nebo počet otestovaných rolí.

Nabídka bez uvedeného počtu člověkodnů se s ničím porovnat nedá. Je to legitimní důvod poslat ji zpět s dotazem.

A poslední věc: pokud vám dodavatel nabídne, že vám nálezy rovnou i opraví, zvažte to. Testování a náprava u stejného dodavatele odstraňuje nezávislost výstupu, což je přesně ta vlastnost, kvůli které auditor zprávu uzná.

Chcete zadání zkontrolovat, než ho rozešlete?

Pošlete nám ho na kontaktní formulář nebo na info@haxoris.com. Do dvou pracovních dnů vám zdarma napíšeme, co v zadání chybí a kde by si dodavatelé domysleli něco jiného, než myslíte. Nabídku od nás dostanete jen tehdy, když si o ni řeknete.