Co jsou bug bounty programy a proč je firmy spouštějí
Bug bounty program je organizovaný rámec, v němž firma legálně a řízeně vyzývá nezávislé výzkumníky (etické hackery), aby hledali bezpečnostní nedostatky, a za kvalifikovaná oznámení vyplácí odměny. Cílem je zkrátit dobu do odhalení, snížit náklady na incidenty a systematicky zvyšovat úroveň zabezpečení – jako doplněk k internímu testování, penetračním testům a bezpečnostním auditům. Tento článek vysvětluje principy fungování, rozsah, pravidla, právní a etické aspekty, rozhodování o odměnách, triáž, metriky i osvědčené postupy – bez technických exploitů.
Bug bounty vs. VDP: kde je hranice
- VDP (Vulnerability Disclosure Policy): otevřený kanál „nahlaste chybu“ bez příslibu odměny. Cílem je mít bezpečný a legální způsob oznamování nálezů (security.txt, kontaktní formulář, klíč PGP).
- Bug bounty: rozšířený VDP s finančními odměnami, výslovně vymezeným rozsahem, pravidly testování a SLA triáže. Očekává se aktivní a motivované testování vymezených cílů.
- Kdy začít: firmy často nejprve zavedou VDP jako minimum a po vyzrání procesů (triáž, opravy, rozpočet) přejdou na private bounty (program na pozvánky) a později na public bounty.
Modely programů: private, public a managed
- Private: pouze pozvaní výzkumníci; méně šumu, kontrolovaný tok reportů, vhodné pro začátek.
- Public: otevřený všem; větší rozmanitost nálezů i reportů, vyžaduje vyspělou triáž a automatizaci.
- Managed (prostřednictvím platformy): externí partner (např. triážní tým platformy) pomáhá filtrovat duplicity, ověřovat dopad a udržovat kvalitu komunikace.
Rozsah (scope): co je „ve hře“ a co ne
Dobře definovaný rozsah je základem úspěchu. Měl by být konkrétní a stabilní, s možností průběžných aktualizací:
- In-scope: domény/eTLD+1, mobilní aplikace (platformy a verze), API, cloudová prostředí, hardware či komponenty IoT, pokud jsou připraveny k testování.
- Out-of-scope: služby třetích stran mimo kontrolu, sociální inženýrství, fyzické útoky, DoS/stresové testy, credential stuffing na skutečných účtech, manipulativní nákupy způsobující reálné škody, přístup k osobním údajům mimo výslovně stanovený rámec.
- Citlivé zóny: produkční data a PII – přednost má sandbox nebo „Safe Data Program“ (syntetické účty). Pokud nejsou k dispozici, pravidla musí přísně vymezit limity interakce s údaji.
Pravidla bezpečného testování (do no harm)
- Minimální dopad: zákaz nástrojů a technik způsobujících výpadky či zhoršení služeb; zákaz automatizovaného agresivního skenování produkčního prostředí.
- Žádné prohlížení skutečných PII: pokud narazíte na citlivé údaje, přípustný je pouze důkaz jejich existence bez čtení obsahu (např. částečný redigovaný snímek) a okamžité ukončení testu.
- Žádné sdílení ani zveřejnění mimo kanál programu; dodržování embarga až do potvrzené opravy a schváleného koordinovaného zveřejnění.
Safe harbor: právní ochrana pro výzkumníky
Kvalitní program obsahuje klauzuli „safe harbor“, která stanoví, že organizace nepodnikne právní kroky vůči výzkumníkovi, který:
- jednal v dobré víře a dodržoval pravidla programu,
- překročil pouze minimálně nutnou hranici potřebnou k prokázání zranitelnosti,
- nepracoval s daty nad rámec demonstrace, nic neměnil ani neexfiltroval,
- bezodkladně podal oznámení a nezveřejnil nález bez koordinace.
Safe harbor má často geografická a legislativní specifika; firma by jej měla konzultovat s právníkem a jasně vymezit v pravidlech.
Životní cyklus reportu: od oznámení po odměnu
- Podání: výzkumník odešle report prostřednictvím platformy/portálu. Povinná pole: cíl, popis problému, dopad, postup reprodukce krok za krokem, důkazy (redigované).
- Triáž: tým ověří reprodukovatelnost, dopad, rozsah a duplicitu. Výsledkem je kategorizace a předběžné stanovení závažnosti.
- Potvrzení: report je označen jako triaged/confirmed, nebo je zamítnut (mimo rozsah, informační, nelze dohledat, duplicita).
- Náprava: vlastník systému (product/engineer) obdrží ticket s podrobnostmi, doporučením a SLA podle závažnosti.
- Ověření opravy: opakovaný test; pokud je oprava účinná, report se uzavře (resolved/fixed).
- Odměna: výpočet podle zásad (viz níže), odeslání platby; případně zápis do „hall of fame“.
- Koordinované zveřejnění (volitelné): po opravě lze zveřejnit technický blog/příspěvek s doporučeními.
Závažnost a priorita: jak rozhodovat bez emocí
- CVSS (standardizované hodnocení dopadu a pravděpodobnosti) a interní priority P1–P5. Příklady:
- P1/Kritická: vzdálený neautentizovaný přístup k citlivým údajům nebo převzetí účtu v produkčním prostředí.
- P2/Vysoká: eskalace oprávnění po přihlášení, obcházení silných bezpečnostních kontrol.
- P3/Střední: omezený únik metadat, problém v obchodní logice s částečným dopadem.
- P4/Nízká: informační nálezy bez přímého dopadu, drobné chyby konfigurace.
- Kritéria dopadu: rozsah (počet uživatelů/dat), snadnost zneužití, přítomnost mitigací, viditelnost a reálnost scénáře.
Odměňování: transparentní zásady a tabulky
Program by měl předem zveřejnit bounty table a pravidla pro navyšování odměn:
- Rozpětí odměn podle priority (např. P1: 3 000–10 000 €, P2: 1 000–3 000 €, P3: 200–1 000 €, P4: do 200 € nebo „kudos“).
- Multiplikátory za řetězení více oblastí nebo dopad napříč tenanty; de-multiplikátory za okrajové podmínky a obtížně reprodukovatelné situace.
- Duplicity: odměna náleží prvnímu kvalifikovanému reportu; pozdější reporty jsou označeny jako „duplicate“ bez bounty, mohou však získat poděkování.
- Platby a daně: způsob (SEPA, platforma, kryptoměny podle pravidel), náležitosti KYC a daňové povinnosti a termíny výplaty.
Požadavky na kvalitu reportu: co očekává triáž
- Reprodukce: jasné, minimální kroky, žádné „magické“ proměnné; uvedení testovacího účtu a prostředí.
- Dopad: popis toho, co konkrétně může útočník udělat a v jakém rozsahu (ne pouze „je to špatné“).
- Důkazy: redigované snímky, logy a identifikátory transakcí; žádná zbytečná exfiltrace ani čtení skutečných PII.
- Minimalismus: pouze taková interakce se systémem, která stačí k potvrzení existence problému; žádné škody.
Komunikace s výzkumníkem: etika a profesionalita
- Průběžné aktualizace: potvrzení přijetí, stav triáže, předpokládaný termín opravy/ověření; vyhnout se mlčení.
- Jazyk: věcný, bez defenzivního postoje; uznání přínosu i při zamítnutí, pokud report pomáhá lépe porozumět riziku.
- Zpětná vazba: u reportů označených jako „informational“ vysvětlit, co chybělo a jak příště zvýšit šanci na kvalifikaci.
Organizační připravenost: co mít hotové před spuštěním
- Proces oprav (kdo odpovídá za opravu, jaké platí SLA, jak se nasazuje záplata).
- Mapa odpovědností pro cíle v rozsahu programu (product owners, SRE, bezpečnostní garanti).
- Bezpečné testovací účty, předem naplněná data bez PII a zaznamenávání přístupů výzkumníků.
- Incident playbook pro případ, že test odhalí kritickou zranitelnost v produkčním prostředí.
- Rozpočet a schvalování odměn (finance, právní oddělení, DPO) spolu s daňovou a účetní evidencí.
Právní a regulační aspekty
- Smluvní podmínky programu (T&C): definice povoleného testování, safe harbor, práva duševního vlastnictví k reportům, pravidla zveřejňování.
- Ochrana osobních údajů: minimalizace práce s PII; pokud k ní dojde, výzkumník je poučen, jak test okamžitě zastavit a nález oznámit.
- Exportní a odvětvová regulace: některé země/odvětví mohou omezovat odměny nebo zapojení výzkumníků z určitých jurisdikcí.
Měření úspěchu: KPI a metriky vyspělosti
- MTTT/MTTR: doba do triáže a doba do opravy.
- Podíl kritických nálezů z externího programu oproti interním detekcím.
- Duplicity a šum: procento zamítnutých reportů; vývoj po úpravě rozsahu a pravidel.
- Úspory oproti incidentům: odhad nákladů ušetřených díky odhalení chyb před jejich zneužitím.
- Udržení výzkumníků: kolik kvalitních reportérů se vrací a jak jsou spokojeni s komunikací a odměňováním.
Nejčastější chyby firem a jak se jim vyhnout
- Nejasný rozsah: vede k frustrujícímu zamítání a ztrátě důvěry. Řešení: přesný seznam cílů, verzování a changelog.
- Žádná odezva po podání reportu: výzkumníci odejdou jinam. Řešení: SLA pro odpověď (např. 72 h), automatická potvrzení.
- Nekonzistentní odměny: pocit nespravedlnosti. Řešení: tabulky odměn a interní hodnoticí komise.
- Závislost pouze na bounty: program nenahrazuje bezpečný SDLC, code review a testování; je pouze jejich doplňkem.
Nejčastější chyby výzkumníků a profesionální standardy
- Agresivní testování (DoS, bruteforce) bez povolení – vede k blokacím. Dodržujte zásadu minimálního dopadu.
- Nedostatečné reporty bez jasného postupu reprodukce – snižují šanci na kvalifikaci.
- Předčasné zveřejnění – poškozuje uživatele i pověst a může vést k diskvalifikaci.
Ekonomika programu: náklady, přínosy a plánování rozpočtu
- Fixní náklady: interní triážní tým, nástroje, čas inženýrů věnovaný opravám.
- Variabilní náklady: odměny a poplatky platformám.
- ROI: srovnání s náklady na tradiční testování a s rizikem incidentů; pravidelné vyhodnocování a úpravy tabulek odměn.
Koordinované zveřejňování zranitelností (CVD) a publikace
- Embargo a termíny: obvykle 60–120 dní podle složitosti opravy a koordinace s třetími stranami.
- Obsah: zaměřit se na získaná poučení a změny procesů; vyhnout se podrobným krokům exploitu, pokud nejsou nezbytné pro pochopení rizika.
Kontrolní seznam pro spuštění bug bounty programu
- Máme VDP a funkční kanál pro oznamování?
- Je definován rozsah (in/out), kontakty, safe harbor a pravidla testování?
- Existuje triážní proces, SLA a osoby odpovědné za opravy?
- Máme tabulku odměn, rozpočet a mechanismus výplat?
- Jsou připraveny testovací účty, syntetická data a logování?
- Máme interní hodnoticí komisi pro spory o závažnost a odměny?
Kontrolní seznam pro výzkumníky před podáním reportu
- Je cíl v rozsahu a dodržuji pravidla (žádný DoS, žádná PII)?
- Mám postup reprodukce a minimální důkaz dopadu?
- Jsou důkazy redigované a neobsahují citlivá data?
- Komunikuji výhradně prostřednictvím oficiálního kanálu a dodržuji embargo?
FAQ: stručné odpovědi
- Potřebuji ke testování zvláštní licenci? Ne, pokud testujete pouze podle pravidel programu a v jeho rozsahu. Safe harbor by to měl výslovně pokrývat.
- Mohu žádat o odměnu před potvrzením? Ne. Odměna se schvaluje po triáži a potvrzení dopadu.
- Co když se jedná o vadnou komponentu třetí strany? Program obvykle předá report dodavateli; odměna se řeší podle pravidel (často formou odměny z dobré vůle).
Bug bounty jako trvalý proces zlepšování
Bug bounty programy fungují nejlépe, pokud jsou součástí širší bezpečnostní strategie: bezpečný SDLC, threat modeling, automatizované testy, interní vzdělávání a reakce na incidenty. Transparentní pravidla, kvalitní komunikace, férové odměny a důraz na zásadu do no harm vytvářejí prostředí, v němž výzkumníci pomáhají chránit uživatele a firma získává robustnější a ověřitelnější zabezpečení – bez nutnosti sahat po technických příručkách k exploitům.
