Bug bounty programy: principy, fungování a etika pro netechnické účastníky

Proč dává smysl otevřít se komunitnímu testování

Bug bounty programy jsou řízené rámce, ve kterých organizace dobrovolně zve externí bezpečnostní výzkumníky (etické hackery), aby pomohli odhalit zranitelnosti výměnou za odměnu nebo uznání. Nejde o „divoký lov chyb“, ale o formální proces s jasnými hranicemi, pravidly bezpečného přístavu (safe harbor), definovaným rozsahem a transparentním triagem. Správně navržený program zkracuje dobu detekce, snižuje náklady na incidenty a zlepšuje bezpečnostní kulturu – aniž by organizace musela zveřejňovat technické detaily exploitů.

Základní stavební prvky bug bounty programu

  • Rozsah (scope): přesný seznam domén, aplikací, API, mobilních balíčků, zařízení či verzí, které jsou součástí programu.
  • Pravidla angažovanosti (rules of engagement): povolené a zakázané testy, limity na zatížení, zákaz sociálního inženýrství, zákaz přístupu k osobním údajům.
  • Bezpečný přístav (safe harbor): závazek, že v dobré víře nahlášená zjištění nebudou vést k právním postihům; jasná cesta eskalace.
  • Triage a SLA: popsané třídění závažnosti, reakční lhůty a komunikační kanály.
  • Odmeňování: transparentní tabulka odměn podle závažnosti a dopadu; pravidla pro duplicity a kvalitu reportu.
  • Politika zodpovědného zveřejnění (disclosure): kdy a jak je možné informovat veřejnost po opravě.

VOP vs. VDP vs. bug bounty: co je co

  • VDP (Vulnerability Disclosure Policy): minimální rámec „pokud najdete chybu, oznamte nám ji takto“. Obvykle bez finančních odměn.
  • Bug bounty: VDP + finanční odměny; typicky běží trvale nebo v kampaních.
  • Private bounty: režim na pozvání pro ověřený okruh výzkumníků.
  • Public bounty: otevřený pro všechny, s vyšší expozicí a větším přílivem reportů.

Návrh rozsahu: hraniční ohraničení rizika

  • In-scope: vlastnické domény, produkční služby, aktuální verze aplikací, oficiální mobilní aplikace v obchodě, veřejné API s dokumentací.
  • Out-of-scope: systémy třetích stran, sandboxy bez dat, marketingové microsites bez autentizace, testy dostupnosti (DoS), útoky na fyzickou infrastrukturu.
  • Šedé zóny: partnerské integrace – uveďte, zda je žádoucí reportovat nálezy správci partnera nebo skrze vás.
  • Pravidla dat: zákaz přístupu k reálným osobním údajům; používejte testovací účty a demo data.

Pravidla angažovanosti: bezpečné hranice pro výzkumníky

  • Žádné DoS/DDoS, žádné zásahy do dostupnosti, žádný spam.
  • Bez sociálního inženýrství na zaměstnance a zákazníky (phishing, vishing).
  • Bez bočního pohybu mimo in-scope, bez pokusů o exfiltraci reálných dat.
  • Rate limiting: doporučené limity požadavků a periodicita skenů.
  • Zodpovědné zachování důkazů: minimalizace a okamžité smazání testovacích artefaktů po nahlášení.

Triage: jak funguje třídění reportů

Triage je proces posouzení kvality, validace a závažnosti reportů. Typický postup:

  1. Přijetí: automatické potvrzení s číslem případu a odkazem na stav.
  2. Reprodukce: bezpečnostní tým ověří popis, kroky a dopad; pokud je třeba, žádá doplnění (logy, screenshoty, HTTP požadavky).
  3. Posouzení dopadu: mapování na škálu závažnosti (např. informationalcritical).
  4. Rozhodnutí: přijetí/odmítnutí (duplicitní, out-of-scope, nevyužitelné), návrh mitigace.
  5. Komunikace: průběžné aktualizace, předběžná výše odměny, odhad opravy.

Hodnocení závažnosti: standardy a dopad

  • CVSS: formální metrika podle vektoru útoku, složitosti, privilegovaného přístupu a dopadu na důvěrnost, integritu, dostupnost.
  • Risk-based přístup: kontext organizace – kde jsou data/peníze/brand – a reálný dopad na uživatele.
  • Typické kategorie: informational, low, medium, high, critical.

Odmeňování: transparentní a předvídatelné

  • Tabulka odměn publikovaná dopředu (např. low: 100 €, medium: 500 €, high: 2 000 €, critical: 5 000 €+).
  • Bonusy za kvalitu reportu, důkaz dopadu, zodpovědný PoC bez narušení dat.
  • Duplicity: odměna prvnímu validnímu reportu; následující duplicitní oznámení – bez odměny, ale s uznáním.
  • Neoprávněné nálezy: známé problémy, akceptovaná rizika nebo zranitelnosti mimo rozsah – zdvořilé vysvětlení.

Private vs. public: kdy který model

  • Private start: začněte s malým okruhem ověřených výzkumníků, získáte zpětnou vazbu, upravíte procesy a infrastrukturu.
  • Přechod na public: až po stabilizaci triage, posílení kapacit a automatizaci oprav.
  • Sezónní kampaně: krátkodobé zvýšení odměn při spuštění nových produktů nebo velkých změn.

Platformy vs. vlastní program

  • Platformy třetích stran (vendors): poskytují infrastrukturu pro reporty, reputační systém výzkumníků, escrow odměn, SLA a podporu právního rámce.
  • Vlastní program: větší kontrola, nižší poplatky, ale náročnější na procesy (triage, platby, KYC, daňová agenda).
  • Kombinace: kritické systémy na platformě, interní nástroje pro partnerské projekty.

Právní rámec a etika: safe harbor a férovost

  • Bezpečný přístav: explicitně deklarujte, že nebudete iniciovat právní kroky proti výzkumníkovi, který dodrží pravidla a omezí dopad.
  • Ochrana soukromí: zákaz sběru osobních údajů; pokud se k nim výzkumník nevyhnutelně dostane, musí je ihned vymazat a neukládat mimo bezpečné prostředí.
  • Fair play: transparentní odmítnutí, odměny vyplácené včas, žádné „podceňování“ závažnosti bez argumentů.

Komunikace a kultura: výzkumník je partner

  • Zdvořilé odpovědi a pravidelné aktualizace stavu.
  • Hall of Fame a veřejné poděkování (se souhlasem výzkumníka).
  • Feedback loop: co bylo cenné, co zbytečné; udržování kvality reportů zlepšuje ROI programu.

Interní procesy: jak přijmout, opravit, nasadit

  1. Přiřazení vlastníka (produkt/security/engineering) hned po triage.
  2. Reprodukční balík: minimálně kroky, testovací konto, logy, referenční prostředí.
  3. Rychlé mitigace (konfigurace, WAF pravidlo) před plnou opravou.
  4. Bezpečnostní testy k patchi (unit/integration), aby se chyba nevrátila.
  5. Rollback plán pro případ vedlejších efektů.
  6. Post-mortem bez obviňování; aktualizace kontrol a kontrolních seznamů.

Měření úspěchu: metriky a ukazatele

  • MTTA/MTTR: čas do potvrzení a do opravy.
  • Podíl „high/critical“ na všech validních reportech.
  • Duplicity: míra duplicit – signalizuje atraktivitu rozsahu a efektivitu komunikace.
  • Náklady na chybu: průměrná odměna vs. odhad nákladů potenciálního incidentu.
  • Kvalita reportů: procento reportů s kompletními kroky a důkazem dopadu.

Rozpočet a financování odměn

  • Baseline podle profilu rizika a velikosti povrchu útoku; rezervy při velkých releasích.
  • Performance pool: bonusový fond pro výjimečné nálezy a rychlé opravy.
  • Antifraud: mechanismy proti falešným reportům a koordinace s platformou při sporech.

Nejčastější chyby programů a jak se jim vyhnout

  • Nejasný rozsah → příval out-of-scope reportů; řešení: přesná matice in/out.
  • Nízké odměny při vysokém riziku → odchod kvalitních výzkumníků; řešení: benchmark odměn podle sektoru.
  • Pomalá komunikace → frustrace komunity; řešení: SLA a dedikovaný triage tým.
  • Žádný safe harbor → právní nejistota; řešení: explicitní klauzule a interní školení právníků.
  • Ignorování zjištění → opakovaný výskyt; řešení: propojení na backlog, testy, kontrolní seznamy.

Bezpečný provoz: ochrana údajů a etické testování

  • Testovací konta s minimálními daty; v produkci jen pokud je to nutné a s dohledem.
  • Maskování a syntetická data v prostředích, která jsou v scope.
  • Protokoly pro okamžité hlášení, pokud by došlo k neúmyslnému přístupu k osobním údajům.

Politika zveřejnění: kdy informovat veřejnost

  • Koordinované zveřejnění po opravě a po dohodě s výzkumníkem.
  • Embargo na detaily do nasazení záplaty; abstraktní popis dopadu a vektorů bez exploitačních detailů.
  • Changelog a CVE tam, kde to dává smysl; připsání zásluh výzkumníka.

Referenční struktura zadání (program brief)

  • Úvod: mise, proč program existuje.
  • Scope: detailní tabulka in/out, včetně testovacích domén a verzí.
  • Rules of engagement: povolené postupy, limity, zákaz sociálního inženýrství a DoS.
  • Safe harbor: právní klauzule a kontakty pro urgentní otázky.
  • Rewards: rozsah odměn, příklady mapování závažnosti.
  • Triaging & SLA: časy potvrzení, aktualizace, řešení.
  • Disclosure: podmínky koordinovaného zveřejnění.

Checklist pro spuštění bug bounty

  • VDP publikována a právně schválená; safe harbor jasný a srozumitelný.
  • Definovaný in/out scope, testovací účty a syntetická data.
  • Triage proces, nástroje a vlastníci; napojení na ticketing a CI/CD.
  • Tabulka odměn, rozpočet a způsob vyplácení (včetně daňového režimu).
  • Komunikační plán (děkovné zprávy, Hall of Fame, aktualizace).
  • Incidentní protokoly pro neúmyslný kontakt s osobními údaji.

Checklist pro výzkumníky (etický rámec)

  • Přečtěte si scope, pravidla a safe harbor před testováním.
  • Nepůsobte škodu: žádné DoS, žádná reálná data, žádné sociální inženýrství.
  • Minimalizujte důkazy: ukažte dopad bez zbytečné exfiltrace.
  • Nahlaste promptně a soukromě; nezveřejňujte před dohodou.
  • Vyčistěte artefakty a přístupové údaje po ukončení testování.

Bug bounty jako součást bezpečnostního ekosystému

Bug bounty program není náhradou za penetrační testy, code review, SAST/DAST ani bezpečnostní standardy. Je doplňkem, který rozšiřuje obranný perimetr o kreativní pohled komunity. Při jasných pravidlech, kultivované komunikaci a férovém odměňování dokáže organizaci přinést rychlou zpětnou vazbu a reálnou redukci rizik – bez nutnosti zveřejňovat technické exploity nebo narušovat soukromí uživatelů.