Etický hacking: Základy odpovědného oznamování bezpečnostních zranitelností

Co je etický hacking a proč na něm záleží

Etický hacking je systematické a povolené testování bezpečnosti systémů za účelem identifikace zranitelností a jejich zodpovědného nahlášení. Na rozdíl od škodlivého hackingu má jasný mandát, definovaný rozsah a pravidla chování. Cílem je snížení rizika a zlepšení odolnosti – nikoliv senzace nebo reputační tlak. Klíčovým prvkem je zodpovědné oznamování zranitelností (CVD – Coordinated Vulnerability Disclosure), které nastavuje férové očekávání mezi výzkumníkem, provozovatelem a případně koordinátorem (např. CSIRT/CERT).

Etické a právní pilíře: co odlišuje výzkum od útoku

  • Autorizace a souhlas: Testování probíhá na základě explicitního souhlasu nebo VDP (Vulnerability Disclosure Policy) s doložkou safe harbor.
  • Nejmenší dopad: „Do no harm“ – minimalizovat riziko výpadku, zachovat integritu dat a soukromí uživatelů.
  • Proporcionalita: Prokázat existenci zranitelnosti s nejnižší nutnou intenzitou (žádné zbytečné eskalace či exfiltrace).
  • Transparentnost a důkaznost: Přesná dokumentace kroků, časů, prostředí a artefaktů.
  • Zachování důvěrnosti: Detaily zranitelností se nezveřejňují před opravou nebo uplynutím dohodnuté lhůty.

VDP, bug bounty a CVD: jak se liší

  • VDP (Vulnerability Disclosure Policy): Veřejná politika organizace, jak přijímá hlášení. Nezahrnuje odměnu, ale obsahuje kontakty, rozsah a klauzuli „safe harbor“.
  • Bug bounty program: Motivuje finanční odměnou, stanovuje kvalifikační kritéria, často běží na platformě. Nejde o nárokovatelné právo; pravidla jsou závazná.
  • CVD (Coordinated Vulnerability Disclosure): Koordinovaný proces mezi výzkumníkem, organizací a případně koordinátorem (CSIRT), včetně časové osy a způsobu zveřejnění.

Rozsah a pravidla hry: před, během a po testu

  1. Před testem: Identifikujte cíl, ověřte VDP/ToS, vyžádejte písemný souhlas, domluvte okna (maintenance windows), zakážte techniky s vysokým dopadem (DoS, volumetrie, social engineering, fyzický průnik), pokud nejsou explicitně povoleny.
  2. Během testu: Logujte čas, IP, nástroje a vysoko rizikové akce; nepoužívejte reálná osobní data; nesnažte se o perzistenci nebo laterální pohyb mimo dohodnutý rozsah.
  3. Po testu: Zajistěte důvěrné předání zjištění, zničte dočasná data, poskytněte reprodukovatelné kroky a návrhy nápravy.

Minimalistický důkaz konceptu: jak ukázat problém bez škody

PoC má být dostatečný k reprodukci, ale neškodný. Místo exfiltrace reálných databází použijte:

  • čtení neškodného systémového artefaktu (např. verze aplikace),
  • vytvoření izolovaného testovacího záznamu s náhodným identifikátorem,
  • „echo“ nebo „time“ akci místo spouštění škodlivé logiky.

U chyby typu IDOR například prokažte přístup k vlastnímu testovacímu záznamu s modifikovaným identifikátorem – bez stahování cizích dat.

Citlivá data a soukromí: červené čáry

  • Nezhromažďovat PII, zdravotní, finanční a autentifikační tajemství; pokud se objeví náhodně, okamžitě zastavte a nešířte.
  • Žádné účty zákazníků k testování – používejte vlastní testovací identity nebo anonymizované sandboxy.
  • Šifrované uložiště a krátké retenční lhůty pro dočasné artefakty; preferujte hashované důkazy (screenshoty bez citlivých polí).

Hodnocení závažnosti: společný jazyk pro prioritu

Pro priorizaci nápravy se používá standardizované skórování (např. CVSS) a klasifikace dopadu:

  • Dopad: důvěrnost (C), integrita (I), dostupnost (A), případně soukromí, finanční nebo regulatorní dopad.
  • Využitelnost: lokální vs. vzdálený, bez interakce vs. vyžaduje interakci, potřeba autentizace.
  • Rozsah: ovlivňuje pouze část systému nebo umožňuje průnik do jiných domén.

Výstupem by mělo být srozumitelné odůvodnění, proč je riziko vysoké/střední/nízké a doporučené „fix window“.

Koordinace a časové osy: jak nastavit očekávání

  • Potvrzení přijetí: do 3–7 dnů od hlášení.
  • Předběžné zhodnocení: do 14 dnů – kvalifikace, zda je problém reprodukovatelný a v rozsahu.
  • Oprava a validace: typicky do 30–90 dnů dle závažnosti; při aktivním zneužívání rychlejší proces a dočasná mitigace.
  • Koordinované zveřejnění: po nasazení opravy, s atribucí výzkumníkovi a technickým advisory, případně s přidělenými identifikátory (CVE).

Komunikační protokol: od prvního emailu po advisory

Kontaktujte security@domena, adresu z VDP nebo formulář. Zpráva by měla být stručná, faktická, bez sdílení exploitovacích detailů přes nešifrované kanály. Vhodná struktura:

  • Předmět: „Zodpovědné hlášení zranitelnosti – [název systému] – [krátký popis]“
  • Úvod: kdo jste, odkaz na VDP a potvrzení, že respektujete pravidla.
  • Stručný popis: kategorie chyby, odhad dopadu, podmínky (autentizace, interakce).
  • Kroky reprodukce (v kostce): prostředí, endpoint/funkce, minimální PoC (bez citlivých dat).
  • Navrhované mitigace: doporučení na konfiguraci, validaci vstupů, přístupové politiky.
  • Kontakty a PGP: preferovaný šifrovaný kanál pro detaily.

Role koordinátorů (CSIRT/CERT) a jak pomáhají

Když dodavatel nereaguje nebo jde o vícestranný problém, do procesu vstupuje koordinační tým. Pomůže s triáží, validací, koordinací termínů a případně s publikací advisory. Cílem je udržet rovnováhu mezi zájmem veřejnosti a bezpečným prostorem pro opravu.

Bezpečnostní doporučení pro organizace s VDP

  • Jasné VDP na vlastní doméně: rozsahy, zakázané techniky, kontakty, PGP klíč, SLA na reakce.
  • Safe harbor klauzule: závazek nepostihovat dobrou víru, pokud je dodržen VDP a výzkumník nezpůsobil škodu.
  • Interní triage proces: kdo přijímá hlášení, jak jsou přiřazována, jak se validují a jak se komunikuje zpět.
  • Oceňování: veřejná „hall of fame“, případně odměny; transparentní kritéria kvalifikace.
  • Editace a logování: všechny interní artefakty anonymizujte; chraňte důvěrnost reportu a metadat.

Co do reportu patří a co ne

  • Patří: přesný popis problému, dopad, minimální kroky reprodukce, prostředí (verze, konfigurace), důkazy bez PII, návrhy mitigací.
  • Nepatří: skeny celé infrastruktury bez souhlasu, dumpy databází, sdílení hesel/tokenů, neověřené hypotézy, marketing nebo podmiňování zveřejněním.

Právní a reputační rizika: jak se jim vyhnout

  • Žádné vydírání („pay or publish“). Zveřejnění se koordinuje, neslouží k vydírání.
  • Dodržování zákonů o neoprávněném přístupu a ochraně dat; testujte pouze to, co je povoleno VDP/souhlasem.
  • Důkaz dobré víry: kompletní dokumentace, šetrný PoC, včasná notifikace, spolupráce při validaci opravy.

Typické třídy zranitelností (bez návodu na zneužití)

  • Kontrola přístupu (IDOR, chybějící ABAC/RBAC): přístup k cizím zdrojům bez autorizace.
  • Vstupní validace (injekce, nebezpečné deserializace): nekontrolované vykonávání nebo únik dat.
  • Konfigurace (tajemství v repozitáři, slabé CORS, veřejné bucket-y): uniklé klíče, otevřená data.
  • Autentizace (slabé resetovací mechanismy, chybějící rate limiting): převzetí účtů.
  • Dodavatelský řetězec (zranitelné knihovny, CI/CD expozice): transitivní rizika.

Proces zveřejnění: technický advisory bez citlivých informací

  • Obsah: popis problému, postižené verze, vektor, dopad, mitigace, chronologie, atribuce, referenční identifikátory.
  • Bezpečnostní bulletin: krátká verze pro administrátory (co aktualizovat, jaké konfigurační kroky provést).
  • Embargo: sdílení s partnery (např. výrobci AV/WAF) v omezeném režimu pro přípravu signatur.

Správa důkazů a řetězec dohledu

  • Časové razítka, kontrolní součty, podpisy – prokazatelnost bez úniku obsahu.
  • Oddělené úložiště pro citlivé a necitlivé artefakty; přístup na základě rolí a principu „need-to-know“.
  • Likvidace dočasných dat po uzavření případu; auditní logy přístupu k reportu.

Když dodavatel nereaguje: eskalace bez senzace

  1. Zdvořilý follow-up a připomenutí VDP lhůty.
  2. Koordinátor (národní CSIRT/CERT) – nezávislé posouzení a facilitace.
  3. Informování uživatelů po přiměřené lhůtě s praktickými mitigacemi (konfigurace, firewall, vypnutí funkce), stále bez detailů exploitu, pokud není fix dostupný.

Checklist pro výzkumníka

  • Ověřil jsem VDP a mám souhlas/mandát na testování v definovaném rozsahu.
  • PoC je minimální a bez zbytečného přístupu k datům uživatelů.
  • Dokumentuji kroky, časy, IP a prostředí; ukládám pouze nezbytná metadata.
  • Report je strukturovaný, šifrovaný při přenosu a bez PII.
  • Respektuji dohodnutou časovou osu a komunikuji profesionálně.

Checklist pro organizaci

  • Zveřejněný VDP s kontakty, PGP a safe harbor.
  • Definovaný triage, SLA na reakce a zodpovědnosti (produkt, bezpečnost, právní).
  • Bezpečný kanál pro přílohy a PoC (šifrovaný inbox, upload portál).
  • Proces patch managementu a komunikace advisory zákazníkům.
  • Transparentní ocenění výzkumníků (atribuce, hall of fame, případně bounty).

KPI a metriky kvality zodpovědného oznamování

  • MTTA/MTTR: čas do potvrzení a čas do opravy.
  • Podíl reprodukovatelných reportů vs. šum; počet odmítnutých jako „out-of-scope“.
  • Komunikační disciplína: dodržování SLA, počet eskalací ke koordinátorovi.
  • Bezpečnostní dopad: počet incidentů po nasazení advisory vs. před.

90denní plán zavedení programu zodpovědného oznamování

  1. Dny 1–30: Vytvořit a publikovat VDP (rozsahy, safe harbor, kontakty, PGP); nastavit interní triage a šablony odpovědí.
  2. Dny 31–60: Zřídit bezpečný kanál pro reporty, definovat scoring a priority, připravit veřejný formát advisory.
  3. Dny 61–90: Pilotní testy, cvičná simulace příjmu a opravy, spuštění „hall of fame“ a retrospektiva metrik MTTA/MTTR.

Zodpovědné oznamování jako společenská dohoda

Etický hacking funguje pouze tehdy, když výzkumníci, organizace a koordinátoři dodržují společná pravidla – jasný mandát, minimální dopad, důvěrnost a koordinované zveřejnění. Správně nastavený proces CVD buduje důvěru, zkracuje čas do opravy a zvyšuje bezpečnost celého ekosystému bez potřeby „hrdinských“ kroků nebo tlaku veřejnosti.