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

Bug Bounty programy: Princípy, fungovanie a etika pre ne-technických účastníkov

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

Programy bug bounty jsou řízené rámce, v nichž organizace dobrovolně zve externí bezpečnostní výzkumníky (etické hackery), aby pomohli odhalovat 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 tříděním nálezů. Správně navržený program zkracuje dobu do odhalení, snižuje náklady na incidenty a zlepšuje bezpečnostní kulturu – aniž by organizace musela zveřejňovat technické podrobnosti exploitů.

Základní stavební prvky programu bug bounty

  • 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 zátěže, 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 zjištění nahlášená v dobré víře nepovedou k právním postihům; jasná cesta eskalace.
  • Třídění nálezů a SLA: popis klasifikace závažnosti, reakční lhůty a komunikační kanály.
  • Odměňování: transparentní tabulka odměn podle závažnosti a dopadu; pravidla pro duplicity a kvalitu hlášení.
  • Politika odpovědného zveřejňování (disclosure): kdy a jak lze po opravě informovat veřejnost.

VDP vs. bug bounty: co je co

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

Návrh rozsahu: vymezení hranic rizika

  • In-scope: vlastní domény, produkční služby, aktuální verze aplikací, oficiální mobilní aplikace v obchodech s aplikacemi, 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í hlásit nálezy správci partnera, nebo prostřednictvím vás.
  • Pravidla pro data: zákaz přístupu k reálným osobním údajům; používejte testovací účty a demonstrační 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í vůči zaměstnancům a zákazníkům (phishing, vishing).
  • Bez laterálního pohybu mimo in-scope a bez pokusů o exfiltraci reálných dat.
  • Omezení rychlosti požadavků: doporučené limity počtu požadavků a četnosti skenování.
  • Odpovědné uchování důkazů: minimalizace a okamžité smazání testovacích artefaktů po nahlášení.

Třídění nálezů: jak probíhá zpracování hlášení

Třídění nálezů je proces posouzení kvality, ověření a závažnosti hlášení. Typický postup:

  1. Přijetí: automatické potvrzení s číslem případu a odkazem na jeho stav.
  2. Reprodukce: bezpečnostní tým ověří popis, postup a dopad; v případě potřeby požádá o doplnění (logy, snímky obrazovky, požadavky HTTP).
  3. Posouzení dopadu: přiřazení ke stupnici závažnosti (např. informational až critical).
  4. Rozhodnutí: přijetí/odmítnutí (duplicitní, out-of-scope, nezneužitelné), návrh mitigace.
  5. Komunikace: průběžné aktualizace, předběžná výše odměny, odhad doby opravy.

Hodnocení závažnosti: standardy a dopad

  • CVSS: formální metrika založená na vektoru útoku, jeho složitosti, požadovaných oprávněních a dopadu na důvěrnost, integritu a dostupnost.
  • Přístup založený na riziku: kontext organizace – kde se nacházejí data/peníze/značka – a skutečný dopad na uživatele.
  • Typické kategorie: informational, low, medium, high, critical.

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

  • Tabulka odměn zveřejněná předem (např. low: 100 €, medium: 500 €, high: 2 000 €, critical: 5 000 €+).
  • Bonusy za kvalitu hlášení, důkaz dopadu a odpovědný PoC bez narušení dat.
  • Duplicity: odměna náleží prvnímu validnímu hlášení; za následná duplicitní oznámení se odměna nevyplácí, ale jejich autoři získají uznání.
  • Neoprávněné nálezy: známé problémy, akceptovaná rizika nebo zranitelnosti mimo rozsah – zdvořilé vysvětlení.

Private vs. public: kdy zvolit který model

  • Začít v režimu private: začněte s malým okruhem ověřených výzkumníků, získejte zpětnou vazbu a upravte procesy i infrastrukturu.
  • Přechod na public: až po stabilizaci třídění nálezů, posílení kapacit a automatizaci oprav.
  • Sezónní kampaně: krátkodobé zvýšení odměn při uvedení nových produktů nebo významných změnách.

Platformy vs. vlastní program

  • Platformy třetích stran (vendors): poskytují infrastrukturu pro hlášení, systém reputace výzkumníků, úschovu odměn, SLA a podporu právního rámce.
  • Vlastní program: větší kontrola, nižší poplatky, ale vyšší nároky na procesy (třídění nálezů, 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: výslovně uveďte, že nebudete podnikat právní kroky proti výzkumníkovi, který dodrží pravidla a omezí dopad.
  • Ochrana soukromí: zákaz shromažďování osobních údajů; pokud se k nim výzkumník nevyhnutelně dostane, musí je okamžitě smazat a neukládat mimo bezpečné prostředí.
  • Férový přístup: transparentní zamítnutí, včasné vyplácení odměn, žádné zlehčování závažnosti bez uvedení důvodů.

Komunikace a kultura: výzkumník je partner

  • Zdvořilé odpovědi a pravidelné aktualizace stavu.
  • Síň slávy a veřejná poděkování (se souhlasem výzkumníka).
  • Zpětná vazba: co bylo přínosné a co zbytečné; udržování kvality hlášení zlepšuje ROI programu.

Interní procesy: jak nález přijmout, opravit a nasadit

  1. Přiřazení vlastníka (product/security/engineering) ihned po třídění nálezu.
  2. Balíček pro reprodukci: minimální kroky, testovací účet, logy, referenční prostředí.
  3. Rychlá mitigace (konfigurace, pravidlo WAF) před úplnou opravou.
  4. Bezpečnostní testy opravy (unit/integration), aby se chyba nevrátila.
  5. Plán rollbacku pro případ vedlejších účinků.
  6. Post-mortem bez obviňování; aktualizace kontrol a kontrolních seznamů.

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

  • MTTA/MTTR: doba do potvrzení a do opravy.
  • Podíl „high/critical“ na všech validních hlášeních.
  • 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 hlášení: procento hlášení s úplným postupem a důkazem dopadu.

Rozpočet a financování odměn

  • Základní rozpočet podle profilu rizika a velikosti útočné plochy; rezervy při významných vydáních.
  • Výkonnostní fond: bonusový fond pro výjimečné nálezy a rychlé opravy.
  • Opatření proti podvodům: mechanismy proti falešným hlášením a koordinace s platformou při sporech.

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

  • Nejasný rozsah → příval hlášení out-of-scope; řešení: přesná matice in/out.
  • Nízké odměny při vysokém riziku → odchod kvalitních výzkumníků; řešení: srovnání odměn v daném odvětví.
  • Pomalá komunikace → frustrace komunity; řešení: SLA a vyhrazený tým pro třídění nálezů.
  • Žádný safe harbor → právní nejistota; řešení: výslovná klauzule a interní školení právníků.
  • Ignorování nálezů → jejich opakovaný výskyt; řešení: propojení s backlogem, testy a kontrolními seznamy.

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

  • Testovací účty s minimem dat; v produkci pouze v nezbytných případech a pod dohledem.
  • Maskování a syntetická data v prostředích zahrnutých do scope.
  • Protokoly pro okamžité nahlášení případů neúmyslného přístupu k osobním údajům.

Politika zveřejňování: kdy informovat veřejnost

  • Koordinované zveřejnění po opravě a po dohodě s výzkumníkem.
  • Embargo na podrobnosti až do nasazení opravy; abstraktní popis dopadu a vektorů bez podrobností o exploitu.
  • Changelog a CVE tam, kde to dává smysl; uvedení zásluh výzkumníka.

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

  • Úvod: poslání, důvod existence programu.
  • Scope: podrobná 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í ustanovení a kontakty pro naléhavé dotazy.
  • Rewards: výše odměn, příklady přiřazení závažnosti.
  • Triaging & SLA: lhůty pro potvrzení, aktualizace a vyřešení.
  • Disclosure: podmínky koordinovaného zveřejnění.

Kontrolní seznam pro spuštění programu bug bounty

  • VDP zveřejněna a právně schválena; safe harbor je jasný a srozumitelný.
  • Vymezen scope in/out, testovací účty a syntetická data.
  • Proces třídění nálezů, nástroje a vlastníci; propojení se systémy pro správu úkolů a CI/CD.
  • Tabulka odměn, rozpočet a způsob výplaty (včetně daňového režimu).
  • Komunikační plán (poděkování, Síň slávy, aktualizace).
  • Protokoly pro řešení případů neúmyslného kontaktu s osobními údaji.

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

  • Před testováním si přečtěte scope, pravidla a safe harbor.
  • Nepůsobte škodu: žádné DoS, žádná práce s reálnými daty, žádné sociální inženýrství.
  • Minimalizujte důkazy: ukažte dopad bez zbytečné exfiltrace.
  • Nález neprodleně a soukromě nahlaste; nezveřejňujte ho před dohodou.
  • Po ukončení testování odstraňte artefakty a přístupové údaje.

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

Program bug bounty nenahrazuje penetrační testy, code review, SAST/DAST ani bezpečnostní standardy. Je to doplněk, který rozšiřuje obranný perimetr o kreativní pohled komunity. Při jasných pravidlech, kultivované komunikaci a férovém odměňování může organizaci přinést rychlou zpětnou vazbu a skutečné snížení rizik – bez nutnosti zveřejňovat technické detaily exploitů nebo narušovat soukromí uživatelů.